Loading quickstep/src/com/android/quickstep/dagger/QuickstepBaseAppComponent.java +0 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.quickstep.dagger; import com.android.launcher3.dagger.LauncherAppComponent; import com.android.launcher3.dagger.LauncherBaseAppComponent; import com.android.launcher3.model.WellbeingModel; import com.android.quickstep.logging.SettingsChangeLogger; import com.android.quickstep.util.AsyncClockEventDelegate; import com.android.quickstep.util.ContextualSearchHapticManager; Loading @@ -32,7 +31,6 @@ import com.android.quickstep.util.ContextualSearchHapticManager; * See {@link LauncherAppComponent} for the one actually used. */ public interface QuickstepBaseAppComponent extends LauncherBaseAppComponent { SettingsChangeLogger getSettingsChangeLogger(); WellbeingModel getWellbeingModel(); Loading quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java +14 −28 Original line number Diff line number Diff line Loading @@ -44,20 +44,16 @@ import androidx.annotation.VisibleForTesting; import com.android.launcher3.LauncherPrefs; import com.android.launcher3.R; import com.android.launcher3.dagger.ApplicationContext; import com.android.launcher3.dagger.LauncherAppSingleton; import com.android.launcher3.logging.InstanceId; import com.android.launcher3.logging.StatsLogManager; import com.android.launcher3.logging.StatsLogManager.StatsLogger; import com.android.launcher3.model.DeviceGridState; import com.android.launcher3.util.DaggerSingletonObject; import com.android.launcher3.util.DaggerSingletonTracker; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; import com.android.launcher3.util.ExecutorUtil; 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 com.android.quickstep.dagger.QuickstepBaseAppComponent; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; Loading @@ -65,12 +61,9 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.util.Optional; import javax.inject.Inject; /** * Utility class to log launcher settings changes */ @LauncherAppSingleton public class SettingsChangeLogger implements DisplayController.DisplayInfoChangeListener, OnSharedPreferenceChangeListener, SafeCloseable { Loading @@ -78,8 +71,8 @@ public class SettingsChangeLogger implements /** * Singleton instance */ public static DaggerSingletonObject<SettingsChangeLogger> INSTANCE = new DaggerSingletonObject<>(QuickstepBaseAppComponent::getSettingsChangeLogger); public static MainThreadInitializedObject<SettingsChangeLogger> INSTANCE = new MainThreadInitializedObject<>(SettingsChangeLogger::new); private static final String TAG = "SettingsChangeLogger"; private static final String BOOLEAN_PREF = "SwitchPreference"; Loading @@ -92,19 +85,16 @@ public class SettingsChangeLogger implements private StatsLogManager.LauncherEvent mNotificationDotsEvent; private StatsLogManager.LauncherEvent mHomeScreenSuggestionEvent; @Inject SettingsChangeLogger(@ApplicationContext Context context, DaggerSingletonTracker tracker) { this(context, StatsLogManager.newInstance(context), tracker); SettingsChangeLogger(@ApplicationContext Context context) { this(context, StatsLogManager.newInstance(context)); } @VisibleForTesting SettingsChangeLogger(Context context, StatsLogManager statsLogManager, DaggerSingletonTracker tracker) { SettingsChangeLogger(Context context, StatsLogManager statsLogManager) { mContext = context; mStatsLogManager = statsLogManager; mLoggablePrefs = loadPrefKeys(context); ExecutorUtil.executeSyncOnMainOrFail(() -> { DisplayController.INSTANCE.get(context).addChangeListener(this); mNavMode = DisplayController.getNavigationMode(context); Loading @@ -115,8 +105,6 @@ public class SettingsChangeLogger implements settingsCache.register(NOTIFICATION_BADGING_URI, this::onNotificationDotsChanged); onNotificationDotsChanged(settingsCache.getValue(NOTIFICATION_BADGING_URI)); tracker.addCloseable(this); }); } private static ArrayMap<String, LoggablePref> loadPrefKeys(Context context) { Loading Loading @@ -223,8 +211,6 @@ public class SettingsChangeLogger implements public void close() { getPrefs(mContext).unregisterOnSharedPreferenceChangeListener(this); getDevicePrefs(mContext).unregisterOnSharedPreferenceChangeListener(this); SettingsCache settingsCache = SettingsCache.INSTANCE.get(mContext); settingsCache.unregister(NOTIFICATION_BADGING_URI, this::onNotificationDotsChanged); } @VisibleForTesting Loading quickstep/tests/multivalentTests/src/com/android/quickstep/logging/SettingsChangeLoggerTest.kt +3 −5 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_NAVI import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_NOTIFICATION_DOT_ENABLED import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_THEMED_ICON_DISABLED import com.android.launcher3.states.RotationHelper.ALLOW_ROTATION_PREFERENCE_KEY import com.android.launcher3.util.DaggerSingletonTracker import com.google.common.truth.Truth.assertThat import org.junit.After import org.junit.Before Loading Loading @@ -63,7 +62,6 @@ class SettingsChangeLoggerTest { @Mock private lateinit var mMockLogger: StatsLogManager.StatsLogger @Captor private lateinit var mEventCaptor: ArgumentCaptor<StatsLogManager.EventEnum> @Mock private lateinit var mTracker: DaggerSingletonTracker private var mDefaultThemedIcons = false private var mDefaultAllowRotation = false Loading @@ -81,7 +79,7 @@ class SettingsChangeLoggerTest { // To match the default value of ALLOW_ROTATION LauncherPrefs.get(mContext).put(item = ALLOW_ROTATION, value = false) mSystemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager, mTracker) mSystemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager) } @After Loading @@ -92,7 +90,7 @@ class SettingsChangeLoggerTest { @Test fun loggingPrefs_correctDefaultValue() { val systemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager, mTracker) val systemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager) assertThat(systemUnderTest.loggingPrefs[ALLOW_ROTATION_PREFERENCE_KEY]!!.defaultValue) .isFalse() Loading @@ -119,7 +117,7 @@ class SettingsChangeLoggerTest { LauncherPrefs.get(mContext).put(item = ALLOW_ROTATION, value = true) // This a new object so the values of mLoggablePrefs will be different SettingsChangeLogger(mContext, mStatsLogManager, mTracker).logSnapshot(mInstanceId) SettingsChangeLogger(mContext, mStatsLogManager).logSnapshot(mInstanceId) verify(mMockLogger, atLeastOnce()).log(mEventCaptor.capture()) val capturedEvents = mEventCaptor.allValues Loading Loading
quickstep/src/com/android/quickstep/dagger/QuickstepBaseAppComponent.java +0 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.quickstep.dagger; import com.android.launcher3.dagger.LauncherAppComponent; import com.android.launcher3.dagger.LauncherBaseAppComponent; import com.android.launcher3.model.WellbeingModel; import com.android.quickstep.logging.SettingsChangeLogger; import com.android.quickstep.util.AsyncClockEventDelegate; import com.android.quickstep.util.ContextualSearchHapticManager; Loading @@ -32,7 +31,6 @@ import com.android.quickstep.util.ContextualSearchHapticManager; * See {@link LauncherAppComponent} for the one actually used. */ public interface QuickstepBaseAppComponent extends LauncherBaseAppComponent { SettingsChangeLogger getSettingsChangeLogger(); WellbeingModel getWellbeingModel(); Loading
quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java +14 −28 Original line number Diff line number Diff line Loading @@ -44,20 +44,16 @@ import androidx.annotation.VisibleForTesting; import com.android.launcher3.LauncherPrefs; import com.android.launcher3.R; import com.android.launcher3.dagger.ApplicationContext; import com.android.launcher3.dagger.LauncherAppSingleton; import com.android.launcher3.logging.InstanceId; import com.android.launcher3.logging.StatsLogManager; import com.android.launcher3.logging.StatsLogManager.StatsLogger; import com.android.launcher3.model.DeviceGridState; import com.android.launcher3.util.DaggerSingletonObject; import com.android.launcher3.util.DaggerSingletonTracker; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; import com.android.launcher3.util.ExecutorUtil; 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 com.android.quickstep.dagger.QuickstepBaseAppComponent; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; Loading @@ -65,12 +61,9 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.util.Optional; import javax.inject.Inject; /** * Utility class to log launcher settings changes */ @LauncherAppSingleton public class SettingsChangeLogger implements DisplayController.DisplayInfoChangeListener, OnSharedPreferenceChangeListener, SafeCloseable { Loading @@ -78,8 +71,8 @@ public class SettingsChangeLogger implements /** * Singleton instance */ public static DaggerSingletonObject<SettingsChangeLogger> INSTANCE = new DaggerSingletonObject<>(QuickstepBaseAppComponent::getSettingsChangeLogger); public static MainThreadInitializedObject<SettingsChangeLogger> INSTANCE = new MainThreadInitializedObject<>(SettingsChangeLogger::new); private static final String TAG = "SettingsChangeLogger"; private static final String BOOLEAN_PREF = "SwitchPreference"; Loading @@ -92,19 +85,16 @@ public class SettingsChangeLogger implements private StatsLogManager.LauncherEvent mNotificationDotsEvent; private StatsLogManager.LauncherEvent mHomeScreenSuggestionEvent; @Inject SettingsChangeLogger(@ApplicationContext Context context, DaggerSingletonTracker tracker) { this(context, StatsLogManager.newInstance(context), tracker); SettingsChangeLogger(@ApplicationContext Context context) { this(context, StatsLogManager.newInstance(context)); } @VisibleForTesting SettingsChangeLogger(Context context, StatsLogManager statsLogManager, DaggerSingletonTracker tracker) { SettingsChangeLogger(Context context, StatsLogManager statsLogManager) { mContext = context; mStatsLogManager = statsLogManager; mLoggablePrefs = loadPrefKeys(context); ExecutorUtil.executeSyncOnMainOrFail(() -> { DisplayController.INSTANCE.get(context).addChangeListener(this); mNavMode = DisplayController.getNavigationMode(context); Loading @@ -115,8 +105,6 @@ public class SettingsChangeLogger implements settingsCache.register(NOTIFICATION_BADGING_URI, this::onNotificationDotsChanged); onNotificationDotsChanged(settingsCache.getValue(NOTIFICATION_BADGING_URI)); tracker.addCloseable(this); }); } private static ArrayMap<String, LoggablePref> loadPrefKeys(Context context) { Loading Loading @@ -223,8 +211,6 @@ public class SettingsChangeLogger implements public void close() { getPrefs(mContext).unregisterOnSharedPreferenceChangeListener(this); getDevicePrefs(mContext).unregisterOnSharedPreferenceChangeListener(this); SettingsCache settingsCache = SettingsCache.INSTANCE.get(mContext); settingsCache.unregister(NOTIFICATION_BADGING_URI, this::onNotificationDotsChanged); } @VisibleForTesting Loading
quickstep/tests/multivalentTests/src/com/android/quickstep/logging/SettingsChangeLoggerTest.kt +3 −5 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_NAVI import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_NOTIFICATION_DOT_ENABLED import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_THEMED_ICON_DISABLED import com.android.launcher3.states.RotationHelper.ALLOW_ROTATION_PREFERENCE_KEY import com.android.launcher3.util.DaggerSingletonTracker import com.google.common.truth.Truth.assertThat import org.junit.After import org.junit.Before Loading Loading @@ -63,7 +62,6 @@ class SettingsChangeLoggerTest { @Mock private lateinit var mMockLogger: StatsLogManager.StatsLogger @Captor private lateinit var mEventCaptor: ArgumentCaptor<StatsLogManager.EventEnum> @Mock private lateinit var mTracker: DaggerSingletonTracker private var mDefaultThemedIcons = false private var mDefaultAllowRotation = false Loading @@ -81,7 +79,7 @@ class SettingsChangeLoggerTest { // To match the default value of ALLOW_ROTATION LauncherPrefs.get(mContext).put(item = ALLOW_ROTATION, value = false) mSystemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager, mTracker) mSystemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager) } @After Loading @@ -92,7 +90,7 @@ class SettingsChangeLoggerTest { @Test fun loggingPrefs_correctDefaultValue() { val systemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager, mTracker) val systemUnderTest = SettingsChangeLogger(mContext, mStatsLogManager) assertThat(systemUnderTest.loggingPrefs[ALLOW_ROTATION_PREFERENCE_KEY]!!.defaultValue) .isFalse() Loading @@ -119,7 +117,7 @@ class SettingsChangeLoggerTest { LauncherPrefs.get(mContext).put(item = ALLOW_ROTATION, value = true) // This a new object so the values of mLoggablePrefs will be different SettingsChangeLogger(mContext, mStatsLogManager, mTracker).logSnapshot(mInstanceId) SettingsChangeLogger(mContext, mStatsLogManager).logSnapshot(mInstanceId) verify(mMockLogger, atLeastOnce()).log(mEventCaptor.capture()) val capturedEvents = mEventCaptor.allValues Loading