Add work account settings.

Bug: 15467756
Change-Id: I13b5a0bb3967611d0d24b575bfc15d9bfaad4cfa
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index a5bc8bb..da7cb98 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -127,7 +127,8 @@
         PreferenceFragment.OnPreferenceStartFragmentCallback,
         ButtonBarHandler, OnAccountsUpdateListener, FragmentManager.OnBackStackChangedListener,
         SearchView.OnQueryTextListener, SearchView.OnCloseListener,
-        MenuItem.OnActionExpandListener {
+        MenuItem.OnActionExpandListener,
+        AuthenticatorHelper.OnAccountsUpdateListener {
 
     private static final String LOG_TAG = "Settings";
 
@@ -466,10 +467,13 @@
         if (intent.hasExtra(EXTRA_UI_OPTIONS)) {
             getWindow().setUiOptions(intent.getIntExtra(EXTRA_UI_OPTIONS, 0));
         }
-
-        mAuthenticatorHelper = new AuthenticatorHelper();
+        // TODO: Delete accounts tile once we have the new screen working
+        // See: http://b/15815948
+        final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
+        mAuthenticatorHelper = new AuthenticatorHelper(
+                this, UserHandle.getCallingUserHandle(), um, this);
         mAuthenticatorHelper.updateAuthDescriptions(this);
-        mAuthenticatorHelper.onAccountsUpdated(this, null);
+        mAuthenticatorHelper.onAccountsUpdated(null);
 
         mDevelopmentPreferences = getSharedPreferences(DevelopmentSettings.PREF_FILE,
                 Context.MODE_PRIVATE);
@@ -1263,7 +1267,11 @@
     public void onAccountsUpdated(Account[] accounts) {
         // TODO: watch for package upgrades to invalidate cache; see 7206643
         mAuthenticatorHelper.updateAuthDescriptions(this);
-        mAuthenticatorHelper.onAccountsUpdated(this, accounts);
+        invalidateCategories();
+    }
+
+    @Override
+    public void onAccountsUpdate(UserHandle userHandle) {
         invalidateCategories();
     }