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

Commit 23670508 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix shade context used by VPN bar in QS to create a dialog" into main

parents 2718a4e9 fe663870
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -65,6 +65,8 @@ import com.android.systemui.qs.footer.domain.model.SecurityButtonConfig;
import com.android.systemui.res.R;
import com.android.systemui.security.data.model.SecurityModel;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor;
import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor;
import com.android.systemui.statusbar.policy.SecurityController;

import org.junit.Before;
@@ -109,6 +111,7 @@ public class QSSecurityFooterTest extends SysuiTestCase {
    private DialogTransitionAnimator mDialogTransitionAnimator;
    @Mock
    private BroadcastDispatcher mBroadcastDispatcher;
    private ShadeDialogContextInteractor mShadeDialogContextInteractor;

    private TestableLooper mTestableLooper;

@@ -117,6 +120,7 @@ public class QSSecurityFooterTest extends SysuiTestCase {
        MockitoAnnotations.initMocks(this);
        mTestableLooper = TestableLooper.get(this);
        Looper looper = mTestableLooper.getLooper();
        mShadeDialogContextInteractor = new FakeShadeDialogContextInteractor(mContext);
        Handler mainHandler = new Handler(looper);
        // TODO(b/259908270): remove
        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
@@ -126,7 +130,7 @@ public class QSSecurityFooterTest extends SysuiTestCase {
        mFooterUtils = new QSSecurityFooterUtils(getContext(),
                getContext().getSystemService(DevicePolicyManager.class), mUserTracker,
                mainHandler, mActivityStarter, mSecurityController, looper,
                mDialogTransitionAnimator);
                mDialogTransitionAnimator, mShadeDialogContextInteractor);

        when(mSecurityController.getDeviceOwnerComponentOnAnyUser())
                .thenReturn(DEVICE_OWNER_COMPONENT);
+6 −2
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ import com.android.systemui.res.R;
import com.android.systemui.security.data.model.SecurityModel;
import com.android.systemui.settings.UserTracker;
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.SecurityController;
import com.android.systemui.supervision.shared.DeprecateDpmSupervisionApis;
@@ -114,6 +115,7 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
    private final Handler mMainHandler;
    private final UserTracker mUserTracker;
    private final DialogTransitionAnimator mDialogTransitionAnimator;
    private final ShadeDialogContextInteractor mShadeDialogContextInteractor;

    private final AtomicBoolean mShouldUseSettingsButton = new AtomicBoolean(false);

@@ -182,7 +184,8 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
            @ShadeDisplayAware Context context, DevicePolicyManager devicePolicyManager,
            UserTracker userTracker, @Main Handler mainHandler, ActivityStarter activityStarter,
            SecurityController securityController, @Background Looper bgLooper,
            DialogTransitionAnimator dialogTransitionAnimator) {
            DialogTransitionAnimator dialogTransitionAnimator,
            ShadeDialogContextInteractor shadeDialogContextInteractor) {
        mContext = context;
        mDpm = devicePolicyManager;
        mUserTracker = userTracker;
@@ -191,6 +194,7 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
        mSecurityController = securityController;
        mBgHandler = new Handler(bgLooper);
        mDialogTransitionAnimator = dialogTransitionAnimator;
        mShadeDialogContextInteractor = shadeDialogContextInteractor;
    }

    /** Show the device monitoring dialog. */
@@ -451,7 +455,7 @@ public class QSSecurityFooterUtils implements DialogInterface.OnClickListener {
            String settingsButtonText = getSettingsButton();
            final View dialogView = createDialogView(quickSettingsContext);
            mMainHandler.post(() -> {
                mDialog = new SystemUIDialog(quickSettingsContext, 0);
                mDialog = new SystemUIDialog(mShadeDialogContextInteractor.getContext(), 0);
                mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                mDialog.setButton(DialogInterface.BUTTON_POSITIVE, getPositiveButton(), this);
                mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, mShouldUseSettingsButton.get()
+2 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsViewModel
import com.android.systemui.qs.panels.domain.interactor.textFeedbackInteractor
import com.android.systemui.security.data.repository.securityRepository
import com.android.systemui.settings.userTracker
import com.android.systemui.shade.data.repository.shadeDialogContextInteractor
import com.android.systemui.shade.domain.interactor.shadeModeInteractor
import com.android.systemui.statusbar.policy.deviceProvisionedController
import com.android.systemui.statusbar.policy.securityController
@@ -70,6 +71,7 @@ val Kosmos.qsSecurityFooterUtils by Fixture {
        securityController,
        looper,
        dialogTransitionAnimator,
        shadeDialogContextInteractor,
    )
}