Search in sources :

Example 91 with ComponentKey

use of com.android.launcher3.util.ComponentKey in project android_packages_apps_Trebuchet by LineageOS.

the class HotseatPredictionController method logLaunchedAppRankingInfo.

/**
 * Logs rank info based on current list of predicted items
 */
public void logLaunchedAppRankingInfo(@NonNull ItemInfo itemInfo, InstanceId instanceId) {
    if (Utilities.IS_DEBUG_DEVICE) {
        final String pkg = itemInfo.getTargetComponent() != null ? itemInfo.getTargetComponent().getPackageName() : "unknown";
        HotseatFileLog.INSTANCE.get(mLauncher).log("UserEvent", "appLaunch: packageName:" + pkg + ",isWorkApp:" + (itemInfo.user != null && !Process.myUserHandle().equals(itemInfo.user)) + ",launchLocation:" + itemInfo.container);
    }
    if (itemInfo.getTargetComponent() == null || itemInfo.user == null) {
        return;
    }
    final ComponentKey key = new ComponentKey(itemInfo.getTargetComponent(), itemInfo.user);
    final List<ComponentKeyMapper> predictedApps = new ArrayList<>(mComponentKeyMappers);
    OptionalInt rank = IntStream.range(0, predictedApps.size()).filter(index -> key.equals(predictedApps.get(index).getComponentKey())).findFirst();
    if (!rank.isPresent()) {
        return;
    }
    int cardinality = 0;
    for (PredictedAppIcon icon : getPredictedIcons()) {
        ItemInfo info = (ItemInfo) icon.getTag();
        cardinality |= 1 << info.screenId;
    }
    PredictedHotseatContainer.Builder containerBuilder = PredictedHotseatContainer.newBuilder();
    containerBuilder.setCardinality(cardinality);
    if (itemInfo.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT_PREDICTION) {
        containerBuilder.setIndex(rank.getAsInt());
    }
    mLauncher.getStatsLogManager().logger().withInstanceId(instanceId).withRank(rank.getAsInt()).withContainerInfo(ContainerInfo.newBuilder().setPredictedHotseatContainer(containerBuilder).build()).log(LAUNCHER_HOTSEAT_RANKED);
}
Also used : ComponentKeyMapper(com.android.launcher3.appprediction.ComponentKeyMapper) NonNull(androidx.annotation.NonNull) Animator(android.animation.Animator) LauncherSettings(com.android.launcher3.LauncherSettings) DynamicItemCache(com.android.launcher3.appprediction.DynamicItemCache) IconCache(com.android.launcher3.icons.IconCache) AppTarget(android.app.prediction.AppTarget) Process(android.os.Process) ShortcutKey(com.android.launcher3.shortcuts.ShortcutKey) LAUNCHER_HOTSEAT_RANKED(com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_HOTSEAT_RANKED) HotseatEduController.getSettingsIntent(com.android.launcher3.hybridhotseat.HotseatEduController.getSettingsIntent) FolderInfo(com.android.launcher3.model.data.FolderInfo) View(android.view.View) AnimationSuccessListener(com.android.launcher3.anim.AnimationSuccessListener) SCALE_PROPERTY(com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY) Log(android.util.Log) Utilities(com.android.launcher3.Utilities) AppPredictor(android.app.prediction.AppPredictor) QuickstepLauncher(com.android.launcher3.uioverrides.QuickstepLauncher) Launcher(com.android.launcher3.Launcher) ObjectAnimator(android.animation.ObjectAnimator) AppPredictionManager(android.app.prediction.AppPredictionManager) AllAppsStore(com.android.launcher3.allapps.AllAppsStore) PredictedAppIcon(com.android.launcher3.uioverrides.PredictedAppIcon) ViewGroup(android.view.ViewGroup) DragOptions(com.android.launcher3.dragndrop.DragOptions) HapticFeedbackConstants(android.view.HapticFeedbackConstants) List(java.util.List) Nullable(androidx.annotation.Nullable) AppPredictionContext(android.app.prediction.AppPredictionContext) NORMAL(com.android.launcher3.LauncherState.NORMAL) LauncherLogProto(com.android.launcher3.userevent.nano.LauncherLogProto) IntStream(java.util.stream.IntStream) AppInfo(com.android.launcher3.model.data.AppInfo) ContainerInfo(com.android.launcher3.logger.LauncherAtom.ContainerInfo) ItemInfo(com.android.launcher3.model.data.ItemInfo) Snackbar(com.android.launcher3.views.Snackbar) OptionalInt(java.util.OptionalInt) ArrayList(java.util.ArrayList) ItemLongClickListener(com.android.launcher3.touch.ItemLongClickListener) PredictedHotseatContainer(com.android.launcher3.logger.LauncherAtom.PredictedHotseatContainer) AppTargetEvent(android.app.prediction.AppTargetEvent) WorkspaceItemInfo(com.android.launcher3.model.data.WorkspaceItemInfo) AnimatorSet(android.animation.AnimatorSet) DragSource(com.android.launcher3.DragSource) WeakReference(java.lang.ref.WeakReference) SystemShortcut(com.android.launcher3.popup.SystemShortcut) CHANGE_FLAG_GRID(com.android.launcher3.InvariantDeviceProfile.CHANGE_FLAG_GRID) IntArray(com.android.launcher3.util.IntArray) InstanceId(com.android.launcher3.logging.InstanceId) ArrowTipView(com.android.launcher3.views.ArrowTipView) ComponentName(android.content.ComponentName) DropTarget(com.android.launcher3.DropTarget) LauncherAppState(com.android.launcher3.LauncherAppState) DragController(com.android.launcher3.dragndrop.DragController) OnboardingPrefs(com.android.launcher3.util.OnboardingPrefs) Hotseat(com.android.launcher3.Hotseat) InvariantDeviceProfile(com.android.launcher3.InvariantDeviceProfile) R(com.android.launcher3.R) ComponentKey(com.android.launcher3.util.ComponentKey) Collections(java.util.Collections) ItemInfoWithIcon(com.android.launcher3.model.data.ItemInfoWithIcon) PredictedHotseatContainer(com.android.launcher3.logger.LauncherAtom.PredictedHotseatContainer) ItemInfo(com.android.launcher3.model.data.ItemInfo) WorkspaceItemInfo(com.android.launcher3.model.data.WorkspaceItemInfo) PredictedAppIcon(com.android.launcher3.uioverrides.PredictedAppIcon) ComponentKey(com.android.launcher3.util.ComponentKey) ArrayList(java.util.ArrayList) OptionalInt(java.util.OptionalInt) ComponentKeyMapper(com.android.launcher3.appprediction.ComponentKeyMapper)

