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

Commit 4601d620 authored by Arc Wang's avatar Arc Wang
Browse files

[Wi-Fi] Fix NetworkRequestErrorDialogFragment exception when rotation

When rotating an androidx fragment, it uses default constructor
to instantiate the new fragment instance. Every androidx fragment
should not set private scope to it's default constructor.

Bug: 153824549
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestErrorDialogFragmentTest
Change-Id: Ie1be0e033aa85d37cb4d85193b05beab72d4d8e7
parent 99eeb003
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;

import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;

@@ -44,10 +45,6 @@ public class NetworkRequestErrorDialogFragment extends InstrumentedDialogFragmen
        return new NetworkRequestErrorDialogFragment();
    }

    private NetworkRequestErrorDialogFragment() {
        super();
    }

    @Override
    public void onCancel(@NonNull DialogInterface dialog) {
        super.onCancel(dialog);
+14 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package com.android.settings.wifi;

import static com.google.common.truth.Truth.assertThat;

import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -26,12 +28,15 @@ import android.content.DialogInterface;
import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
import android.os.Bundle;
import android.widget.Button;

import androidx.appcompat.app.AlertDialog;

import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
import com.android.settingslib.wifi.WifiTracker;
import com.android.settingslib.wifi.WifiTrackerFactory;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -57,6 +62,15 @@ public class NetworkRequestErrorDialogFragmentTest {
        mFragment.show(mActivity.getSupportFragmentManager(), null);
    }

    @Test
    public void getConstructor_shouldNotThrowNoSuchMethodException() {
        try {
            NetworkRequestErrorDialogFragment.class.getConstructor();
        } catch (NoSuchMethodException e) {
            fail("No default constructor for configuration change!");
        }
    }

    @Test
    public void display_shouldShowTimeoutDialog() {
        AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();