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

Commit 16866231 authored by Khoa Hong's avatar Khoa Hong
Browse files

Don't show dialog for USB Accessory's information URL if device is not yet provisioned.

Bug: 246542917
Test: During SUW, connect to another phone running CTS Verifier USB Companion app (accessory test companion) and verify that no dialog shows up.
Change-Id: I52f4092a8a359451377e5ccd3a357917e8160152
parent 4f1ceac1
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.systemui.sensorprivacy.television.TvUnblockSensorActivity;
import com.android.systemui.settings.brightness.BrightnessDialog;
import com.android.systemui.statusbar.tv.notifications.TvNotificationPanelActivity;
import com.android.systemui.tuner.TunerActivity;
import com.android.systemui.usb.UsbAccessoryUriActivity;
import com.android.systemui.usb.UsbConfirmActivity;
import com.android.systemui.usb.UsbDebuggingActivity;
import com.android.systemui.usb.UsbDebuggingSecondaryUserActivity;
@@ -94,6 +95,12 @@ public abstract class DefaultActivityBinder {
    @ClassKey(UsbConfirmActivity.class)
    public abstract Activity bindUsbConfirmActivity(UsbConfirmActivity activity);

    /** Inject into UsbAccessoryUriActivity. */
    @Binds
    @IntoMap
    @ClassKey(UsbAccessoryUriActivity.class)
    public abstract Activity bindUsbAccessoryUriActivity(UsbAccessoryUriActivity activity);

    /** Inject into CreateUserActivity. */
    @Binds
    @IntoMap
+20 −3
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@ import android.view.WindowManager;
import com.android.internal.app.AlertActivity;
import com.android.internal.app.AlertController;
import com.android.systemui.R;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;

import javax.inject.Inject;

/**
 * If the attached USB accessory has a URL associated with it, and that URL is valid,
@@ -46,12 +49,26 @@ public class UsbAccessoryUriActivity extends AlertActivity
    private UsbAccessory mAccessory;
    private Uri mUri;

    private final DeviceProvisionedController mDeviceProvisionedController;

    @Inject
    UsbAccessoryUriActivity(DeviceProvisionedController deviceProvisionedController) {
        mDeviceProvisionedController = deviceProvisionedController;
    }

    @Override
    public void onCreate(Bundle icicle) {
        getWindow().addSystemFlags(
                WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
        super.onCreate(icicle);

        // Don't show this dialog during Setup Wizard
        if (!mDeviceProvisionedController.isDeviceProvisioned()) {
            Log.e(TAG, "device not provisioned");
            finish();
            return;
        }

        Intent intent = getIntent();
        mAccessory = (UsbAccessory)intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);
        String uriString = intent.getStringExtra("uri");