Cleanup listener reference in Screen Attention

This will fix a memory leak being caused by dangling listeners.

Test: locally with oriole, make RunSettingsRoboTests -j$(nproc) ROBOTEST_FILTER=AdaptiveSleepCameraStatePreferenceControllerTest,AdaptiveSleepPreferenceControllerTest

Bug: 245990072
Change-Id: I35eeedc3ece719f1f3baff6235cc5ac2d42fbba3
This commit is contained in:
Abel Tesfaye
2022-09-09 21:14:43 +00:00
parent 88ea8b3bec
commit 378990e13f
3 changed files with 37 additions and 9 deletions

View File

@@ -28,6 +28,7 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.pm.PackageManager;
import androidx.lifecycle.Lifecycle;
import androidx.preference.PreferenceScreen;
import com.android.settings.testutils.shadow.ShadowSensorPrivacyManager;
@@ -50,6 +51,8 @@ public class AdaptiveSleepCameraStatePreferenceControllerTest {
private PackageManager mPackageManager;
@Mock
private PreferenceScreen mScreen;
@Mock
private Lifecycle mLifecycle;
@Before
public void setUp() {
@@ -61,7 +64,7 @@ public class AdaptiveSleepCameraStatePreferenceControllerTest {
when(mPackageManager.checkPermission(any(), any())).thenReturn(
PackageManager.PERMISSION_GRANTED);
mController = new AdaptiveSleepCameraStatePreferenceController(mContext);
mController = new AdaptiveSleepCameraStatePreferenceController(mContext, mLifecycle);
when(mController.isCameraLocked()).thenReturn(false);
}