Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5beb2498 authored by Holly Jiuyu Sun's avatar Holly Jiuyu Sun Committed by Android (Google) Code Review
Browse files

Merge "[PS] Do not use AppInfo and use PrivateSpaceInstallAppButtonInfo instead." into main

parents e9ebd2d7 20c30c9c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -138,6 +138,11 @@ public class LauncherSettings {
         */
        public static final int ITEM_TYPE_SEARCH_ACTION = 9;

        /**
         * Private space install app button.
         */
        public static final int ITEM_TYPE_PRIVATE_SPACE_INSTALL_APP_BUTTON = 11;

        /**
         * The custom icon bitmap.
         * <P>Type: BLOB</P>
@@ -206,6 +211,8 @@ public class LauncherSettings {
                case ITEM_TYPE_TASK: return "TASK";
                case ITEM_TYPE_QSB: return "QSB";
                case ITEM_TYPE_APP_PAIR: return "APP_PAIR";
                case ITEM_TYPE_PRIVATE_SPACE_INSTALL_APP_BUTTON:
                    return "PRIVATE_SPACE_INSTALL_APP_BUTTON";
                default: return String.valueOf(type);
            }
        }
+3 −3
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_PRIVATE
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_NOT_PINNABLE;
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;
@@ -41,6 +40,7 @@ import com.android.launcher3.icons.BitmapInfo;
import com.android.launcher3.icons.LauncherIcons;
import com.android.launcher3.logging.StatsLogManager;
import com.android.launcher3.model.data.AppInfo;
import com.android.launcher3.model.data.PrivateSpaceInstallAppButtonInfo;
import com.android.launcher3.pm.UserCache;
import com.android.launcher3.uioverrides.ApiWrapper;
import com.android.launcher3.util.Preconditions;
@@ -99,13 +99,13 @@ public class PrivateProfileManager extends UserProfileManager {
                context, com.android.launcher3.R.drawable.private_space_install_app_icon);
        BitmapInfo bitmapInfo = LauncherIcons.obtain(context).createIconBitmap(shortcut);

        AppInfo itemInfo = new AppInfo();
        PrivateSpaceInstallAppButtonInfo itemInfo = new PrivateSpaceInstallAppButtonInfo();
        itemInfo.title = context.getResources().getString(R.string.ps_add_button_label);
        itemInfo.intent = mAppInstallerIntent;
        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 | FLAG_NOT_PINNABLE;
        itemInfo.runtimeStatusFlags |= FLAG_NOT_PINNABLE;

        BaseAllAppsAdapter.AdapterItem item = new BaseAllAppsAdapter.AdapterItem(VIEW_TYPE_ICON);
        item.itemInfo = itemInfo;
+4 −0
Original line number Diff line number Diff line
@@ -94,6 +94,10 @@ public class ItemInfo {
     * {@link Favorites#ITEM_TYPE_APP_PAIR},
     * {@link Favorites#ITEM_TYPE_APPWIDGET} or
     * {@link Favorites#ITEM_TYPE_CUSTOM_APPWIDGET}.
     * {@link Favorites#ITEM_TYPE_TASK}.
     * {@link Favorites#ITEM_TYPE_QSB}.
     * {@link Favorites#ITEM_TYPE_SEARCH_ACTION}.
     * {@link Favorites#ITEM_TYPE_PRIVATE_SPACE_INSTALL_APP_BUTTON}.
     */
    public int itemType;

+0 −5
Original line number Diff line number Diff line
@@ -120,11 +120,6 @@ 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.
+29 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.launcher3.model.data;

import com.android.launcher3.LauncherSettings;

/**
 * Represents the Private Space Install App button in AllAppsView.
 */
public class PrivateSpaceInstallAppButtonInfo extends AppInfo {

    public PrivateSpaceInstallAppButtonInfo() {
        itemType = LauncherSettings.Favorites.ITEM_TYPE_PRIVATE_SPACE_INSTALL_APP_BUTTON;
    }
}
Loading