Loading api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,7 @@ package android.app { ctor public ActivityView(android.content.Context, android.util.AttributeSet); ctor public ActivityView(android.content.Context, android.util.AttributeSet, int); ctor public ActivityView(android.content.Context, android.util.AttributeSet, int, boolean); ctor public ActivityView(@NonNull android.content.Context, @NonNull android.util.AttributeSet, int, boolean, boolean); method public int getVirtualDisplayId(); method public void onLayout(boolean, int, int, int, int); method public void onLocationChanged(); Loading core/java/android/app/ActivityView.java +13 −1 Original line number Diff line number Diff line Loading @@ -90,11 +90,23 @@ public class ActivityView extends ViewGroup implements android.window.TaskEmbedd public ActivityView(Context context, AttributeSet attrs, int defStyle, boolean singleTaskInstance) { this(context, attrs, defStyle, singleTaskInstance, false /* usePublicVirtualDisplay */); } /** * This constructor let's the caller explicitly request a public virtual display as the backing * display. Using a public display is not recommended as it exposes it to other applications, * but it might be needed for backwards compatibility. */ public ActivityView( @NonNull Context context, @NonNull AttributeSet attrs, int defStyle, boolean singleTaskInstance, boolean usePublicVirtualDisplay) { super(context, attrs, defStyle); if (useTaskOrganizer()) { mTaskEmbedder = new TaskOrganizerTaskEmbedder(context, this); } else { mTaskEmbedder = new VirtualDisplayTaskEmbedder(context, this, singleTaskInstance); mTaskEmbedder = new VirtualDisplayTaskEmbedder(context, this, singleTaskInstance, usePublicVirtualDisplay); } mSurfaceView = new SurfaceView(context); // Since ActivityView#getAlpha has been overridden, we should use parent class's alpha Loading core/java/android/window/VirtualDisplayTaskEmbedder.java +11 −4 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { // For Virtual Displays private int mDisplayDensityDpi; private final boolean mSingleTaskInstance; private final boolean mUsePublicVirtualDisplay; private VirtualDisplay mVirtualDisplay; private Insets mForwardedInsets; private DisplayMetrics mTmpDisplayMetrics; Loading @@ -78,9 +79,10 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { * only applicable if virtual displays are used */ public VirtualDisplayTaskEmbedder(Context context, VirtualDisplayTaskEmbedder.Host host, boolean singleTaskInstance) { boolean singleTaskInstance, boolean usePublicVirtualDisplay) { super(context, host); mSingleTaskInstance = singleTaskInstance; mUsePublicVirtualDisplay = usePublicVirtualDisplay; } /** Loading @@ -97,11 +99,16 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { public boolean onInitialize() { final DisplayManager displayManager = mContext.getSystemService(DisplayManager.class); mDisplayDensityDpi = getBaseDisplayDensity(); int virtualDisplayFlags = VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL; if (mUsePublicVirtualDisplay) { virtualDisplayFlags |= VIRTUAL_DISPLAY_FLAG_PUBLIC; } mVirtualDisplay = displayManager.createVirtualDisplay( DISPLAY_NAME + "@" + System.identityHashCode(this), mHost.getWidth(), mHost.getHeight(), mDisplayDensityDpi, null, VIRTUAL_DISPLAY_FLAG_PUBLIC | VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL); mHost.getHeight(), mDisplayDensityDpi, null, virtualDisplayFlags); if (mVirtualDisplay == null) { Log.e(TAG, "Failed to initialize TaskEmbedder"); Loading Loading
api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,7 @@ package android.app { ctor public ActivityView(android.content.Context, android.util.AttributeSet); ctor public ActivityView(android.content.Context, android.util.AttributeSet, int); ctor public ActivityView(android.content.Context, android.util.AttributeSet, int, boolean); ctor public ActivityView(@NonNull android.content.Context, @NonNull android.util.AttributeSet, int, boolean, boolean); method public int getVirtualDisplayId(); method public void onLayout(boolean, int, int, int, int); method public void onLocationChanged(); Loading
core/java/android/app/ActivityView.java +13 −1 Original line number Diff line number Diff line Loading @@ -90,11 +90,23 @@ public class ActivityView extends ViewGroup implements android.window.TaskEmbedd public ActivityView(Context context, AttributeSet attrs, int defStyle, boolean singleTaskInstance) { this(context, attrs, defStyle, singleTaskInstance, false /* usePublicVirtualDisplay */); } /** * This constructor let's the caller explicitly request a public virtual display as the backing * display. Using a public display is not recommended as it exposes it to other applications, * but it might be needed for backwards compatibility. */ public ActivityView( @NonNull Context context, @NonNull AttributeSet attrs, int defStyle, boolean singleTaskInstance, boolean usePublicVirtualDisplay) { super(context, attrs, defStyle); if (useTaskOrganizer()) { mTaskEmbedder = new TaskOrganizerTaskEmbedder(context, this); } else { mTaskEmbedder = new VirtualDisplayTaskEmbedder(context, this, singleTaskInstance); mTaskEmbedder = new VirtualDisplayTaskEmbedder(context, this, singleTaskInstance, usePublicVirtualDisplay); } mSurfaceView = new SurfaceView(context); // Since ActivityView#getAlpha has been overridden, we should use parent class's alpha Loading
core/java/android/window/VirtualDisplayTaskEmbedder.java +11 −4 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { // For Virtual Displays private int mDisplayDensityDpi; private final boolean mSingleTaskInstance; private final boolean mUsePublicVirtualDisplay; private VirtualDisplay mVirtualDisplay; private Insets mForwardedInsets; private DisplayMetrics mTmpDisplayMetrics; Loading @@ -78,9 +79,10 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { * only applicable if virtual displays are used */ public VirtualDisplayTaskEmbedder(Context context, VirtualDisplayTaskEmbedder.Host host, boolean singleTaskInstance) { boolean singleTaskInstance, boolean usePublicVirtualDisplay) { super(context, host); mSingleTaskInstance = singleTaskInstance; mUsePublicVirtualDisplay = usePublicVirtualDisplay; } /** Loading @@ -97,11 +99,16 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { public boolean onInitialize() { final DisplayManager displayManager = mContext.getSystemService(DisplayManager.class); mDisplayDensityDpi = getBaseDisplayDensity(); int virtualDisplayFlags = VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL; if (mUsePublicVirtualDisplay) { virtualDisplayFlags |= VIRTUAL_DISPLAY_FLAG_PUBLIC; } mVirtualDisplay = displayManager.createVirtualDisplay( DISPLAY_NAME + "@" + System.identityHashCode(this), mHost.getWidth(), mHost.getHeight(), mDisplayDensityDpi, null, VIRTUAL_DISPLAY_FLAG_PUBLIC | VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL); mHost.getHeight(), mDisplayDensityDpi, null, virtualDisplayFlags); if (mVirtualDisplay == null) { Log.e(TAG, "Failed to initialize TaskEmbedder"); Loading