diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index fbd48de22425..96936d20bf99 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -88,7 +88,7 @@ - wifi,internet,bt,flashlight,cell,hotspot,dark,airplane,location,dataswitch,dnd,qr_code_scanner,heads_up,rotation,battery,cast,screenrecord,alarm,saver,night + wifi,internet,bt,flashlight,cell,hotspot,dark,airplane,location,dataswitch,dnd,qr_code_scanner,heads_up,rotation,battery,cast,screenrecord,alarm,saver,night,preferred_network diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/PreferredNetworkTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/PreferredNetworkTile.java index b4afad8d80bc..b7d2bf25d31c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/PreferredNetworkTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/PreferredNetworkTile.java @@ -39,7 +39,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import com.android.systemui.res.R; +import com.android.settingslib.Utils; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.plugins.ActivityStarter; @@ -50,6 +50,7 @@ import com.android.systemui.qs.QsEventLogger; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; +import com.android.systemui.res.R; import javax.inject.Inject; @@ -80,7 +81,7 @@ public PreferredNetworkTile( @Override public boolean isAvailable() { - return true; + return !Utils.isWifiOnly(mContext); } @Override @@ -89,7 +90,7 @@ public State newTileState() { } @Override - protected void handleClick(@Nullable View view) { + public void handleClick(@Nullable View view) { final int mode = getPreferredNetworkMode(); final int newMode = TelephonyManagerConstants.getTargetMode(mode); if (newMode == -1) return; @@ -114,17 +115,14 @@ public Intent getLongClickIntent() { @Override protected void handleUpdateState(State state, Object arg) { state.icon = mIcon; - state.label = -mContext.getResources().getString(R.string.quick_settings_preferred_network_label); + state.label = mContext.getResources().getString(R.string.quick_settings_preferred_network_label); final int mode = getPreferredNetworkMode(); final int newMode = TelephonyManagerConstants.getTargetMode(mode); state.state = newMode == -1 ? Tile.STATE_UNAVAILABLE : Tile.STATE_ACTIVE; - state.secondaryLabel = newMode == -1 ? -mContext.getResources().getString(R.string.quick_settings_preferred_network_unsupported) + state.secondaryLabel = newMode == -1 ? mContext.getResources().getString(R.string.quick_settings_preferred_network_unsupported) : (TelephonyManagerConstants.is5gMode(mode) ? mContext.getResources().getString(R.string.quick_settings_preferred_network_nr) - : -mContext.getResources().getString(R.string.quick_settings_preferred_network_lte)); + : mContext.getResources().getString(R.string.quick_settings_preferred_network_lte)); } @Override @@ -134,7 +132,7 @@ public CharSequence getTileLabel() { @Override public int getMetricsCategory() { - return MetricsEvent.MIST; + return MetricsEvent.MIST; } @Override @@ -144,8 +142,7 @@ public void handleSetListening(boolean listening) { private int getPreferredNetworkMode() { final int subId = SubscriptionManager.getDefaultDataSubscriptionId(); return getNetworkTypeFromRaf( - (int) -mTelephonyManager.createForSubscriptionId(subId).getAllowedNetworkTypesForReason( + (int) mTelephonyManager.createForSubscriptionId(subId).getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); } @@ -570,8 +567,7 @@ static class RadioConstants { public static final int RAF_HSPA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSPA; public static final int RAF_HSPAP = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSPAP; public static final int RAF_UMTS = (int) TelephonyManager.NETWORK_TYPE_BITMASK_UMTS; - public static final int RAF_TD_SCDMA = (int) -TelephonyManager.NETWORK_TYPE_BITMASK_TD_SCDMA; + public static final int RAF_TD_SCDMA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_TD_SCDMA; // 4G public static final int RAF_LTE = (int) TelephonyManager.NETWORK_TYPE_BITMASK_LTE; public static final int RAF_LTE_CA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_LTE_CA;