Replace ENABLE_LAUNCHER_BR_METRICS flags with fixed aconfig flag.
This is necessary because the value of the read-write flag will not be updated in time for backup/restore.
Bug: 307527314
Test: compiles
Flag: ACONFIG ENABLE_LAUNCHER_BR_METRICS_FIXED TEAMFOOD
Change-Id: I67a1a820734d8881b3ed5be4a1f2f1556e6e4704
diff --git a/aconfig/launcher.aconfig b/aconfig/launcher.aconfig
index f5afd88..3166d82 100644
--- a/aconfig/launcher.aconfig
+++ b/aconfig/launcher.aconfig
@@ -71,13 +71,6 @@
}
flag {
- name: "enable_launcher_br_metrics"
- namespace: "launcher"
- description: "Enables logging of Launcher restore metrics to the Backup & Restore team"
- bug: "307527314"
-}
-
-flag {
name: "enable_unfolded_two_pane_picker"
namespace: "launcher"
description: "Enables two pane widget picker for unfolded foldables"
@@ -104,3 +97,11 @@
description: "Enables long-press shortcut to install a copy of an app to Private space"
bug: "316118005"
}
+
+flag {
+ name: "enable_launcher_br_metrics_fixed"
+ namespace: "launcher"
+ description: "Enables logging of Launcher restore metrics to the Backup & Restore team"
+ bug: "307527314"
+ is_fixed_read_only: true
+}
diff --git a/quickstep/src/com/android/quickstep/LauncherRestoreEventLoggerImpl.kt b/quickstep/src/com/android/quickstep/LauncherRestoreEventLoggerImpl.kt
index 0913fca..27bd03d 100644
--- a/quickstep/src/com/android/quickstep/LauncherRestoreEventLoggerImpl.kt
+++ b/quickstep/src/com/android/quickstep/LauncherRestoreEventLoggerImpl.kt
@@ -5,10 +5,9 @@
import android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType
import android.app.backup.BackupRestoreEventLogger.BackupRestoreError
import android.content.Context
-import com.android.launcher3.Flags.enableLauncherBrMetrics
+import com.android.launcher3.Flags.enableLauncherBrMetricsFixed
import com.android.launcher3.LauncherSettings.Favorites
import com.android.launcher3.backuprestore.LauncherRestoreEventLogger
-import com.android.launcher3.config.FeatureFlags.ENABLE_LAUNCHER_BR_METRICS
/**
* Concrete implementation for wrapper to log Restore event metrics for both success and failure to
@@ -45,7 +44,7 @@
count: Int,
@BackupRestoreError error: String?
) {
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
restoreEventLogger.logItemsRestoreFailed(dataType, count, error)
}
}
@@ -57,7 +56,7 @@
* @param count the number of data items restored.
*/
override fun logLauncherItemsRestored(@BackupRestoreDataType dataType: String, count: Int) {
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
restoreEventLogger.logItemsRestored(dataType, count)
}
}
@@ -68,7 +67,7 @@
* @param favoritesId The id of the item type from [Favorites] that was restored.
*/
override fun logSingleFavoritesItemRestored(favoritesId: Int) {
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
restoreEventLogger.logItemsRestored(favoritesIdToDataType(favoritesId), 1)
}
}
@@ -80,7 +79,7 @@
* @param count number of items that restored.
*/
override fun logFavoritesItemsRestored(favoritesId: Int, count: Int) {
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
restoreEventLogger.logItemsRestored(favoritesIdToDataType(favoritesId), count)
}
}
@@ -95,7 +94,7 @@
favoritesId: Int,
@BackupRestoreError error: String?
) {
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
restoreEventLogger.logItemsRestoreFailed(favoritesIdToDataType(favoritesId), 1, error)
}
}
@@ -112,7 +111,7 @@
count: Int,
@BackupRestoreError error: String?
) {
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
restoreEventLogger.logItemsRestoreFailed(
favoritesIdToDataType(favoritesId),
count,
@@ -126,7 +125,7 @@
* done restoring items for Launcher.
*/
override fun reportLauncherRestoreResults() {
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
BackupManager(context).reportDelayedRestoreResult(restoreEventLogger)
}
}
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index 61e853e..2fe3a40 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -167,8 +167,6 @@
"Enable the ability to generate monochromatic icons, if it is not provided by the app");
// TODO(Block 8): Clean up flags
- public static final BooleanFlag ENABLE_LAUNCHER_BR_METRICS = getDebugFlag(305984208,
- "ENABLE_LAUNCHER_BR_METRICS", TEAMFOOD, "Enable metrics for Launcher restore");
// TODO(Block 9): Clean up flags
public static final BooleanFlag MULTI_SELECT_EDIT_MODE = getDebugFlag(270709220,
diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java
index 7b9f6fa..92bb7a0 100644
--- a/src/com/android/launcher3/model/LoaderTask.java
+++ b/src/com/android/launcher3/model/LoaderTask.java
@@ -18,7 +18,7 @@
import static com.android.launcher3.BuildConfig.WIDGET_ON_FIRST_SCREEN;
import static com.android.launcher3.Flags.enableSupportForArchiving;
-import static com.android.launcher3.Flags.enableLauncherBrMetrics;
+import static com.android.launcher3.Flags.enableLauncherBrMetricsFixed;
import static com.android.launcher3.LauncherPrefs.IS_FIRST_LOAD_AFTER_RESTORE;
import static com.android.launcher3.LauncherPrefs.SHOULD_SHOW_SMARTSPACE;
import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR;
@@ -234,7 +234,7 @@
mIsRestoreFromBackup =
(Boolean) LauncherPrefs.get(mApp.getContext()).get(IS_FIRST_LOAD_AFTER_RESTORE);
LauncherRestoreEventLogger restoreEventLogger = null;
- if (enableLauncherBrMetrics()) {
+ if (enableLauncherBrMetricsFixed()) {
restoreEventLogger = LauncherRestoreEventLogger.Companion
.newInstance(mApp.getContext());
}
diff --git a/src/com/android/launcher3/provider/RestoreDbTask.java b/src/com/android/launcher3/provider/RestoreDbTask.java
index a969c8f..9750d25 100644
--- a/src/com/android/launcher3/provider/RestoreDbTask.java
+++ b/src/com/android/launcher3/provider/RestoreDbTask.java
@@ -18,7 +18,7 @@
import static android.os.Process.myUserHandle;
-import static com.android.launcher3.Flags.enableLauncherBrMetrics;
+import static com.android.launcher3.Flags.enableLauncherBrMetricsFixed;
import static com.android.launcher3.InvariantDeviceProfile.TYPE_MULTI_DISPLAY;
import static com.android.launcher3.LauncherPrefs.APP_WIDGET_IDS;
import static com.android.launcher3.LauncherPrefs.IS_FIRST_LOAD_AFTER_RESTORE;
@@ -30,7 +30,6 @@
import static com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RESTORE_ERROR_PROFILE_NOT_RESTORED;
import static com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RESTORE_ERROR_WIDGETS_DISABLED;
import static com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RESTORE_ERROR_WIDGET_REMOVED;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_LAUNCHER_BR_METRICS;
import static com.android.launcher3.provider.LauncherDbUtils.dropTable;
import static com.android.launcher3.widget.LauncherWidgetHolder.APPWIDGET_HOST_ID;
@@ -199,7 +198,7 @@
Arrays.fill(args, "?");
final String where = "profileId NOT IN (" + TextUtils.join(", ", Arrays.asList(args)) + ")";
logFavoritesTable(db, "items to delete from unrestored profiles:", where, profileIds);
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
reportUnrestoredProfiles(db, where, profileIds, restoreEventLogger);
}
int itemsDeletedCount = db.delete(Favorites.TABLE_NAME, where, profileIds);
@@ -361,7 +360,7 @@
DeviceGridState deviceGridState = new DeviceGridState(context);
FileLog.d(TAG, "restore initiated from backup: DeviceGridState=" + deviceGridState);
LauncherPrefs.get(context).putSync(RESTORE_DEVICE.to(deviceGridState.getDeviceType()));
- if (enableLauncherBrMetrics() || ENABLE_LAUNCHER_BR_METRICS.get()) {
+ if (enableLauncherBrMetricsFixed()) {
LauncherPrefs.get(context).putSync(IS_FIRST_LOAD_AFTER_RESTORE.to(true));
}
}