Merge "Always kill app when M_E_S is denied" into rvc-dev am: d7e1e4681e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12048548

Change-Id: I825adf2261904a8458d5cccc2722bf6110ae740f
This commit is contained in:
Shafik Nassar
2020-07-02 10:03:34 +00:00
committed by Automerger Merge Worker

View File

@@ -4736,7 +4736,7 @@ class StorageManagerService extends IStorageManager.Stub
return true; return true;
} }
private void killAppForOpChange(int code, int uid, String packageName) { private void killAppForOpChange(int code, int uid) {
final IActivityManager am = ActivityManager.getService(); final IActivityManager am = ActivityManager.getService();
try { try {
am.killUid(UserHandle.getAppId(uid), UserHandle.USER_ALL, am.killUid(UserHandle.getAppId(uid), UserHandle.USER_ALL,
@@ -4753,7 +4753,7 @@ class StorageManagerService extends IStorageManager.Stub
switch(code) { switch(code) {
case OP_REQUEST_INSTALL_PACKAGES: case OP_REQUEST_INSTALL_PACKAGES:
// Always kill regardless of op change, to remount apps /storage // Always kill regardless of op change, to remount apps /storage
killAppForOpChange(code, uid, packageName); killAppForOpChange(code, uid);
return; return;
case OP_MANAGE_EXTERNAL_STORAGE: case OP_MANAGE_EXTERNAL_STORAGE:
if (mode != MODE_ALLOWED) { if (mode != MODE_ALLOWED) {
@@ -4762,12 +4762,7 @@ class StorageManagerService extends IStorageManager.Stub
// results in a bad UX, especially since the gid only gives access // results in a bad UX, especially since the gid only gives access
// to unreliable volumes, USB OTGs that are rarely mounted. The app // to unreliable volumes, USB OTGs that are rarely mounted. The app
// will get the external_storage gid on next organic restart. // will get the external_storage gid on next organic restart.
if (packageName != null) { killAppForOpChange(code, uid);
killAppForOpChange(code, uid, packageName);
} else {
// TODO(b/158283222) this can happen, figure out if we need
// to kill in this case as well.
}
} }
return; return;
case OP_LEGACY_STORAGE: case OP_LEGACY_STORAGE: