diff options
| author | 2020-03-14 16:28:18 +0000 | |
|---|---|---|
| committer | 2020-03-14 16:28:18 +0000 | |
| commit | bfacf243ee9167368f469b48a2b2ab1ec0d1d10a (patch) | |
| tree | 057991b29f87f73db8574854b20c421f6e2d93e9 | |
| parent | c063140b6fda65c2891d78092ec9080ba334a8f7 (diff) | |
| parent | 5ab15b005b6596b8f076f02fa914cbc249e86b0f (diff) | |
Merge "Better error message when finishing non running appop" into rvc-dev
| -rw-r--r-- | services/core/java/com/android/server/appop/AppOpsService.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index 310664e10bf3..f04c7161dd0d 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -77,10 +77,10 @@ import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.app.AppGlobals; import android.app.AppOpsManager; +import android.app.AppOpsManager.AttributedOpEntry; import android.app.AppOpsManager.HistoricalOps; import android.app.AppOpsManager.Mode; import android.app.AppOpsManager.OpEntry; -import android.app.AppOpsManager.AttributedOpEntry; import android.app.AppOpsManager.OpFlags; import android.app.AppOpsManagerInternal; import android.app.AppOpsManagerInternal.CheckOpsDelegate; @@ -3374,18 +3374,22 @@ public class AppOpsService extends IAppOpsService.Stub { synchronized (this) { Op op = getOpLocked(code, uid, resolvedPackageName, attributionTag, bypass, true); if (op == null) { + Slog.e(TAG, "Operation not found: uid=" + uid + " pkg=" + packageName + "(" + + attributionTag + ") op=" + AppOpsManager.opToName(code)); return; } final AttributedOp attributedOp = op.mAttributions.get(attributionTag); if (attributedOp == null) { + Slog.e(TAG, "Attribution not found: uid=" + uid + " pkg=" + packageName + "(" + + attributionTag + ") op=" + AppOpsManager.opToName(code)); return; } - try { + if (attributedOp.isRunning()) { attributedOp.finished(clientId); - } catch (IllegalStateException e) { - Slog.e(TAG, "Operation not started: uid=" + uid + " pkg=" - + packageName + " op=" + AppOpsManager.opToName(code), e); + } else { + Slog.e(TAG, "Operation not started: uid=" + uid + " pkg=" + packageName + "(" + + attributionTag + ") op=" + AppOpsManager.opToName(code)); } } } |