diff --git a/core/api/current.txt b/core/api/current.txt index 3d76b66880537..3fda149b9ce48 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -9338,8 +9338,6 @@ package android.companion.virtual { public final class VirtualDeviceManager { method @NonNull public java.util.List getVirtualDevices(); - field public static final int DEVICE_ID_DEFAULT = 0; // 0x0 - field public static final int DEVICE_ID_INVALID = -1; // 0xffffffff } } @@ -10106,6 +10104,8 @@ package android.content { field public static final int CONTEXT_RESTRICTED = 4; // 0x4 field public static final String CREDENTIAL_SERVICE = "credential"; field public static final String CROSS_PROFILE_APPS_SERVICE = "crossprofileapps"; + field public static final int DEVICE_ID_DEFAULT = 0; // 0x0 + field public static final int DEVICE_ID_INVALID = -1; // 0xffffffff field public static final String DEVICE_LOCK_SERVICE = "device_lock"; field public static final String DEVICE_POLICY_SERVICE = "device_policy"; field public static final String DISPLAY_HASH_SERVICE = "display_hash"; diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 3761251b6cec3..da8c27237a836 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -4575,7 +4575,7 @@ public final class ActivityThread extends ClientTransactionHandler ActivityManager.getService()); if (!service.isUiContext()) { // WindowProviderService is a UI Context. VirtualDeviceManager vdm = context.getSystemService(VirtualDeviceManager.class); - if (mLastReportedDeviceId == VirtualDeviceManager.DEVICE_ID_DEFAULT + if (mLastReportedDeviceId == Context.DEVICE_ID_DEFAULT || vdm.isValidVirtualDeviceId(mLastReportedDeviceId)) { service.updateDeviceId(mLastReportedDeviceId); } @@ -6103,7 +6103,7 @@ public final class ActivityThread extends ClientTransactionHandler private void updateDeviceIdForNonUIContexts(int deviceId) { // Invalid device id is treated as a no-op. - if (deviceId == VirtualDeviceManager.DEVICE_ID_INVALID) { + if (deviceId == Context.DEVICE_ID_INVALID) { return; } if (deviceId == mLastReportedDeviceId) { diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 12899f2daf87d..8c9d479a6f55c 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -244,7 +244,7 @@ class ContextImpl extends Context { @UnsupportedAppUsage private @NonNull Resources mResources; private @Nullable Display mDisplay; // may be null if invalid display or not initialized yet. - private int mDeviceId = VirtualDeviceManager.DEVICE_ID_DEFAULT; + private int mDeviceId = Context.DEVICE_ID_DEFAULT; /** * If set to {@code true} the resources for this context will be configured for mDisplay which @@ -2756,7 +2756,7 @@ class ContextImpl extends Context { @Override public @NonNull Context createDeviceContext(int deviceId) { - if (deviceId != VirtualDeviceManager.DEVICE_ID_DEFAULT) { + if (deviceId != Context.DEVICE_ID_DEFAULT) { VirtualDeviceManager vdm = getSystemService(VirtualDeviceManager.class); if (!vdm.isValidVirtualDeviceId(deviceId)) { throw new IllegalArgumentException( @@ -3036,7 +3036,7 @@ class ContextImpl extends Context { @Override public void updateDeviceId(int updatedDeviceId) { - if (updatedDeviceId != VirtualDeviceManager.DEVICE_ID_DEFAULT) { + if (updatedDeviceId != Context.DEVICE_ID_DEFAULT) { VirtualDeviceManager vdm = getSystemService(VirtualDeviceManager.class); if (!vdm.isValidVirtualDeviceId(updatedDeviceId)) { throw new IllegalArgumentException( diff --git a/core/java/android/companion/virtual/VirtualDevice.java b/core/java/android/companion/virtual/VirtualDevice.java index f3f433540ef76..4a09186570e0a 100644 --- a/core/java/android/companion/virtual/VirtualDevice.java +++ b/core/java/android/companion/virtual/VirtualDevice.java @@ -18,6 +18,7 @@ package android.companion.virtual; import android.annotation.NonNull; import android.annotation.Nullable; +import android.content.Context; import android.os.Parcel; import android.os.Parcelable; @@ -38,9 +39,9 @@ public final class VirtualDevice implements Parcelable { * @hide */ public VirtualDevice(int id, @Nullable String name) { - if (id <= VirtualDeviceManager.DEVICE_ID_DEFAULT) { + if (id <= Context.DEVICE_ID_DEFAULT) { throw new IllegalArgumentException("VirtualDevice ID mist be greater than " - + VirtualDeviceManager.DEVICE_ID_DEFAULT); + + Context.DEVICE_ID_DEFAULT); } mId = id; mName = name; diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index d585e8f8d38da..f3e4913831d65 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -97,16 +97,6 @@ public final class VirtualDeviceManager { | DisplayManager.VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH | DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_FOCUS; - /** - * The default device ID, which is the ID of the primary (non-virtual) device. - */ - public static final int DEVICE_ID_DEFAULT = 0; - - /** - * Invalid device ID. - */ - public static final int DEVICE_ID_INVALID = -1; - /** * Broadcast Action: A Virtual Device was removed. * @@ -250,7 +240,7 @@ public final class VirtualDeviceManager { public int getDeviceIdForDisplayId(int displayId) { if (mService == null) { Log.w(TAG, "Failed to retrieve virtual devices; no virtual device manager service."); - return DEVICE_ID_DEFAULT; + return Context.DEVICE_ID_DEFAULT; } try { return mService.getDeviceIdForDisplayId(displayId); @@ -261,7 +251,7 @@ public final class VirtualDeviceManager { /** * Checks whether the passed {@code deviceId} is a valid virtual device ID or not. - * {@link VirtualDeviceManager#DEVICE_ID_DEFAULT} is not valid as it is the ID of the default + * {@link Context#DEVICE_ID_DEFAULT} is not valid as it is the ID of the default * device which is not a virtual device. {@code deviceId} must correspond to a virtual device * created by {@link VirtualDeviceManager#createVirtualDevice(int, VirtualDeviceParams)}. * diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 5f1502fdcd637..1d1e7a8a8037b 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -134,6 +134,15 @@ public abstract class Context { @VisibleForTesting public static final long OVERRIDABLE_COMPONENT_CALLBACKS = 193247900L; + /** + * The default device ID, which is the ID of the primary (non-virtual) device. + */ + public static final int DEVICE_ID_DEFAULT = 0; + /** + * Invalid device ID. + */ + public static final int DEVICE_ID_INVALID = -1; + /** @hide */ @IntDef(flag = true, prefix = { "MODE_" }, value = { MODE_PRIVATE, @@ -6984,7 +6993,7 @@ public abstract class Context { *

* Applications that run on virtual devices may use this method to access the default device * capabilities and functionality (by passing - * {@link android.companion.virtual.VirtualDeviceManager#DEVICE_ID_DEFAULT}. Similarly, + * {@link Context#DEVICE_ID_DEFAULT}. Similarly, * applications running on the default device may access the functionality of virtual devices. *

*

@@ -7352,7 +7361,7 @@ public abstract class Context { * determine whether they are running on a virtual device and identify that device. * * The device ID of the host device is - * {@link android.companion.virtual.VirtualDeviceManager#DEVICE_ID_DEFAULT} + * {@link Context#DEVICE_ID_DEFAULT} * *

* If the underlying device ID is changed by the system, for example, when an diff --git a/core/java/android/hardware/SystemSensorManager.java b/core/java/android/hardware/SystemSensorManager.java index 9388ae3fd5e45..1a3e0b0d9c5ab 100644 --- a/core/java/android/hardware/SystemSensorManager.java +++ b/core/java/android/hardware/SystemSensorManager.java @@ -17,10 +17,10 @@ package android.hardware; import static android.companion.virtual.VirtualDeviceManager.ACTION_VIRTUAL_DEVICE_REMOVED; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; import static android.companion.virtual.VirtualDeviceManager.EXTRA_VIRTUAL_DEVICE_ID; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_SENSORS; +import static android.content.Context.DEVICE_ID_DEFAULT; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import android.companion.virtual.VirtualDeviceManager; diff --git a/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java b/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java index e164e08e66e6e..4f91e7a3545a9 100644 --- a/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +++ b/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java @@ -16,7 +16,7 @@ package android.app.activity; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_INVALID; +import static android.content.Context.DEVICE_ID_INVALID; import static android.content.Intent.ACTION_EDIT; import static android.content.Intent.ACTION_VIEW; import static android.content.res.Configuration.ORIENTATION_LANDSCAPE; diff --git a/core/tests/coretests/src/android/content/ContextTest.java b/core/tests/coretests/src/android/content/ContextTest.java index 324f81084f982..d4784374745d4 100644 --- a/core/tests/coretests/src/android/content/ContextTest.java +++ b/core/tests/coretests/src/android/content/ContextTest.java @@ -16,7 +16,7 @@ package android.content; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; +import static android.content.Context.DEVICE_ID_DEFAULT; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC; import static android.view.Display.DEFAULT_DISPLAY; diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 813929e9d0e60..cf1678c4c20fa 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -16,9 +16,9 @@ package android.media; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; +import static android.content.Context.DEVICE_ID_DEFAULT; import android.annotation.CallbackExecutor; import android.annotation.IntDef; diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java index b6ab262b60c58..7faa13c80c62d 100644 --- a/media/java/android/media/AudioRecord.java +++ b/media/java/android/media/AudioRecord.java @@ -16,9 +16,9 @@ package android.media; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; +import static android.content.Context.DEVICE_ID_DEFAULT; import static android.media.AudioManager.AUDIO_SESSION_ID_GENERATE; import android.annotation.CallbackExecutor; diff --git a/media/java/android/media/PlayerBase.java b/media/java/android/media/PlayerBase.java index 38115e19d608c..3f44b09124e44 100644 --- a/media/java/android/media/PlayerBase.java +++ b/media/java/android/media/PlayerBase.java @@ -16,9 +16,9 @@ package android.media; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; +import static android.content.Context.DEVICE_ID_DEFAULT; import static android.media.AudioManager.AUDIO_SESSION_ID_GENERATE; import android.annotation.NonNull; diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioManagerUnitTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioManagerUnitTest.java index 76543f4ce9890..6089f4291f3e2 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioManagerUnitTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioManagerUnitTest.java @@ -17,10 +17,10 @@ package com.android.mediaframeworktest.unit; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; +import static android.content.Context.DEVICE_ID_DEFAULT; import static android.media.AudioManager.FX_KEY_CLICK; import static org.mockito.ArgumentMatchers.anyInt; diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioRecordUnitTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioRecordUnitTest.java index 9c813c28d7d9b..71228e2120c08 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioRecordUnitTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioRecordUnitTest.java @@ -16,10 +16,10 @@ package com.android.mediaframeworktest.unit; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; +import static android.content.Context.DEVICE_ID_DEFAULT; import static android.media.AudioManager.AUDIO_SESSION_ID_GENERATE; import static org.junit.Assert.assertEquals; diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioTrackUnitTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioTrackUnitTest.java index ffed39ac82bf5..ac24a1007170c 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioTrackUnitTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/AudioTrackUnitTest.java @@ -16,10 +16,10 @@ package com.android.mediaframeworktest.unit; -import static android.companion.virtual.VirtualDeviceManager.DEVICE_ID_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; +import static android.content.Context.DEVICE_ID_DEFAULT; import static android.media.AudioManager.AUDIO_SESSION_ID_GENERATE; import static org.junit.Assert.assertEquals; diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java index 2395814cc4bf7..9346c8c16810d 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java @@ -85,7 +85,7 @@ public class VirtualDeviceManagerService extends SystemService { private final PendingTrampolineMap mPendingTrampolines = new PendingTrampolineMap(mHandler); private static AtomicInteger sNextUniqueIndex = new AtomicInteger( - VirtualDeviceManager.DEVICE_ID_DEFAULT + 1); + Context.DEVICE_ID_DEFAULT + 1); /** * Mapping from device IDs to virtual devices. @@ -332,7 +332,7 @@ public class VirtualDeviceManagerService extends SystemService { @Override // Binder call public int getDeviceIdForDisplayId(int displayId) { if (displayId == Display.INVALID_DISPLAY || displayId == Display.DEFAULT_DISPLAY) { - return VirtualDeviceManager.DEVICE_ID_DEFAULT; + return Context.DEVICE_ID_DEFAULT; } synchronized (mVirtualDeviceManagerLock) { for (int i = 0; i < mVirtualDevices.size(); i++) { @@ -342,7 +342,7 @@ public class VirtualDeviceManagerService extends SystemService { } } } - return VirtualDeviceManager.DEVICE_ID_DEFAULT; + return Context.DEVICE_ID_DEFAULT; } // Binder call diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java index 8149e1c0a2a31..a095e6b286f08 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java @@ -103,6 +103,7 @@ import android.app.servertransaction.PauseActivityItem; import android.app.servertransaction.ResumeActivityItem; import android.companion.virtual.VirtualDeviceManager; import android.content.ComponentName; +import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; @@ -1228,7 +1229,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { int getDeviceIdForDisplayId(int displayId) { if (displayId == DEFAULT_DISPLAY || displayId == INVALID_DISPLAY) { - return VirtualDeviceManager.DEVICE_ID_DEFAULT; + return Context.DEVICE_ID_DEFAULT; } if (mVirtualDeviceManager == null) { mVirtualDeviceManager = diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java index 2980c76a682c8..c609ca3ac873a 100644 --- a/services/core/java/com/android/server/wm/WindowProcessController.java +++ b/services/core/java/com/android/server/wm/WindowProcessController.java @@ -54,7 +54,6 @@ import android.app.BackgroundStartPrivileges; import android.app.IApplicationThread; import android.app.ProfilerInfo; import android.app.servertransaction.ConfigurationChangeItem; -import android.companion.virtual.VirtualDeviceManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -211,7 +210,7 @@ public class WindowProcessController extends ConfigurationContainer