Merge "Add helper API to hide subscriptions when getting active subscriptions"
am: 795b80da15
Change-Id: I69c5807c7f819bafdc59e3914ca93fec11066a10
This commit is contained in:
@@ -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