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" />
<Spinner
android:id="@+id/choose_library_spinner"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="0dp"
- android:layout_marginBottom="32dp" />
+ android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
android:text="@string/ou_sign_in_label"
android:textAppearance="?android:attr/textAppearanceMedium" />
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;
*/
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.
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) {
}
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);
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;
}
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();
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);
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)) {
//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:";
}
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
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);
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;
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
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<String,String,String>, except that it uses
* a Thread. Starting with HONEYCOMB, tasks are executed on a single thread and the 2nd
void onPostExecute(String result);
}
- // This is the listener that will be told when this task is finished
private final LoadingTaskListener mListener;
private Activity mCallingActivity;
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");