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

Commit 4fcee874 authored by Andre Eisenbach's avatar Andre Eisenbach
Browse files

Revert "Don't offer the BT sharing option to the user if BT is disallowed."

Causes boot loop issue:

02-15 02:31:59.785   770   770 E System  : Caused by: java.lang.IllegalArgumentException: Unknown component: com.android.bluetooth/com.android.bluetooth.opp.BluetoothOppLauncherActivity
02-15 02:31:59.785   770   770 E System  : .at com.android.server.pm.PackageManagerService.setEnabledSetting(PackageManagerService.java:18500)
02-15 02:31:59.785   770   770 E System  : .at com.android.server.pm.PackageManagerService.setComponentEnabledSetting(PackageManagerService.java:18461)
02-15 02:31:59.785   770   770 E System  : .at android.app.ApplicationPackageManager.setComponentEnabledSetting(ApplicationPackageManager.java:2129)
02-15 02:31:59.785   770   770 E System  : .at com.android.server.BluetoothManagerService.updateOppLauncherComponentState(BluetoothManagerService.java:2036)



This reverts commit 093c05a8.

Change-Id: Ia079bb2fcc91bb5979a3840ab50b9d9ddda1cf24
parent 133015c4
Loading
Loading
Loading
Loading
+1 −27
Original line number Diff line number Diff line
@@ -217,11 +217,6 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
        @Override
        public void onUserRestrictionsChanged(int userId, Bundle newRestrictions,
                Bundle prevRestrictions) {
            if (!newRestrictions.containsKey(UserManager.DISALLOW_BLUETOOTH)
                    && !prevRestrictions.containsKey(UserManager.DISALLOW_BLUETOOTH)) {
                // The relevant restriction has not changed - do nothing.
                return;
            }
            final boolean bluetoothDisallowed =
                    newRestrictions.getBoolean(UserManager.DISALLOW_BLUETOOTH);
            if ((mEnable || mEnableExternal) && bluetoothDisallowed) {
@@ -232,7 +227,6 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
                  // when from system.
                }
            }
            updateOppLauncherComponentState(bluetoothDisallowed);
        }
    };

@@ -944,9 +938,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
        UserManagerInternal userManagerInternal =
                LocalServices.getService(UserManagerInternal.class);
        userManagerInternal.addUserRestrictionsListener(mUserRestrictionsListener);
        final boolean isBluetoothDisallowed = isBluetoothDisallowed();
        updateOppLauncherComponentState(isBluetoothDisallowed);
        if (isBluetoothDisallowed) {
        if (isBluetoothDisallowed()) {
            return;
        }
        if (mEnableExternal && isBluetoothPersistedStateOnBluetooth()) {
@@ -2003,24 +1995,6 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
        }
    }

    /**
     * Disables BluetoothOppLauncherActivity component, so the Bluetooth sharing option is not
     * offered to the user if Bluetooth is disallowed. Puts the component to its default state if
     * Bluetooth is not disallowed.
     *
     * @param bluetoothDisallowed whether the {@link UserManager.DISALLOW_BLUETOOTH} user
     * restriction was set.
     */
    private void updateOppLauncherComponentState(boolean bluetoothDisallowed) {
        final ComponentName oppLauncherComponent = new ComponentName("com.android.bluetooth",
                "com.android.bluetooth.opp.BluetoothOppLauncherActivity");
        final int newState = bluetoothDisallowed
                ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED
                : PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
        mContext.getPackageManager()
                .setComponentEnabledSetting(oppLauncherComponent, newState, 0);
    }

    @Override
    public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
        mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG);