diff options
| author | Wale Ogunwale <ogunwale@google.com> | 2018-05-09 07:41:32 -0700 |
|---|---|---|
| committer | Wale Ogunwale <ogunwale@google.com> | 2018-06-21 15:11:21 -0700 |
| commit | a6191b4fa1255f334afbfad15faf00423934a463 (patch) | |
| tree | 97accfb14093cde13a4e345b50be9027bb181690 /core/java | |
| parent | 553ac6feb35ee0c18226489763649ea865a117c1 (diff) | |
Moved more stuff from ActivityManagerService to ActivityTaskManagerService (9/n)
Moved more stuff related to activities out of the current service to the new one.
Test: Existing tests pass
Test: go/wm-smoke-auto
Bug: 80414790
Change-Id: I16863dd977bf09136cc23b0ab3aa197c613879ea
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/ActivityManagerInternal.java | 63 | ||||
| -rw-r--r-- | core/java/android/app/ActivityTaskManagerInternal.java | 20 | ||||
| -rw-r--r-- | core/java/android/app/IActivityTaskManager.aidl | 3 |
3 files changed, 57 insertions, 29 deletions
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java index 4e6cc7ebdf25..2fdb715087de 100644 --- a/core/java/android/app/ActivityManagerInternal.java +++ b/core/java/android/app/ActivityManagerInternal.java @@ -21,6 +21,7 @@ import android.annotation.Nullable; import android.content.ComponentName; import android.content.IIntentSender; import android.content.Intent; +import android.content.pm.ApplicationInfo; import android.content.res.Configuration; import android.os.Bundle; import android.os.IBinder; @@ -41,6 +42,11 @@ import java.util.List; public abstract class ActivityManagerInternal { + // Access modes for handleIncomingUser. + public static final int ALLOW_NON_FULL = 0; + public static final int ALLOW_NON_FULL_IN_PROFILE = 1; + public static final int ALLOW_FULL_ONLY = 2; + /** * Grant Uri permissions from one app to another. This method only extends * permission grants if {@code callingUid} has permission to them. @@ -63,15 +69,6 @@ public abstract class ActivityManagerInternal { String processName, String abiOverride, int uid, Runnable crashHandler); /** - * Called when a user has been deleted. This can happen during normal device usage - * or just at startup, when partially removed users are purged. Any state persisted by the - * ActivityManager should be purged now. - * - * @param userId The user being cleaned up. - */ - public abstract void onUserRemoved(int userId); - - /** * Kill foreground apps from the specified user. */ public abstract void killForegroundAppsForUser(int userHandle); @@ -95,15 +92,6 @@ public abstract class ActivityManagerInternal { boolean adding); /** - * Updates and persists the {@link Configuration} for a given user. - * - * @param values the configuration to update - * @param userId the user to update the configuration for - */ - public abstract void updatePersistentConfigurationForUser(@NonNull Configuration values, - int userId); - - /** * Get the procstate for the UID. The return value will be between * {@link ActivityManager#MIN_PROCESS_STATE} and {@link ActivityManager#MAX_PROCESS_STATE}. * Note if the UID doesn't exist, it'll return {@link ActivityManager#PROCESS_STATE_NONEXISTENT} @@ -155,17 +143,6 @@ public abstract class ActivityManagerInternal { public abstract void clearSavedANRState(); /** - * Set a uid that is allowed to bypass stopped app switches, launching an app - * whenever it wants. - * - * @param type Type of the caller -- unique string the caller supplies to identify itself - * and disambiguate with other calles. - * @param uid The uid of the app to be allowed, or -1 to clear the uid for this type. - * @param userId The user it is allowed for. - */ - public abstract void setAllowAppSwitches(@NonNull String type, int uid, int userId); - - /** * @return true if runtime was restarted, false if it's normal boot */ public abstract boolean isRuntimeRestarted(); @@ -199,4 +176,32 @@ public abstract class ActivityManagerInternal { * Returns a list that contains the memory stats for currently running processes. */ public abstract List<ProcessMemoryState> getMemoryStateForProcesses(); + + /** + * Checks to see if the calling pid is allowed to handle the user. Returns adjusted user id as + * needed. + */ + public abstract int handleIncomingUser(int callingPid, int callingUid, int userId, + boolean allowAll, int allowMode, String name, String callerPackage); + + /** Checks if the calling binder pid as the permission. */ + public abstract void enforceCallingPermission(String permission, String func); + + /** Returns the current user id. */ + public abstract int getCurrentUserId(); + + /** Returns true if the user is running. */ + public abstract boolean isUserRunning(int userId, int flags); + + /** Trims memory usage in the system by removing/stopping unused application processes. */ + public abstract void trimApplications(); + + /** Returns the screen compatibility mode for the given application. */ + public abstract int getPackageScreenCompatMode(ApplicationInfo ai); + + /** Sets the screen compatibility mode for the given application. */ + public abstract void setPackageScreenCompatMode(ApplicationInfo ai, int mode); + + /** Closes all system dialogs. */ + public abstract void closeSystemDialogs(String reason); } diff --git a/core/java/android/app/ActivityTaskManagerInternal.java b/core/java/android/app/ActivityTaskManagerInternal.java index 170cb52e41f4..fa78db5c3d6d 100644 --- a/core/java/android/app/ActivityTaskManagerInternal.java +++ b/core/java/android/app/ActivityTaskManagerInternal.java @@ -243,4 +243,24 @@ public abstract class ActivityTaskManagerInternal { */ public abstract void notifyActiveVoiceInteractionServiceChanged(ComponentName component); + /** + * Set a uid that is allowed to bypass stopped app switches, launching an app + * whenever it wants. + * + * @param type Type of the caller -- unique string the caller supplies to identify itself + * and disambiguate with other calles. + * @param uid The uid of the app to be allowed, or -1 to clear the uid for this type. + * @param userId The user it is allowed for. + */ + public abstract void setAllowAppSwitches(@NonNull String type, int uid, int userId); + + /** + * Called when a user has been deleted. This can happen during normal device usage + * or just at startup, when partially removed users are purged. Any state persisted by the + * ActivityManager should be purged now. + * + * @param userId The user being cleaned up. + */ + public abstract void onUserStopped(int userId); + public abstract boolean isGetTasksAllowed(String caller, int callingPid, int callingUid); } diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl index a5082899f64e..1eb187e445b4 100644 --- a/core/java/android/app/IActivityTaskManager.aidl +++ b/core/java/android/app/IActivityTaskManager.aidl @@ -418,4 +418,7 @@ interface IActivityTaskManager { void setVrThread(int tid); void setPersistentVrThread(int tid); + void stopAppSwitches(); + void resumeAppSwitches(); + void setActivityController(in IActivityController watcher, boolean imAMonkey); } |
