Merge "Disable setting items in App details page" into tm-dev am: ca72e5c333
am: 7e6dd3f4b7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18178967 Change-Id: I94f2e3ede5caf0bc20e8033b30c4501e1f005c76 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -28,6 +28,7 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.AppOpsManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.os.BatteryUsageStats;
|
||||
@@ -41,6 +42,7 @@ import androidx.preference.PreferenceScreen;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.fuelgauge.BatteryDiffEntry;
|
||||
import com.android.settings.fuelgauge.BatteryUtils;
|
||||
import com.android.settingslib.applications.ApplicationsState;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -176,6 +178,26 @@ public class AppBatteryPreferenceControllerTest {
|
||||
assertThat(mBatteryPreference.getSummary()).isEqualTo("60% use for past 24 hours");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_noEntry_preferenceShouldSetEmptySummary() {
|
||||
mController.mParent.setAppEntry(null);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mBatteryPreference.getSummary()).isEqualTo("");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_appIsNotInstalled_preferenceShouldSetEmptySummary() {
|
||||
final ApplicationsState.AppEntry appEntry = mock(ApplicationsState.AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
mController.mParent.setAppEntry(appEntry);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mBatteryPreference.getSummary()).isEqualTo("");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isBatteryStatsAvailable_hasBatteryStatsHelperAndSipper_returnTrue() {
|
||||
mController.mBatteryUsageStats = mBatteryUsageStats;
|
||||
|
@@ -34,6 +34,7 @@ import android.os.Bundle;
|
||||
|
||||
import androidx.loader.app.LoaderManager;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.datausage.AppDataUsage;
|
||||
@@ -54,6 +55,8 @@ public class AppDataUsagePreferenceControllerTest {
|
||||
private LoaderManager mLoaderManager;
|
||||
@Mock
|
||||
private AppInfoDashboardFragment mFragment;
|
||||
@Mock
|
||||
private PreferenceScreen mScreen;
|
||||
|
||||
private Context mContext;
|
||||
private AppDataUsagePreferenceController mController;
|
||||
@@ -71,7 +74,7 @@ public class AppDataUsagePreferenceControllerTest {
|
||||
doReturn(true).when(mController).isBandwidthControlEnabled();
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -79,13 +82,14 @@ public class AppDataUsagePreferenceControllerTest {
|
||||
doReturn(false).when(mController).isBandwidthControlEnabled();
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
|
||||
.isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onResume_notAvailable_shouldNotRestartDataLoader() {
|
||||
doReturn(mLoaderManager).when(mFragment).getLoaderManager();
|
||||
doReturn(BasePreferenceController.CONDITIONALLY_UNAVAILABLE).when(mController).getAvailabilityStatus();
|
||||
doReturn(BasePreferenceController.CONDITIONALLY_UNAVAILABLE).when(
|
||||
mController).getAvailabilityStatus();
|
||||
|
||||
mController.onResume();
|
||||
|
||||
@@ -130,4 +134,45 @@ public class AppDataUsagePreferenceControllerTest {
|
||||
|
||||
verify(preference).setSummary(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_noEntry_preferenceShouldNotEnable() {
|
||||
mController.mAppEntry = null;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
doReturn(true).when(mController).isBandwidthControlEnabled();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_appIsInstalled_preferenceShouldEnable() {
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
appEntry.info.flags = ApplicationInfo.FLAG_INSTALLED;
|
||||
mController.mAppEntry = appEntry;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
doReturn(true).when(mController).isBandwidthControlEnabled();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_appIsNotInstalled_preferenceShouldDisable() {
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
mController.mAppEntry = appEntry;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
doReturn(true).when(mController).isBandwidthControlEnabled();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isFalse();
|
||||
}
|
||||
}
|
||||
|
@@ -21,7 +21,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -32,6 +31,7 @@ import android.os.Bundle;
|
||||
|
||||
import androidx.loader.app.LoaderManager;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.applications.AppStorageSettings;
|
||||
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
||||
@@ -52,6 +52,8 @@ public class AppStoragePreferenceControllerTest {
|
||||
private LoaderManager mLoaderManager;
|
||||
@Mock
|
||||
private AppInfoDashboardFragment mFragment;
|
||||
@Mock
|
||||
private PreferenceScreen mScreen;
|
||||
|
||||
private Context mContext;
|
||||
private AppStoragePreferenceController mController;
|
||||
@@ -89,10 +91,48 @@ public class AppStoragePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_shouldUpdatePreferenceSummary() {
|
||||
public void displayPreference_noEntry_preferenceShouldNotEnable() {
|
||||
mController.mAppEntry = null;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_appIsInstalled_preferenceShouldEnable() {
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
when(mFragment.getAppEntry()).thenReturn(appEntry);
|
||||
appEntry.info.flags = ApplicationInfo.FLAG_INSTALLED;
|
||||
mController.mAppEntry = appEntry;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_appIsNotInstalled_preferenceShouldDisable() {
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
mController.mAppEntry = appEntry;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_hasAppEntry_shouldUpdatePreferenceSummary() {
|
||||
final AppEntry appEntry = mock(AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
mController.mAppEntry = appEntry;
|
||||
Preference preference = mock(Preference.class);
|
||||
|
||||
mController.updateState(preference);
|
||||
@@ -102,12 +142,12 @@ public class AppStoragePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void updateState_entryIsNull_shouldNotUpdatePreferenceSummary() {
|
||||
when(mFragment.getAppEntry()).thenReturn(null);
|
||||
Preference preference = mock(Preference.class);
|
||||
mController.mAppEntry = null;
|
||||
Preference preference = new Preference(mContext);
|
||||
|
||||
mController.updateState(preference);
|
||||
|
||||
verify(preference, never()).setSummary(any());
|
||||
assertThat(preference.getSummary()).isEqualTo("");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -20,7 +20,9 @@ import static android.content.Intent.EXTRA_PACKAGE_NAME;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.nullable;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -35,6 +37,7 @@ import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settingslib.applications.ApplicationsState;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -125,4 +128,42 @@ public class TimeSpentInAppPreferenceControllerTest {
|
||||
verify(mFeatureFactory.applicationFeatureProvider).getTimeSpentInApp(
|
||||
nullable(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_noEntry_preferenceShouldNotEnable() {
|
||||
mController.mAppEntry = null;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_appIsInstalled_preferenceShouldEnable() {
|
||||
final ApplicationsState.AppEntry appEntry = mock(ApplicationsState.AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
appEntry.info.flags = ApplicationInfo.FLAG_INSTALLED;
|
||||
mController.mAppEntry = appEntry;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_appIsNotInstalled_preferenceShouldDisable() {
|
||||
final ApplicationsState.AppEntry appEntry = mock(ApplicationsState.AppEntry.class);
|
||||
appEntry.info = new ApplicationInfo();
|
||||
mController.mAppEntry = appEntry;
|
||||
Preference preference = new Preference(mContext);
|
||||
when(mScreen.findPreference(any())).thenReturn(preference);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(preference.isEnabled()).isFalse();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user