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

Commit 0c7b01a6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add support for work profile promise icons." into ub-launcher3-qt-future-dev

parents f13109df 7c76a332
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -133,7 +133,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver {

            String pkg = getIntentPackage(info.launchIntent);
            if (!TextUtils.isEmpty(pkg)
                    && !launcherApps.isPackageEnabledForProfile(pkg, info.user)) {
                    && !launcherApps.isPackageEnabledForProfile(pkg, info.user)
                    && !info.isActivity) {
                if (DBG) {
                    Log.d(TAG, "Ignoring shortcut for absent package: " + info.launchIntent);
                }
@@ -454,6 +455,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
                    .object()
                    .key(LAUNCH_INTENT_KEY).value(launchIntent.toUri(0))
                    .key(NAME_KEY).value(name)
                    .key(USER_HANDLE_KEY).value(
                            UserManagerCompat.getInstance(mContext).getSerialNumberForUser(user))
                    .key(APP_SHORTCUT_TYPE_KEY).value(isActivity);
                if (icon != null) {
                    byte[] iconByteArray = GraphicsUtils.flattenBitmap(icon);
@@ -475,7 +478,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver {

        public Pair<ItemInfo, Object> getItemInfo() {
            if (isActivity) {
                WorkspaceItemInfo si = createWorkspaceItemInfo(data,
                WorkspaceItemInfo si = createWorkspaceItemInfo(data, user,
                        LauncherAppState.getInstance(mContext));
                si.itemType = LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
                si.status |= WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON;
@@ -500,7 +503,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
                return Pair.create(widgetInfo, providerInfo);
            } else {
                WorkspaceItemInfo itemInfo =
                        createWorkspaceItemInfo(data, LauncherAppState.getInstance(mContext));
                        createWorkspaceItemInfo(data, user, LauncherAppState.getInstance(mContext));
                return Pair.create(itemInfo, null);
            }
        }
@@ -618,7 +621,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
        return new PendingInstallShortcutInfo(info, original.mContext);
    }

    private static WorkspaceItemInfo createWorkspaceItemInfo(Intent data, LauncherAppState app) {
    private static WorkspaceItemInfo createWorkspaceItemInfo(Intent data, UserHandle user,
            LauncherAppState app) {
        if (data == null) {
            Log.e(TAG, "Can't construct WorkspaceItemInfo with null data");
            return null;
@@ -635,10 +639,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
        }

        final WorkspaceItemInfo info = new WorkspaceItemInfo();

        // Only support intents for current user for now. Intents sent from other
        // users wouldn't get here without intent forwarding anyway.
        info.user = Process.myUserHandle();
        info.user = user;

        BitmapInfo iconInfo = null;
        LauncherIcons li = LauncherIcons.obtain(app.getContext());
+2 −2
Original line number Diff line number Diff line
@@ -134,11 +134,11 @@ public class LauncherModel extends BroadcastReceiver
    /**
     * Updates the icons and label of all pending icons for the provided package name.
     */
    public void updateSessionDisplayInfo(final String packageName) {
    public void updateSessionDisplayInfo(final String packageName, final UserHandle user) {
        HashSet<String> packages = new HashSet<>();
        packages.add(packageName);
        enqueueModelUpdateTask(new CacheDataUpdatedTask(
                CacheDataUpdatedTask.OP_SESSION_UPDATE, Process.myUserHandle(), packages));
                CacheDataUpdatedTask.OP_SESSION_UPDATE, user, packages));
    }

    /**
+6 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.LauncherActivityInfo;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageInstaller.SessionCallback;
import android.content.pm.ShortcutInfo;
import android.graphics.Rect;
import android.os.Bundle;
@@ -30,6 +31,7 @@ import android.os.UserHandle;
import androidx.annotation.Nullable;

import com.android.launcher3.Utilities;
import com.android.launcher3.util.LooperExecutor;
import com.android.launcher3.util.PackageUserKey;

import java.util.List;
@@ -90,4 +92,8 @@ public abstract class LauncherAppsCompat {
            @Nullable PackageUserKey packageUser);

    public abstract List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions();

    public abstract void registerSessionCallback(LooperExecutor executor,
                                                 SessionCallback sessionCallback);
    public abstract void unregisterSessionCallback(SessionCallback sessionCallback);
}
+14 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.LauncherActivityInfo;
import android.content.pm.LauncherApps;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageInstaller.SessionCallback;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ShortcutInfo;
@@ -35,6 +36,7 @@ import android.util.Log;

import com.android.launcher3.compat.ShortcutConfigActivityInfo.ShortcutConfigActivityInfoVL;
import com.android.launcher3.testing.TestProtocol;
import com.android.launcher3.util.LooperExecutor;
import com.android.launcher3.util.PackageUserKey;

import java.util.ArrayList;
@@ -212,5 +214,17 @@ public class LauncherAppsCompatVL extends LauncherAppsCompat {
    public List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions() {
        return mContext.getPackageManager().getPackageInstaller().getAllSessions();
    }

    @Override
    public void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback) {
        mContext.getPackageManager().getPackageInstaller().registerSessionCallback(sessionCallback,
                executor.getHandler());
    }

    @Override
    public void unregisterSessionCallback(SessionCallback sessionCallback) {
        mContext.getPackageManager().getPackageInstaller()
                .unregisterSessionCallback(sessionCallback);
    }
}
+13 −1
Original line number Diff line number Diff line
@@ -18,8 +18,10 @@ package com.android.launcher3.compat;

import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageInstaller.SessionCallback;

import com.android.launcher3.util.LooperExecutor;

import java.util.List;

@@ -33,4 +35,14 @@ public class LauncherAppsCompatVQ extends LauncherAppsCompatVO {
    public List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions() {
        return mLauncherApps.getAllPackageInstallerSessions();
    }

    @Override
    public void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback) {
        mLauncherApps.registerPackageInstallerSessionCallback(executor, sessionCallback);
    }

    @Override
    public void unregisterSessionCallback(SessionCallback sessionCallback) {
        mLauncherApps.unregisterPackageInstallerSessionCallback(sessionCallback);
    }
}
Loading