Example 92 with ComponentKey

use of com.android.launcher3.util.ComponentKey in project android_packages_apps_Trebuchet by LineageOS.

the class PredictionModel method getComponentKeyFromSerializedString.

private ComponentKey getComponentKeyFromSerializedString(String str) {
    int sep = str.indexOf('#');
    if (sep < 0 || (sep + 1) >= str.length()) {
        return null;
    }
    ComponentName componentName = ComponentName.unflattenFromString(str.substring(0, sep));
    if (componentName == null) {
        return null;
    }
    try {
        long serialNumber = Long.parseLong(str.substring(sep + 1));
        UserHandle userHandle = mUserCache.getUserForSerialNumber(serialNumber);
        return userHandle != null ? new ComponentKey(componentName, userHandle) : null;
    } catch (NumberFormatException ex) {
        return null;
    }
}
Also used : UserHandle(android.os.UserHandle) ComponentKey(com.android.launcher3.util.ComponentKey) ComponentName(android.content.ComponentName)

Example 93 with ComponentKey

use of com.android.launcher3.util.ComponentKey in project android_packages_apps_Trebuchet by LineageOS.

the class PredictionModel method getPredictionComponentKeys.

/**
 * parses and returns ComponentKeys saved by
 * {@link PredictionModel#cachePredictionComponentKeys(List)}
 */
