diff options
| author | 2020-11-19 22:48:29 +0000 | |
|---|---|---|
| committer | 2020-11-19 22:48:29 +0000 | |
| commit | bc0ff8946fa67ae3dd433c59bba77dab0892d94e (patch) | |
| tree | 412edce90f2e03f3846a07819d6162d749eb0583 | |
| parent | 8337c53b5b9e779a40a80f2e723ed17c41cc3c24 (diff) | |
| parent | 1b48e894c525176393026ccea17a40d60189d05f (diff) | |
Expose CDMA ERI API am: 1b48e894c5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1504953
Change-Id: If4c950e154cb0ffdb9ec5d309954c1e6d6e32429
6 files changed, 68 insertions, 195 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 2769c0a981e0..2f9c3e7b776f 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -46603,6 +46603,9 @@ package android.telephony { field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0 field public static final int DATA_SUSPENDED = 3; // 0x3 field public static final int DATA_UNKNOWN = -1; // 0xffffffff + field public static final int ERI_FLASH = 2; // 0x2 + field public static final int ERI_OFF = 1; // 0x1 + field public static final int ERI_ON = 0; // 0x0 field public static final String EXTRA_ACTIVE_SIM_SUPPORTED_COUNT = "android.telephony.extra.ACTIVE_SIM_SUPPORTED_COUNT"; field public static final String EXTRA_CALL_VOICEMAIL_INTENT = "android.telephony.extra.CALL_VOICEMAIL_INTENT"; field public static final String EXTRA_CARRIER_ID = "android.telephony.extra.CARRIER_ID"; diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 18d10641d0cd..f36d8a177f2f 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -10108,6 +10108,7 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int); method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules(); + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorIconIndex(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(); 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 cf83603997c0..a0e6cc84502b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java @@ -23,7 +23,6 @@ import android.os.Handler; import android.os.Looper; import android.provider.Settings.Global; import android.telephony.Annotation; -import android.telephony.CdmaEriInformation; import android.telephony.CellSignalStrength; import android.telephony.CellSignalStrengthCdma; import android.telephony.PhoneStateListener; @@ -423,11 +422,8 @@ public class MobileSignalController extends SignalController< if (isCarrierNetworkChangeActive()) { return false; } - if (isCdma() && mServiceState != null) { - final int iconMode = mPhone.getCdmaEriInformation().getEriIconMode(); - return mPhone.getCdmaEriInformation().getEriIconIndex() != CdmaEriInformation.ERI_OFF - && (iconMode == CdmaEriInformation.ERI_ICON_MODE_NORMAL - || iconMode == CdmaEriInformation.ERI_ICON_MODE_FLASH); + if (isCdma()) { + return mPhone.getCdmaEnhancedRoamingIndicatorIconIndex() != TelephonyManager.ERI_OFF; } else { return mServiceState != null && mServiceState.getRoaming(); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index aef454fc1374..5d2486cf11c4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -45,7 +45,6 @@ import android.net.wifi.WifiManager; import android.os.Handler; import android.provider.Settings; import android.provider.Settings.Global; -import android.telephony.CdmaEriInformation; import android.telephony.CellSignalStrength; import android.telephony.NetworkRegistrationInfo; import android.telephony.PhoneStateListener; @@ -119,8 +118,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase { private NetworkCapabilities mNetCapabilities; private ConnectivityManager.NetworkCallback mNetworkCallback; - private CdmaEriInformation mEriInformation; - @Rule public TestWatcher failWatcher = new TestWatcher() { @Override @@ -181,11 +178,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase { doReturn(TelephonyManager.NETWORK_TYPE_LTE).when(mTelephonyDisplayInfo).getNetworkType(); doReturn(TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE).when(mTelephonyDisplayInfo) .getOverrideNetworkType(); - - mEriInformation = new CdmaEriInformation(CdmaEriInformation.ERI_OFF, - CdmaEriInformation.ERI_ICON_MODE_NORMAL); - when(mMockTm.getCdmaEriInformation()).thenReturn(mEriInformation); - mConfig = new Config(); mConfig.hspaDataDistinguishable = true; mCallbackHandler = mock(CallbackHandler.class); @@ -308,9 +300,8 @@ public class NetworkControllerBaseTest extends SysuiTestCase { } public void setCdmaRoaming(boolean isRoaming) { - mEriInformation.setEriIconIndex(isRoaming ? - CdmaEriInformation.ERI_ON : CdmaEriInformation.ERI_OFF); - when(mMockTm.getCdmaEriInformation()).thenReturn(mEriInformation); + when(mMockTm.getCdmaEnhancedRoamingIndicatorIconIndex()).thenReturn( + isRoaming ? TelephonyManager.ERI_ON : TelephonyManager.ERI_OFF); } public void setVoiceRegState(int voiceRegState) { diff --git a/telephony/java/android/telephony/CdmaEriInformation.java b/telephony/java/android/telephony/CdmaEriInformation.java deleted file mode 100644 index fd0b905e9c3e..000000000000 --- a/telephony/java/android/telephony/CdmaEriInformation.java +++ /dev/null @@ -1,169 +0,0 @@ -/** - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.telephony; - -import android.annotation.IntDef; -import android.annotation.NonNull; -import android.annotation.SystemApi; -import android.os.Parcel; -import android.os.Parcelable; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * CDMA ERI (Enhanced Roaming Indicator) information. - * - * This contains the following ERI information - * - * 1. ERI (Enhanced Roaming Indicator) icon index. The number is assigned by - * 3GPP2 C.R1001-H v1.0 Table 8.1-1. Additionally carriers define their own - * ERI icon index. - * 2. CDMA ERI icon mode. This represents how the icon should be displayed. - * Its one of the following CDMA ERI icon mode - * {@link android.telephony.CdmaEriInformation#ERI_ICON_MODE_NORMAL} - * {@link android.telephony.CdmaEriInformation#ERI_ICON_MODE_FLASH} - * - * @hide - */ -public final class CdmaEriInformation implements Parcelable { - /** @hide */ - @Retention(RetentionPolicy.SOURCE) - @IntDef(prefix = {"ERI_"}, value = { - ERI_ON, - ERI_OFF, - ERI_FLASH - }) - public @interface EriIconIndex {} - - /** - * ERI (Enhanced Roaming Indicator) is ON i.e value 0 defined by - * 3GPP2 C.R1001-H v1.0 Table 8.1-1. - */ - public static final int ERI_ON = 0; - - /** - * ERI (Enhanced Roaming Indicator) is OFF i.e value 1 defined by - * 3GPP2 C.R1001-H v1.0 Table 8.1-1. - */ - public static final int ERI_OFF = 1; - - /** - * ERI (Enhanced Roaming Indicator) is FLASH i.e value 2 defined by - * 3GPP2 C.R1001-H v1.0 Table 8.1-1. - */ - public static final int ERI_FLASH = 2; - - /** @hide */ - @Retention(RetentionPolicy.SOURCE) - @IntDef(prefix = {"ERI_ICON_MODE_"}, value = { - ERI_ICON_MODE_NORMAL, - ERI_ICON_MODE_FLASH - }) - public @interface EriIconMode {} - - /** - * ERI (Enhanced Roaming Indicator) icon mode is normal. This constant represents that - * the ERI icon should be displayed normally. - * - * Note: ERI is defined 3GPP2 C.R1001-H Table 8.1-1 - */ - public static final int ERI_ICON_MODE_NORMAL = 0; - - /** - * ERI (Enhanced Roaming Indicator) icon mode flash. This constant represents that - * the ERI icon should be flashing. - * - * Note: ERI is defined 3GPP2 C.R1001-H Table 8.1-1 - */ - public static final int ERI_ICON_MODE_FLASH = 1; - - private @EriIconIndex int mIconIndex; - private @EriIconMode int mIconMode; - - /** - * Creates CdmaEriInformation from iconIndex and iconMode - * - * @hide - */ - public CdmaEriInformation(@EriIconIndex int iconIndex, @EriIconMode int iconMode) { - mIconIndex = iconIndex; - mIconMode = iconMode; - } - - /** Gets the ERI icon index */ - public @EriIconIndex int getEriIconIndex() { - return mIconIndex; - } - - /** - * Sets the ERI icon index - * - * @hide - */ - public void setEriIconIndex(@EriIconIndex int iconIndex) { - mIconIndex = iconIndex; - } - - /** Gets the ERI icon mode */ - public @EriIconMode int getEriIconMode() { - return mIconMode; - } - - /** - * Sets the ERI icon mode - * - * @hide - */ - public void setEriIconMode(@EriIconMode int iconMode) { - mIconMode = iconMode; - } - /** Implement the Parcelable interface */ - @Override - public void writeToParcel(@NonNull Parcel dest, int flags) { - dest.writeInt(mIconIndex); - dest.writeInt(mIconMode); - } - - /** Implement the Parcelable interface */ - @Override - public int describeContents() { - return 0; - } - - /** - * Construct a CdmaEriInformation object from the given parcel - */ - private CdmaEriInformation(Parcel in) { - mIconIndex = in.readInt(); - mIconMode = in.readInt(); - } - - /** Implement the Parcelable interface */ - public static final @android.annotation.NonNull Parcelable.Creator<CdmaEriInformation> CREATOR = - new Parcelable.Creator<CdmaEriInformation>() { - @Override - public CdmaEriInformation createFromParcel(Parcel in) { - return new CdmaEriInformation(in); - } - - @Override - public CdmaEriInformation[] newArray(int size) { - return new CdmaEriInformation[size]; - } - }; -} diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 6f88cbdbff05..b5b96f78e153 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -5603,27 +5603,78 @@ public class TelephonyManager { } } + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(prefix = {"ERI_"}, value = { + ERI_ON, + ERI_OFF, + ERI_FLASH + }) + public @interface EriIconIndex {} + + /** + * ERI (Enhanced Roaming Indicator) is ON i.e value 0 defined by + * 3GPP2 C.R1001-H v1.0 Table 8.1-1. + */ + public static final int ERI_ON = 0; + /** - * Get the CDMA ERI (Enhanced Roaming Indicator) information + * ERI (Enhanced Roaming Indicator) is OFF i.e value 1 defined by + * 3GPP2 C.R1001-H v1.0 Table 8.1-1. + */ + public static final int ERI_OFF = 1; + + /** + * ERI (Enhanced Roaming Indicator) is FLASH i.e value 2 defined by + * 3GPP2 C.R1001-H v1.0 Table 8.1-1. + */ + public static final int ERI_FLASH = 2; + + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(prefix = {"ERI_ICON_MODE_"}, value = { + ERI_ICON_MODE_NORMAL, + ERI_ICON_MODE_FLASH + }) + public @interface EriIconMode {} + + /** + * ERI (Enhanced Roaming Indicator) icon mode is normal. This constant represents that + * the ERI icon should be displayed normally. * - * Returns {@link android.telephony#CdmaEriInformation} + * Note: ERI is defined 3GPP2 C.R1001-H Table 8.1-1 + * @hide + */ + public static final int ERI_ICON_MODE_NORMAL = 0; + + /** + * ERI (Enhanced Roaming Indicator) icon mode flash. This constant represents that + * the ERI icon should be flashing. * + * Note: ERI is defined 3GPP2 C.R1001-H Table 8.1-1 * @hide */ + public static final int ERI_ICON_MODE_FLASH = 1; + + /** + * Returns the CDMA ERI icon index to display. The number is assigned by + * 3GPP2 C.R1001-H v1.0 Table 8.1-1. Additionally carriers define their own ERI icon index. + * Defined values are {@link #ERI_ON}, {@link #ERI_OFF}, and {@link #ERI_FLASH}. + * @hide + */ + @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) - @NonNull - public CdmaEriInformation getCdmaEriInformation() { - return new CdmaEriInformation( - getCdmaEriIconIndex(getSubId()), getCdmaEriIconMode(getSubId())); + public @EriIconIndex int getCdmaEnhancedRoamingIndicatorIconIndex() { + return getCdmaEriIconIndex(getSubId()); } /** - * Returns the CDMA ERI icon index to display for a subscription + * Returns the CDMA ERI icon index to display for a subscription. * @hide */ @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @UnsupportedAppUsage - public int getCdmaEriIconIndex(int subId) { + public @EriIconIndex int getCdmaEriIconIndex(int subId) { try { ITelephony telephony = getITelephony(); if (telephony == null) @@ -5647,7 +5698,7 @@ public class TelephonyManager { */ @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @UnsupportedAppUsage - public int getCdmaEriIconMode(int subId) { + public @EriIconMode int getCdmaEriIconMode(int subId) { try { ITelephony telephony = getITelephony(); if (telephony == null) |