Add helper API to hide subscriptions when getting active subscriptions
Adding a hidden API that only return user visible active subscriptions. Bug: 121396526 Test: manual Change-Id: Ib69f1c2c51d22c2a58cfa93c662dc65521f7874f Merged-In: Ib69f1c2c51d22c2a58cfa93c662dc65521f7874f
This commit is contained in:
committed by
Xiangyu/Malcolm Chen
parent
a4c1416c28
commit
c3d7de01c7
@@ -1173,17 +1173,33 @@ public class SubscriptionManager {
|
||||
@SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
|
||||
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
|
||||
public List<SubscriptionInfo> getActiveSubscriptionInfoList() {
|
||||
List<SubscriptionInfo> result = null;
|
||||
return getActiveSubscriptionInfoList(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is similar to {@link #getActiveSubscriptionInfoList()}, but if userVisibleOnly
|
||||
* is true, it will filter out the hidden subscriptions.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public List<SubscriptionInfo> getActiveSubscriptionInfoList(boolean userVisibleOnly) {
|
||||
List<SubscriptionInfo> activeList = null;
|
||||
|
||||
try {
|
||||
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
|
||||
if (iSub != null) {
|
||||
result = iSub.getActiveSubscriptionInfoList(mContext.getOpPackageName());
|
||||
activeList = iSub.getActiveSubscriptionInfoList(mContext.getOpPackageName());
|
||||
}
|
||||
} catch (RemoteException ex) {
|
||||
// ignore it
|
||||
}
|
||||
return result;
|
||||
|
||||
if (!userVisibleOnly || activeList == null) {
|
||||
return activeList;
|
||||
} else {
|
||||
return activeList.stream().filter(subInfo -> !shouldHideSubscription(subInfo))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user