Fix bug #15080198 Enabling developer options requires restart of settings to enter

- fix Dashboard categories refresh issue

Change-Id: I5bb7fc4a1410df8f5c2d2d13f7625a1ccc8893c3
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index fb2f0ac..b193104 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -470,6 +470,7 @@
             ArrayList<DashboardCategory> categories =
                     savedState.getParcelableArrayList(SAVE_KEY_CATEGORIES);
             if (categories != null) {
+                mCategories.clear();
                 mCategories.addAll(categories);
                 setTitleFromBackStack();
             }
@@ -816,7 +817,7 @@
      * @param categories The list in which to place the tiles categories.
      */
     private void buildDashboardCategories(List<DashboardCategory> categories) {
-        mCategories.clear();
+        categories.clear();
         loadCategoriesFromResource(R.xml.dashboard_categories, categories);
         updateTilesList(categories);
     }
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index bd4b254..faafad1 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -75,8 +75,6 @@
 
         mAuthHelper = ((SettingsActivity) context).getAuthenticatorHelper();
 
-        rebuildUI(getActivity());
-
         return rootView;
     }
 
@@ -121,13 +119,15 @@
     }
 
     @Override
-    public void onStart() {
-        super.onStart();
+    public void onResume() {
+        super.onResume();
 
         if (!mAccountListenerAdded) {
             AccountManager.get(getActivity()).addOnAccountsUpdatedListener(this, null, false);
             mAccountListenerAdded = true;
         }
+
+        rebuildCategories();
     }
 
     @Override