Overrides permission check in tests to fix failing unit tests

Bug: 149793111
Test: atest com.android.server.pm.ShortcutManagerTest1 \
            com.android.server.pm.ShortcutManagerTest2 \
            com.android.server.pm.ShortcutManagerTest3 \
            com.android.server.pm.ShortcutManagerTest4 \
            com.android.server.pm.ShortcutManagerTest5 \
            com.android.server.pm.ShortcutManagerTest6 \
            com.android.server.pm.ShortcutManagerTest7 \
            com.android.server.pm.ShortcutManagerTest8 \
            com.android.server.pm.ShortcutManagerTest9 \
            com.android.server.pm.ShortcutManagerTest10

Change-Id: I524985ca8c28a2b75dc584fb70761a1ce1598882
This commit is contained in:
Mehdi Alizadeh
2020-02-18 17:57:32 -08:00
parent e6d85ede20
commit 10e88cc150
2 changed files with 16 additions and 3 deletions

View File

@@ -16,7 +16,6 @@
package com.android.server.pm;
import android.Manifest.permission;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UserIdInt;
@@ -307,8 +306,8 @@ public class LauncherAppsService extends SystemService {
final int callingUserId = injectCallingUserId();
if (targetUserId == callingUserId) return true;
if (mContext.checkCallingOrSelfPermission(permission.INTERACT_ACROSS_USERS_FULL)
== PackageManager.PERMISSION_GRANTED) {
if (injectHasInteractAcrossUsersFullPermission(injectBinderCallingPid(),
injectBinderCallingUid())) {
return true;
}
@@ -684,6 +683,15 @@ public class LauncherAppsService extends SystemService {
callingPid, callingUid) == PackageManager.PERMISSION_GRANTED;
}
/**
* Returns true if the caller has the "INTERACT_ACROSS_USERS_FULL" permission.
*/
@VisibleForTesting
boolean injectHasInteractAcrossUsersFullPermission(int callingPid, int callingUid) {
return mContext.checkPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL,
callingPid, callingUid) == PackageManager.PERMISSION_GRANTED;
}
@Override
public ParceledListSlice getShortcuts(String callingPackage, long changedSince,
String packageName, List shortcutIds, List<LocusId> locusIds,

View File

@@ -562,6 +562,11 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
boolean injectHasAccessShortcutsPermission(int callingPid, int callingUid) {
return true;
}
@Override
boolean injectHasInteractAcrossUsersFullPermission(int callingPid, int callingUid) {
return false;
}
}
protected class LauncherAppsTestable extends LauncherApps {