Fixing isOpRestricted in AppOpsService

AppOpsService was returning false for a restricted operation if the
operation did not allow the system to bypass the restrictions on it.

Bug: 28860721
Change-Id: I487e23f1d3bf6ea602caee439fb500c058e7c8ff
diff --git a/services/core/java/com/android/server/AppOpsService.java b/services/core/java/com/android/server/AppOpsService.java
index ca3c39f..dab7d70 100644
--- a/services/core/java/com/android/server/AppOpsService.java
+++ b/services/core/java/com/android/server/AppOpsService.java
@@ -1316,13 +1316,14 @@
             // For each client, check that the given op is not restricted, or that the given
             // package is exempt from the restriction.
             ClientRestrictionState restrictionState = mOpUserRestrictions.valueAt(i);
-            if (restrictionState.hasRestriction(code, packageName, userHandle)
-                    && AppOpsManager.opAllowSystemBypassRestriction(code)) {
-                // If we are the system, bypass user restrictions for certain codes
-                synchronized (this) {
-                    Ops ops = getOpsRawLocked(uid, packageName, true);
-                    if ((ops != null) && ops.isPrivileged) {
-                        return false;
+            if (restrictionState.hasRestriction(code, packageName, userHandle)) {
+                if (AppOpsManager.opAllowSystemBypassRestriction(code)) {
+                    // If we are the system, bypass user restrictions for certain codes
+                    synchronized (this) {
+                        Ops ops = getOpsRawLocked(uid, packageName, true);
+                        if ((ops != null) && ops.isPrivileged) {
+                            return false;
+                        }
                     }
                 }
                 return true;