Use carrier service changed callbacks when flag is on
Test: FrameworksNetTests
Note that carrierPrivilegeAuthenticatorTest is already
an @Parameterized test with flag = on and off, so it
already tests both.
Change-Id: I52fcfd3f21a13d7a39952ba828464ce6ef4085c2
This commit is contained in:
@@ -119,7 +119,7 @@ public class CarrierPrivilegeAuthenticator {
|
||||
unregisterCarrierPrivilegesListeners();
|
||||
mModemCount = mTelephonyManager.getActiveModemCount();
|
||||
registerCarrierPrivilegesListeners(mModemCount);
|
||||
updateCarrierServiceUid();
|
||||
if (!mUseCallbacksForServiceChanged) updateCarrierServiceUid();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,19 +132,26 @@ public class CarrierPrivilegeAuthenticator {
|
||||
@Override public void onCarrierPrivilegesChanged(
|
||||
@NonNull List<String> privilegedPackageNames,
|
||||
@NonNull int[] privilegedUids) {
|
||||
if (mUseCallbacksForServiceChanged) return;
|
||||
// Re-trigger the synchronous check (which is also very cheap due
|
||||
// to caching in CarrierPrivilegesTracker). This allows consistency
|
||||
// with the onSubscriptionsChangedListener and broadcasts.
|
||||
updateCarrierServiceUid();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCarrierServiceChanged(
|
||||
@Nullable final String carrierServicePackageName,
|
||||
public void onCarrierServiceChanged(@Nullable final String carrierServicePackageName,
|
||||
final int carrierServiceUid) {
|
||||
// Re-trigger the synchronous check (which is also very cheap due
|
||||
// to caching in CarrierPrivilegesTracker). This allows consistency
|
||||
// with the onSubscriptionsChangedListener and broadcasts.
|
||||
updateCarrierServiceUid();
|
||||
if (!mUseCallbacksForServiceChanged) {
|
||||
// Re-trigger the synchronous check (which is also very cheap due
|
||||
// to caching in CarrierPrivilegesTracker). This allows consistency
|
||||
// with the onSubscriptionsChangedListener and broadcasts.
|
||||
updateCarrierServiceUid();
|
||||
return;
|
||||
}
|
||||
synchronized (mLock) {
|
||||
mCarrierServiceUid.put(mLogicalSlot, carrierServiceUid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -158,6 +158,8 @@ public class CarrierPrivilegeAuthenticatorTest {
|
||||
assertNotNull(initialListeners.get(1));
|
||||
assertEquals(2, initialListeners.size());
|
||||
|
||||
initialListeners.get(0).onCarrierServiceChanged(null, mCarrierConfigPkgUid);
|
||||
|
||||
final NetworkCapabilities.Builder ncBuilder = new NetworkCapabilities.Builder()
|
||||
.addTransportType(TRANSPORT_CELLULAR)
|
||||
.setNetworkSpecifier(new TelephonyNetworkSpecifier(0));
|
||||
@@ -194,6 +196,8 @@ public class CarrierPrivilegeAuthenticatorTest {
|
||||
assertNotNull(newListeners.get(0));
|
||||
assertEquals(1, newListeners.size());
|
||||
|
||||
newListeners.get(0).onCarrierServiceChanged(null, mCarrierConfigPkgUid);
|
||||
|
||||
final TelephonyNetworkSpecifier specifier = new TelephonyNetworkSpecifier(0);
|
||||
final NetworkCapabilities nc = new NetworkCapabilities.Builder()
|
||||
.addTransportType(TRANSPORT_CELLULAR)
|
||||
@@ -219,6 +223,7 @@ public class CarrierPrivilegeAuthenticatorTest {
|
||||
applicationInfo.uid = mCarrierConfigPkgUid + 1;
|
||||
doReturn(applicationInfo).when(mPackageManager).getApplicationInfo(eq(mTestPkg), anyInt());
|
||||
listener.onCarrierPrivilegesChanged(Collections.emptyList(), new int[] {});
|
||||
listener.onCarrierServiceChanged(null, applicationInfo.uid);
|
||||
|
||||
assertFalse(mCarrierPrivilegeAuthenticator.hasCarrierPrivilegeForNetworkCapabilities(
|
||||
mCarrierConfigPkgUid, nc));
|
||||
@@ -228,6 +233,9 @@ public class CarrierPrivilegeAuthenticatorTest {
|
||||
|
||||
@Test
|
||||
public void testDefaultSubscription() throws Exception {
|
||||
final CarrierPrivilegesListenerShim listener = getCarrierPrivilegesListeners().get(0);
|
||||
listener.onCarrierServiceChanged(null, mCarrierConfigPkgUid);
|
||||
|
||||
final NetworkCapabilities.Builder ncBuilder = new NetworkCapabilities.Builder();
|
||||
ncBuilder.addTransportType(TRANSPORT_CELLULAR);
|
||||
assertFalse(mCarrierPrivilegeAuthenticator.hasCarrierPrivilegeForNetworkCapabilities(
|
||||
|
||||
Reference in New Issue
Block a user