Loading core/api/system-current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -3232,6 +3232,7 @@ package android.companion.virtual { method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void removeActivityPolicyExemption(@NonNull android.content.ComponentName); method public void removeSoundEffectListener(@NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener); method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setDevicePolicy(int, int); method @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setDisplayImePolicy(int, int); method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setShowPointerIcon(boolean); method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void unregisterIntentInterceptor(@NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback); } Loading Loading @@ -17178,6 +17179,9 @@ package android.view { method @NonNull public default java.util.List<android.content.ComponentName> notifyScreenshotListeners(int); method public default void registerTaskFpsCallback(@IntRange(from=0) int, @NonNull java.util.concurrent.Executor, @NonNull android.window.TaskFpsCallback); method public default void unregisterTaskFpsCallback(@NonNull android.window.TaskFpsCallback); field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1 field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2 field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0 } public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable { core/api/test-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -3619,9 +3619,6 @@ package android.view { method public default void setShouldShowWithInsecureKeyguard(int, boolean); method public default boolean shouldShowSystemDecors(int); method @Nullable public default android.graphics.Bitmap snapshotTaskForRecents(@IntRange(from=0) int); field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1 field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2 field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0 field public static final int LARGE_SCREEN_SMALLEST_SCREEN_WIDTH_DP = 600; // 0x258 } Loading core/java/android/companion/virtual/IVirtualDevice.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,10 @@ interface IVirtualDevice { @EnforcePermission("CREATE_VIRTUAL_DEVICE") void setShowPointerIcon(boolean showPointerIcon); /** Sets an IME policy for the given display. */ @EnforcePermission("CREATE_VIRTUAL_DEVICE") void setDisplayImePolicy(int displayId, int policy); /** * Registers an intent interceptor that will intercept an intent attempting to launch * when matching the provided IntentFilter and calls the callback with the intercepted Loading core/java/android/companion/virtual/VirtualDeviceInternal.java +9 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.Looper; import android.os.RemoteException; import android.os.ResultReceiver; import android.util.ArrayMap; import android.view.WindowManager; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -361,6 +362,14 @@ public class VirtualDeviceInternal { } } void setDisplayImePolicy(int displayId, @WindowManager.DisplayImePolicy int policy) { try { mVirtualDevice.setDisplayImePolicy(displayId, policy); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } void addActivityListener( @CallbackExecutor @NonNull Executor executor, @NonNull VirtualDeviceManager.ActivityListener listener) { Loading core/java/android/companion/virtual/VirtualDeviceManager.java +19 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ import android.os.Looper; import android.os.RemoteException; import android.util.Log; import android.view.Surface; import android.view.WindowManager; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -913,6 +914,24 @@ public final class VirtualDeviceManager { mVirtualDeviceInternal.setShowPointerIcon(showPointerIcon); } /** * Specifies the IME behavior on the given display. By default, all displays created by * virtual devices have {@link WindowManager#DISPLAY_IME_POLICY_LOCAL}. * * @param displayId the ID of the display to change the IME policy for. It must be owned by * this virtual device. * @param policy the IME policy to use on that display * @throws SecurityException if the display is not owned by this device or is not * {@link DisplayManager#VIRTUAL_DISPLAY_FLAG_TRUSTED trusted} */ @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) @FlaggedApi(Flags.FLAG_VDM_CUSTOM_IME) public void setDisplayImePolicy(int displayId, @WindowManager.DisplayImePolicy int policy) { if (Flags.vdmCustomIme()) { mVirtualDeviceInternal.setDisplayImePolicy(displayId, policy); } } /** * Adds an activity listener to listen for events such as top activity change or virtual * display task stack became empty. Loading Loading
core/api/system-current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -3232,6 +3232,7 @@ package android.companion.virtual { method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void removeActivityPolicyExemption(@NonNull android.content.ComponentName); method public void removeSoundEffectListener(@NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener); method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setDevicePolicy(int, int); method @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setDisplayImePolicy(int, int); method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setShowPointerIcon(boolean); method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void unregisterIntentInterceptor(@NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback); } Loading Loading @@ -17178,6 +17179,9 @@ package android.view { method @NonNull public default java.util.List<android.content.ComponentName> notifyScreenshotListeners(int); method public default void registerTaskFpsCallback(@IntRange(from=0) int, @NonNull java.util.concurrent.Executor, @NonNull android.window.TaskFpsCallback); method public default void unregisterTaskFpsCallback(@NonNull android.window.TaskFpsCallback); field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1 field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2 field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0 } public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
core/api/test-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -3619,9 +3619,6 @@ package android.view { method public default void setShouldShowWithInsecureKeyguard(int, boolean); method public default boolean shouldShowSystemDecors(int); method @Nullable public default android.graphics.Bitmap snapshotTaskForRecents(@IntRange(from=0) int); field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1 field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2 field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0 field public static final int LARGE_SCREEN_SMALLEST_SCREEN_WIDTH_DP = 600; // 0x258 } Loading
core/java/android/companion/virtual/IVirtualDevice.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,10 @@ interface IVirtualDevice { @EnforcePermission("CREATE_VIRTUAL_DEVICE") void setShowPointerIcon(boolean showPointerIcon); /** Sets an IME policy for the given display. */ @EnforcePermission("CREATE_VIRTUAL_DEVICE") void setDisplayImePolicy(int displayId, int policy); /** * Registers an intent interceptor that will intercept an intent attempting to launch * when matching the provided IntentFilter and calls the callback with the intercepted Loading
core/java/android/companion/virtual/VirtualDeviceInternal.java +9 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.Looper; import android.os.RemoteException; import android.os.ResultReceiver; import android.util.ArrayMap; import android.view.WindowManager; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -361,6 +362,14 @@ public class VirtualDeviceInternal { } } void setDisplayImePolicy(int displayId, @WindowManager.DisplayImePolicy int policy) { try { mVirtualDevice.setDisplayImePolicy(displayId, policy); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } void addActivityListener( @CallbackExecutor @NonNull Executor executor, @NonNull VirtualDeviceManager.ActivityListener listener) { Loading
core/java/android/companion/virtual/VirtualDeviceManager.java +19 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ import android.os.Looper; import android.os.RemoteException; import android.util.Log; import android.view.Surface; import android.view.WindowManager; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -913,6 +914,24 @@ public final class VirtualDeviceManager { mVirtualDeviceInternal.setShowPointerIcon(showPointerIcon); } /** * Specifies the IME behavior on the given display. By default, all displays created by * virtual devices have {@link WindowManager#DISPLAY_IME_POLICY_LOCAL}. * * @param displayId the ID of the display to change the IME policy for. It must be owned by * this virtual device. * @param policy the IME policy to use on that display * @throws SecurityException if the display is not owned by this device or is not * {@link DisplayManager#VIRTUAL_DISPLAY_FLAG_TRUSTED trusted} */ @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) @FlaggedApi(Flags.FLAG_VDM_CUSTOM_IME) public void setDisplayImePolicy(int displayId, @WindowManager.DisplayImePolicy int policy) { if (Flags.vdmCustomIme()) { mVirtualDeviceInternal.setDisplayImePolicy(displayId, policy); } } /** * Adds an activity listener to listen for events such as top activity change or virtual * display task stack became empty. Loading