Merge "Make home-as-up work in UserDictionarySettings"
diff --git a/src/com/android/settings/BrightnessPreference.java b/src/com/android/settings/BrightnessPreference.java
index fb25e9b..e015914 100644
--- a/src/com/android/settings/BrightnessPreference.java
+++ b/src/com/android/settings/BrightnessPreference.java
@@ -134,19 +134,16 @@
     private int getBrightness() {
         int mode = getBrightnessMode(0);
         float brightness = 0;
-        try {
-            if (mode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
-                brightness = Settings.System.getFloat(getContext().getContentResolver(),
-                        Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ);
-                brightness = (brightness+1)/2;
-            } else {
-                brightness = Settings.System.getInt(getContext().getContentResolver(),
-                        Settings.System.SCREEN_BRIGHTNESS);
-                brightness = (MAXIMUM_BACKLIGHT - mScreenBrightnessDim)
-                        / (brightness - mScreenBrightnessDim);
-                
-            }
-        } catch (SettingNotFoundException snfe) {
+        if (mode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
+            brightness = Settings.System.getFloat(getContext().getContentResolver(),
+                    Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0);
+            brightness = (brightness+1)/2;
+        } else {
+            brightness = Settings.System.getInt(getContext().getContentResolver(),
+                    Settings.System.SCREEN_BRIGHTNESS, 100);
+            brightness = (MAXIMUM_BACKLIGHT - mScreenBrightnessDim)
+                    / (brightness - mScreenBrightnessDim);
+            
         }
         return (int)(brightness*10000);
     }
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 62c86d8..7d45461 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -794,6 +794,7 @@
 
             final boolean matchFound = pm.resolveActivity(mAppSettingsIntent, 0) != null;
             mAppSettings.setEnabled(matchFound);
+            mAppSettings.setVisibility(View.VISIBLE);
 
         } else {
             mAppSettingsIntent = null;
@@ -1060,6 +1061,8 @@
     private OnClickListener mAppSettingsListener = new OnClickListener() {
         @Override
         public void onClick(View v) {
+            if (!isAdded()) return;
+
             // TODO: target torwards entire UID instead of just first package
             startActivity(mAppSettingsIntent);
         }
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 8500f8d..368976a 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -55,15 +55,15 @@
         int helpResource = getHelpResource();
         if (helpResource != 0) {
             mHelpUrl = getResources().getString(helpResource);
-            if (!TextUtils.isEmpty(mHelpUrl)) {
-                setHasOptionsMenu(true);
-            }
         }
     }
 
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
+        if (!TextUtils.isEmpty(mHelpUrl)) {
+            setHasOptionsMenu(true);
+        }
     }
 
     /**
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 04d0220..36bae32 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -527,6 +527,9 @@
      * the strength of network and the security for it.
      */
     private void updateAccessPoints() {
+        // Safeguard from some delayed event handling
+        if (getActivity() == null) return;
+
         final int wifiState = mWifiManager.getWifiState();
 
         switch (wifiState) {