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

Commit 895e2d7a authored by Ivan Podogov's avatar Ivan Podogov Committed by Gerrit Code Review
Browse files

Merge "In permission review mode, always request user's consent to toggle BT."

parents 77053631 afababd4
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
@@ -717,9 +717,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
            mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM,
                    "Need BLUETOOTH ADMIN permission");

            if (!isEnabled() && mPermissionReviewRequired
                    && startConsentUiIfNeeded(packageName, callingUid,
                            BluetoothAdapter.ACTION_REQUEST_ENABLE)) {
            if (!isEnabled() && mPermissionReviewRequired) {
                startConsentUi(packageName, callingUid, BluetoothAdapter.ACTION_REQUEST_ENABLE);
                return false;
            }
        }
@@ -753,9 +752,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
            mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM,
                    "Need BLUETOOTH ADMIN permission");

            if (isEnabled() && mPermissionReviewRequired
                    && startConsentUiIfNeeded(packageName, callingUid,
                            BluetoothAdapter.ACTION_REQUEST_DISABLE)) {
            if (isEnabled() && mPermissionReviewRequired) {
                startConsentUi(packageName, callingUid, BluetoothAdapter.ACTION_REQUEST_DISABLE);
                return false;
            }
        }
@@ -775,8 +773,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
        return true;
    }

    private boolean startConsentUiIfNeeded(String packageName,
            int callingUid, String intentAction) throws RemoteException {
    private void startConsentUi(String packageName, int callingUid, String intentAction)
            throws RemoteException {
        try {
            // Validate the package only if we are going to use it
            ApplicationInfo applicationInfo = mContext.getPackageManager()
@@ -788,16 +786,12 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
                        + " not in uid " + callingUid);
            }

            // Legacy apps in permission review mode trigger a user prompt
            if (applicationInfo.targetSdkVersion < Build.VERSION_CODES.M) {
            // Permission review mode, trigger a user prompt
            Intent intent = new Intent(intentAction);
            mContext.startActivity(intent);
                return true;
            }
        } catch (PackageManager.NameNotFoundException e) {
            throw new RemoteException(e.getMessage());
        }
        return false;
    }

    public void unbindAndFinish() {