diff --git a/src/com/android/launcher3/allapps/PrivateProfileManager.java b/src/com/android/launcher3/allapps/PrivateProfileManager.java index aee511cad7..1c46dac83b 100644 --- a/src/com/android/launcher3/allapps/PrivateProfileManager.java +++ b/src/com/android/launcher3/allapps/PrivateProfileManager.java @@ -21,6 +21,7 @@ import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_ICON; import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_PRIVATE_SPACE_HEADER; import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_NOTHING; import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED; +import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_PRIVATE_SPACE_INSTALL_APP; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.launcher3.util.SettingsCache.PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI; @@ -105,6 +106,7 @@ public class PrivateProfileManager extends UserProfileManager { itemInfo.bitmap = bitmapInfo; itemInfo.contentDescription = context.getResources().getString( com.android.launcher3.R.string.ps_add_button_content_description); + itemInfo.runtimeStatusFlags |= FLAG_PRIVATE_SPACE_INSTALL_APP; BaseAllAppsAdapter.AdapterItem item = new BaseAllAppsAdapter.AdapterItem(VIEW_TYPE_ICON); item.itemInfo = itemInfo; diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java index 7cc33cfc33..e45e59c577 100644 --- a/src/com/android/launcher3/logging/StatsLogManager.java +++ b/src/com/android/launcher3/logging/StatsLogManager.java @@ -704,6 +704,9 @@ public class StatsLogManager implements ResourceBasedOverride { @UiEvent(doc = "User tapped on install to private space system shortcut.") LAUNCHER_PRIVATE_SPACE_INSTALL_SYSTEM_SHORTCUT_TAP(1565), + @UiEvent(doc = "User tapped private space install app button.") + LAUNCHER_PRIVATE_SPACE_INSTALL_APP_BUTTON_TAP(1605), + @UiEvent(doc = "User attempted to create split screen with a widget") LAUNCHER_SPLIT_WIDGET_ATTEMPT(1604) diff --git a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java index 58b12b17d8..c8ab09ca6a 100644 --- a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java +++ b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java @@ -121,6 +121,11 @@ public abstract class ItemInfoWithIcon extends ItemInfo { */ public static final int FLAG_ARCHIVED = 1 << 14; + /** + * Flag indicating it's the Private Space Install App icon. + */ + public static final int FLAG_PRIVATE_SPACE_INSTALL_APP = 1 << 15; + /** * Status associated with the system state of the underlying item. This is calculated every * time a new info is created and not persisted on the disk. diff --git a/src/com/android/launcher3/touch/ItemClickHandler.java b/src/com/android/launcher3/touch/ItemClickHandler.java index ff8b381779..369008db9c 100644 --- a/src/com/android/launcher3/touch/ItemClickHandler.java +++ b/src/com/android/launcher3/touch/ItemClickHandler.java @@ -19,6 +19,7 @@ import static com.android.launcher3.Flags.enableSupportForArchiving; import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_BIND_PENDING_APPWIDGET; import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_RECONFIGURE_APPWIDGET; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN; +import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_PRIVATE_SPACE_INSTALL_APP_BUTTON_TAP; import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_BY_PUBLISHER; import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_LOCKED_USER; import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_QUIET_USER; @@ -352,6 +353,12 @@ public class ItemClickHandler { appInfo.getTargetComponent().getPackageName(), Process.myUserHandle()); } else { intent = item.getIntent(); + if (item instanceof AppInfo + && (((ItemInfoWithIcon) item).runtimeStatusFlags + & ItemInfoWithIcon.FLAG_PRIVATE_SPACE_INSTALL_APP) != 0) { + launcher.getStatsLogManager().logger().log( + LAUNCHER_PRIVATE_SPACE_INSTALL_APP_BUTTON_TAP); + } } if (intent == null) { throw new IllegalArgumentException("Input must have a valid intent");