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

Commit c89f5265 authored by Nicolò Mazzucato's avatar Nicolò Mazzucato
Browse files

Allow Internet tile to open dialogs on external displays

This uses the context from  ShadeDialogContextRepository when opening a Internet dialog from QS

Bug: 362719719
Bug: 383294128
Test: InternetDialogDelegateTest
Flag: com.android.systemui.shade_window_goes_around
Change-Id: Ifa50eadf529bfe4134134b95388a898af9d5946a
parent 29942ff3
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.res.R;
import com.android.systemui.shade.ShadeDisplayAware;
import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor;
import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.wifitrackerlib.WifiEntry;
@@ -104,9 +105,9 @@ public class InternetDialogDelegate implements
    private final Handler mHandler;
    private final Executor mBackgroundExecutor;
    private final DialogTransitionAnimator mDialogTransitionAnimator;
    private final Context mContext;
    private final boolean mAboveStatusBar;
    private final SystemUIDialog.Factory mSystemUIDialogFactory;
    private final ShadeDialogContextInteractor mShadeDialogContextInteractor;

    @VisibleForTesting
    protected InternetAdapter mAdapter;
@@ -204,10 +205,11 @@ public class InternetDialogDelegate implements
            @Main Handler handler,
            @Background Executor executor,
            KeyguardStateController keyguardStateController,
            SystemUIDialog.Factory systemUIDialogFactory) {
        mContext = context;
            SystemUIDialog.Factory systemUIDialogFactory,
            ShadeDialogContextInteractor shadeDialogContextInteractor) {
        mAboveStatusBar = aboveStatusBar;
        mSystemUIDialogFactory = systemUIDialogFactory;
        mShadeDialogContextInteractor = shadeDialogContextInteractor;
        if (DEBUG) {
            Log.d(TAG, "Init InternetDialog");
        }
@@ -230,7 +232,8 @@ public class InternetDialogDelegate implements

    @Override
    public SystemUIDialog createDialog() {
        SystemUIDialog dialog = mSystemUIDialogFactory.create(this, mContext);
        SystemUIDialog dialog = mSystemUIDialogFactory.create(this,
                mShadeDialogContextInteractor.getContext());
        if (!mAboveStatusBar) {
            dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
        }
+3 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.animation.DialogTransitionAnimator;
import com.android.systemui.res.R;
import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor;
import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.concurrency.FakeExecutor;
@@ -149,7 +150,8 @@ public class InternetDialogDelegateTest extends SysuiTestCase {
                mHandler,
                mBgExecutor,
                mKeyguard,
                mSystemUIDialogFactory);
                mSystemUIDialogFactory,
                new FakeShadeDialogContextInteractor(mContext));
        mInternetDialogDelegate.createDialog();
        mInternetDialogDelegate.onCreate(mSystemUIDialog, null);
        mInternetDialogDelegate.mAdapter = mInternetAdapter;