diff --git a/android/pandora/server/src/com/android/pandora/Host.kt b/android/pandora/server/src/com/android/pandora/Host.kt index beddc70ad280205276b8be44cbf44ef5ffbec1ee..324f2b96ba15aafb41e6705dca26d0e76c0c77d1 100644 --- a/android/pandora/server/src/com/android/pandora/Host.kt +++ b/android/pandora/server/src/com/android/pandora/Host.kt @@ -127,13 +127,17 @@ class Host( } override fun factoryReset(request: Empty, responseObserver: StreamObserver<Empty>) { - grpcUnary<Empty>(scope, responseObserver, 10) { + grpcUnary<Empty>(scope, responseObserver, 30) { Log.i(TAG, "factoryReset") - bluetoothAdapter.clearBluetooth() + val stateFlow = + flow + .filter { it.getAction() == BluetoothAdapter.ACTION_STATE_CHANGED } + .map { it.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR) } - rebootBluetooth() + bluetoothAdapter.clearBluetooth() + stateFlow.filter { it == BluetoothAdapter.STATE_ON }.first() Log.i(TAG, "Shutdown the gRPC Server") server.shutdown()