Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d1860df authored by Cody Kesting's avatar Cody Kesting
Browse files

Specify 'package' for CarrierPrivilegesTracker IntentFilter.

This change registers CarrierPrivilegesTracker's BroadcastReceiver
twice, once for non-package related broadcasts (such as for Carrier
Config changes or SIM status changes) and once for pacakge-related
broadcasts (such as package installs and uninstalls). These categories
require different intent filters, so different settings must be used for
each BroadcastReceiver register operation.

Bug: 157623678
Bug: 151332031
Test: atest CarrierPrivilegesTrackerTest
Test: atest android.net.cts.ConnectivityDiagnosticsManagerTest
Change-Id: I5048a2b66d5845c185d2b365ed957f4a69f1ddf1
Merged-In: I5048a2b66d5845c185d2b365ed957f4a69f1ddf1
parent 6034eb5a
Loading
Loading
Loading
Loading
+15 −8
Original line number Diff line number Diff line
@@ -217,14 +217,21 @@ public class CarrierPrivilegesTracker extends Handler {
        mPhone = phone;
        mLocalLog = new LocalLog(100);

        IntentFilter filter = new IntentFilter();
        filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
        filter.addAction(TelephonyManager.ACTION_SIM_CARD_STATE_CHANGED);
        filter.addAction(TelephonyManager.ACTION_SIM_APPLICATION_STATE_CHANGED);
        filter.addAction(Intent.ACTION_PACKAGE_ADDED);
        filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
        filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
        mContext.registerReceiver(mIntentReceiver, filter);
        IntentFilter certFilter = new IntentFilter();
        certFilter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
        certFilter.addAction(TelephonyManager.ACTION_SIM_CARD_STATE_CHANGED);
        certFilter.addAction(TelephonyManager.ACTION_SIM_APPLICATION_STATE_CHANGED);
        mContext.registerReceiver(mIntentReceiver, certFilter);

        IntentFilter packageFilter = new IntentFilter();
        packageFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
        packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);

        // For package-related broadcasts, specify the data scheme for "package" to receive the
        // package name along with the broadcast
        packageFilter.addDataScheme("package");
        mContext.registerReceiver(mIntentReceiver, packageFilter);

        mRegistrantList = new RegistrantList();
        mCarrierConfigCerts = new ArraySet<>();