diff options
author | Craig Mautner <cmautner@google.com> | 2015-04-15 09:45:42 -0700 |
---|---|---|
committer | Craig Mautner <cmautner@google.com> | 2015-04-21 10:11:12 -0700 |
commit | c21ae9ed221912b61306e075d3f22726ac04013c (patch) | |
tree | 13584199534e3148ceceb7cdae210fe1c4d598b6 /services | |
parent | 8ce568e756c4096002d2bfb786114aac5a06e54e (diff) | |
download | frameworks_base-c21ae9ed221912b61306e075d3f22726ac04013c.zip frameworks_base-c21ae9ed221912b61306e075d3f22726ac04013c.tar.gz frameworks_base-c21ae9ed221912b61306e075d3f22726ac04013c.tar.bz2 |
Add API for putting up locktask pinning toast.
Fixes bug 18993662.
Change-Id: Ic1753285044857f8ea897784485fd1a9580acf25
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 12 | ||||
-rw-r--r-- | services/core/java/com/android/server/am/ActivityStackSupervisor.java | 13 |
2 files changed, 24 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index f25808b..faba838 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -33,7 +33,6 @@ import static com.android.server.am.TaskRecord.INVALID_TASK_ID; import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_DONT_LOCK; import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_LAUNCHABLE; import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_PINNABLE; -import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_WHITELISTED; import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT; import static org.xmlpull.v1.XmlPullParser.START_TAG; @@ -8661,6 +8660,17 @@ public final class ActivityManagerService extends ActivityManagerNative } } + @Override + public void showLockTaskEscapeMessage(IBinder token) { + synchronized (this) { + final ActivityRecord r = ActivityRecord.forTokenLocked(token); + if (r == null) { + return; + } + mStackSupervisor.showLockTaskEscapeMessageLocked(r.task); + } + } + // ========================================================= // CONTENT PROVIDERS // ========================================================= diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 6908483..eb1b1d8 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -165,6 +165,7 @@ public final class ActivityStackSupervisor implements DisplayListener { static final int LOCK_TASK_END_MSG = FIRST_SUPERVISOR_STACK_MSG + 10; static final int CONTAINER_CALLBACK_TASK_LIST_EMPTY = FIRST_SUPERVISOR_STACK_MSG + 11; static final int LAUNCH_TASK_BEHIND_COMPLETE = FIRST_SUPERVISOR_STACK_MSG + 12; + static final int SHOW_LOCK_TASK_ESCAPE_MESSAGE_MSG = FIRST_SUPERVISOR_STACK_MSG + 13; private final static String VIRTUAL_DISPLAY_BASE_NAME = "ActivityViewVirtualDisplay"; @@ -3634,6 +3635,12 @@ public final class ActivityStackSupervisor implements DisplayListener { mLockTaskNotify.showToast(mLockTaskModeState); } + void showLockTaskEscapeMessageLocked(TaskRecord task) { + if (mLockTaskModeTasks.contains(task)) { + mHandler.sendEmptyMessage(SHOW_LOCK_TASK_ESCAPE_MESSAGE_MSG); + } + } + void setLockTaskModeLocked(TaskRecord task, int lockTaskModeState, String reason) { if (task == null) { // Take out of lock task mode if necessary @@ -3879,6 +3886,12 @@ public final class ActivityStackSupervisor implements DisplayListener { mLockTaskModeState = LOCK_TASK_MODE_NONE; } } break; + case SHOW_LOCK_TASK_ESCAPE_MESSAGE_MSG: { + if (mLockTaskNotify == null) { + mLockTaskNotify = new LockTaskNotify(mService.mContext); + } + mLockTaskNotify.showToast(LOCK_TASK_MODE_PINNED); + } break; case CONTAINER_CALLBACK_TASK_LIST_EMPTY: { final ActivityContainer container = (ActivityContainer) msg.obj; final IActivityContainerCallback callback = container.mCallback; |