Loading packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java +6 −3 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tiles.dialog.InternetDialogFactory; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController.AccessPointController; import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; Loading @@ -69,6 +70,7 @@ public class InternetTile extends QSTileImpl<SignalState> { private static final Intent WIFI_SETTINGS = new Intent(Settings.ACTION_WIFI_SETTINGS); protected final NetworkController mController; private final AccessPointController mAccessPointController; private final DataUsageController mDataController; // The last updated tile state, 0: mobile, 1: wifi, 2: ethernet. private int mLastTileState = -1; Loading @@ -88,6 +90,7 @@ public class InternetTile extends QSTileImpl<SignalState> { ActivityStarter activityStarter, QSLogger qsLogger, NetworkController networkController, AccessPointController accessPointController, InternetDialogFactory internetDialogFactory ) { super(host, backgroundLooper, mainHandler, falsingManager, metricsLogger, Loading @@ -95,6 +98,7 @@ public class InternetTile extends QSTileImpl<SignalState> { mInternetDialogFactory = internetDialogFactory; mHandler = mainHandler; mController = networkController; mAccessPointController = accessPointController; mDataController = mController.getMobileDataController(); mController.observe(getLifecycle(), mSignalCallback); } Loading @@ -118,9 +122,8 @@ public class InternetTile extends QSTileImpl<SignalState> { @Override protected void handleClick(@Nullable View view) { mHandler.post(() -> { mInternetDialogFactory.create(true); }); boolean canConfigMobileData = mAccessPointController.canConfigMobileData(); mHandler.post(() -> mInternetDialogFactory.create(true, canConfigMobileData)); } @Override Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +12 −3 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ public class InternetDialog extends SystemUIDialog implements private int mListMaxHeight; private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; private boolean mIsProgressBarVisible; private boolean mCanConfigMobileData; private final ViewTreeObserver.OnGlobalLayoutListener mInternetListLayoutListener = () -> { // Set max height for list Loading @@ -137,7 +138,7 @@ public class InternetDialog extends SystemUIDialog implements }; public InternetDialog(Context context, InternetDialogFactory internetDialogFactory, InternetDialogController internetDialogController, InternetDialogController internetDialogController, boolean canConfigMobileData, boolean aboveStatusBar, UiEventLogger uiEventLogger, @Main Handler handler) { super(context, R.style.Theme_SystemUI_Dialog_Internet); if (DEBUG) { Loading @@ -151,6 +152,7 @@ public class InternetDialog extends SystemUIDialog implements mDefaultDataSubId = mInternetDialogController.getDefaultDataSubscriptionId(); mTelephonyManager = mInternetDialogController.getTelephonyManager(); mWifiManager = mInternetDialogController.getWifiManager(); mCanConfigMobileData = canConfigMobileData; mLayoutManager = new LinearLayoutManager(mContext) { @Override Loading Loading @@ -317,8 +319,13 @@ public class InternetDialog extends SystemUIDialog implements mMobileDataToggle.setChecked(mInternetDialogController.isMobileDataEnabled()); mMobileNetworkLayout.setVisibility(View.VISIBLE); mMobileTitleText.setText(getMobileNetworkTitle()); if (!TextUtils.isEmpty(getMobileNetworkSummary())) { mMobileSummaryText.setText( Html.fromHtml(getMobileNetworkSummary(), Html.FROM_HTML_MODE_LEGACY)); mMobileSummaryText.setVisibility(View.VISIBLE); } else { mMobileSummaryText.setVisibility(View.GONE); } mSignalIcon.setImageDrawable(getSignalStrengthDrawable()); int titleColor = isCellularNetwork ? mContext.getColor( R.color.connected_network_primary_color) : Utils.getColorAttrDefaultColor( Loading @@ -329,6 +336,8 @@ public class InternetDialog extends SystemUIDialog implements mMobileTitleText.setTextColor(titleColor); mMobileSummaryText.setTextColor(summaryColor); mMobileNetworkLayout.setBackground(isCellularNetwork ? mBackgroundOn : null); mMobileDataToggle.setVisibility(mCanConfigMobileData ? View.VISIBLE : View.INVISIBLE); } } Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +55 −23 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ import android.net.wifi.ScanResult; import android.net.wifi.WifiManager; import android.os.Handler; import android.provider.Settings; import android.telephony.AccessNetworkConstants; import android.telephony.NetworkRegistrationInfo; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionInfo; Loading Loading @@ -115,7 +117,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, private MobileMappings.Config mConfig = null; private Executor mExecutor; private AccessPointController mAccessPointController; private IntentFilter mWifiStateFilter; private IntentFilter mConnectionStateFilter; private InternetDialogCallback mCallback; private List<WifiEntry> mWifiEntry; private UiEventLogger mUiEventLogger; Loading Loading @@ -171,8 +173,10 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, mSubscriptionManager = subscriptionManager; mBroadcastDispatcher = broadcastDispatcher; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mWifiStateFilter = new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION); mWifiStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); mConnectionStateFilter = new IntentFilter(); mConnectionStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); mConnectionStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); mConnectionStateFilter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED); mUiEventLogger = uiEventLogger; mActivityStarter = starter; mAccessPointController = accessPointController; Loading @@ -186,12 +190,16 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, mCallback = callback; mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateCallback); mAccessPointController.addAccessPointCallback(this); mBroadcastDispatcher.registerReceiver(mWifiStateReceiver, mWifiStateFilter, mExecutor); mBroadcastDispatcher.registerReceiver(mConnectionStateReceiver, mConnectionStateFilter, mExecutor); // Listen the subscription changes mOnSubscriptionsChangedListener = new InternetOnSubscriptionChangedListener(); mSubscriptionManager.addOnSubscriptionsChangedListener(mExecutor, mOnSubscriptionsChangedListener); mDefaultDataSubId = getDefaultDataSubscriptionId(); if (DEBUG) { Log.d(TAG, "Init, SubId: " + mDefaultDataSubId); } mTelephonyManager = mTelephonyManager.createForSubscriptionId(mDefaultDataSubId); mInternetTelephonyCallback = new InternetTelephonyCallback(); mTelephonyManager.registerTelephonyCallback(mExecutor, mInternetTelephonyCallback); Loading @@ -206,7 +214,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, if (DEBUG) { Log.d(TAG, "onStop"); } mBroadcastDispatcher.unregisterReceiver(mWifiStateReceiver); mBroadcastDispatcher.unregisterReceiver(mConnectionStateReceiver); mTelephonyManager.unregisterTelephonyCallback(mInternetTelephonyCallback); mSubscriptionManager.removeOnSubscriptionsChangedListener( mOnSubscriptionsChangedListener); Loading Loading @@ -648,13 +656,12 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, } boolean isDataStateInService() { if (mTelephonyManager == null) { if (DEBUG) { Log.d(TAG, "TelephonyManager is null, can not detect mobile state."); } return false; } return mTelephonyManager.getDataState() == TelephonyManager.DATA_CONNECTED; final ServiceState serviceState = mTelephonyManager.getServiceState(); NetworkRegistrationInfo regInfo = (serviceState == null) ? null : serviceState.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN); return (regInfo == null) ? false : regInfo.isRegistered(); } boolean isVoiceStateInService() { Loading Loading @@ -815,15 +822,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, @Override public void onSubscriptionsChanged() { mDefaultDataSubId = getDefaultDataSubscriptionId(); if (SubscriptionManager.isUsableSubscriptionId(mDefaultDataSubId)) { mTelephonyManager.unregisterTelephonyCallback(mInternetTelephonyCallback); mTelephonyManager = mTelephonyManager.createForSubscriptionId(mDefaultDataSubId); mTelephonyManager.registerTelephonyCallback(mHandler::post, mInternetTelephonyCallback); mCallback.onSubscriptionsChanged(mDefaultDataSubId); } updateListener(); } } Loading @@ -839,13 +838,46 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, } } private final BroadcastReceiver mWifiStateReceiver = new BroadcastReceiver() { private final BroadcastReceiver mConnectionStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION) || action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) { mCallback.onWifiStateReceived(context, intent); } if (action.equals(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)) { if (DEBUG) { Log.d(TAG, "ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED"); } updateListener(); } } }; private void updateListener() { int defaultDataSubId = getDefaultDataSubscriptionId(); if (mDefaultDataSubId == getDefaultDataSubscriptionId()) { if (DEBUG) { Log.d(TAG, "DDS: no change"); } return; } mDefaultDataSubId = defaultDataSubId; if (DEBUG) { Log.d(TAG, "DDS: defaultDataSubId:" + mDefaultDataSubId); } if (SubscriptionManager.isUsableSubscriptionId(mDefaultDataSubId)) { mTelephonyManager.unregisterTelephonyCallback(mInternetTelephonyCallback); mTelephonyManager = mTelephonyManager.createForSubscriptionId(mDefaultDataSubId); mTelephonyManager.registerTelephonyCallback(mHandler::post, mInternetTelephonyCallback); mCallback.onSubscriptionsChanged(mDefaultDataSubId); } } interface InternetDialogCallback { void onRefreshCarrierInfo(); Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt +3 −3 Original line number Diff line number Diff line Loading @@ -41,15 +41,15 @@ class InternetDialogFactory @Inject constructor( } /** Creates a [InternetDialog]. */ fun create(aboveStatusBar: Boolean) { fun create(aboveStatusBar: Boolean, canConfigMobileData: Boolean) { if (internetDialog != null) { if (DEBUG) { Log.d(TAG, "InternetDialog is showing, do not create it twice.") } return } else { internetDialog = InternetDialog(context, this, internetDialogController, aboveStatusBar, uiEventLogger, handler) internetDialog = InternetDialog(context, this, internetDialogController, canConfigMobileData, aboveStatusBar, uiEventLogger, handler) internetDialog?.show() } } Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessPointControllerImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,11 @@ public class AccessPointControllerImpl new UserHandle(mCurrentUser)); } public boolean canConfigMobileData() { return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, UserHandle.of(mCurrentUser)); } public void onUserSwitched(int newUserId) { mCurrentUser = newUserId; } Loading Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java +6 −3 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tiles.dialog.InternetDialogFactory; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController.AccessPointController; import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; Loading @@ -69,6 +70,7 @@ public class InternetTile extends QSTileImpl<SignalState> { private static final Intent WIFI_SETTINGS = new Intent(Settings.ACTION_WIFI_SETTINGS); protected final NetworkController mController; private final AccessPointController mAccessPointController; private final DataUsageController mDataController; // The last updated tile state, 0: mobile, 1: wifi, 2: ethernet. private int mLastTileState = -1; Loading @@ -88,6 +90,7 @@ public class InternetTile extends QSTileImpl<SignalState> { ActivityStarter activityStarter, QSLogger qsLogger, NetworkController networkController, AccessPointController accessPointController, InternetDialogFactory internetDialogFactory ) { super(host, backgroundLooper, mainHandler, falsingManager, metricsLogger, Loading @@ -95,6 +98,7 @@ public class InternetTile extends QSTileImpl<SignalState> { mInternetDialogFactory = internetDialogFactory; mHandler = mainHandler; mController = networkController; mAccessPointController = accessPointController; mDataController = mController.getMobileDataController(); mController.observe(getLifecycle(), mSignalCallback); } Loading @@ -118,9 +122,8 @@ public class InternetTile extends QSTileImpl<SignalState> { @Override protected void handleClick(@Nullable View view) { mHandler.post(() -> { mInternetDialogFactory.create(true); }); boolean canConfigMobileData = mAccessPointController.canConfigMobileData(); mHandler.post(() -> mInternetDialogFactory.create(true, canConfigMobileData)); } @Override Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +12 −3 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ public class InternetDialog extends SystemUIDialog implements private int mListMaxHeight; private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; private boolean mIsProgressBarVisible; private boolean mCanConfigMobileData; private final ViewTreeObserver.OnGlobalLayoutListener mInternetListLayoutListener = () -> { // Set max height for list Loading @@ -137,7 +138,7 @@ public class InternetDialog extends SystemUIDialog implements }; public InternetDialog(Context context, InternetDialogFactory internetDialogFactory, InternetDialogController internetDialogController, InternetDialogController internetDialogController, boolean canConfigMobileData, boolean aboveStatusBar, UiEventLogger uiEventLogger, @Main Handler handler) { super(context, R.style.Theme_SystemUI_Dialog_Internet); if (DEBUG) { Loading @@ -151,6 +152,7 @@ public class InternetDialog extends SystemUIDialog implements mDefaultDataSubId = mInternetDialogController.getDefaultDataSubscriptionId(); mTelephonyManager = mInternetDialogController.getTelephonyManager(); mWifiManager = mInternetDialogController.getWifiManager(); mCanConfigMobileData = canConfigMobileData; mLayoutManager = new LinearLayoutManager(mContext) { @Override Loading Loading @@ -317,8 +319,13 @@ public class InternetDialog extends SystemUIDialog implements mMobileDataToggle.setChecked(mInternetDialogController.isMobileDataEnabled()); mMobileNetworkLayout.setVisibility(View.VISIBLE); mMobileTitleText.setText(getMobileNetworkTitle()); if (!TextUtils.isEmpty(getMobileNetworkSummary())) { mMobileSummaryText.setText( Html.fromHtml(getMobileNetworkSummary(), Html.FROM_HTML_MODE_LEGACY)); mMobileSummaryText.setVisibility(View.VISIBLE); } else { mMobileSummaryText.setVisibility(View.GONE); } mSignalIcon.setImageDrawable(getSignalStrengthDrawable()); int titleColor = isCellularNetwork ? mContext.getColor( R.color.connected_network_primary_color) : Utils.getColorAttrDefaultColor( Loading @@ -329,6 +336,8 @@ public class InternetDialog extends SystemUIDialog implements mMobileTitleText.setTextColor(titleColor); mMobileSummaryText.setTextColor(summaryColor); mMobileNetworkLayout.setBackground(isCellularNetwork ? mBackgroundOn : null); mMobileDataToggle.setVisibility(mCanConfigMobileData ? View.VISIBLE : View.INVISIBLE); } } Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +55 −23 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ import android.net.wifi.ScanResult; import android.net.wifi.WifiManager; import android.os.Handler; import android.provider.Settings; import android.telephony.AccessNetworkConstants; import android.telephony.NetworkRegistrationInfo; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionInfo; Loading Loading @@ -115,7 +117,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, private MobileMappings.Config mConfig = null; private Executor mExecutor; private AccessPointController mAccessPointController; private IntentFilter mWifiStateFilter; private IntentFilter mConnectionStateFilter; private InternetDialogCallback mCallback; private List<WifiEntry> mWifiEntry; private UiEventLogger mUiEventLogger; Loading Loading @@ -171,8 +173,10 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, mSubscriptionManager = subscriptionManager; mBroadcastDispatcher = broadcastDispatcher; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mWifiStateFilter = new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION); mWifiStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); mConnectionStateFilter = new IntentFilter(); mConnectionStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); mConnectionStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); mConnectionStateFilter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED); mUiEventLogger = uiEventLogger; mActivityStarter = starter; mAccessPointController = accessPointController; Loading @@ -186,12 +190,16 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, mCallback = callback; mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateCallback); mAccessPointController.addAccessPointCallback(this); mBroadcastDispatcher.registerReceiver(mWifiStateReceiver, mWifiStateFilter, mExecutor); mBroadcastDispatcher.registerReceiver(mConnectionStateReceiver, mConnectionStateFilter, mExecutor); // Listen the subscription changes mOnSubscriptionsChangedListener = new InternetOnSubscriptionChangedListener(); mSubscriptionManager.addOnSubscriptionsChangedListener(mExecutor, mOnSubscriptionsChangedListener); mDefaultDataSubId = getDefaultDataSubscriptionId(); if (DEBUG) { Log.d(TAG, "Init, SubId: " + mDefaultDataSubId); } mTelephonyManager = mTelephonyManager.createForSubscriptionId(mDefaultDataSubId); mInternetTelephonyCallback = new InternetTelephonyCallback(); mTelephonyManager.registerTelephonyCallback(mExecutor, mInternetTelephonyCallback); Loading @@ -206,7 +214,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, if (DEBUG) { Log.d(TAG, "onStop"); } mBroadcastDispatcher.unregisterReceiver(mWifiStateReceiver); mBroadcastDispatcher.unregisterReceiver(mConnectionStateReceiver); mTelephonyManager.unregisterTelephonyCallback(mInternetTelephonyCallback); mSubscriptionManager.removeOnSubscriptionsChangedListener( mOnSubscriptionsChangedListener); Loading Loading @@ -648,13 +656,12 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, } boolean isDataStateInService() { if (mTelephonyManager == null) { if (DEBUG) { Log.d(TAG, "TelephonyManager is null, can not detect mobile state."); } return false; } return mTelephonyManager.getDataState() == TelephonyManager.DATA_CONNECTED; final ServiceState serviceState = mTelephonyManager.getServiceState(); NetworkRegistrationInfo regInfo = (serviceState == null) ? null : serviceState.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN); return (regInfo == null) ? false : regInfo.isRegistered(); } boolean isVoiceStateInService() { Loading Loading @@ -815,15 +822,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, @Override public void onSubscriptionsChanged() { mDefaultDataSubId = getDefaultDataSubscriptionId(); if (SubscriptionManager.isUsableSubscriptionId(mDefaultDataSubId)) { mTelephonyManager.unregisterTelephonyCallback(mInternetTelephonyCallback); mTelephonyManager = mTelephonyManager.createForSubscriptionId(mDefaultDataSubId); mTelephonyManager.registerTelephonyCallback(mHandler::post, mInternetTelephonyCallback); mCallback.onSubscriptionsChanged(mDefaultDataSubId); } updateListener(); } } Loading @@ -839,13 +838,46 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, } } private final BroadcastReceiver mWifiStateReceiver = new BroadcastReceiver() { private final BroadcastReceiver mConnectionStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION) || action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) { mCallback.onWifiStateReceived(context, intent); } if (action.equals(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)) { if (DEBUG) { Log.d(TAG, "ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED"); } updateListener(); } } }; private void updateListener() { int defaultDataSubId = getDefaultDataSubscriptionId(); if (mDefaultDataSubId == getDefaultDataSubscriptionId()) { if (DEBUG) { Log.d(TAG, "DDS: no change"); } return; } mDefaultDataSubId = defaultDataSubId; if (DEBUG) { Log.d(TAG, "DDS: defaultDataSubId:" + mDefaultDataSubId); } if (SubscriptionManager.isUsableSubscriptionId(mDefaultDataSubId)) { mTelephonyManager.unregisterTelephonyCallback(mInternetTelephonyCallback); mTelephonyManager = mTelephonyManager.createForSubscriptionId(mDefaultDataSubId); mTelephonyManager.registerTelephonyCallback(mHandler::post, mInternetTelephonyCallback); mCallback.onSubscriptionsChanged(mDefaultDataSubId); } } interface InternetDialogCallback { void onRefreshCarrierInfo(); Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt +3 −3 Original line number Diff line number Diff line Loading @@ -41,15 +41,15 @@ class InternetDialogFactory @Inject constructor( } /** Creates a [InternetDialog]. */ fun create(aboveStatusBar: Boolean) { fun create(aboveStatusBar: Boolean, canConfigMobileData: Boolean) { if (internetDialog != null) { if (DEBUG) { Log.d(TAG, "InternetDialog is showing, do not create it twice.") } return } else { internetDialog = InternetDialog(context, this, internetDialogController, aboveStatusBar, uiEventLogger, handler) internetDialog = InternetDialog(context, this, internetDialogController, canConfigMobileData, aboveStatusBar, uiEventLogger, handler) internetDialog?.show() } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessPointControllerImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,11 @@ public class AccessPointControllerImpl new UserHandle(mCurrentUser)); } public boolean canConfigMobileData() { return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, UserHandle.of(mCurrentUser)); } public void onUserSwitched(int newUserId) { mCurrentUser = newUserId; } Loading