summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2015-04-22 14:11:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-22 14:11:08 +0000
commit81786701b61f8295c8f7c9c1861642233910b056 (patch)
tree6e90e3ba5c150a52c0d09cdbe3472ace278f196e /services
parent52dbaa08cdb7866fa51f98e4572f17077c492554 (diff)
parentc21ae9ed221912b61306e075d3f22726ac04013c (diff)
downloadframeworks_base-81786701b61f8295c8f7c9c1861642233910b056.zip
frameworks_base-81786701b61f8295c8f7c9c1861642233910b056.tar.gz
frameworks_base-81786701b61f8295c8f7c9c1861642233910b056.tar.bz2
Merge "Add API for putting up locktask pinning toast."
Diffstat (limited to 'services')
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java12
-rw-r--r--services/core/java/com/android/server/am/ActivityStackSupervisor.java13
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 1a94037..9d5ae8e 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;
@@ -8704,6 +8703,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 1585f61..497abfb 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -166,6 +166,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";
@@ -3652,6 +3653,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
@@ -3897,6 +3904,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;