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

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

Merge changes Ica566fec,Ib2e8e756

* changes:
  Invoke GlobalActions Plugin#onDismissed() from #dismissImmediately()
  Dismiss keyguard from GlobalActionsPanelPlugin
parents b962f463 2d206d36
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.plugins;

import android.app.PendingIntent;
import android.view.View;

import com.android.systemui.plugins.annotations.DependsOn;
@@ -62,6 +63,15 @@ public interface GlobalActionsPanelPlugin extends Plugin {

        /** Dismisses the Global Actions menu. */
        void dismissGlobalActionsMenu();

        /** Starts a PendingIntent, dismissing the keyguard if necessary. */
        default void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent) {
            try {
                pendingIntent.send();
            } catch (PendingIntent.CanceledException e) {
                // no-op
            }
        }
    }

    /**
+23 −5
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STR
import android.app.ActivityManager;
import android.app.Dialog;
import android.app.KeyguardManager;
import android.app.PendingIntent;
import android.app.WallpaperManager;
import android.app.admin.DevicePolicyManager;
import android.app.trust.TrustManager;
@@ -86,6 +87,7 @@ import com.android.systemui.Interpolators;
import com.android.systemui.MultiListLayout;
import com.android.systemui.MultiListLayout.MultiListAdapter;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.GlobalActions.GlobalActionsManager;
import com.android.systemui.plugins.GlobalActionsPanelPlugin;
import com.android.systemui.statusbar.phone.ScrimController;
@@ -161,6 +163,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
    private final ScreenRecordHelper mScreenRecordHelper;

    private final Extension<GlobalActionsPanelPlugin> mPanelExtension;
    private ActivityStarter mActivityStarter;

    /**
     * @param context everything needs a context :(
@@ -210,6 +213,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
            .newExtension(GlobalActionsPanelPlugin.class)
            .withPlugin(GlobalActionsPanelPlugin.class)
            .build();
        mActivityStarter = Dependency.get(ActivityStarter.class);
    }

    /**
@@ -398,10 +402,21 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,

        GlobalActionsPanelPlugin.PanelViewController panelViewController =
                mPanelExtension.get() != null
                        ? mPanelExtension.get().onPanelShown(() -> {
                        ? mPanelExtension.get().onPanelShown(
                                new GlobalActionsPanelPlugin.Callbacks() {
                                    @Override
                                    public void dismissGlobalActionsMenu() {
                                        if (mDialog != null) {
                                            mDialog.dismiss();
                                        }
                                    }

                                    @Override
                                    public void startPendingIntentDismissingKeyguard(
                                            PendingIntent intent) {
                                        mActivityStarter
                                                .startPendingIntentDismissingKeyguard(intent);
                                    }
                                })
                        : null;
        ActionsDialog dialog = new ActionsDialog(mContext, mAdapter, panelViewController);
@@ -1673,6 +1688,9 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        void dismissImmediately() {
            super.dismiss();
            mShowing = false;
            if (mPanelController != null) {
                mPanelController.onDismissed();
            }
        }

        private float getAnimTranslation() {