From: kenstir Date: Fri, 20 Nov 2015 03:47:17 +0000 (-0500) Subject: Put library name as title on App Bar for eg_app X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=be6f83aa660fc8c20bea6f0b07cf22f8b2826c5c;p=working%2FEvergreen.git Put library name as title on App Bar for eg_app --- diff --git a/Open-ILS/src/Android/core/res/layout/activity_login.xml b/Open-ILS/src/Android/core/res/layout/activity_login.xml index f9961e7a7d..fcd7f90cfe 100644 --- a/Open-ILS/src/Android/core/res/layout/activity_login.xml +++ b/Open-ILS/src/Android/core/res/layout/activity_login.xml @@ -19,19 +19,19 @@ android:id="@+id/choose_library_label" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="20dp" android:text="@string/ou_choose_library_label" android:textAppearance="?android:attr/textAppearanceMedium" /> + android:layout_height="wrap_content" /> diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/accountAccess/AccountUtils.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/accountAccess/AccountUtils.java index 83971fff76..1a29821ac1 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/accountAccess/AccountUtils.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/accountAccess/AccountUtils.java @@ -8,6 +8,7 @@ import android.text.TextUtils; import android.util.Log; import org.evergreen_ils.R; import org.evergreen_ils.auth.Const; +import org.evergreen_ils.searchCatalog.Library; import org.w3c.dom.Text; import java.io.IOException; @@ -17,10 +18,11 @@ import java.io.IOException; */ public class AccountUtils { - public static String getLibraryUrl(Activity activity, String account_name, String account_type) { + public static Library getLibrary(Activity activity, String account_name, String account_type) { final AccountManager am = AccountManager.get(activity); Account account = new Account(account_name, account_type); String library_url = am.getUserData(account, Const.KEY_LIBRARY_URL); + String library_name = am.getUserData(account, Const.KEY_LIBRARY_NAME); // compatibility with specific apps like cwmars_app. If no library_url exists as userdata on the account, // get it from the resources. @@ -30,8 +32,11 @@ public class AccountUtils { am.setUserData(account, Const.KEY_LIBRARY_URL, library_url); } } + if (TextUtils.isEmpty(library_name)) { + library_name = activity.getString(R.string.ou_library_name); + } - return library_url; + return new Library(library_url, library_name, null); } public static void invalidateAuthToken(Activity activity, String auth_token) { diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AccountAuthenticator.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AccountAuthenticator.java index 5a56423805..658260c5fe 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AccountAuthenticator.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AccountAuthenticator.java @@ -50,6 +50,7 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { } final AccountManager am = AccountManager.get(context); + String library_name = am.getUserData(account, Const.KEY_LIBRARY_NAME); String library_url = am.getUserData(account, Const.KEY_LIBRARY_URL); Log.d(TAG, "getAuthToken> library_url=" + library_url); @@ -83,6 +84,7 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { result.putString(AccountManager.KEY_ACCOUNT_NAME, account.name); result.putString(AccountManager.KEY_ACCOUNT_TYPE, account.type); result.putString(AccountManager.KEY_AUTHTOKEN, authToken); + result.putString(Const.KEY_LIBRARY_NAME, library_name); result.putString(Const.KEY_LIBRARY_URL, library_url); return result; } diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AuthenticatorActivity.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AuthenticatorActivity.java index ab6172854a..a6986a73ac 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AuthenticatorActivity.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/AuthenticatorActivity.java @@ -205,6 +205,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity { data.putString(AccountManager.KEY_ACCOUNT_TYPE, accountType); data.putString(AccountManager.KEY_AUTHTOKEN, authtoken); data.putString(PARAM_USER_PASS, password); + data.putString(Const.KEY_LIBRARY_NAME, selected_library.short_name); data.putString(Const.KEY_LIBRARY_URL, selected_library.url); } catch (AuthenticationException e) { if (e != null) errorMessage = e.getMessage(); @@ -260,6 +261,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity { String accountName = intent.getStringExtra(AccountManager.KEY_ACCOUNT_NAME); String accountType = intent.getStringExtra(AccountManager.KEY_ACCOUNT_TYPE); String accountPassword = intent.getStringExtra(PARAM_USER_PASS); + String library_name = intent.getStringExtra(Const.KEY_LIBRARY_NAME); String library_url = intent.getStringExtra(Const.KEY_LIBRARY_URL); final Account account = new Account(accountName, accountType); Log.d(TAG, "onAuthSuccess> accountName="+accountName); @@ -273,6 +275,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity { Bundle userdata = null; if (!TextUtils.isEmpty(library_url)) { userdata = new Bundle(); + userdata.putString(Const.KEY_LIBRARY_NAME, library_name); userdata.putString(Const.KEY_LIBRARY_URL, library_url); } if (accountManager.addAccountExplicitly(account, accountPassword, userdata)) { diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/Const.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/Const.java index 4f6f698d0e..1085f1da2d 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/Const.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/Const.java @@ -4,6 +4,7 @@ public class Const { //public static final String ACCOUNT_TYPE = "org.evergreen_ils"; public static final String AUTHTOKEN_TYPE = "opac"; public static final String AUTHTOKEN_TYPE_LABEL = "Online Public Access Catalog"; + public static final String KEY_LIBRARY_NAME = "library_name"; public static final String KEY_LIBRARY_URL = "library_url"; public final static String AUTH_TAG = "eg_auth:"; } diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/TestAuthActivity.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/TestAuthActivity.java index cfb2df7518..ee222f469c 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/TestAuthActivity.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/auth/TestAuthActivity.java @@ -146,8 +146,9 @@ public class TestAuthActivity extends Activity { String name[] = new String[availableAccounts.length]; for (int i = 0; i < availableAccounts.length; i++) { name[i] = availableAccounts[i].name; + String library_name = mAccountManager.getUserData(availableAccounts[i], Const.KEY_LIBRARY_NAME); String library_url = mAccountManager.getUserData(availableAccounts[i], Const.KEY_LIBRARY_URL); - Log.d(TAG, "name:"+name[i]+" url:"+library_url); + Log.d(TAG, "name:"+name[i]+" library_name:"+library_name+" url:"+library_url); } // Account picker @@ -256,6 +257,7 @@ public class TestAuthActivity extends Activity { bnd = future.getResult(); final String authtoken = bnd.getString(AccountManager.KEY_AUTHTOKEN); final String account_name = bnd.getString(AccountManager.KEY_ACCOUNT_NAME); + final String library_name = bnd.getString(Const.KEY_LIBRARY_NAME); final String library_url = bnd.getString(Const.KEY_LIBRARY_URL); showMessage((authtoken != null) ? "SUCCESS with "+account_name+"\nlibrary_url: " + library_url: "FAIL"); Log.d(TAG, "GetTokenForAccount Bundle is " + bnd); diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/views/MainActivity.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/views/MainActivity.java index 3d98e88948..0719c46317 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/views/MainActivity.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/views/MainActivity.java @@ -16,6 +16,7 @@ import org.evergreen_ils.accountAccess.bookbags.BookbagsListView; import org.evergreen_ils.accountAccess.checkout.ItemsCheckOutListView; import org.evergreen_ils.accountAccess.fines.FinesActivity; import org.evergreen_ils.accountAccess.holds.HoldsListView; +import org.evergreen_ils.globals.AppPrefs; import org.evergreen_ils.globals.GlobalConfigs; import org.evergreen_ils.searchCatalog.AdvancedSearchActivity; import org.evergreen_ils.searchCatalog.SearchCatalogListView; @@ -38,6 +39,7 @@ public class MainActivity extends ActionBarActivity { setContentView(R.layout.activity_main); ActionBar actionBar = getSupportActionBar(); + actionBar.setTitle(AppPrefs.getString(AppPrefs.LIBRARY_NAME)); actionBar.setSubtitle(AccountAccess.userName); // singleton initialize necessary IDL and Org data diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/views/splashscreen/LoadingTask.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/views/splashscreen/LoadingTask.java index 36c41d4f7c..17e97ed95e 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/views/splashscreen/LoadingTask.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/views/splashscreen/LoadingTask.java @@ -26,13 +26,12 @@ import org.evergreen_ils.accountAccess.AccountUtils; import org.evergreen_ils.accountAccess.SessionNotFoundException; import org.evergreen_ils.globals.AppPrefs; import org.evergreen_ils.globals.GlobalConfigs; -import org.evergreen_ils.auth.Const; import android.accounts.AccountManager; -import android.accounts.AccountManagerFuture; import android.app.Activity; import android.os.Bundle; import android.util.Log; +import org.evergreen_ils.searchCatalog.Library; /** This is basically the same as an AsyncTask, except that it uses * a Thread. Starting with HONEYCOMB, tasks are executed on a single thread and the 2nd @@ -52,7 +51,6 @@ public class LoadingTask { void onPostExecute(String result); } - // This is the listener that will be told when this task is finished private final LoadingTaskListener mListener; private Activity mCallingActivity; @@ -102,12 +100,13 @@ public class LoadingTask { if (TextUtils.isEmpty(auth_token) || TextUtils.isEmpty(account_name)) return "no account"; - String library_url = AccountUtils.getLibraryUrl(mCallingActivity, account_name, accountType); - AppPrefs.setString(AppPrefs.LIBRARY_URL, library_url); + Library library = AccountUtils.getLibrary(mCallingActivity, account_name, accountType); + AppPrefs.setString(AppPrefs.LIBRARY_NAME, library.short_name); + AppPrefs.setString(AppPrefs.LIBRARY_URL, library.url); - Log.d(TAG, tag+"Loading resources from "+library_url); + Log.d(TAG, tag+"Loading resources from "+library.url); publishProgress("Loading resources"); - GlobalConfigs.getGlobalConfigs(mCallingActivity, library_url); + GlobalConfigs.getGlobalConfigs(mCallingActivity, library.url); Log.d(TAG, tag+"Starting session"); publishProgress("Starting session");