Merge "Add device/profile app check in background check" into oc-mr1-dev
This commit is contained in:
@@ -8,14 +8,17 @@ import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.LinkAddress;
|
||||
import android.net.LinkProperties;
|
||||
import android.net.Network;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserManager;
|
||||
import android.os.storage.DiskInfo;
|
||||
import android.os.storage.StorageManager;
|
||||
import android.os.storage.VolumeInfo;
|
||||
@@ -23,6 +26,7 @@ import android.text.SpannableStringBuilder;
|
||||
import android.text.format.DateUtils;
|
||||
import android.text.style.TtsSpan;
|
||||
|
||||
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -34,12 +38,15 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class UtilsTest {
|
||||
|
||||
private static final String TIME_DESCRIPTION = "1 day 20 hours 30 minutes";
|
||||
private static final String PACKAGE_NAME = "com.android.app";
|
||||
private Context mContext;
|
||||
@Mock
|
||||
private WifiManager wifiManager;
|
||||
@@ -47,6 +54,10 @@ public class UtilsTest {
|
||||
private Network network;
|
||||
@Mock
|
||||
private ConnectivityManager connectivityManager;
|
||||
@Mock
|
||||
private DevicePolicyManagerWrapper mDevicePolicyManager;
|
||||
@Mock
|
||||
private UserManager mUserManager;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -194,4 +205,25 @@ public class UtilsTest {
|
||||
|
||||
assertThat(Utils.getInstallationStatus(info)).isEqualTo(R.string.disabled);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsProfileOrDeviceOwner_deviceOwnerApp_returnTrue() {
|
||||
when(mDevicePolicyManager.isDeviceOwnerAppOnAnyUser(PACKAGE_NAME)).thenReturn(true);
|
||||
|
||||
assertThat(Utils.isProfileOrDeviceOwner(mUserManager, mDevicePolicyManager,
|
||||
PACKAGE_NAME)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsProfileOrDeviceOwner_profileOwnerApp_returnTrue() {
|
||||
final List<UserInfo> userInfos = new ArrayList<>();
|
||||
userInfos.add(new UserInfo());
|
||||
|
||||
when(mUserManager.getUsers()).thenReturn(userInfos);
|
||||
when(mDevicePolicyManager.getProfileOwnerAsUser(userInfos.get(0).id)).thenReturn(
|
||||
new ComponentName(PACKAGE_NAME, ""));
|
||||
|
||||
assertThat(Utils.isProfileOrDeviceOwner(mUserManager, mDevicePolicyManager,
|
||||
PACKAGE_NAME)).isTrue();
|
||||
}
|
||||
}
|
||||
|
@@ -45,6 +45,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.applications.instantapps.InstantAppButtonsController;
|
||||
import com.android.settings.applications.instantapps.InstantAppButtonsController.ShowDialogDelegate;
|
||||
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
|
||||
import com.android.settings.fuelgauge.BatteryUtils;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settingslib.Utils;
|
||||
@@ -103,7 +104,7 @@ public final class InstalledAppDetailsTest {
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
private SettingsActivity mActivity;
|
||||
@Mock
|
||||
private DevicePolicyManager mDevicePolicyManager;
|
||||
private DevicePolicyManagerWrapper mDevicePolicyManager;
|
||||
@Mock
|
||||
private BatterySipper mBatterySipper;
|
||||
@Mock
|
||||
|
@@ -17,14 +17,17 @@
|
||||
package com.android.settings.fuelgauge;
|
||||
|
||||
import android.app.AppOpsManager;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.UserManager;
|
||||
import android.support.v14.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -62,6 +65,12 @@ public class BackgroundActivityPreferenceControllerTest {
|
||||
private ApplicationInfo mHighApplicationInfo;
|
||||
@Mock
|
||||
private ApplicationInfo mLowApplicationInfo;
|
||||
@Mock
|
||||
private UserManager mUserManager;
|
||||
@Mock
|
||||
private DevicePolicyManager mDevicePolicyManager;
|
||||
@Mock
|
||||
private DevicePolicyManagerWrapper mDevicePolicyManagerWrapper;
|
||||
private BackgroundActivityPreferenceController mController;
|
||||
private SwitchPreference mPreference;
|
||||
private Context mShadowContext;
|
||||
@@ -73,6 +82,9 @@ public class BackgroundActivityPreferenceControllerTest {
|
||||
mShadowContext = RuntimeEnvironment.application;
|
||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||
when(mContext.getSystemService(Context.APP_OPS_SERVICE)).thenReturn(mAppOpsManager);
|
||||
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
|
||||
when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE)).thenReturn(
|
||||
mDevicePolicyManager);
|
||||
when(mPackageManager.getPackagesForUid(UID_NORMAL)).thenReturn(PACKAGES_NORMAL);
|
||||
when(mPackageManager.getPackagesForUid(UID_SPECIAL)).thenReturn(PACKAGES_SPECIAL);
|
||||
|
||||
@@ -86,6 +98,7 @@ public class BackgroundActivityPreferenceControllerTest {
|
||||
mPreference = new SwitchPreference(mShadowContext);
|
||||
mController = spy(new BackgroundActivityPreferenceController(mContext, UID_NORMAL));
|
||||
mController.isAvailable();
|
||||
mController.mDpm = mDevicePolicyManagerWrapper;
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -181,6 +194,7 @@ public class BackgroundActivityPreferenceControllerTest {
|
||||
@Test
|
||||
public void testMultiplePackages_ReturnStatusForTargetPackage() {
|
||||
mController = new BackgroundActivityPreferenceController(mContext, UID_SPECIAL);
|
||||
mController.mDpm = mDevicePolicyManagerWrapper;
|
||||
when(mAppOpsManager
|
||||
.checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, UID_SPECIAL, LOW_SDK_PACKAGE))
|
||||
.thenReturn(AppOpsManager.MODE_ALLOWED);
|
||||
|
Reference in New Issue
Block a user