From f68f1fa3ccfd1db50b69c61b80273a6dc72d59db Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Thu, 11 May 2023 14:12:44 -0700 Subject: [PATCH] Cleanup SettingsChangeLogger onClose() * Correct name for San*d*box Bug: 280463854 Flag: none Test: v2/gnl-eng/unbundled/launcher/nexus_unit_test_multi_device_platform Change-Id: I2446871c8ea0b146ccfa2ea7caa1727aec42dd42 --- .../quickstep/logging/SettingsChangeLogger.java | 10 +++++++++- .../android/launcher3/util/LauncherModelHelper.java | 10 +++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java b/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java index 3d5c143413..d3a01f256b 100644 --- a/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java +++ b/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java @@ -50,6 +50,7 @@ import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.NavigationMode; +import com.android.launcher3.util.SafeCloseable; import com.android.launcher3.util.SettingsCache; import org.xmlpull.v1.XmlPullParser; @@ -62,7 +63,8 @@ import java.util.Optional; * Utility class to log launcher settings changes */ public class SettingsChangeLogger implements - DisplayController.DisplayInfoChangeListener, OnSharedPreferenceChangeListener { + DisplayController.DisplayInfoChangeListener, OnSharedPreferenceChangeListener, + SafeCloseable { /** * Singleton instance @@ -188,6 +190,12 @@ public class SettingsChangeLogger implements prefs.getBoolean(key, lp.defaultValue) ? lp.eventIdOn : lp.eventIdOff)); } + @Override + public void close() { + getPrefs(mContext).unregisterOnSharedPreferenceChangeListener(this); + getDevicePrefs(mContext).unregisterOnSharedPreferenceChangeListener(this); + } + private static class LoggablePref { public boolean defaultValue; public int eventIdOn; diff --git a/tests/src/com/android/launcher3/util/LauncherModelHelper.java b/tests/src/com/android/launcher3/util/LauncherModelHelper.java index bf31e39ccc..0a5a0e37f0 100644 --- a/tests/src/com/android/launcher3/util/LauncherModelHelper.java +++ b/tests/src/com/android/launcher3/util/LauncherModelHelper.java @@ -113,7 +113,7 @@ public class LauncherModelHelper { private final HashMap> mFieldCache = new HashMap<>(); private final MockContentResolver mMockResolver = new MockContentResolver(); public final TestLauncherProvider provider; - public final SanboxModelContext sandboxContext; + public final SandboxModelContext sandboxContext; public final long defaultProfileId; @@ -128,7 +128,7 @@ public class LauncherModelHelper { Settings.Global.getString(context.getContentResolver(), "test"); provider = new TestLauncherProvider(); - sandboxContext = new SanboxModelContext(); + sandboxContext = new SandboxModelContext(); defaultProfileId = UserCache.INSTANCE.get(sandboxContext) .getSerialNumberForUser(Process.myUserHandle()); setupProvider(LauncherProvider.AUTHORITY, provider); @@ -446,13 +446,13 @@ public class LauncherModelHelper { return success; } - public class SanboxModelContext extends SandboxContext { + public class SandboxModelContext extends SandboxContext { private final ArrayMap mSpiedServices = new ArrayMap<>(); private final PackageManager mPm; private final File mDbDir; - SanboxModelContext() { + SandboxModelContext() { super(ApplicationProvider.getApplicationContext(), UserCache.INSTANCE, InstallSessionHelper.INSTANCE, LauncherPrefs.INSTANCE, LauncherAppState.INSTANCE, InvariantDeviceProfile.INSTANCE, @@ -463,7 +463,7 @@ public class LauncherModelHelper { mDbDir = new File(getCacheDir(), UUID.randomUUID().toString()); } - public SanboxModelContext allow(MainThreadInitializedObject object) { + public SandboxModelContext allow(MainThreadInitializedObject object) { mAllowedObjects.add(object); return this; }