diff options
author | Adnan Begovic <adnan@cyngn.com> | 2016-01-11 14:39:20 -0800 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2016-01-12 12:39:53 -0800 |
commit | fe976b7e721000f04b442a908cac60a614dd166c (patch) | |
tree | 96a3e10c8a49e293e222710d29a52c786be0c835 /packages/SystemUI/src/com/android | |
parent | df5e2309224c58632843a1687d8c257459451859 (diff) | |
download | frameworks_base-fe976b7e721000f04b442a908cac60a614dd166c.zip frameworks_base-fe976b7e721000f04b442a908cac60a614dd166c.tar.gz frameworks_base-fe976b7e721000f04b442a908cac60a614dd166c.tar.bz2 |
SystemUi: Reintroduce always_show_roaming config.
Set ro.config.always_show_roaming to true to always
show both the current data RAT and roaming when in
a roaming scenario.
Change-Id: I59416f172f24094547b2594347e6accab0bd7fed
TICKET: CYNGNOS-1578
Diffstat (limited to 'packages/SystemUI/src/com/android')
7 files changed, 26 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index e2c0a2d..f4602de 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -201,7 +201,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> { @Override public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, - String description, boolean isWide, int subId) { + String description, boolean isWide, boolean showSeparateRoaming, int subId) { if (qsIcon == null) { // Not data sim, don't display. return; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index b0fc398..842d7a4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -217,7 +217,7 @@ public class SignalClusterView @Override public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, - String description, boolean isWide, int subId) { + String description, boolean isWide, boolean showRoamingIndicator, int subId) { PhoneState state = getState(subId); if (state == null) { return; @@ -228,6 +228,7 @@ public class SignalClusterView state.mMobileDescription = statusIcon.contentDescription; state.mMobileTypeDescription = typeContentDescription; state.mIsMobileTypeIconWide = statusType != 0 && isWide; + state.mShowRoamingIndicator = showRoamingIndicator; apply(); } @@ -478,9 +479,11 @@ public class SignalClusterView private int mMobileStrengthId = 0, mMobileTypeId = 0; private boolean mIsMobileTypeIconWide; private String mMobileDescription, mMobileTypeDescription; + private boolean mShowRoamingIndicator; private ViewGroup mMobileGroup; private ImageView mMobile, mMobileDark, mMobileType; + private ImageView mMobileRoaming; public PhoneState(int subId, Context context) { ViewGroup root = (ViewGroup) LayoutInflater.from(context) @@ -494,6 +497,7 @@ public class SignalClusterView mMobile = (ImageView) root.findViewById(R.id.mobile_signal); mMobileDark = (ImageView) root.findViewById(R.id.mobile_signal_dark); mMobileType = (ImageView) root.findViewById(R.id.mobile_type); + mMobileRoaming = (ImageView) root.findViewById(R.id.mobile_roaming); } public boolean apply(boolean isSecondaryIcon) { @@ -520,6 +524,7 @@ public class SignalClusterView mMobileGroup.setContentDescription(mMobileTypeDescription + " " + mMobileDescription); mMobileGroup.setVisibility(View.VISIBLE); + mMobileRoaming.setVisibility(mShowRoamingIndicator ? View.VISIBLE : View.GONE); } else { mMobileGroup.setVisibility(View.GONE); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java index e618cb8..e7f65b4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java @@ -126,14 +126,15 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa public void setMobileDataIndicators(final IconState statusIcon, final IconState qsIcon, final int statusType, final int qsType,final boolean activityIn, final boolean activityOut, final String typeContentDescription, - final String description, final boolean isWide, final int subId) { + final String description, final boolean isWide, final boolean showSeparateRoaming, + final int subId) { post(new Runnable() { @Override public void run() { for (SignalCallback signalCluster : mSignalCallbacks) { signalCluster.setMobileDataIndicators(statusIcon, qsIcon, statusType, qsType, activityIn, activityOut, typeContentDescription, description, isWide, - subId); + showSeparateRoaming, subId); } } }); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java index 33df7a8..435787e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java @@ -19,6 +19,7 @@ import android.content.Context; import android.content.Intent; import android.net.NetworkCapabilities; import android.os.Looper; +import android.os.SystemProperties; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.SignalStrength; @@ -238,6 +239,7 @@ public class MobileSignalController extends SignalController< int typeIcon = showDataIcon ? icons.mDataType : 0; mCallbackHandler.setMobileDataIndicators(statusIcon, qsIcon, typeIcon, qsTypeIcon, activityIn, activityOut, dataContentDescription, description, icons.mIsWide, + mCurrentState.showSeparateRoaming, mSubscriptionInfo.getSubscriptionId()); } @@ -398,7 +400,12 @@ public class MobileSignalController extends SignalController< if (isCarrierNetworkChangeActive()) { mCurrentState.iconGroup = TelephonyIcons.CARRIER_NETWORK_CHANGE; } else if (isRoaming()) { - mCurrentState.iconGroup = TelephonyIcons.ROAMING; + mCurrentState.showSeparateRoaming = false; + if (SystemProperties.getBoolean("ro.config.always_show_roaming", false)) { + mCurrentState.showSeparateRoaming = true; + } else { + mCurrentState.iconGroup = TelephonyIcons.ROAMING; + } } if (isEmergencyOnly() != mCurrentState.isEmergency) { mCurrentState.isEmergency = isEmergencyOnly(); @@ -530,6 +537,7 @@ public class MobileSignalController extends SignalController< boolean airplaneMode; boolean carrierNetworkChangeMode; boolean isDefault; + boolean showSeparateRoaming; @Override public void copyFrom(State s) { @@ -543,6 +551,7 @@ public class MobileSignalController extends SignalController< isEmergency = state.isEmergency; airplaneMode = state.airplaneMode; carrierNetworkChangeMode = state.carrierNetworkChangeMode; + showSeparateRoaming = state.showSeparateRoaming; } @Override @@ -557,6 +566,7 @@ public class MobileSignalController extends SignalController< builder.append("isEmergency=").append(isEmergency).append(','); builder.append("airplaneMode=").append(airplaneMode).append(','); builder.append("carrierNetworkChangeMode=").append(carrierNetworkChangeMode); + builder.append("showSeparateRoaming=").append(showSeparateRoaming); } @Override @@ -569,7 +579,8 @@ public class MobileSignalController extends SignalController< && ((MobileState) o).isEmergency == isEmergency && ((MobileState) o).airplaneMode == airplaneMode && ((MobileState) o).carrierNetworkChangeMode == carrierNetworkChangeMode - && ((MobileState) o).isDefault == isDefault; + && ((MobileState) o).isDefault == isDefault + && ((MobileState) o).showSeparateRoaming == showSeparateRoaming; } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java index 8023ea6..57b0dba 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -40,7 +40,7 @@ public interface NetworkController { void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, - String description, boolean isWide, int subId); + String description, boolean isWide, boolean showSeparateRoaming, int subId); void setSubs(List<SubscriptionInfo> subs); void setNoSims(boolean show); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java index dce889f..f13ef9f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java @@ -37,7 +37,7 @@ public class SignalCallbackAdapter implements SignalCallback { @Override public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, - String description, boolean isWide, int subId) { + String description, boolean isWide, boolean showSeparateRoaming, int subId) { } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java index 5e9447e..72e3a06 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java @@ -256,6 +256,7 @@ public abstract class SignalController<T extends SignalController.State, IconGroup iconGroup; int inetCondition; int rssi; // Only for logging. + boolean showSeparateRoaming; // Not used for comparison, just used for logging. long time; |