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

Commit cd30ea3e authored by Etienne Ruffieux's avatar Etienne Ruffieux Committed by Android (Google) Code Review
Browse files

Merge "Move enabling state of Bluetooth sharing to system service." into tm-qpr-dev

parents 42d1271e 8a68bbd1
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
@@ -319,7 +319,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) {
@@ -3014,6 +3013,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)
@@ -3044,11 +3044,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;
                    }