Move permission checks out of synchronized block
SubscriptionController#getSubscriptionInfoListFromCacheHelper is invoked by a majority of the AIDL methods to obtain SubscriptionInfo objects. This commit cuts down on lock contention by performing a majority of the permission checks before the synchronized block; with this only a single carrier privilege check may be required for each subscription. Fixes: 157642567 Bug: 173421434 Test: atest SubscriptionControllerTest Test: Manually invoked test app with multiple background threads invoking SubscriptionManager methods to query for SubscriptionInfo objects; saw an average 45-50ms improvement Change-Id: I4d738955125ea4d39252fa582c41139fc5f6f784 Merged-In: I4d738955125ea4d39252fa582c41139fc5f6f784
Loading