Merge "Check instance before casting"
This commit is contained in:
committed by
Android (Google) Code Review
commit
3f45adfeb1
@@ -23,6 +23,7 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.datausage.AppStateDataUsageBridge;
|
import com.android.settings.datausage.AppStateDataUsageBridge;
|
||||||
|
import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
|
||||||
import com.android.settings.datausage.DataSaverBackend;
|
import com.android.settings.datausage.DataSaverBackend;
|
||||||
import com.android.settingslib.applications.ApplicationsState;
|
import com.android.settingslib.applications.ApplicationsState;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
@@ -108,8 +109,8 @@ public class SpecialAppAccessPreferenceController extends BasePreferenceControll
|
|||||||
if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) {
|
if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (entry.extraInfo != null && ((AppStateDataUsageBridge.DataUsageState)
|
if (entry.extraInfo instanceof DataUsageState
|
||||||
entry.extraInfo).isDataSaverWhitelisted) {
|
&& ((DataUsageState) entry.extraInfo).isDataSaverWhitelisted) {
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -94,4 +94,22 @@ public class SpecialAppAccessPreferenceControllerTest {
|
|||||||
.isEqualTo(mContext.getResources().getQuantityString(
|
.isEqualTo(mContext.getResources().getQuantityString(
|
||||||
R.plurals.special_access_summary, 1, 1));
|
R.plurals.special_access_summary, 1, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateState_wrongExtraInfo_shouldNotIncludeInSummary() {
|
||||||
|
final ArrayList<ApplicationsState.AppEntry> apps = new ArrayList<>();
|
||||||
|
final ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
|
||||||
|
entry.hasLauncherEntry = true;
|
||||||
|
entry.info = new ApplicationInfo();
|
||||||
|
entry.extraInfo = new AppStateNotificationBridge.NotificationsSentState();
|
||||||
|
apps.add(entry);
|
||||||
|
when(mSession.getAllApps()).thenReturn(apps);
|
||||||
|
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
mController.onExtraInfoUpdated();
|
||||||
|
|
||||||
|
assertThat(mPreference.getSummary())
|
||||||
|
.isEqualTo(mContext.getResources().getQuantityString(
|
||||||
|
R.plurals.special_access_summary, 0, 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user