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

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

Merge "[a11y] Fix crash when using talkback to add to home screen." into udc-qpr-dev

parents 720d0cf4 35b9960b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import android.content.IntentSender.SendIntentException;
import android.os.Bundle;
import android.util.Log;

import com.android.launcher3.util.StartActivityParams;

public class ProxyActivityStarter extends Activity {

    private static final String TAG = "ProxyActivityStarter";
+1 −1
Original line number Diff line number Diff line
@@ -120,7 +120,6 @@ import com.android.launcher3.model.WellbeingModel;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.popup.SystemShortcut;
import com.android.launcher3.proxy.ProxyActivityStarter;
import com.android.launcher3.proxy.StartActivityParams;
import com.android.launcher3.statehandlers.DepthController;
import com.android.launcher3.statehandlers.DesktopVisibilityController;
import com.android.launcher3.statemanager.StateManager.AtomicAnimationFactory;
@@ -152,6 +151,7 @@ import com.android.launcher3.util.RunnableList;
import com.android.launcher3.util.SplitConfigurationOptions;
import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption;
import com.android.launcher3.util.SplitConfigurationOptions.SplitSelectSource;
import com.android.launcher3.util.StartActivityParams;
import com.android.launcher3.util.TouchController;
import com.android.launcher3.widget.LauncherWidgetHolder;
import com.android.quickstep.OverviewCommandHelper;
+5 −12
Original line number Diff line number Diff line
@@ -1407,8 +1407,7 @@ public class Launcher extends StatefulActivity<LauncherState>
     */
    protected void completeAddShortcut(Intent data, int container, int screenId, int cellX,
            int cellY, PendingRequestArgs args) {
        if (args.getRequestCode() != REQUEST_CREATE_SHORTCUT
                || args.getPendingIntent().getComponent() == null) {
        if (args.getRequestCode() != REQUEST_CREATE_SHORTCUT) {
            return;
        }

@@ -1916,16 +1915,10 @@ public class Launcher extends StatefulActivity<LauncherState>
        info.spanX = spanX;
        info.spanY = spanY;

        switch (info.itemType) {
            case LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET:
            case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
        if (info instanceof PendingAddWidgetInfo) {
            addAppWidgetFromDrop((PendingAddWidgetInfo) info);
                break;
            case LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT:
        } else { // info can only be PendingAddShortcutInfo
            processShortcutFromDrop((PendingAddShortcutInfo) info);
                break;
            default:
                throw new IllegalStateException("Unknown item type: " + info.itemType);
        }
    }

+9 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.launcher3.dragndrop;

import static android.content.pm.LauncherApps.EXTRA_PIN_ITEM_REQUEST;

import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
import static com.android.launcher3.LauncherState.EDIT_MODE;
import static com.android.launcher3.LauncherState.SPRING_LOADED;
@@ -25,6 +27,7 @@ import android.annotation.TargetApi;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.LauncherApps;
import android.content.pm.LauncherApps.PinItemRequest;
import android.content.pm.PackageManager;
@@ -41,6 +44,7 @@ import com.android.launcher3.icons.IconCache;
import com.android.launcher3.model.data.WorkspaceItemInfo;
import com.android.launcher3.pm.PinRequestHelper;
import com.android.launcher3.pm.ShortcutConfigActivityInfo;
import com.android.launcher3.util.StartActivityParams;

import java.util.function.Supplier;

@@ -105,7 +109,11 @@ public class PinShortcutRequestActivityInfo extends ShortcutConfigActivityInfo {

    @Override
    public boolean startConfigActivity(Activity activity, int requestCode) {
        return false;
        new StartActivityParams(activity, requestCode).deliverResult(
                activity,
                Activity.RESULT_OK,
                new Intent().putExtra(EXTRA_PIN_ITEM_REQUEST, mRequestSupplier.get()));
        return true;
    }

    @Override
+6 −2
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.launcher3.proxy;
package com.android.launcher3.util;

import static android.app.PendingIntent.FLAG_MUTABLE;
import static android.app.PendingIntent.FLAG_ONE_SHOT;
@@ -34,6 +34,9 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.util.Log;

/**
 * Wrapper class for parameters to start an activity.
 */
public class StartActivityParams implements Parcelable {

    private static final String TAG = "StartActivityParams";
@@ -93,6 +96,7 @@ public class StartActivityParams implements Parcelable {
        parcel.writeBundle(options);
    }

    /** Perform the operation on the pendingIntent. */
    public void deliverResult(Context context, int resultCode, Intent data) {
        ActivityOptions options = allowBGLaunch(ActivityOptions.makeBasic());
        try {
@@ -105,7 +109,7 @@ public class StartActivityParams implements Parcelable {
    }

    public static final Parcelable.Creator<StartActivityParams> CREATOR =
            new Parcelable.Creator<StartActivityParams>() {
            new Parcelable.Creator<>() {
                public StartActivityParams createFromParcel(Parcel source) {
                    return new StartActivityParams(source);
                }