[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
This commit is contained in:
Arc Wang
2020-04-13 14:59:49 +08:00
parent 99eeb00360
commit 4601d62089
2 changed files with 15 additions and 4 deletions

View File

@@ -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);

View File

@@ -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();