Bug fixes, UI flow improvements.

Bug: 3173067 - Auto timezone checkbox out of sync with dependency
Bug: 3175116 - Crash when launching Manage Accounts screen
Move "Add Account" to a menu item from a button at the bottom.
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index 4d199b8..1a37207 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -86,6 +86,9 @@
 
         mAutoTimePref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME);
         mAutoTimePref.setChecked(autoTimeEnabled);
+        mAutoTimeZonePref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME_ZONE);
+        mAutoTimeZonePref.setChecked(autoTimeZoneEnabled);
+
         mTimePref = findPreference("time");
         mTime24Pref = findPreference("24 hour");
         mTimeZone = findPreference("timezone");
@@ -313,7 +316,7 @@
         try {
             return Settings.System.getInt(getContentResolver(), name) > 0;
         } catch (SettingNotFoundException snfe) {
-            return true;
+            return false;
         }
     }
 
diff --git a/src/com/android/settings/ManageAccountsSettings.java b/src/com/android/settings/ManageAccountsSettings.java
index a6eee09..93053f1 100644
--- a/src/com/android/settings/ManageAccountsSettings.java
+++ b/src/com/android/settings/ManageAccountsSettings.java
@@ -16,9 +16,8 @@
 
 package com.android.settings;
 
-import com.google.android.collect.Maps;
-
 import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment;
+import com.google.android.collect.Maps;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
@@ -45,6 +44,9 @@
 import android.preference.PreferenceScreen;
 import android.util.Log;
 import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
@@ -56,7 +58,8 @@
 import java.util.Map;
 
 public class ManageAccountsSettings extends PreferenceFragment
-        implements View.OnClickListener, OnAccountsUpdateListener, DialogCreatable {
+ implements OnAccountsUpdateListener,
+        DialogCreatable {
     private static final String TAG = ManageAccountsSettings.class.getSimpleName();
 
     private static final String AUTHORITIES_FILTER_KEY = "authorities";
@@ -67,6 +70,8 @@
     private static final String BACKGROUND_DATA_CHECKBOX_KEY = "backgroundDataCheckBox";
     private static final int DIALOG_DISABLE_BACKGROUND_DATA = 1;
 
+    private static final int MENU_ADD_ACCOUNT = Menu.FIRST;
+
     private CheckBoxPreference mBackgroundDataCheckBox;
     private PreferenceCategory mManageAccountsCategory;
     private String[] mAuthorities;
@@ -84,6 +89,8 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+
+        setHasOptionsMenu(true);
     }
 
     @Override
@@ -118,8 +125,6 @@
 
         mManageAccountsCategory = (PreferenceCategory)findPreference(MANAGE_ACCOUNTS_CATEGORY_KEY);
         mAuthorities = activity.getIntent().getStringArrayExtra(AUTHORITIES_FILTER_KEY);
-        mAddAccountButton = (Button)view.findViewById(R.id.add_account_button);
-        mAddAccountButton.setOnClickListener(this);
 
         AccountManager.get(activity).addOnAccountsUpdatedListener(this, null, true);
         updateAuthDescriptions(activity);
@@ -190,6 +195,21 @@
         mDialogFragment.show(getActivity().getFragmentManager(), Integer.toString(dialogId));
     }
 
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        MenuItem actionItem =
+                menu.add(0, MENU_ADD_ACCOUNT, 0, R.string.add_account_label)
+                .setIcon(R.drawable.ic_menu_add);
+        actionItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM
+                | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        onAddAccountClicked();
+        return true;
+    }
+
     private void setBackgroundDataInt(boolean enabled) {
         final ConnectivityManager connManager = (ConnectivityManager)
                 getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
@@ -309,12 +329,10 @@
         }
     }
 
-    public void onClick(View v) {
-        if (v == mAddAccountButton) {
-            Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS");
-            intent.putExtra(AUTHORITIES_FILTER_KEY, mAuthorities);
-            startActivity(intent);
-        }
+    public void onAddAccountClicked() {
+        Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS");
+        intent.putExtra(AUTHORITIES_FILTER_KEY, mAuthorities);
+        startActivity(intent);
     }
 
     /* The logic below is copied from AcountPrefernceBase */
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index bec8241..a00d58f 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -192,4 +192,5 @@
     public static class DockSettingsActivity extends Settings { }
     public static class RunningServicesActivity extends Settings { }
     public static class VoiceInputOutputSettingsActivity extends Settings { }
+    public static class ManageAccountsSettingsActivity extends Settings { }
 }