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

Commit 136b8ed6 authored by Etienne Ruffieux's avatar Etienne Ruffieux Committed by Gerrit Code Review
Browse files

Merge "Move enabling state of Bluetooth sharing to system service."

parents 9b9e7577 48dd6d21
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -52,8 +52,6 @@ import android.os.Binder;
import android.os.Handler;
import android.os.Message;
import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
import android.sysprop.BluetoothProperties;
import android.util.Log;

@@ -252,16 +250,8 @@ public class BluetoothOppService extends ProfileService implements IObexConnecti
            Log.v(TAG, "start()");
        }

        //Check for user restrictions before enabling component
        UserManager mUserManager = getSystemService(UserManager.class);
        if (!mUserManager.hasUserRestrictionForUser(
                UserManager.DISALLOW_BLUETOOTH_SHARING, UserHandle.CURRENT)) {
            setComponentAvailable(LAUNCHER_ACTIVITY, true);
        }

        setComponentAvailable(OPP_PROVIDER, true);
        setComponentAvailable(OPP_FILE_PROVIDER, true);
        setComponentAvailable(BT_ENABLE_ACTIVITY, true);
        setComponentAvailable(BT_ERROR_ACTIVITY, true);
        setComponentAvailable(BT_ENABLING_ACTIVITY, true);
        setComponentAvailable(INCOMING_FILE_CONFIRM_ACTIVITY, true);
@@ -306,8 +296,6 @@ public class BluetoothOppService extends ProfileService implements IObexConnecti

        setComponentAvailable(OPP_PROVIDER, false);
        setComponentAvailable(OPP_FILE_PROVIDER, false);
        setComponentAvailable(LAUNCHER_ACTIVITY, false);
        setComponentAvailable(BT_ENABLE_ACTIVITY, false);
        setComponentAvailable(BT_ERROR_ACTIVITY, false);
        setComponentAvailable(BT_ENABLING_ACTIVITY, false);
        setComponentAvailable(INCOMING_FILE_CONFIRM_ACTIVITY, false);
+10 −4
Original line number Diff line number Diff line
@@ -317,7 +317,6 @@ public class BluetoothManagerService extends IBluetoothManager.Stub {
                UserManager.DISALLOW_BLUETOOTH, userHandle);
        boolean newBluetoothSharingDisallowed = mUserManager.hasUserRestrictionForUser(
                UserManager.DISALLOW_BLUETOOTH_SHARING, userHandle);

        // DISALLOW_BLUETOOTH can only be set by DO or PO on the system user.
        if (userHandle == UserHandle.SYSTEM) {
            if (newBluetoothDisallowed) {
@@ -2984,6 +2983,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub {
            }

            String launcherActivity = "com.android.bluetooth.opp.BluetoothOppLauncherActivity";
            String btEnableActivity = "com.android.bluetooth.opp.BluetoothOppBtEnableActivity";

            PackageManager systemPackageManager = mContext.getPackageManager();
            PackageManager userPackageManager = mContext.createContextAsUser(userHandle, 0)
@@ -3014,11 +3014,17 @@ public class BluetoothManagerService extends IBluetoothManager.Stub {
                for (var activity : packageInfo.activities) {
                    Log.v(TAG, "Checking activity " + activity.name);
                    if (launcherActivity.equals(activity.name)) {
                        final ComponentName oppLauncherComponent = new ComponentName(
                                candidatePackage, launcherActivity
                        userPackageManager.setComponentEnabledSetting(
                                new ComponentName(candidatePackage, launcherActivity),
                                newState,
                                PackageManager.DONT_KILL_APP
                        );
                        // Bluetooth enable Activity should also be turned on here so
                        // when sharing with Bluetooth OFF, launcher Activity can turn it ON.
                        userPackageManager.setComponentEnabledSetting(
                                oppLauncherComponent, newState, PackageManager.DONT_KILL_APP
                                new ComponentName(candidatePackage, btEnableActivity),
                                newState,
                                PackageManager.DONT_KILL_APP
                        );
                        return;
                    }