From de3f413ecd4a632eb742bbfbebd55dec6396cb70 Mon Sep 17 00:00:00 2001 From: hoffc Date: Fri, 7 Jun 2024 10:33:27 +0800 Subject: [PATCH] Fix NPE force close if disabling BT feature adapter can be null in some SPs which disable bluetooth feature from framework, so it will lead to NPE force close in these SPs. Add null check for adapter. Bug: 345584461 Change-Id: I3fabe94a97cc9baf7b1739fe1c9160a52b50d7d4 --- src/com/android/settings/network/TetheredRepository.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/network/TetheredRepository.kt b/src/com/android/settings/network/TetheredRepository.kt index f18bdca47f9..29a56656009 100644 --- a/src/com/android/settings/network/TetheredRepository.kt +++ b/src/com/android/settings/network/TetheredRepository.kt @@ -72,7 +72,7 @@ class TetheredRepository(private val context: Context) { flowOf(null), // kick an initial value context.broadcastReceiverFlow(IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)), ).flatMapLatest { - if (adapter.getState() == BluetoothAdapter.STATE_ON) { + if (adapter?.getState() == BluetoothAdapter.STATE_ON) { isBluetoothPanTetheringOnFlow() } else { flowOf(false) @@ -93,10 +93,10 @@ class TetheredRepository(private val context: Context) { override fun onServiceDisconnected(profile: Int) {} } - adapter.getProfileProxy(context, listener, BluetoothProfile.PAN) + adapter?.getProfileProxy(context, listener, BluetoothProfile.PAN) awaitClose { - connectedProxy?.let { adapter.closeProfileProxy(BluetoothProfile.PAN, it) } + connectedProxy?.let { adapter?.closeProfileProxy(BluetoothProfile.PAN, it) } } }.conflate().flowOn(Dispatchers.Default) }