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