summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/am/ActivityManagerService.java
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2013-04-24 02:36:43 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-04-24 02:36:43 +0000
commitb58121c350f605c9fec2f75cbcb1f05a289d8ab0 (patch)
tree5cb6c842e44542772c101bfea4b1885729572bec /services/java/com/android/server/am/ActivityManagerService.java
parentab18ec8eb5fbd4605b883c1b2de4b4ca467036bc (diff)
parentcf910b0c714b2ca90ea0013e5695850506a1d36f (diff)
downloadframeworks_base-b58121c350f605c9fec2f75cbcb1f05a289d8ab0.zip
frameworks_base-b58121c350f605c9fec2f75cbcb1f05a289d8ab0.tar.gz
frameworks_base-b58121c350f605c9fec2f75cbcb1f05a289d8ab0.tar.bz2
Merge "Add tap detector for switching stack focus."
Diffstat (limited to 'services/java/com/android/server/am/ActivityManagerService.java')
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java27
1 files changed, 24 insertions, 3 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 5ad5544..dd113c3 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -958,6 +958,7 @@ public final class ActivityManagerService extends ActivityManagerNative
static final int USER_SWITCH_TIMEOUT_MSG = 36;
static final int IMMERSIVE_MODE_LOCK_MSG = 37;
static final int PERSIST_URI_GRANTS = 38;
+ static final int SET_FOCUSED_STACK = 39;
static final int FIRST_ACTIVITY_STACK_MSG = 100;
static final int FIRST_BROADCAST_QUEUE_MSG = 200;
@@ -1446,6 +1447,18 @@ public final class ActivityManagerService extends ActivityManagerNative
writeGrantedUriPermissions();
break;
}
+ case SET_FOCUSED_STACK: {
+ synchronized (ActivityManagerService.this) {
+ ActivityStack stack = mStackSupervisor.getStack(msg.arg1);
+ if (stack != null) {
+ ActivityRecord r = stack.topRunningActivityLocked(null);
+ if (r != null) {
+ setFocusedActivityLocked(r);
+ }
+ }
+ }
+ break;
+ }
}
}
};
@@ -1935,6 +1948,11 @@ public final class ActivityManagerService extends ActivityManagerNative
}
}
+ @Override
+ public void setFocusedStack(int stackId) {
+ mHandler.obtainMessage(SET_FOCUSED_STACK, stackId, 0).sendToTarget();
+ }
+
final void applyUpdateLockStateLocked(ActivityRecord r) {
// Modifications to the UpdateLock state are done on our handler, outside
// the activity manager's locks. The new state is determined based on the
@@ -3119,7 +3137,7 @@ public final class ActivityManagerService extends ActivityManagerNative
IApplicationThread thread) {
mProcDeaths[0]++;
-
+
BatteryStatsImpl stats = mBatteryStatsService.getActiveStatistics();
synchronized (stats) {
stats.noteProcessDiedLocked(app.info.uid, pid);
@@ -3151,7 +3169,7 @@ public final class ActivityManagerService extends ActivityManagerNative
break;
}
}
-
+
if (!haveBg) {
EventLog.writeEvent(EventLogTags.AM_LOW_MEMORY, mLruProcesses.size());
long now = SystemClock.uptimeMillis();
@@ -3500,7 +3518,7 @@ public final class ActivityManagerService extends ActivityManagerNative
// Unless configured otherwise, swallow ANRs in background processes & kill the process.
boolean showBackground = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0;
-
+
synchronized (this) {
if (!showBackground && !app.isInterestingToUserLocked() && app.pid != MY_PID) {
Slog.w(TAG, "Killing " + app + ": background ANR");
@@ -4915,6 +4933,7 @@ public final class ActivityManagerService extends ActivityManagerNative
return false;
}
+ @Override
public Intent getIntentForIntentSender(IIntentSender pendingResult) {
if (!(pendingResult instanceof PendingIntentRecord)) {
return null;
@@ -4927,6 +4946,7 @@ public final class ActivityManagerService extends ActivityManagerNative
return null;
}
+ @Override
public void setProcessLimit(int max) {
enforceCallingPermission(android.Manifest.permission.SET_PROCESS_LIMIT,
"setProcessLimit()");
@@ -4937,6 +4957,7 @@ public final class ActivityManagerService extends ActivityManagerNative
trimApplications();
}
+ @Override
public int getProcessLimit() {
synchronized (this) {
return mProcessLimitOverride;