Loading src/com/android/settings/network/NetworkMobileProviderController.java +7 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settingslib.core.lifecycle.Lifecycle; /** Loading Loading @@ -115,4 +116,10 @@ public class NetworkMobileProviderController extends BasePreferenceController im } mPreferenceCategory.setVisible(available); } public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { if (mSubscriptionsController != null) { mSubscriptionsController.setWifiPickerTrackerHelper(helper); } } } src/com/android/settings/network/NetworkProviderSettings.java +9 −45 Original line number Diff line number Diff line Loading @@ -27,19 +27,12 @@ import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkScoreManager; import android.net.NetworkTemplate; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.PowerManager; import android.os.Process; import android.os.SimpleClock; import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; import android.util.FeatureFlagUtils; Loading Loading @@ -74,6 +67,7 @@ import com.android.settings.wifi.LinkablePreference; import com.android.settings.wifi.WifiConfigUiBase2; import com.android.settings.wifi.WifiConnectListener; import com.android.settings.wifi.WifiDialog2; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settings.wifi.WifiUtils; import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2; import com.android.settings.wifi.dpp.WifiDppUtils; Loading @@ -88,8 +82,6 @@ import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry.ConnectCallback; import com.android.wifitrackerlib.WifiPickerTracker; import java.time.Clock; import java.time.ZoneOffset; import java.util.List; import java.util.Optional; Loading @@ -115,11 +107,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment static final int MENU_ID_FORGET = Menu.FIRST + 3; static final int MENU_ID_MODIFY = Menu.FIRST + 4; // Max age of tracked WifiEntries private static final long MAX_SCAN_AGE_MILLIS = 15_000; // Interval between initiating WifiPickerTracker scans private static final long SCAN_INTERVAL_MILLIS = 10_000; @VisibleForTesting static final int ADD_NETWORK_REQUEST = 2; static final int CONFIG_NETWORK_REQUEST = 3; Loading Loading @@ -187,11 +174,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment */ private boolean mIsRestricted; // Worker thread used for WifiPickerTracker work private HandlerThread mWorkerThread; @VisibleForTesting WifiPickerTracker mWifiPickerTracker; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; private WifiDialog2 mDialog; Loading Loading @@ -279,27 +264,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); final Context context = getContext(); mWorkerThread = new HandlerThread(TAG + "{" + Integer.toHexString(System.identityHashCode(this)) + "}", Process.THREAD_PRIORITY_BACKGROUND); mWorkerThread.start(); final Clock elapsedRealtimeClock = new SimpleClock(ZoneOffset.UTC) { @Override public long millis() { return SystemClock.elapsedRealtime(); } }; mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), context, context.getSystemService(WifiManager.class), context.getSystemService(ConnectivityManager.class), context.getSystemService(NetworkScoreManager.class), new Handler(Looper.getMainLooper()), mWorkerThread.getThreadHandler(), elapsedRealtimeClock, MAX_SCAN_AGE_MILLIS, SCAN_INTERVAL_MILLIS, this); mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), this); mWifiPickerTracker = mWifiPickerTrackerHelper.getWifiPickerTracker(); final Activity activity = getActivity(); Loading Loading @@ -356,6 +323,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment if (intent.hasExtra(EXTRA_START_CONNECT_SSID)) { mOpenSsid = intent.getStringExtra(EXTRA_START_CONNECT_SSID); } if (mNetworkMobileProviderController != null) { mNetworkMobileProviderController.setWifiPickerTrackerHelper(mWifiPickerTrackerHelper); } } @Override Loading @@ -364,13 +335,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } @Override public void onDestroyView() { mWorkerThread.quit(); super.onDestroyView(); } @Override public void onStart() { super.onStart(); Loading src/com/android/settings/network/SubscriptionsPreferenceController.java +17 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settings.network.telephony.SignalStrengthListener; import com.android.settings.widget.GearPreference; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.net.SignalStrengthUtil; Loading Loading @@ -84,6 +85,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl private MobileDataEnabledListener mDataEnabledListener; private DataConnectivityListener mConnectivityListener; private SignalStrengthListener mSignalStrengthListener; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; @VisibleForTesting final BroadcastReceiver mDataSubscriptionChangedReceiver = new BroadcastReceiver() { Loading Loading @@ -215,7 +217,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl mPreferenceGroup.removeAll(); mSubsGearPref = new GearPreference(mContext, null); mSubsGearPref.setOnPreferenceClickListener(preference -> { //TODO(b/176141379) Wait for wifiManager#selectCarrier(int subscriptionId) connectCarrierNetwork(); return true; }); mSubsGearPref.setOnGearClickListener(p -> Loading Loading @@ -466,6 +468,20 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl ProxySubscriptionManager.getInstance(context), subId) != null); } public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { mWifiPickerTrackerHelper = helper; } @VisibleForTesting public void connectCarrierNetwork() { if (mTelephonyManager == null || !mTelephonyManager.isDataEnabled()) { return; } if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.connectCarrierNetwork(null /* ConnectCallback */); } } SubsPrefCtrlInjector createSubsPrefCtrlInjector() { return new SubsPrefCtrlInjector(); } Loading src/com/android/settings/network/telephony/MobileDataDialogFragment.java +11 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.wifi.WifiPickerTrackerHelper; /** Loading @@ -50,6 +51,8 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme private int mType; private int mSubId; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; public static MobileDataDialogFragment newInstance(int type, int subId) { final MobileDataDialogFragment dialogFragment = new MobileDataDialogFragment(); Loading @@ -65,6 +68,8 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSubscriptionManager = getContext().getSystemService(SubscriptionManager.class); mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), null /* WifiPickerTrackerCallback */); } @Override Loading Loading @@ -124,11 +129,17 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme case TYPE_DISABLE_DIALOG: MobileNetworkUtils.setMobileDataEnabled(getContext(), mSubId, false /* enabled */, false /* disableOtherSubscriptions */); if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.setCarrierNetworkEnabled(false); } break; case TYPE_MULTI_SIM_DIALOG: mSubscriptionManager.setDefaultDataSubId(mSubId); MobileNetworkUtils.setMobileDataEnabled(getContext(), mSubId, true /* enabled */, true /* disableOtherSubscriptions */); if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.setCarrierNetworkEnabled(true); } break; default: throw new IllegalArgumentException("unknown type " + mType); Loading src/com/android/settings/network/telephony/MobileDataPreferenceController.java +10 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import androidx.preference.SwitchPreference; import com.android.settings.R; import com.android.settings.network.MobileDataContentObserver; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading @@ -54,6 +55,8 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon @VisibleForTesting boolean mNeedDialog; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; public MobileDataPreferenceController(Context context, String key) { super(context, key); mSubscriptionManager = context.getSystemService(SubscriptionManager.class); Loading Loading @@ -107,6 +110,9 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon if (!mNeedDialog) { // Update data directly if we don't need dialog MobileNetworkUtils.setMobileDataEnabled(mContext, mSubId, isChecked, false); if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.setCarrierNetworkEnabled(isChecked); } return true; } Loading Loading @@ -149,6 +155,10 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon .createForSubscriptionId(mSubId); } public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { mWifiPickerTrackerHelper = helper; } @VisibleForTesting boolean isDialogNeeded() { final boolean enableData = !isChecked(); Loading Loading
src/com/android/settings/network/NetworkMobileProviderController.java +7 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settingslib.core.lifecycle.Lifecycle; /** Loading Loading @@ -115,4 +116,10 @@ public class NetworkMobileProviderController extends BasePreferenceController im } mPreferenceCategory.setVisible(available); } public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { if (mSubscriptionsController != null) { mSubscriptionsController.setWifiPickerTrackerHelper(helper); } } }
src/com/android/settings/network/NetworkProviderSettings.java +9 −45 Original line number Diff line number Diff line Loading @@ -27,19 +27,12 @@ import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkScoreManager; import android.net.NetworkTemplate; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.PowerManager; import android.os.Process; import android.os.SimpleClock; import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; import android.util.FeatureFlagUtils; Loading Loading @@ -74,6 +67,7 @@ import com.android.settings.wifi.LinkablePreference; import com.android.settings.wifi.WifiConfigUiBase2; import com.android.settings.wifi.WifiConnectListener; import com.android.settings.wifi.WifiDialog2; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settings.wifi.WifiUtils; import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2; import com.android.settings.wifi.dpp.WifiDppUtils; Loading @@ -88,8 +82,6 @@ import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry.ConnectCallback; import com.android.wifitrackerlib.WifiPickerTracker; import java.time.Clock; import java.time.ZoneOffset; import java.util.List; import java.util.Optional; Loading @@ -115,11 +107,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment static final int MENU_ID_FORGET = Menu.FIRST + 3; static final int MENU_ID_MODIFY = Menu.FIRST + 4; // Max age of tracked WifiEntries private static final long MAX_SCAN_AGE_MILLIS = 15_000; // Interval between initiating WifiPickerTracker scans private static final long SCAN_INTERVAL_MILLIS = 10_000; @VisibleForTesting static final int ADD_NETWORK_REQUEST = 2; static final int CONFIG_NETWORK_REQUEST = 3; Loading Loading @@ -187,11 +174,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment */ private boolean mIsRestricted; // Worker thread used for WifiPickerTracker work private HandlerThread mWorkerThread; @VisibleForTesting WifiPickerTracker mWifiPickerTracker; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; private WifiDialog2 mDialog; Loading Loading @@ -279,27 +264,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); final Context context = getContext(); mWorkerThread = new HandlerThread(TAG + "{" + Integer.toHexString(System.identityHashCode(this)) + "}", Process.THREAD_PRIORITY_BACKGROUND); mWorkerThread.start(); final Clock elapsedRealtimeClock = new SimpleClock(ZoneOffset.UTC) { @Override public long millis() { return SystemClock.elapsedRealtime(); } }; mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), context, context.getSystemService(WifiManager.class), context.getSystemService(ConnectivityManager.class), context.getSystemService(NetworkScoreManager.class), new Handler(Looper.getMainLooper()), mWorkerThread.getThreadHandler(), elapsedRealtimeClock, MAX_SCAN_AGE_MILLIS, SCAN_INTERVAL_MILLIS, this); mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), this); mWifiPickerTracker = mWifiPickerTrackerHelper.getWifiPickerTracker(); final Activity activity = getActivity(); Loading Loading @@ -356,6 +323,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment if (intent.hasExtra(EXTRA_START_CONNECT_SSID)) { mOpenSsid = intent.getStringExtra(EXTRA_START_CONNECT_SSID); } if (mNetworkMobileProviderController != null) { mNetworkMobileProviderController.setWifiPickerTrackerHelper(mWifiPickerTrackerHelper); } } @Override Loading @@ -364,13 +335,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } @Override public void onDestroyView() { mWorkerThread.quit(); super.onDestroyView(); } @Override public void onStart() { super.onStart(); Loading
src/com/android/settings/network/SubscriptionsPreferenceController.java +17 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settings.network.telephony.SignalStrengthListener; import com.android.settings.widget.GearPreference; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.net.SignalStrengthUtil; Loading Loading @@ -84,6 +85,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl private MobileDataEnabledListener mDataEnabledListener; private DataConnectivityListener mConnectivityListener; private SignalStrengthListener mSignalStrengthListener; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; @VisibleForTesting final BroadcastReceiver mDataSubscriptionChangedReceiver = new BroadcastReceiver() { Loading Loading @@ -215,7 +217,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl mPreferenceGroup.removeAll(); mSubsGearPref = new GearPreference(mContext, null); mSubsGearPref.setOnPreferenceClickListener(preference -> { //TODO(b/176141379) Wait for wifiManager#selectCarrier(int subscriptionId) connectCarrierNetwork(); return true; }); mSubsGearPref.setOnGearClickListener(p -> Loading Loading @@ -466,6 +468,20 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl ProxySubscriptionManager.getInstance(context), subId) != null); } public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { mWifiPickerTrackerHelper = helper; } @VisibleForTesting public void connectCarrierNetwork() { if (mTelephonyManager == null || !mTelephonyManager.isDataEnabled()) { return; } if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.connectCarrierNetwork(null /* ConnectCallback */); } } SubsPrefCtrlInjector createSubsPrefCtrlInjector() { return new SubsPrefCtrlInjector(); } Loading
src/com/android/settings/network/telephony/MobileDataDialogFragment.java +11 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.wifi.WifiPickerTrackerHelper; /** Loading @@ -50,6 +51,8 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme private int mType; private int mSubId; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; public static MobileDataDialogFragment newInstance(int type, int subId) { final MobileDataDialogFragment dialogFragment = new MobileDataDialogFragment(); Loading @@ -65,6 +68,8 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSubscriptionManager = getContext().getSystemService(SubscriptionManager.class); mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(getSettingsLifecycle(), getContext(), null /* WifiPickerTrackerCallback */); } @Override Loading Loading @@ -124,11 +129,17 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme case TYPE_DISABLE_DIALOG: MobileNetworkUtils.setMobileDataEnabled(getContext(), mSubId, false /* enabled */, false /* disableOtherSubscriptions */); if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.setCarrierNetworkEnabled(false); } break; case TYPE_MULTI_SIM_DIALOG: mSubscriptionManager.setDefaultDataSubId(mSubId); MobileNetworkUtils.setMobileDataEnabled(getContext(), mSubId, true /* enabled */, true /* disableOtherSubscriptions */); if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.setCarrierNetworkEnabled(true); } break; default: throw new IllegalArgumentException("unknown type " + mType); Loading
src/com/android/settings/network/telephony/MobileDataPreferenceController.java +10 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import androidx.preference.SwitchPreference; import com.android.settings.R; import com.android.settings.network.MobileDataContentObserver; import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading @@ -54,6 +55,8 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon @VisibleForTesting boolean mNeedDialog; private WifiPickerTrackerHelper mWifiPickerTrackerHelper; public MobileDataPreferenceController(Context context, String key) { super(context, key); mSubscriptionManager = context.getSystemService(SubscriptionManager.class); Loading Loading @@ -107,6 +110,9 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon if (!mNeedDialog) { // Update data directly if we don't need dialog MobileNetworkUtils.setMobileDataEnabled(mContext, mSubId, isChecked, false); if (mWifiPickerTrackerHelper != null) { mWifiPickerTrackerHelper.setCarrierNetworkEnabled(isChecked); } return true; } Loading Loading @@ -149,6 +155,10 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon .createForSubscriptionId(mSubId); } public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { mWifiPickerTrackerHelper = helper; } @VisibleForTesting boolean isDialogNeeded() { final boolean enableData = !isChecked(); Loading