Add Slog.wtf for calling setMode() with OP_COARSE_LOCATION.

This happened in Q and seems not in R, but we want to make sure.

Bug: 145744192
Bug: 146014123
Test: presubmit
Change-Id: I25d41833f17cf38d8987c6f472acdd4430fbb154
This commit is contained in:
Hai Zhang
2019-12-10 15:48:22 -08:00
parent 5b0ee657e0
commit 2a31fd75a0

View File

@@ -20,6 +20,7 @@ import static android.app.ActivityManager.PROCESS_CAPABILITY_FOREGROUND_LOCATION
import static android.app.AppOpsManager.MAX_PRIORITY_UID_STATE;
import static android.app.AppOpsManager.MIN_PRIORITY_UID_STATE;
import static android.app.AppOpsManager.OP_CAMERA;
import static android.app.AppOpsManager.OP_COARSE_LOCATION;
import static android.app.AppOpsManager.OP_FLAGS_ALL;
import static android.app.AppOpsManager.OP_NONE;
import static android.app.AppOpsManager.OP_PLAY_AUDIO;
@@ -1642,6 +1643,13 @@ public class AppOpsService extends IAppOpsService.Stub {
return;
}
// STOPSHIP: Remove this check once we are sure no one is doing it.
if (code == OP_COARSE_LOCATION && mode != AppOpsManager.opToDefaultMode(code)) {
Slog.wtf(TAG, "Trying to setMode() instead of setUidMode(), " + "code=" + code
+ ", uid=" + uid + ", packageName=" + packageName + ", mode=" + mode
+ ", callingUid=" + Binder.getCallingUid(), new RuntimeException());
}
synchronized (this) {
UidState uidState = getUidStateLocked(uid, false);
Op op = getOpLocked(code, uid, packageName, isPrivileged, true);