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

Commit a29fcfc5 authored by Wei Wang's avatar Wei Wang Committed by android-build-merger
Browse files

Merge "Shutdown: Continue shutdown with BLE only mode" into oc-mr1-dev

am: 23c0668a

Change-Id: Ib9ae218442f87cd3b09520e8c106b95ec2d2a947
parents 205afa7b 23c0668a
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -571,7 +571,7 @@ public final class ShutdownThread extends Thread {
        Thread t = new Thread() {
            public void run() {
                boolean nfcOff;
                boolean bluetoothOff;
                boolean bluetoothReadyForShutdown;
                boolean radioOff;

                final INfcAdapter nfc =
@@ -595,15 +595,15 @@ public final class ShutdownThread extends Thread {
                }

                try {
                    bluetoothOff = bluetooth == null ||
                    bluetoothReadyForShutdown = bluetooth == null ||
                            bluetooth.getState() == BluetoothAdapter.STATE_OFF;
                    if (!bluetoothOff) {
                    if (!bluetoothReadyForShutdown) {
                        Log.w(TAG, "Disabling Bluetooth...");
                        bluetooth.disable(mContext.getPackageName(), false);  // disable but don't persist new state
                    }
                } catch (RemoteException ex) {
                    Log.e(TAG, "RemoteException during bluetooth shutdown", ex);
                    bluetoothOff = true;
                    bluetoothReadyForShutdown = true;
                }

                try {
@@ -628,14 +628,19 @@ public final class ShutdownThread extends Thread {
                        sInstance.setRebootProgress(status, null);
                    }

                    if (!bluetoothOff) {
                    if (!bluetoothReadyForShutdown) {
                        try {
                            bluetoothOff = bluetooth.getState() == BluetoothAdapter.STATE_OFF;
                          // BLE only mode can happen when BT is turned off
                          // We will continue shutting down in such case
                          bluetoothReadyForShutdown =
                                  bluetooth.getState() == BluetoothAdapter.STATE_OFF ||
                                  bluetooth.getState() == BluetoothAdapter.STATE_BLE_TURNING_OFF ||
                                  bluetooth.getState() == BluetoothAdapter.STATE_BLE_ON;
                        } catch (RemoteException ex) {
                            Log.e(TAG, "RemoteException during bluetooth shutdown", ex);
                            bluetoothOff = true;
                            bluetoothReadyForShutdown = true;
                        }
                        if (bluetoothOff) {
                        if (bluetoothReadyForShutdown) {
                            Log.i(TAG, "Bluetooth turned off.");
                        }
                    }
@@ -662,7 +667,7 @@ public final class ShutdownThread extends Thread {
                        }
                    }

                    if (radioOff && bluetoothOff && nfcOff) {
                    if (radioOff && bluetoothReadyForShutdown && nfcOff) {
                        Log.i(TAG, "NFC, Radio and Bluetooth shutdown complete.");
                        done[0] = true;
                        break;