OSDN Git Service

Guard against empty extraInfo
authorJason Monk <jmonk@google.com>
Tue, 12 Apr 2016 20:03:39 +0000 (16:03 -0400)
committerJason Monk <jmonk@google.com>
Tue, 12 Apr 2016 20:03:39 +0000 (16:03 -0400)
Change-Id: Iff297637edd3ebf5b6d26bc1dc51e9c17393e24f
Fixes: 27999693

src/com/android/settings/datausage/UnrestrictedDataAccess.java

index e3771d3..c9014c0 100644 (file)
@@ -28,6 +28,7 @@ import com.android.internal.logging.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.applications.AppStateBaseBridge;
+import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.applications.ApplicationsState.AppFilter;
@@ -215,8 +216,8 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment
             mEntry = entry;
             mEntry.ensureLabel(getContext());
             setTitle(entry.label);
-            setChecked(((AppStateDataUsageBridge.DataUsageState) entry.extraInfo)
-                    .isDataSaverWhitelisted);
+            final DataUsageState state = (DataUsageState) entry.extraInfo;
+            setChecked(state != null && state.isDataSaverWhitelisted);
             if (mEntry.icon != null) {
                 setIcon(mEntry.icon);
             }
@@ -224,8 +225,8 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment
 
         public void reuse() {
             setTitle(mEntry.label);
-            setChecked(((AppStateDataUsageBridge.DataUsageState) mEntry.extraInfo)
-                    .isDataSaverWhitelisted);
+            final DataUsageState state = (DataUsageState) mEntry.extraInfo;
+            setChecked(state != null && state.isDataSaverWhitelisted);
         }
 
         @Override