Merge "Workaround to avoid crash in user photo selection" into nyc-dev
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 86fb1d3..3f91293 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -273,6 +273,14 @@
                     Log.d(TAG, "Restarting WifiAp due to prior config change.");
                     startTethering(TETHERING_WIFI);
                 }
+            } else if (action.equals(WifiManager.WIFI_AP_STATE_CHANGED_ACTION)) {
+                int state = intent.getIntExtra(WifiManager.EXTRA_WIFI_AP_STATE, 0);
+                if (state == WifiManager.WIFI_AP_STATE_DISABLED
+                        && mRestartWifiApAfterConfigChange) {
+                    mRestartWifiApAfterConfigChange = false;
+                    Log.d(TAG, "Restarting WifiAp due to prior config change.");
+                    startTethering(TETHERING_WIFI);
+                }
             } else if (action.equals(Intent.ACTION_MEDIA_SHARED)) {
                 mMassStorageActive = true;
                 updateState();
@@ -324,6 +332,7 @@
         mMassStorageActive = Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
         mTetherChangeReceiver = new TetherChangeReceiver();
         IntentFilter filter = new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
+        filter.addAction(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
         Intent intent = activity.registerReceiver(mTetherChangeReceiver, filter);
 
         filter = new IntentFilter();
diff --git a/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java
index 9933672..f246204 100644
--- a/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFontSizePreferenceFragment.java
@@ -67,6 +67,7 @@
      */
     @Override
     protected void commit() {
+        if (getContext() == null) return;
         final ContentResolver resolver = getContext().getContentResolver();
         Settings.System.putFloat(resolver, Settings.System.FONT_SCALE, mValues[mCurrentIndex]);
     }
diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
index b0bf4b4..9371a19 100644
--- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
@@ -35,7 +35,7 @@
     private final int mIconSize;
 
     private BatteryEntry mInfo;
-    private final CharSequence mContentDescription;
+    private CharSequence mContentDescription;
     private CharSequence mProgress;
 
     public PowerGaugePreference(Context context, Drawable icon, CharSequence contentDescription,
@@ -48,6 +48,11 @@
         mIconSize = context.getResources().getDimensionPixelSize(R.dimen.app_icon_size);
     }
 
+    public void setContentDescription(String name) {
+        mContentDescription = name;
+        notifyChanged();
+    }
+
     public void setPercent(double percentOfMax, double percentOfTotal) {
         mProgress = Utils.formatPercentage((int) (percentOfTotal + 0.5));
         notifyChanged();
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 78f9833..443b480 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -432,6 +432,9 @@
                         final UserHandle userHandle = new UserHandle(userId);
                         pgp.setIcon(mUm.getBadgedIconForUser(entry.getIcon(), userHandle));
                         pgp.setTitle(entry.name);
+                        if (entry.sipper.drainType == DrainType.APP) {
+                            pgp.setContentDescription(entry.name);
+                        }
                     }
                     break;
                 case BatteryEntry.MSG_REPORT_FULLY_DRAWN: