Merge "Fix WiFi toggle issue of Internet Settings"
This commit is contained in:
committed by
Android (Google) Code Review
commit
b74a9a3429
@@ -266,13 +266,22 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
setPinnedHeaderView(R.layout.progress_header);
|
setPinnedHeaderView(R.layout.progress_header);
|
||||||
setProgressBarVisible(false);
|
setProgressBarVisible(false);
|
||||||
|
|
||||||
mWifiManager = activity.getSystemService(WifiManager.class);
|
if (hasWifiManager()) {
|
||||||
if (mWifiManager != null) {
|
|
||||||
setLoading(true, false);
|
setLoading(true, false);
|
||||||
mIsViewLoading = true;
|
mIsViewLoading = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean hasWifiManager() {
|
||||||
|
if (mWifiManager != null) return true;
|
||||||
|
|
||||||
|
Context context = getContext();
|
||||||
|
if (context == null) return false;
|
||||||
|
|
||||||
|
mWifiManager = context.getSystemService(WifiManager.class);
|
||||||
|
return (mWifiManager != null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
@@ -337,7 +346,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addWifiSwitchPreferenceController() {
|
private void addWifiSwitchPreferenceController() {
|
||||||
if (mWifiManager == null) return;
|
if (!hasWifiManager()) return;
|
||||||
if (mWifiSwitchPreferenceController == null) {
|
if (mWifiSwitchPreferenceController == null) {
|
||||||
mWifiSwitchPreferenceController =
|
mWifiSwitchPreferenceController =
|
||||||
new WifiSwitchPreferenceController(getContext(), getSettingsLifecycle());
|
new WifiSwitchPreferenceController(getContext(), getSettingsLifecycle());
|
||||||
@@ -349,7 +358,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
if (mWifiManager != null) {
|
if (hasWifiManager()) {
|
||||||
mWifiPickerTrackerHelper =
|
mWifiPickerTrackerHelper =
|
||||||
new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), this);
|
new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), this);
|
||||||
mWifiPickerTracker = mWifiPickerTrackerHelper.getWifiPickerTracker();
|
mWifiPickerTracker = mWifiPickerTrackerHelper.getWifiPickerTracker();
|
||||||
@@ -420,7 +429,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
public void onStart() {
|
public void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
if (mIsViewLoading) {
|
if (mIsViewLoading) {
|
||||||
final long delayMillis = (mWifiManager != null && mWifiManager.isWifiEnabled())
|
final long delayMillis = (hasWifiManager() && mWifiManager.isWifiEnabled())
|
||||||
? 1000 : 100;
|
? 1000 : 100;
|
||||||
getView().postDelayed(mRemoveLoadingRunnable, delayMillis);
|
getView().postDelayed(mRemoveLoadingRunnable, delayMillis);
|
||||||
}
|
}
|
||||||
@@ -482,7 +491,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
|
||||||
if (mWifiManager == null) {
|
if (!hasWifiManager()) {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
} else if (requestCode == ADD_NETWORK_REQUEST) {
|
} else if (requestCode == ADD_NETWORK_REQUEST) {
|
||||||
handleAddNetworkRequest(resultCode, data);
|
handleAddNetworkRequest(resultCode, data);
|
||||||
@@ -720,7 +729,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
/** Called when the state of Wifi has changed. */
|
/** Called when the state of Wifi has changed. */
|
||||||
@Override
|
@Override
|
||||||
public void onWifiStateChanged() {
|
public void onWifiStateChanged() {
|
||||||
if (mIsRestricted || mWifiManager == null) {
|
if (mIsRestricted || !hasWifiManager()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final int wifiState = mWifiPickerTracker.getWifiState();
|
final int wifiState = mWifiPickerTracker.getWifiState();
|
||||||
@@ -770,7 +779,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
final LocationManager locationManager = context.getSystemService(LocationManager.class);
|
final LocationManager locationManager = context.getSystemService(LocationManager.class);
|
||||||
if (mWifiManager == null || isWifiEnabled || !locationManager.isLocationEnabled()
|
if (!hasWifiManager() || isWifiEnabled || !locationManager.isLocationEnabled()
|
||||||
|| !mWifiManager.isScanAlwaysAvailable()) {
|
|| !mWifiManager.isScanAlwaysAvailable()) {
|
||||||
mWifiStatusMessagePreference.setVisible(false);
|
mWifiStatusMessagePreference.setVisible(false);
|
||||||
return;
|
return;
|
||||||
@@ -1063,7 +1072,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
final Context context = getContext();
|
final Context context = getContext();
|
||||||
final PowerManager powerManager = context.getSystemService(PowerManager.class);
|
final PowerManager powerManager = context.getSystemService(PowerManager.class);
|
||||||
final ContentResolver contentResolver = context.getContentResolver();
|
final ContentResolver contentResolver = context.getContentResolver();
|
||||||
return mWifiManager != null
|
return hasWifiManager()
|
||||||
&& mWifiManager.isAutoWakeupEnabled()
|
&& mWifiManager.isAutoWakeupEnabled()
|
||||||
&& mWifiManager.isScanAlwaysAvailable()
|
&& mWifiManager.isScanAlwaysAvailable()
|
||||||
&& Settings.Global.getInt(contentResolver,
|
&& Settings.Global.getInt(contentResolver,
|
||||||
@@ -1085,7 +1094,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
private void handleAddNetworkSubmitEvent(Intent data) {
|
private void handleAddNetworkSubmitEvent(Intent data) {
|
||||||
final WifiConfiguration wifiConfiguration = data.getParcelableExtra(
|
final WifiConfiguration wifiConfiguration = data.getParcelableExtra(
|
||||||
AddNetworkFragment.WIFI_CONFIG_KEY);
|
AddNetworkFragment.WIFI_CONFIG_KEY);
|
||||||
if (wifiConfiguration != null && mWifiManager != null) {
|
if (wifiConfiguration != null && hasWifiManager()) {
|
||||||
mWifiManager.save(wifiConfiguration, mSaveListener);
|
mWifiManager.save(wifiConfiguration, mSaveListener);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1122,7 +1131,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSubmit(WifiDialog2 dialog) {
|
public void onSubmit(WifiDialog2 dialog) {
|
||||||
if (mWifiManager == null) return;
|
if (!hasWifiManager()) return;
|
||||||
|
|
||||||
final int dialogMode = dialog.getMode();
|
final int dialogMode = dialog.getMode();
|
||||||
final WifiConfiguration config = dialog.getController().getConfig();
|
final WifiConfiguration config = dialog.getController().getConfig();
|
||||||
|
@@ -45,7 +45,6 @@ import android.os.Bundle;
|
|||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.FeatureFlagUtils;
|
|
||||||
import android.view.ContextMenu;
|
import android.view.ContextMenu;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@@ -162,15 +161,14 @@ public class NetworkProviderSettingsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void addNetworkFragmentSendResult_onActivityResult_shouldHandleEvent() {
|
public void addNetworkFragmentSendResult_onActivityResult_shouldHandleEvent() {
|
||||||
final NetworkProviderSettings NetworkProviderSettings = spy(new NetworkProviderSettings());
|
|
||||||
final Intent intent = new Intent();
|
final Intent intent = new Intent();
|
||||||
doNothing().when(NetworkProviderSettings).handleAddNetworkRequest(anyInt(),
|
doNothing().when(mNetworkProviderSettings).handleAddNetworkRequest(anyInt(),
|
||||||
any(Intent.class));
|
any(Intent.class));
|
||||||
|
|
||||||
NetworkProviderSettings.onActivityResult(NetworkProviderSettings.ADD_NETWORK_REQUEST,
|
mNetworkProviderSettings.onActivityResult(NetworkProviderSettings.ADD_NETWORK_REQUEST,
|
||||||
Activity.RESULT_OK, intent);
|
Activity.RESULT_OK, intent);
|
||||||
|
|
||||||
verify(NetworkProviderSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
|
verify(mNetworkProviderSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user