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

Commit 043e60f5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 127a4c90 9b0b6a6b
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -556,7 +556,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 =
@@ -580,15 +580,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 {
@@ -613,14 +613,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.");
                        }
                    }
@@ -647,7 +652,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;