Merge "[mainline] Expose getTetherApnRequired API as system API"

This commit is contained in:
SongFerng Wang
2019-11-08 11:17:49 +00:00
committed by Android (Google) Code Review
6 changed files with 17 additions and 12 deletions

View File

@@ -8533,6 +8533,7 @@ package android.telephony {
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isTetherApnRequired();
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
method public boolean needsOtaServiceProvisioning();

View File

@@ -529,7 +529,7 @@
- TYPE_ETHERNET (9) is prepended to this list, and
- the return value of TelephonyManager.getTetherApnRequired()
- the return value of TelephonyManager.isTetherApnRequired()
determines how the array is further modified:
* TRUE (DUN REQUIRED).

View File

@@ -251,7 +251,7 @@ public class TetheringConfiguration {
/** Check whether dun is required. */
public static boolean checkDunRequired(Context ctx, int id) {
final TelephonyManager tm = (TelephonyManager) ctx.getSystemService(TELEPHONY_SERVICE);
return (tm != null) ? tm.getTetherApnRequired(id) : false;
return (tm != null) ? tm.isTetherApnRequired(id) : false;
}
private static Collection<Integer> getUpstreamIfaceTypes(Resources res, boolean dunRequired) {

View File

@@ -145,7 +145,7 @@ public class TetheringConfigurationTest {
@Test
public void testDunFromTelephonyManagerMeansDun() {
when(mTelephonyManager.getTetherApnRequired(anyInt())).thenReturn(true);
when(mTelephonyManager.isTetherApnRequired(anyInt())).thenReturn(true);
final TetheringConfiguration cfgWifi = getTetheringConfiguration(TYPE_WIFI);
final TetheringConfiguration cfgMobileWifiHipri = getTetheringConfiguration(
@@ -169,7 +169,7 @@ public class TetheringConfigurationTest {
@Test
public void testDunNotRequiredFromTelephonyManagerMeansNoDun() {
when(mTelephonyManager.getTetherApnRequired(anyInt())).thenReturn(false);
when(mTelephonyManager.isTetherApnRequired(anyInt())).thenReturn(false);
final TetheringConfiguration cfgWifi = getTetheringConfiguration(TYPE_WIFI);
final TetheringConfiguration cfgMobileWifiHipri = getTetheringConfiguration(
@@ -212,7 +212,7 @@ public class TetheringConfigurationTest {
@Test
public void testNoDefinedUpstreamTypesAddsEthernet() {
when(mResources.getIntArray(config_tether_upstream_types)).thenReturn(new int[]{});
when(mTelephonyManager.getTetherApnRequired(anyInt())).thenReturn(false);
when(mTelephonyManager.isTetherApnRequired(anyInt())).thenReturn(false);
final TetheringConfiguration cfg = new TetheringConfiguration(
mMockContext, mLog, INVALID_SUBSCRIPTION_ID);
@@ -235,7 +235,7 @@ public class TetheringConfigurationTest {
public void testDefinedUpstreamTypesSansEthernetAddsEthernet() {
when(mResources.getIntArray(config_tether_upstream_types)).thenReturn(
new int[]{TYPE_WIFI, TYPE_MOBILE_HIPRI});
when(mTelephonyManager.getTetherApnRequired(anyInt())).thenReturn(false);
when(mTelephonyManager.isTetherApnRequired(anyInt())).thenReturn(false);
final TetheringConfiguration cfg = new TetheringConfiguration(
mMockContext, mLog, INVALID_SUBSCRIPTION_ID);
@@ -253,7 +253,7 @@ public class TetheringConfigurationTest {
public void testDefinedUpstreamTypesWithEthernetDoesNotAddEthernet() {
when(mResources.getIntArray(config_tether_upstream_types))
.thenReturn(new int[]{TYPE_WIFI, TYPE_ETHERNET, TYPE_MOBILE_HIPRI});
when(mTelephonyManager.getTetherApnRequired(anyInt())).thenReturn(false);
when(mTelephonyManager.isTetherApnRequired(anyInt())).thenReturn(false);
final TetheringConfiguration cfg = new TetheringConfiguration(
mMockContext, mLog, INVALID_SUBSCRIPTION_ID);

View File

@@ -7777,12 +7777,16 @@ public class TelephonyManager {
/**
* Check whether DUN APN is required for tethering.
* <p>
* Requires Permission: READ_PRIVILEGED_PHONE_STATE.
*
* @return {@code true} if DUN APN is required for tethering.
* @hide
*/
public boolean getTetherApnRequired() {
return getTetherApnRequired(getSubId(SubscriptionManager.getActiveDataSubscriptionId()));
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
@SystemApi
public boolean isTetherApnRequired() {
return isTetherApnRequired(getSubId(SubscriptionManager.getActiveDataSubscriptionId()));
}
/**
@@ -7792,11 +7796,11 @@ public class TelephonyManager {
* @return {@code true} if DUN APN is required for tethering.
* @hide
*/
public boolean getTetherApnRequired(int subId) {
public boolean isTetherApnRequired(int subId) {
try {
ITelephony telephony = getITelephony();
if (telephony != null)
return telephony.getTetherApnRequiredForSubscriber(subId);
return telephony.isTetherApnRequiredForSubscriber(subId);
} catch (RemoteException ex) {
Rlog.e(TAG, "hasMatchedTetherApnSetting RemoteException", ex);
} catch (NullPointerException ex) {

View File

@@ -821,7 +821,7 @@ interface ITelephony {
* @return {@code true} if DUN APN is required for tethering.
* @hide
*/
boolean getTetherApnRequiredForSubscriber(int subId);
boolean isTetherApnRequiredForSubscriber(int subId);
/**
* Enables framework IMS and triggers IMS Registration.