Merge "[Wi-Fi] Use startActivityForResult instead of startActivity to launch google help page" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7c2979c340
@@ -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());
|
||||
}
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user