Loading core/java/android/permission/PermissionUsageHelper.java +13 −1 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ import android.util.ArraySet; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; import com.android.internal.R; import java.util.ArrayList; import java.util.Collections; import java.util.List; Loading Loading @@ -186,6 +188,15 @@ public class PermissionUsageHelper { == PackageManager.PERMISSION_GRANTED; } private boolean isSpeechRecognizerUsage(String op, String packageName) { if (!OPSTR_RECORD_AUDIO.equals(op)) { return false; } return packageName.equals( mContext.getString(R.string.config_systemSpeechRecognizer)); } /** * @see PermissionManager.getIndicatorAppOpUsageData */ Loading Loading @@ -317,7 +328,8 @@ public class PermissionUsageHelper { if (packageName.equals(SYSTEM_PKG) || (!isUserSensitive(packageName, user, op) && !isLocationProvider(packageName, user) && !isAppPredictor(packageName, user))) { && !isAppPredictor(packageName, user)) && !isSpeechRecognizerUsage(op, packageName)) { continue; } Loading packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java +14 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.util.SparseArray; import androidx.annotation.WorkerThread; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.Dumpable; Loading Loading @@ -78,6 +79,7 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon private static final boolean DEBUG = false; private final BroadcastDispatcher mDispatcher; private final Context mContext; private final AppOpsManager mAppOps; private final AudioManager mAudioManager; private final LocationManager mLocationManager; Loading Loading @@ -141,6 +143,7 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon mCameraDisabled = mSensorPrivacyController.isSensorBlocked(CAMERA); mLocationManager = context.getSystemService(LocationManager.class); mPackageManager = context.getPackageManager(); mContext = context; dumpManager.registerDumpable(TAG, this); } Loading Loading @@ -357,6 +360,15 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon return mLocationProviderPackages.contains(packageName); } private boolean isSpeechRecognizerUsage(int opCode, String packageName) { if (AppOpsManager.OP_RECORD_AUDIO != opCode) { return false; } return packageName.equals( mContext.getString(R.string.config_systemSpeechRecognizer)); } // TODO ntmyren: remove after teamfood is finished private boolean shouldShowAppPredictor(String pkgName) { if (!DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, "permissions_hub_2_enabled", Loading Loading @@ -388,7 +400,8 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon } // TODO ntmyren: Replace this with more robust check if this moves beyond teamfood if ((appOpCode == AppOpsManager.OP_CAMERA && isLocationProvider(packageName)) || shouldShowAppPredictor(packageName)) { || shouldShowAppPredictor(packageName) || isSpeechRecognizerUsage(appOpCode, packageName)) { return true; } Loading Loading
core/java/android/permission/PermissionUsageHelper.java +13 −1 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ import android.util.ArraySet; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; import com.android.internal.R; import java.util.ArrayList; import java.util.Collections; import java.util.List; Loading Loading @@ -186,6 +188,15 @@ public class PermissionUsageHelper { == PackageManager.PERMISSION_GRANTED; } private boolean isSpeechRecognizerUsage(String op, String packageName) { if (!OPSTR_RECORD_AUDIO.equals(op)) { return false; } return packageName.equals( mContext.getString(R.string.config_systemSpeechRecognizer)); } /** * @see PermissionManager.getIndicatorAppOpUsageData */ Loading Loading @@ -317,7 +328,8 @@ public class PermissionUsageHelper { if (packageName.equals(SYSTEM_PKG) || (!isUserSensitive(packageName, user, op) && !isLocationProvider(packageName, user) && !isAppPredictor(packageName, user))) { && !isAppPredictor(packageName, user)) && !isSpeechRecognizerUsage(op, packageName)) { continue; } Loading
packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java +14 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.util.SparseArray; import androidx.annotation.WorkerThread; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.Dumpable; Loading Loading @@ -78,6 +79,7 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon private static final boolean DEBUG = false; private final BroadcastDispatcher mDispatcher; private final Context mContext; private final AppOpsManager mAppOps; private final AudioManager mAudioManager; private final LocationManager mLocationManager; Loading Loading @@ -141,6 +143,7 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon mCameraDisabled = mSensorPrivacyController.isSensorBlocked(CAMERA); mLocationManager = context.getSystemService(LocationManager.class); mPackageManager = context.getPackageManager(); mContext = context; dumpManager.registerDumpable(TAG, this); } Loading Loading @@ -357,6 +360,15 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon return mLocationProviderPackages.contains(packageName); } private boolean isSpeechRecognizerUsage(int opCode, String packageName) { if (AppOpsManager.OP_RECORD_AUDIO != opCode) { return false; } return packageName.equals( mContext.getString(R.string.config_systemSpeechRecognizer)); } // TODO ntmyren: remove after teamfood is finished private boolean shouldShowAppPredictor(String pkgName) { if (!DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, "permissions_hub_2_enabled", Loading Loading @@ -388,7 +400,8 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon } // TODO ntmyren: Replace this with more robust check if this moves beyond teamfood if ((appOpCode == AppOpsManager.OP_CAMERA && isLocationProvider(packageName)) || shouldShowAppPredictor(packageName)) { || shouldShowAppPredictor(packageName) || isSpeechRecognizerUsage(appOpCode, packageName)) { return true; } Loading