Merge "Don't crash on invalid numbers." into nyc-dev
diff --git a/src/com/android/settings/MonitoringCertInfoActivity.java b/src/com/android/settings/MonitoringCertInfoActivity.java
index 8ad9d83..2392397 100644
--- a/src/com/android/settings/MonitoringCertInfoActivity.java
+++ b/src/com/android/settings/MonitoringCertInfoActivity.java
@@ -60,7 +60,7 @@
 
         if (dpm.getProfileOwnerAsUser(mUserId) != null) {
             builder.setMessage(getResources().getQuantityString(R.plurals.ssl_ca_cert_info_message,
-                    numberOfCertificates, dpm.getProfileOwnerName()));
+                    numberOfCertificates, dpm.getProfileOwnerNameAsUser(mUserId)));
         } else if (dpm.getDeviceOwnerComponentOnCallingUser() != null) {
             builder.setMessage(getResources().getQuantityString(
                     R.plurals.ssl_ca_cert_info_message_device_owner, numberOfCertificates,
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index 0c8c2e2..eb62ad7 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -207,10 +207,6 @@
         }
 
         @Override
-        public void onRestrictPowerChanged(boolean restrictPower) {
-        }
-
-        @Override
         public void onRestrictBackgroundChanged(final boolean isDataSaving) throws RemoteException {
             mHandler.post(new Runnable() {
                 @Override
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
index 66026eb..c9a1fb7 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
@@ -117,7 +117,7 @@
 
     private Preference mExplore;
 
-    private boolean mDetached;
+    private boolean mNeedsUpdate;
 
     private boolean isVolumeValid() {
         return (mVolume != null) && (mVolume.getType() == VolumeInfo.TYPE_PRIVATE)
@@ -164,18 +164,22 @@
 
         mExplore = buildAction(R.string.storage_menu_explore);
 
-        mDetached = false;
+        mNeedsUpdate = true;
 
         setHasOptionsMenu(true);
     }
 
+    private void setTitle() {
+        getActivity().setTitle(mStorageManager.getBestVolumeDescription(mVolume));
+    }
+
     private void update() {
         if (!isVolumeValid()) {
             getActivity().finish();
             return;
         }
 
-        getActivity().setTitle(mStorageManager.getBestVolumeDescription(mVolume));
+        setTitle();
 
         // Valid options may have changed
         getFragmentManager().invalidateOptionsMenu();
@@ -238,6 +242,7 @@
         mSummary.setPercent((int) ((usedBytes * 100) / totalBytes));
 
         mMeasure.forceMeasure();
+        mNeedsUpdate = false;
     }
 
     private void addPreference(PreferenceGroup group, Preference pref) {
@@ -314,8 +319,10 @@
 
         mStorageManager.registerListener(mStorageListener);
 
-        if (!mDetached) {
+        if (mNeedsUpdate) {
             update();
+        } else {
+            setTitle();
         }
     }
 
@@ -326,24 +333,11 @@
     }
 
     @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        mDetached = false;
-    }
-
-    @Override
-    public void onDetach() {
-        super.onDetach();
-        mDetached = true;
-    }
-
-    @Override
     public void onDestroy() {
         super.onDestroy();
         if (mMeasure != null) {
             mMeasure.onDestroy();
         }
-        mDetached = false;
     }
 
     @Override