Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f45adfe authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Check instance before casting"

parents 54e4100a 53bdd996
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.datausage.AppStateDataUsageBridge;
import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
import com.android.settings.datausage.DataSaverBackend;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -108,8 +109,8 @@ public class SpecialAppAccessPreferenceController extends BasePreferenceControll
            if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) {
                continue;
            }
            if (entry.extraInfo != null && ((AppStateDataUsageBridge.DataUsageState)
                    entry.extraInfo).isDataSaverWhitelisted) {
            if (entry.extraInfo instanceof DataUsageState
                    && ((DataUsageState) entry.extraInfo).isDataSaverWhitelisted) {
                count++;
            }
        }
+18 −0
Original line number Diff line number Diff line
@@ -94,4 +94,22 @@ public class SpecialAppAccessPreferenceControllerTest {
                .isEqualTo(mContext.getResources().getQuantityString(
                        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));
    }
}