Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70ff2371 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

Provide more info about AppOps checking

Add information about the package and the returned mode
to help investigating denials.

Bug: 174792335
Test: m
Change-Id: Ibf8cac99688ee268893bf00f2cff8675e6cbcf67
parent 9b95dd2f
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -89,14 +89,18 @@ static bool checkRecordingInternal(const String16& opPackageName, pid_t pid,
    AppOpsManager appOps;
    const int32_t op = appOps.permissionToOpCode(sAndroidPermissionRecordAudio);
    if (start) {
        if (appOps.startOpNoThrow(op, uid, resolvedOpPackageName, /*startIfModeDefault*/ false)
                != AppOpsManager::MODE_ALLOWED) {
            ALOGE("Request denied by app op: %d", op);
        if (int32_t mode = appOps.startOpNoThrow(
                        op, uid, resolvedOpPackageName, /*startIfModeDefault*/ false);
                mode != AppOpsManager::MODE_ALLOWED) {
            ALOGE("Request start for \"%s\" (uid %d) denied by app op: %d, mode: %d",
                    String8(resolvedOpPackageName).c_str(), uid, op, mode);
            return false;
        }
    } else {
        if (appOps.checkOp(op, uid, resolvedOpPackageName) != AppOpsManager::MODE_ALLOWED) {
            ALOGE("Request denied by app op: %d", op);
        if (int32_t mode = appOps.checkOp(op, uid, resolvedOpPackageName);
                mode != AppOpsManager::MODE_ALLOWED) {
            ALOGE("Request check for \"%s\" (uid %d) denied by app op: %d, mode: %d",
                    String8(resolvedOpPackageName).c_str(), uid, op, mode);
            return false;
        }
    }