summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
diff options
context:
space:
mode:
authorLei Yu <jackqdyulei@google.com>2019-04-08 16:16:20 -0700
committerLei Yu <jackqdyulei@google.com>2019-04-08 16:25:47 -0700
commit4350317580b481fd0f98179ae4d7590924d9b4d0 (patch)
tree3d858fa5fe1231fb412f40a3076c775e78864dd7 /src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
parent5c28e425381928b6c4d4345560ba26f0f32ced21 (diff)
downloadpackages_apps_Settings-4350317580b481fd0f98179ae4d7590924d9b4d0.tar.gz
packages_apps_Settings-4350317580b481fd0f98179ae4d7590924d9b4d0.tar.bz2
packages_apps_Settings-4350317580b481fd0f98179ae4d7590924d9b4d0.zip
Move bitmap recycle to onDestroy()
If we recycle it in OnStop() and this page isn't destoried, it will crash when we revisit it. Fixes: 130185099 Test: RunSettingsRoboTests Change-Id: I4d3c1c12debcccb1ee7d676a1c5accece0b42e09
Diffstat (limited to 'src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java')
-rw-r--r--src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index 1d2d793496..9a651d207f 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -41,6 +41,7 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.fuelgauge.BatteryMeterView;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnDestroy;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
import com.android.settingslib.utils.ThreadUtils;
@@ -54,7 +55,7 @@ import java.util.Map;
* This class adds a header with device name and status (connected/disconnected, etc.).
*/
public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceController implements
- LifecycleObserver, OnStart, OnStop, CachedBluetoothDevice.Callback {
+ LifecycleObserver, OnStart, OnStop, OnDestroy, CachedBluetoothDevice.Callback {
private static final String TAG = "AdvancedBtHeaderCtrl";
@VisibleForTesting
@@ -118,7 +119,13 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
}
mCachedDevice.unregisterCallback(this::onDeviceAttributesChanged);
mBluetoothAdapter.unregisterMetadataListener(mCachedDevice.getDevice());
+ }
+ @Override
+ public void onDestroy() {
+ if (!isAvailable()) {
+ return;
+ }
// Destroy icon bitmap associated with this header
for (Bitmap bitmap : mIconCache.values()) {
if (bitmap != null) {