Fix failing test in InteractAcrossProfilesSettingsTest

Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesSettingsTest
Fixes: 188947450
Change-Id: Ie69332abd9d5072ba7be9067c0d4aef9b5f03503
This commit is contained in:
kholoud mohamed
2021-06-02 16:03:09 +01:00
parent 7bebe57631
commit c9eeabb378

View File

@@ -23,11 +23,11 @@ import static org.robolectric.Shadows.shadowOf;
import android.app.AppOpsManager; import android.app.AppOpsManager;
import android.content.Context; import android.content.Context;
import android.content.PermissionChecker;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.CrossProfileApps; import android.content.pm.CrossProfileApps;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.PermissionInfo;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
@@ -40,6 +40,7 @@ import com.google.common.collect.ImmutableList;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.shadows.ShadowPermissionChecker;
import org.robolectric.shadows.ShadowProcess; import org.robolectric.shadows.ShadowProcess;
import java.util.List; import java.util.List;
@@ -153,11 +154,14 @@ public class InteractAcrossProfilesSettingsTest {
installCrossProfilePackage(WORK_PROFILE_ID, WORK_CROSS_PROFILE_PACKAGE); installCrossProfilePackage(WORK_PROFILE_ID, WORK_CROSS_PROFILE_PACKAGE);
shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE); shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
String appOp = AppOpsManager.permissionToOp(INTERACT_ACROSS_PROFILES_PERMISSION); String appOp = AppOpsManager.permissionToOp(INTERACT_ACROSS_PROFILES_PERMISSION);
shadowOf(mAppOpsManager).setMode( ShadowPermissionChecker.setResult(
appOp, PACKAGE_UID, PERSONAL_CROSS_PROFILE_PACKAGE, AppOpsManager.MODE_ALLOWED); PERSONAL_CROSS_PROFILE_PACKAGE,
shadowOf(mAppOpsManager).setMode( INTERACT_ACROSS_PROFILES_PERMISSION,
appOp, PACKAGE_UID, PERSONAL_NON_CROSS_PROFILE_PACKAGE, AppOpsManager.MODE_IGNORED); PermissionChecker.PERMISSION_GRANTED);
shadowOf(mPackageManager).addPermissionInfo(createCrossProfilesPermissionInfo()); ShadowPermissionChecker.setResult(
PERSONAL_NON_CROSS_PROFILE_PACKAGE,
INTERACT_ACROSS_PROFILES_PERMISSION,
PermissionChecker.PERMISSION_SOFT_DENIED);
int numOfApps = InteractAcrossProfilesSettings.getNumberOfEnabledApps( int numOfApps = InteractAcrossProfilesSettings.getNumberOfEnabledApps(
mContext, mPackageManager, mUserManager, mCrossProfileApps); mContext, mPackageManager, mUserManager, mCrossProfileApps);
@@ -171,11 +175,4 @@ public class InteractAcrossProfilesSettingsTest {
personalPackageInfo.requestedPermissions = new String[]{ personalPackageInfo.requestedPermissions = new String[]{
INTERACT_ACROSS_PROFILES_PERMISSION}; INTERACT_ACROSS_PROFILES_PERMISSION};
} }
private PermissionInfo createCrossProfilesPermissionInfo() {
PermissionInfo permissionInfo = new PermissionInfo();
permissionInfo.name = INTERACT_ACROSS_PROFILES_PERMISSION;
permissionInfo.protectionLevel = PermissionInfo.PROTECTION_FLAG_APPOP;
return permissionInfo;
}
} }