Merge "[Wi-Fi] Use startActivityForResult instead of startActivity to launch google help page" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-03-10 12:12:46 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 7 deletions

View File

@@ -99,7 +99,7 @@ public class WifiScanningRequiredFragment extends InstrumentedDialogFragment imp
Intent intent = getHelpIntent(getContext());
if (intent != null) {
try {
startActivity(intent);
getActivity().startActivityForResult(intent, 0);
} catch (ActivityNotFoundException e) {
Log.e(TAG, "Activity was not found for intent, " + intent.toString());
}

View File

@@ -15,12 +15,12 @@
*/
package com.android.settings.wifi;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
@@ -30,11 +30,13 @@ import static org.mockito.Mockito.when;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.provider.Settings;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import com.android.settings.R;
@@ -58,6 +60,8 @@ public class WifiScanningRequiredFragmentTest {
private Fragment mCallbackFragment;
@Mock
private AlertDialog.Builder mBuilder;
@Mock
private FragmentActivity mActivity;
@Before
public void setUp() {
@@ -66,6 +70,7 @@ public class WifiScanningRequiredFragmentTest {
mContext = spy(RuntimeEnvironment.application);
when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
mResolver = mContext.getContentResolver();
doReturn(mActivity).when(mFragment).getActivity();
doReturn(mContext).when(mFragment).getContext();
mFragment.setTargetFragment(mCallbackFragment, 1000);
@@ -77,7 +82,7 @@ public class WifiScanningRequiredFragmentTest {
throws Settings.SettingNotFoundException {
mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
verify(mWifiManager).setScanAlwaysAvailable(false);
verify(mWifiManager).setScanAlwaysAvailable(true);
}
@Test
@@ -89,16 +94,24 @@ public class WifiScanningRequiredFragmentTest {
@Test
public void learnMore_launchesHelpWhenIntentFound() {
Context context = mock(Context.class);
doReturn(context).when(mFragment).getContext();
doReturn("").when(context).getString(eq(R.string.help_uri_wifi_scanning_required));
doReturn("").when(mContext).getString(eq(R.string.help_uri_wifi_scanning_required));
mFragment.addButtonIfNeeded(mBuilder);
verify(mBuilder, never())
.setNeutralButton(anyInt(), nullable(DialogInterface.OnClickListener.class));
doReturn("help").when(context).getString(eq(R.string.help_uri_wifi_scanning_required));
doReturn("help").when(mContext).getString(eq(R.string.help_uri_wifi_scanning_required));
mFragment.addButtonIfNeeded(mBuilder);
verify(mBuilder, times(1))
.setNeutralButton(anyInt(), nullable(DialogInterface.OnClickListener.class));
}
@Test
public void learnMore_launchesHelp_shouldStartActivityForResult() {
doReturn(new Intent()).when(mFragment).getHelpIntent(mContext);
mFragment.addButtonIfNeeded(mBuilder);
mFragment.onClick(null, DialogInterface.BUTTON_NEUTRAL);
verify(mActivity, times(1)).startActivityForResult(any(), anyInt());
}
}