Loading api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3861,6 +3861,7 @@ package android.app { method public void setContentView(android.view.View); method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams); method public final void setDefaultKeyMode(int); method public void setDisablePreviewScreenshots(boolean); method public void setEnterSharedElementCallback(android.app.SharedElementCallback); method public void setExitSharedElementCallback(android.app.SharedElementCallback); method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable); core/java/android/app/Activity.java +27 −0 Original line number Diff line number Diff line Loading @@ -7257,6 +7257,33 @@ public class Activity extends ContextThemeWrapper mAutoFillResetNeeded = true; } /** * If set to true, this indicates to the system that it should never take a * screenshot of the activity to be used as a representation while it is not in a started state. * <p> * Note that the system may use the window background of the theme instead to represent * the window when it is not running. * <p> * Also note that in comparison to {@link android.view.WindowManager.LayoutParams#FLAG_SECURE}, * this only affects the behavior when the activity's screenshot would be used as a * representation when the activity is not in a started state, i.e. in Overview. The system may * still take screenshots of the activity in other contexts; for example, when the user takes a * screenshot of the entire screen, or when the active * {@link android.service.voice.VoiceInteractionService} requests a screenshot via * {@link android.service.voice.VoiceInteractionSession#SHOW_WITH_SCREENSHOT}. * * @param disable {@code true} to disable preview screenshots; {@code false} otherwise. * @hide */ @SystemApi public void setDisablePreviewScreenshots(boolean disable) { try { ActivityManager.getService().setDisablePreviewScreenshots(mToken, disable); } catch (RemoteException e) { Log.e(TAG, "Failed to call setDisablePreviewScreenshots", e); } } class HostCallbacks extends FragmentHostCallback<Activity> { public HostCallbacks() { super(Activity.this /*activity*/); Loading core/java/android/app/IActivityManager.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -612,6 +612,11 @@ interface IActivityManager { void waitForNetworkStateUpdate(long procStateSeq); /** * See {@link android.app.Activity#setDisablePreviewScreenshots} */ void setDisablePreviewScreenshots(IBinder token, boolean disable); // WARNING: when these transactions are updated, check if they are any callers on the native // side. If so, make sure they are using the correct transaction ids and arguments. // If a transaction which will also be used on the native side is being inserted, add it Loading services/core/java/com/android/server/am/ActivityManagerService.java +19 −3 Original line number Diff line number Diff line Loading @@ -128,7 +128,6 @@ import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NA import static com.android.server.am.ActivityStackSupervisor.ActivityContainer.FORCE_NEW_TASK_FLAGS; import static com.android.server.am.ActivityStackSupervisor.CREATE_IF_NEEDED; import static com.android.server.am.ActivityStackSupervisor.DEFER_RESUME; import static com.android.server.am.ActivityStackSupervisor.FORCE_FOCUS; import static com.android.server.am.ActivityStackSupervisor.MATCH_TASK_IN_STACKS_ONLY; import static com.android.server.am.ActivityStackSupervisor.MATCH_TASK_IN_STACKS_OR_RECENT_TASKS; import static com.android.server.am.ActivityStackSupervisor.ON_TOP; Loading @@ -149,8 +148,6 @@ import static com.android.server.wm.AppTransition.TRANSIT_TASK_TO_FRONT; import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT; import static org.xmlpull.v1.XmlPullParser.START_TAG; import static java.lang.Integer.MAX_VALUE; import android.Manifest; import android.Manifest.permission; import android.annotation.NonNull; Loading Loading @@ -10851,6 +10848,25 @@ public class ActivityManagerService extends IActivityManager.Stub } } @Override public void setDisablePreviewScreenshots(IBinder token, boolean disable) throws RemoteException { synchronized (this) { final ActivityRecord r = ActivityRecord.isInStackLocked(token); if (r == null) { Slog.w(TAG, "setDisablePreviewScreenshots: Unable to find activity for token=" + token); return; } final long origId = Binder.clearCallingIdentity(); try { r.setDisablePreviewScreenshots(disable); } finally { Binder.restoreCallingIdentity(origId); } } } // ========================================================= // CONTENT PROVIDERS // ========================================================= services/core/java/com/android/server/am/ActivityRecord.java +4 −0 Original line number Diff line number Diff line Loading @@ -1973,6 +1973,10 @@ final class ActivityRecord implements AppWindowContainerListener { task.taskId, requestedOrientation); } void setDisablePreviewScreenshots(boolean disable) { mWindowContainerController.setDisablePreviewScreenshots(disable); } /** * Set the last reported global configuration to the client. Should be called whenever a new * global configuration is sent to the client for this activity. Loading Loading
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3861,6 +3861,7 @@ package android.app { method public void setContentView(android.view.View); method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams); method public final void setDefaultKeyMode(int); method public void setDisablePreviewScreenshots(boolean); method public void setEnterSharedElementCallback(android.app.SharedElementCallback); method public void setExitSharedElementCallback(android.app.SharedElementCallback); method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable);
core/java/android/app/Activity.java +27 −0 Original line number Diff line number Diff line Loading @@ -7257,6 +7257,33 @@ public class Activity extends ContextThemeWrapper mAutoFillResetNeeded = true; } /** * If set to true, this indicates to the system that it should never take a * screenshot of the activity to be used as a representation while it is not in a started state. * <p> * Note that the system may use the window background of the theme instead to represent * the window when it is not running. * <p> * Also note that in comparison to {@link android.view.WindowManager.LayoutParams#FLAG_SECURE}, * this only affects the behavior when the activity's screenshot would be used as a * representation when the activity is not in a started state, i.e. in Overview. The system may * still take screenshots of the activity in other contexts; for example, when the user takes a * screenshot of the entire screen, or when the active * {@link android.service.voice.VoiceInteractionService} requests a screenshot via * {@link android.service.voice.VoiceInteractionSession#SHOW_WITH_SCREENSHOT}. * * @param disable {@code true} to disable preview screenshots; {@code false} otherwise. * @hide */ @SystemApi public void setDisablePreviewScreenshots(boolean disable) { try { ActivityManager.getService().setDisablePreviewScreenshots(mToken, disable); } catch (RemoteException e) { Log.e(TAG, "Failed to call setDisablePreviewScreenshots", e); } } class HostCallbacks extends FragmentHostCallback<Activity> { public HostCallbacks() { super(Activity.this /*activity*/); Loading
core/java/android/app/IActivityManager.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -612,6 +612,11 @@ interface IActivityManager { void waitForNetworkStateUpdate(long procStateSeq); /** * See {@link android.app.Activity#setDisablePreviewScreenshots} */ void setDisablePreviewScreenshots(IBinder token, boolean disable); // WARNING: when these transactions are updated, check if they are any callers on the native // side. If so, make sure they are using the correct transaction ids and arguments. // If a transaction which will also be used on the native side is being inserted, add it Loading
services/core/java/com/android/server/am/ActivityManagerService.java +19 −3 Original line number Diff line number Diff line Loading @@ -128,7 +128,6 @@ import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NA import static com.android.server.am.ActivityStackSupervisor.ActivityContainer.FORCE_NEW_TASK_FLAGS; import static com.android.server.am.ActivityStackSupervisor.CREATE_IF_NEEDED; import static com.android.server.am.ActivityStackSupervisor.DEFER_RESUME; import static com.android.server.am.ActivityStackSupervisor.FORCE_FOCUS; import static com.android.server.am.ActivityStackSupervisor.MATCH_TASK_IN_STACKS_ONLY; import static com.android.server.am.ActivityStackSupervisor.MATCH_TASK_IN_STACKS_OR_RECENT_TASKS; import static com.android.server.am.ActivityStackSupervisor.ON_TOP; Loading @@ -149,8 +148,6 @@ import static com.android.server.wm.AppTransition.TRANSIT_TASK_TO_FRONT; import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT; import static org.xmlpull.v1.XmlPullParser.START_TAG; import static java.lang.Integer.MAX_VALUE; import android.Manifest; import android.Manifest.permission; import android.annotation.NonNull; Loading Loading @@ -10851,6 +10848,25 @@ public class ActivityManagerService extends IActivityManager.Stub } } @Override public void setDisablePreviewScreenshots(IBinder token, boolean disable) throws RemoteException { synchronized (this) { final ActivityRecord r = ActivityRecord.isInStackLocked(token); if (r == null) { Slog.w(TAG, "setDisablePreviewScreenshots: Unable to find activity for token=" + token); return; } final long origId = Binder.clearCallingIdentity(); try { r.setDisablePreviewScreenshots(disable); } finally { Binder.restoreCallingIdentity(origId); } } } // ========================================================= // CONTENT PROVIDERS // =========================================================
services/core/java/com/android/server/am/ActivityRecord.java +4 −0 Original line number Diff line number Diff line Loading @@ -1973,6 +1973,10 @@ final class ActivityRecord implements AppWindowContainerListener { task.taskId, requestedOrientation); } void setDisablePreviewScreenshots(boolean disable) { mWindowContainerController.setDisablePreviewScreenshots(disable); } /** * Set the last reported global configuration to the client. Should be called whenever a new * global configuration is sent to the client for this activity. Loading