Merge "[Telephony Mainline] Rename getActiveAndHiddenSubscriptionIdList and guard with permission"
This commit is contained in:
@@ -8932,10 +8932,10 @@ package android.telephony {
|
|||||||
public class SubscriptionManager {
|
public class SubscriptionManager {
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
|
||||||
method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
|
method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
|
||||||
method @NonNull public int[] getActiveAndHiddenSubscriptionIdList();
|
method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
|
||||||
method @NonNull public int[] getActiveSubscriptionIdList();
|
|
||||||
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
|
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
|
||||||
method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
|
method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
|
||||||
|
method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
|
||||||
method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
|
method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
|
||||||
|
|||||||
@@ -8830,10 +8830,10 @@ package android.telephony {
|
|||||||
public class SubscriptionManager {
|
public class SubscriptionManager {
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
|
||||||
method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
|
method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
|
||||||
method @NonNull public int[] getActiveAndHiddenSubscriptionIdList();
|
method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
|
||||||
method @NonNull public int[] getActiveSubscriptionIdList();
|
|
||||||
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
|
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
|
||||||
method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
|
method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
|
||||||
|
method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
|
||||||
method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
|
method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
|
||||||
|
|||||||
@@ -1457,7 +1457,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
|||||||
public void notifyCarrierNetworkChange(boolean active) {
|
public void notifyCarrierNetworkChange(boolean active) {
|
||||||
// only CarrierService with carrier privilege rule should have the permission
|
// only CarrierService with carrier privilege rule should have the permission
|
||||||
int[] subIds = Arrays.stream(SubscriptionManager.from(mContext)
|
int[] subIds = Arrays.stream(SubscriptionManager.from(mContext)
|
||||||
.getActiveAndHiddenSubscriptionIdList())
|
.getCompleteActiveSubscriptionIdList())
|
||||||
.filter(i -> TelephonyPermissions.checkCarrierPrivilegeForSubId(mContext,
|
.filter(i -> TelephonyPermissions.checkCarrierPrivilegeForSubId(mContext,
|
||||||
i)).toArray();
|
i)).toArray();
|
||||||
if (ArrayUtils.isEmpty(subIds)) {
|
if (ArrayUtils.isEmpty(subIds)) {
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class NetworkStatsSubscriptionsMonitor extends
|
|||||||
@NonNull
|
@NonNull
|
||||||
private List<Integer> getActiveSubIdList(@NonNull SubscriptionManager subscriptionManager) {
|
private List<Integer> getActiveSubIdList(@NonNull SubscriptionManager subscriptionManager) {
|
||||||
final ArrayList<Integer> ret = new ArrayList<>();
|
final ArrayList<Integer> ret = new ArrayList<>();
|
||||||
final int[] ids = subscriptionManager.getActiveAndHiddenSubscriptionIdList();
|
final int[] ids = subscriptionManager.getCompleteActiveSubscriptionIdList();
|
||||||
for (int id : ids) ret.add(id);
|
for (int id : ids) ret.add(id);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -650,7 +650,7 @@ public final class TelephonyPermissions {
|
|||||||
private static boolean checkCarrierPrivilegeForAnySubId(Context context, int uid) {
|
private static boolean checkCarrierPrivilegeForAnySubId(Context context, int uid) {
|
||||||
SubscriptionManager sm = (SubscriptionManager) context.getSystemService(
|
SubscriptionManager sm = (SubscriptionManager) context.getSystemService(
|
||||||
Context.TELEPHONY_SUBSCRIPTION_SERVICE);
|
Context.TELEPHONY_SUBSCRIPTION_SERVICE);
|
||||||
int[] activeSubIds = sm.getActiveSubscriptionIdList(/* visibleOnly */ false);
|
int[] activeSubIds = sm.getCompleteActiveSubscriptionIdList();
|
||||||
for (int activeSubId : activeSubIds) {
|
for (int activeSubId : activeSubIds) {
|
||||||
if (getCarrierPrivilegeStatus(context, activeSubId, uid)
|
if (getCarrierPrivilegeStatus(context, activeSubId, uid)
|
||||||
== TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
|
== TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
|
||||||
|
|||||||
@@ -2182,6 +2182,7 @@ public class SubscriptionManager {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
public @NonNull int[] getActiveSubscriptionIdList() {
|
public @NonNull int[] getActiveSubscriptionIdList() {
|
||||||
return getActiveSubscriptionIdList(/* visibleOnly */ true);
|
return getActiveSubscriptionIdList(/* visibleOnly */ true);
|
||||||
}
|
}
|
||||||
@@ -2199,7 +2200,8 @@ public class SubscriptionManager {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public @NonNull int[] getActiveAndHiddenSubscriptionIdList() {
|
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
|
public @NonNull int[] getCompleteActiveSubscriptionIdList() {
|
||||||
return getActiveSubscriptionIdList(/* visibleOnly */false);
|
return getActiveSubscriptionIdList(/* visibleOnly */false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ public final class NetworkStatsSubscriptionsMonitorTest {
|
|||||||
mTestSubList.add(subId);
|
mTestSubList.add(subId);
|
||||||
|
|
||||||
final int[] subList = convertArrayListToIntArray(mTestSubList);
|
final int[] subList = convertArrayListToIntArray(mTestSubList);
|
||||||
when(mSubscriptionManager.getActiveAndHiddenSubscriptionIdList()).thenReturn(subList);
|
when(mSubscriptionManager.getCompleteActiveSubscriptionIdList()).thenReturn(subList);
|
||||||
when(mTelephonyManager.getSubscriberId(subId)).thenReturn(subscriberId);
|
when(mTelephonyManager.getSubscriberId(subId)).thenReturn(subscriberId);
|
||||||
mMonitor.onSubscriptionsChanged();
|
mMonitor.onSubscriptionsChanged();
|
||||||
}
|
}
|
||||||
@@ -139,7 +139,7 @@ public final class NetworkStatsSubscriptionsMonitorTest {
|
|||||||
// Remove subId from TestSubList.
|
// Remove subId from TestSubList.
|
||||||
mTestSubList.removeIf(it -> it == subId);
|
mTestSubList.removeIf(it -> it == subId);
|
||||||
final int[] subList = convertArrayListToIntArray(mTestSubList);
|
final int[] subList = convertArrayListToIntArray(mTestSubList);
|
||||||
when(mSubscriptionManager.getActiveAndHiddenSubscriptionIdList()).thenReturn(subList);
|
when(mSubscriptionManager.getCompleteActiveSubscriptionIdList()).thenReturn(subList);
|
||||||
mMonitor.onSubscriptionsChanged();
|
mMonitor.onSubscriptionsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user