diff options
| author | Craig Mautner <cmautner@google.com> | 2013-04-24 02:36:43 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-04-24 02:36:43 +0000 |
| commit | b58121c350f605c9fec2f75cbcb1f05a289d8ab0 (patch) | |
| tree | 5cb6c842e44542772c101bfea4b1885729572bec /services/java/com/android/server/am/ActivityManagerService.java | |
| parent | ab18ec8eb5fbd4605b883c1b2de4b4ca467036bc (diff) | |
| parent | cf910b0c714b2ca90ea0013e5695850506a1d36f (diff) | |
| download | frameworks_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.java | 27 |
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; |
