Merge "Fix battery usage screen issues" into mnc-dev
diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java
index a7d0e4e..f53e7df 100644
--- a/src/com/android/settings/ConfirmLockPattern.java
+++ b/src/com/android/settings/ConfirmLockPattern.java
@@ -208,7 +208,7 @@
                     mLockPatternView.clearPattern();
                     break;
                 case NeedToUnlockWrong:
-                    mErrorTextView.setText(R.string.lockpattern_need_to_unlock_wrong);
+                    showError(R.string.lockpattern_need_to_unlock_wrong);
 
                     mLockPatternView.setDisplayMode(LockPatternView.DisplayMode.Wrong);
                     mLockPatternView.setEnabled(true);
@@ -372,7 +372,6 @@
             }
         };
 
-
         private void handleAttemptLockout(long elapsedRealtimeDeadline) {
             updateStage(Stage.LockedOut);
             long elapsedRealtime = SystemClock.elapsedRealtime();
@@ -383,7 +382,7 @@
                 @Override
                 public void onTick(long millisUntilFinished) {
                     final int secondsCountdown = (int) (millisUntilFinished / 1000);
-                    mErrorTextView.setText(getString(
+                    showError(getString(
                             R.string.lockpattern_too_many_failed_confirmation_attempts,
                             secondsCountdown));
                 }
@@ -395,5 +394,14 @@
                 }
             }.start();
         }
+
+        private void showError(CharSequence msg) {
+            mErrorTextView.setText(msg);
+            mErrorTextView.announceForAccessibility(mErrorTextView.getText());
+        }
+
+        private void showError(int msgid) {
+            showError(getText(msgid));
+        }
     }
 }
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
index e58abd6..59d6792 100755
--- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
+++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
@@ -280,9 +280,9 @@
                 profile.setPreferred(device.getDevice(), false);
                 if (profile instanceof MapProfile) {
                     device.setMessagePermissionChoice(BluetoothDevice.ACCESS_REJECTED);
-                    refreshProfilePreference(
-                            (CheckBoxPreference)findPreference(profile.toString()), profile);
                 }
+                refreshProfilePreference(
+                        (CheckBoxPreference)findPreference(profile.toString()), profile);
             }
         };
 
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index a82585d..a7d3b33 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -234,6 +234,7 @@
         // Mark out connections with a subtitle
         try {
             // Legacy VPNs
+            mConnectedLegacyVpn = null;
             LegacyVpnInfo info = mConnectivityService.getLegacyVpnInfo();
             if (info != null) {
                 ConfigPreference preference = mConfigPreferences.get(info.key);