Merge "Add helper API to hide subscriptions when getting active subscriptions"

am: 795b80da15

Change-Id: I69c5807c7f819bafdc59e3914ca93fec11066a10
This commit is contained in:
Xiangyu/Malcolm Chen
2019-01-21 14:58:59 -08:00
committed by android-build-merger

View File

@@ -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());
}
}
/**