Loading services/core/java/com/android/server/pm/permission/OneTimePermissionUserManager.java +16 −13 Original line number Original line Diff line number Diff line Loading @@ -19,13 +19,13 @@ package com.android.server.pm.permission; import static android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME; import static android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.app.ActivityManagerInternal; import android.app.AlarmManager; import android.app.AlarmManager; import android.app.IActivityManager; import android.app.IActivityManager; import android.app.IUidObserver; import android.app.IUidObserver; import android.app.UidObserver; import android.app.UidObserver; import android.companion.virtual.VirtualDevice; import android.companion.virtual.VirtualDeviceManager; import android.companion.virtual.VirtualDeviceManager; import android.content.BroadcastReceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Context; Loading Loading @@ -71,7 +71,6 @@ public class OneTimePermissionUserManager { private final @NonNull AlarmManager mAlarmManager; private final @NonNull AlarmManager mAlarmManager; private final @NonNull PermissionControllerManager mPermissionControllerManager; private final @NonNull PermissionControllerManager mPermissionControllerManager; private final @NonNull PermissionManager mPermissionManager; private final @NonNull PermissionManager mPermissionManager; private final VirtualDeviceManagerInternal mVirtualDeviceManagerInternal; private final Object mLock = new Object(); private final Object mLock = new Object(); Loading Loading @@ -108,8 +107,6 @@ public class OneTimePermissionUserManager { mPermissionControllerManager = new PermissionControllerManager( mPermissionControllerManager = new PermissionControllerManager( mContext, PermissionThread.getHandler()); mContext, PermissionThread.getHandler()); mPermissionManager = mContext.getSystemService(PermissionManager.class); mPermissionManager = mContext.getSystemService(PermissionManager.class); mVirtualDeviceManagerInternal = LocalServices.getService(VirtualDeviceManagerInternal.class); mHandler = context.getMainThreadHandler(); mHandler = context.getMainThreadHandler(); } } Loading Loading @@ -274,9 +271,13 @@ public class OneTimePermissionUserManager { private @NonNull List<String> getOneTimePermissions(@NonNull String packageName, private @NonNull List<String> getOneTimePermissions(@NonNull String packageName, int deviceId) { int deviceId) { List<String> permissions = new ArrayList<>(); List<String> permissions = new ArrayList<>(); String persistentDeviceId = getPersistentDeviceId(deviceId); if (persistentDeviceId == null) { Log.w(LOG_TAG, "No persistence device id found for device : " + deviceId); return permissions; } Map<String, PermissionManager.PermissionState> permissionStates = Map<String, PermissionManager.PermissionState> permissionStates = mPermissionManager.getAllPermissionStates(packageName, mPermissionManager.getAllPermissionStates(packageName, persistentDeviceId); getPersistentDeviceId(deviceId)); for (Map.Entry<String, PermissionManager.PermissionState> entry : for (Map.Entry<String, PermissionManager.PermissionState> entry : permissionStates.entrySet()) { permissionStates.entrySet()) { PermissionManager.PermissionState permissionState = entry.getValue(); PermissionManager.PermissionState permissionState = entry.getValue(); Loading @@ -288,14 +289,16 @@ public class OneTimePermissionUserManager { return permissions; return permissions; } } private @NonNull String getPersistentDeviceId(int deviceId) { private @Nullable String getPersistentDeviceId(int deviceId) { VirtualDevice virtualDevice = mVirtualDeviceManagerInternal.getVirtualDevice(deviceId); if (deviceId == Context.DEVICE_ID_DEFAULT) { String persistentDeviceId = null; return VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT; if (virtualDevice != null) { } persistentDeviceId = virtualDevice.getPersistentDeviceId(); VirtualDeviceManagerInternal virtualDeviceManagerInternal = LocalServices.getService(VirtualDeviceManagerInternal.class); if (virtualDeviceManagerInternal != null) { return virtualDeviceManagerInternal.getPersistentIdForDevice(deviceId); } } return persistentDeviceId != null ? persistentDeviceId return null; : VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT; } } public void updateSessionParameters(long timeoutMillis, long revokeAfterKilledDelayMillis) { public void updateSessionParameters(long timeoutMillis, long revokeAfterKilledDelayMillis) { Loading Loading
services/core/java/com/android/server/pm/permission/OneTimePermissionUserManager.java +16 −13 Original line number Original line Diff line number Diff line Loading @@ -19,13 +19,13 @@ package com.android.server.pm.permission; import static android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME; import static android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.app.ActivityManagerInternal; import android.app.AlarmManager; import android.app.AlarmManager; import android.app.IActivityManager; import android.app.IActivityManager; import android.app.IUidObserver; import android.app.IUidObserver; import android.app.UidObserver; import android.app.UidObserver; import android.companion.virtual.VirtualDevice; import android.companion.virtual.VirtualDeviceManager; import android.companion.virtual.VirtualDeviceManager; import android.content.BroadcastReceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Context; Loading Loading @@ -71,7 +71,6 @@ public class OneTimePermissionUserManager { private final @NonNull AlarmManager mAlarmManager; private final @NonNull AlarmManager mAlarmManager; private final @NonNull PermissionControllerManager mPermissionControllerManager; private final @NonNull PermissionControllerManager mPermissionControllerManager; private final @NonNull PermissionManager mPermissionManager; private final @NonNull PermissionManager mPermissionManager; private final VirtualDeviceManagerInternal mVirtualDeviceManagerInternal; private final Object mLock = new Object(); private final Object mLock = new Object(); Loading Loading @@ -108,8 +107,6 @@ public class OneTimePermissionUserManager { mPermissionControllerManager = new PermissionControllerManager( mPermissionControllerManager = new PermissionControllerManager( mContext, PermissionThread.getHandler()); mContext, PermissionThread.getHandler()); mPermissionManager = mContext.getSystemService(PermissionManager.class); mPermissionManager = mContext.getSystemService(PermissionManager.class); mVirtualDeviceManagerInternal = LocalServices.getService(VirtualDeviceManagerInternal.class); mHandler = context.getMainThreadHandler(); mHandler = context.getMainThreadHandler(); } } Loading Loading @@ -274,9 +271,13 @@ public class OneTimePermissionUserManager { private @NonNull List<String> getOneTimePermissions(@NonNull String packageName, private @NonNull List<String> getOneTimePermissions(@NonNull String packageName, int deviceId) { int deviceId) { List<String> permissions = new ArrayList<>(); List<String> permissions = new ArrayList<>(); String persistentDeviceId = getPersistentDeviceId(deviceId); if (persistentDeviceId == null) { Log.w(LOG_TAG, "No persistence device id found for device : " + deviceId); return permissions; } Map<String, PermissionManager.PermissionState> permissionStates = Map<String, PermissionManager.PermissionState> permissionStates = mPermissionManager.getAllPermissionStates(packageName, mPermissionManager.getAllPermissionStates(packageName, persistentDeviceId); getPersistentDeviceId(deviceId)); for (Map.Entry<String, PermissionManager.PermissionState> entry : for (Map.Entry<String, PermissionManager.PermissionState> entry : permissionStates.entrySet()) { permissionStates.entrySet()) { PermissionManager.PermissionState permissionState = entry.getValue(); PermissionManager.PermissionState permissionState = entry.getValue(); Loading @@ -288,14 +289,16 @@ public class OneTimePermissionUserManager { return permissions; return permissions; } } private @NonNull String getPersistentDeviceId(int deviceId) { private @Nullable String getPersistentDeviceId(int deviceId) { VirtualDevice virtualDevice = mVirtualDeviceManagerInternal.getVirtualDevice(deviceId); if (deviceId == Context.DEVICE_ID_DEFAULT) { String persistentDeviceId = null; return VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT; if (virtualDevice != null) { } persistentDeviceId = virtualDevice.getPersistentDeviceId(); VirtualDeviceManagerInternal virtualDeviceManagerInternal = LocalServices.getService(VirtualDeviceManagerInternal.class); if (virtualDeviceManagerInternal != null) { return virtualDeviceManagerInternal.getPersistentIdForDevice(deviceId); } } return persistentDeviceId != null ? persistentDeviceId return null; : VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT; } } public void updateSessionParameters(long timeoutMillis, long revokeAfterKilledDelayMillis) { public void updateSessionParameters(long timeoutMillis, long revokeAfterKilledDelayMillis) { Loading