diff options
author | Lei Yu <jackqdyulei@google.com> | 2019-04-08 16:16:20 -0700 |
---|---|---|
committer | Lei Yu <jackqdyulei@google.com> | 2019-04-08 16:25:47 -0700 |
commit | 4350317580b481fd0f98179ae4d7590924d9b4d0 (patch) | |
tree | 3d858fa5fe1231fb412f40a3076c775e78864dd7 /src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java | |
parent | 5c28e425381928b6c4d4345560ba26f0f32ced21 (diff) | |
download | packages_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.java | 9 |
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) { |