@WorkerThread
public List<ComponentKey> getPredictionComponentKeys() {
    Preconditions.assertWorkerThread();
    ArrayList<ComponentKey> items = new ArrayList<>();
    String cachedBlob = mDevicePrefs.getString(CACHED_ITEMS_KEY, "");
    for (String line : cachedBlob.split("\n")) {
        ComponentKey key = getComponentKeyFromSerializedString(line);
        if (key != null) {
            items.add(key);
        }
    }
    return items;
}
Also used : ComponentKey(com.android.launcher3.util.ComponentKey) ArrayList(java.util.ArrayList) WorkerThread(androidx.annotation.WorkerThread)

Example 94 with ComponentKey

use of com.android.launcher3.util.ComponentKey in project android_packages_apps_Trebuchet by LineageOS.

the class UserEventDispatcher method logTaskLaunchOrDismiss.

@Deprecated
public void logTaskLaunchOrDismiss(int action, int direction, int taskIndex, ComponentKey componentKey) {
    LauncherEvent event = newLauncherEvent(// TAP or SWIPE or FLING
    newTouchAction(action), newTarget(Target.Type.ITEM));
    if (action == Action.Touch.SWIPE || action == Action.Touch.FLING) {
        // Direction DOWN means the task was launched, UP means it was dismissed.
        event.action.dir = direction;
    }
    event.srcTarget[0].itemType = ItemType.TASK;
    event.srcTarget[0].pageIndex = taskIndex;
    fillComponentInfo(event.srcTarget[0], componentKey.componentName);
    dispatchUserEvent(event, null);
    mAppOrTaskLaunch = true;
}
Also used : LauncherEvent(com.android.launcher3.userevent.nano.LauncherLogProto.LauncherEvent) LoggerUtils.newLauncherEvent(com.android.launcher3.logging.LoggerUtils.newLauncherEvent)

Example 95 with ComponentKey

use of com.android.launcher3.util.ComponentKey in project android_packages_apps_Trebuchet by LineageOS.

the class PinnedAppsAdapter method update.

private void update(ItemInfo info, Function<ComponentKey, Boolean> op) {
    ComponentKey key = new ComponentKey(info.getTargetComponent(), info.user);
    if (op.apply(key)) {
        createFilteredAppsList();
        Set<ComponentKey> copy = new HashSet<>(mPinnedApps);
        Executors.MODEL_EXECUTOR.submit(() -> mPrefs.edit().putStringSet(PINNED_APPS_KEY, copy.stream().map(this::encode).collect(Collectors.toSet())).apply());
    }
}
Also used : ComponentKey(com.android.launcher3.util.ComponentKey) HashSet(java.util.HashSet)

Aggregations

ComponentKey (com.android.launcher3.util.ComponentKey)98 ComponentName (android.content.ComponentName)40 WorkspaceItemInfo (com.android.launcher3.model.data.WorkspaceItemInfo)26 ArrayList (java.util.ArrayList)26 ShortcutInfo (android.content.pm.ShortcutInfo)21 UserHandle (android.os.UserHandle)20 HashMap (java.util.HashMap)19 ShortcutKey (com.android.launcher3.shortcuts.ShortcutKey)17 PackageUserKey (com.android.launcher3.util.PackageUserKey)17 Intent (android.content.Intent)16 HashSet (java.util.HashSet)16 Context (android.content.Context)15 ItemInfo (com.android.launcher3.model.data.ItemInfo)14 List (java.util.List)13 AppWidgetProviderInfo (android.appwidget.AppWidgetProviderInfo)12 LauncherAppWidgetInfo (com.android.launcher3.model.data.LauncherAppWidgetInfo)11 AppTarget (android.app.prediction.AppTarget)10 FixedContainerItems (com.android.launcher3.model.BgDataModel.FixedContainerItems)10 ShortcutRequest (com.android.launcher3.shortcuts.ShortcutRequest)10 QueryResult (com.android.launcher3.shortcuts.ShortcutRequest.QueryResult)10