<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto">
- <item android:id="@+id/action_search"
+ <item android:id="@+id/action_switch_account" android:title="@string/menu_switch_account"/>
+ <item android:id="@+id/action_add_account" android:title="@string/menu_add_account"/>
+ <!--<item android:id="@+id/action_search"
android:icon="@drawable/abc_ic_search"
android:title="@string/title_search"
- yourapp:showAsAction="ifRoom"/>
+ yourapp:showAsAction="ifRoom"/>-->
</menu>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <!-- Main menu button text -->
+ <!-- Main menu text -->
<string name="menu_advanced_search">advanced search</string>
<string name="menu_preferences">settings</string>
<string name="menu_library_hours">library hours</string>
<string name="menu_barcode_scan">barcode scan</string>
+ <string name="menu_switch_account">Switch account</string>
+ <string name="menu_add_account">Add account</string>
<!-- Header portion -->
<string name="my_account_button_text">My Account</string>
return bnd;
}
+ public static void addAccount(final Activity activity, final Runnable runnable) {
+ Log.i(Const.AUTH_TAG, "addAccount");
+ final AccountManager am = AccountManager.get(activity);
+ final String accountType = activity.getString(R.string.ou_account_type);
+ am.addAccount(accountType, Const.AUTHTOKEN_TYPE, null, null, activity, new AccountManagerCallback<Bundle>() {
+ @Override
+ public void run(AccountManagerFuture<Bundle> future) {
+ try {
+ Bundle bnd = future.getResult();
+ final String account_name = bnd.getString(AccountManager.KEY_ACCOUNT_NAME);
+ Log.i(Const.AUTH_TAG, "added account bnd=" + bnd);
+ activity.runOnUiThread(runnable);
+ } catch (Exception e) {
+ Log.i(Const.AUTH_TAG, "failed to add account", e);
+ }
+ }
+ }, null);
+ }
+
public static boolean runningOnUIThread() {
return (Looper.myLooper() == Looper.getMainLooper());
}
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
+import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Button;
import org.evergreen_ils.R;
import org.evergreen_ils.accountAccess.AccountAccess;
+import org.evergreen_ils.accountAccess.AccountUtils;
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.auth.Const;
import org.evergreen_ils.globals.AppPrefs;
import org.evergreen_ils.globals.GlobalConfigs;
import org.evergreen_ils.searchCatalog.AdvancedSearchActivity;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
- if (id == R.id.action_search) {
- startActivity(new Intent(getApplicationContext(), SearchCatalogListView.class));
+ if (id == R.id.action_switch_account) {
+ SplashActivity.restartApp(this);
+ return true;
+ } else if (id == R.id.action_add_account) {
+ AccountUtils.addAccount(this, new Runnable() {
+ @Override
+ public void run() {
+ SplashActivity.restartApp(MainActivity.this);
+ }
+ });
+ Log.i(Const.AUTH_TAG, "after addAccount");
return true;
}
return super.onOptionsItemSelected(item);