diff --git a/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java b/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java index 19687fcfff1..727c61e90ba 100644 --- a/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java +++ b/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java @@ -83,7 +83,8 @@ public class AppStateChangeWifiStateBridge extends AppStateAppOpsBridge { @Override public boolean filterApp(AppEntry info) { - if (info == null || info.extraInfo == null) { + if (info == null || info.extraInfo == null + || !(info.extraInfo instanceof WifiSettingsState)) { return false; } WifiSettingsState wifiSettingsState = (WifiSettingsState) info.extraInfo; diff --git a/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java b/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java index c32c76b45d3..819eb24566e 100644 --- a/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java +++ b/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java @@ -22,6 +22,7 @@ import static org.mockito.Mockito.mock; import android.Manifest; import android.content.pm.PackageInfo; +import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState; import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppFilter; @@ -81,4 +82,11 @@ public class AppStateChangeWifiStateBridgeTest { mEntry.extraInfo = mState; assertThat(mFilter.filterApp(mEntry)).isFalse(); } + + @Test + public void testFilterApp_filterWrongTypeExtraInfo_returnFalse() { + mEntry.extraInfo = mock(DataUsageState.class); + + assertThat(mFilter.filterApp(mEntry)).isFalse(); + } }