From 8814d968844eb8d32cc38c8d72ab240185767de6 Mon Sep 17 00:00:00 2001 From: Abel Tesfaye Date: Wed, 20 Apr 2022 00:14:13 +0000 Subject: [PATCH] Fix issue where SmartAutoRotateController tries to unregister an unregistered receiver Controllers are automatically bound to a lifecycle if registered in the xml file. Manually binding a lifecycle can cause multiple receivers to be unregistered/registered. Removing the manual binding will prevent this case from causing a potential exception. Bug: 227762968 Test: none Change-Id: I9c8ddc6f82b19cd4a9c8a4aec3c9c744935cd542 --- .../android/settings/display/SmartAutoRotateController.java | 5 ----- .../settings/display/SmartAutoRotatePreferenceFragment.java | 1 - 2 files changed, 6 deletions(-) diff --git a/src/com/android/settings/display/SmartAutoRotateController.java b/src/com/android/settings/display/SmartAutoRotateController.java index d29a64e7d88..093c8459cd5 100644 --- a/src/com/android/settings/display/SmartAutoRotateController.java +++ b/src/com/android/settings/display/SmartAutoRotateController.java @@ -35,7 +35,6 @@ import android.provider.Settings; import android.service.rotationresolver.RotationResolverService; import android.text.TextUtils; -import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; @@ -82,10 +81,6 @@ public class SmartAutoRotateController extends TogglePreferenceController implem context); } - public void init(Lifecycle lifecycle) { - lifecycle.addObserver(this); - } - @Override public int getAvailabilityStatus() { if (!isRotationResolverServiceAvailable(mContext)) { diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java b/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java index 1b4e998db87..36d300647ba 100644 --- a/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java +++ b/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java @@ -64,7 +64,6 @@ public class SmartAutoRotatePreferenceFragment extends DashboardFragment { @Override public void onAttach(Context context) { super.onAttach(context); - use(SmartAutoRotateController.class).init(getLifecycle()); DeviceStateAutoRotationHelper.initControllers( getLifecycle(), useAll(DeviceStateAutoRotateSettingController.class)