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

Commit d63760c1 authored by Jaikumar Ganesh's avatar Jaikumar Ganesh Committed by Android (Google) Code Review
Browse files

Merge "Decouple Tethering UI with registering of SDP records."

parents 57ca82dd b70765cc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -173,9 +173,9 @@ public final class BluetoothPan {
        Log.d(TAG, msg);
    }

    public void setBluetoothTethering(boolean value, String uuid, String bridge) {
    public void setBluetoothTethering(boolean value) {
        try {
            mService.setBluetoothTethering(value, uuid, bridge);
            mService.setBluetoothTethering(value);
        } catch (RemoteException e) {
            Log.e(TAG, "", e);
        }
+1 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ interface IBluetooth
    int getInputDevicePriority(in BluetoothDevice device);

    boolean isTetheringOn();
    void setBluetoothTethering(boolean value, String uuid, String bridge);
    void setBluetoothTethering(boolean value);
    int getPanDeviceState(in BluetoothDevice device);
    BluetoothDevice[] getConnectedPanDevices();
    boolean connectPanDevice(in BluetoothDevice device);
+2 −1
Original line number Diff line number Diff line
@@ -644,7 +644,8 @@ class BluetoothEventLoop {
             } else {
                 Log.i(TAG, "Rejecting incoming HID connection from " + address);
             }
        } else if (BluetoothUuid.isBnep(uuid) || BluetoothUuid.isNap(uuid)){
        } else if (BluetoothUuid.isBnep(uuid) || BluetoothUuid.isNap(uuid) &&
                mBluetoothService.isTetheringOn()){
            authorized = true;
        } else {
            Log.i(TAG, "Rejecting incoming " + deviceUuid + " connection from " + address);
+9 −7
Original line number Diff line number Diff line
@@ -352,7 +352,7 @@ public class BluetoothService extends IBluetooth.Stub {
        }
        setBluetoothState(BluetoothAdapter.STATE_TURNING_OFF);
        mHandler.removeMessages(MESSAGE_REGISTER_SDP_RECORDS);
        setBluetoothTethering(false, BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE);
        setBluetoothTetheringNative(false, BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE);

        // Allow 3 seconds for profiles to gracefully disconnect
        // TODO: Introduce a callback mechanism so that each profile can notify
@@ -576,8 +576,12 @@ public class BluetoothService extends IBluetooth.Stub {
                mBondState.readAutoPairingData();
                mBondState.loadBondState();
                initProfileState();

                //Register SDP records.
                mHandler.sendMessageDelayed(
                        mHandler.obtainMessage(MESSAGE_REGISTER_SDP_RECORDS, 1, -1), 3000);
                setBluetoothTetheringNative(true, BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE);


                // Log bluetooth on to battery stats.
                long ident = Binder.clearCallingIdentity();
@@ -1258,14 +1262,12 @@ public class BluetoothService extends IBluetooth.Stub {

    private BroadcastReceiver mTetheringReceiver = null;

    public synchronized void setBluetoothTethering(boolean value, 
            final String uuid, final String bridge) {
        mTetheringOn = value;
    public synchronized void setBluetoothTethering(boolean value) {
        if (!value) {
            disconnectPan();
        }

        if (getBluetoothState() != BluetoothAdapter.STATE_ON && mTetheringOn) {
        if (getBluetoothState() != BluetoothAdapter.STATE_ON && value) {
            IntentFilter filter = new IntentFilter();
            filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
            mTetheringReceiver = new BroadcastReceiver() {
@@ -1273,14 +1275,14 @@ public class BluetoothService extends IBluetooth.Stub {
                public synchronized void onReceive(Context context, Intent intent) {
                    if (intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF)
                            == BluetoothAdapter.STATE_ON) {
                        setBluetoothTethering(true, uuid, bridge);
                        mTetheringOn = true;
                        mContext.unregisterReceiver(mTetheringReceiver);
                    }
                }
            };
            mContext.registerReceiver(mTetheringReceiver, filter);
        } else {
            setBluetoothTetheringNative(value, uuid, bridge);
            mTetheringOn = value;
        }
    }