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

Commit 417b3b4d authored by rambowang's avatar rambowang
Browse files

DataNetwork: replace deprecated carrier privileges listener with public

API

This CL updates DataNetwork to use public methods TelephonyManager#
[un]registerCarrierPrivilegesCallback to replace the deprecated
methods CarrierPrivilegesTracker#[un]registerCarrierPrivilegesListener
which will be removed soon after cleaning up all callers.

Bug: 211658797
Test: atest FrameworksTelephonyTests
Merged-In: I76f9e39b5db97538a37094f2ed1ebbbebc3d512c
Change-Id: I76f9e39b5db97538a37094f2ed1ebbbebc3d512c
parent 63c7552a
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -862,20 +862,20 @@ public class CarrierPrivilegesTracker extends Handler {
     * <p>After being registered, the Registrant will be notified with the current Carrier
     * Privileged UIDs for this Phone.
     *
     * @deprecated Use {@link TelephonyManager#addCarrierPrivilegesListener} instead, which also
     *     provides package names
     * @deprecated Use {@link TelephonyManager#registerCarrierPrivilegesCallback} instead, which
     *     also provides package names
     *     <p>TODO(b/211658797) migrate callers, then delete all Registrant logic from CPT
     */
    @Deprecated
    public void registerCarrierPrivilegesListener(@NonNull Handler h, int what,
            @Nullable Object obj) {
    public void registerCarrierPrivilegesListener(
            @NonNull Handler h, int what, @Nullable Object obj) {
        sendMessage(obtainMessage(ACTION_REGISTER_LISTENER, new Registrant(h, what, obj)));
    }

    /**
     * Unregisters the given listener with this tracker.
     *
     * @deprecated Use {@link TelephonyManager#removeCarrierPrivilegesListener} instead
     * @deprecated Use {@link TelephonyManager#unregisterCarrierPrivilegesCallback} instead
     *     <p>TODO(b/211658797) migrate callers, then delete all Registrant logic from CPT
     */
    @Deprecated
+23 −3
Original line number Diff line number Diff line
@@ -678,6 +678,9 @@ public class DataNetwork extends StateMachine {
     */
    private @NonNull int[] mAdministratorUids = new int[0];

    /** Carrier privileges callback to monitor administrator UID change. */
    private @Nullable TelephonyManager.CarrierPrivilegesCallback mCarrierPrivilegesCallback;

    /**
     * Carrier service package uid. This UID will not change through the life cycle of data network.
     */
@@ -1053,8 +1056,22 @@ public class DataNetwork extends StateMachine {
                mDataServiceManagers.get(transport)
                        .registerForDataCallListChanged(getHandler(), EVENT_DATA_STATE_CHANGED);
            }
            mPhone.getCarrierPrivilegesTracker().registerCarrierPrivilegesListener(getHandler(),
                    EVENT_CARRIER_PRIVILEGED_UIDS_CHANGED, null);

            mCarrierPrivilegesCallback =
                    (Set<String> privilegedPackageNames, Set<Integer> privilegedUids) -> {
                        log("onCarrierPrivilegesChanged, Uids=" + privilegedUids.toString());
                        Message message = obtainMessage(EVENT_CARRIER_PRIVILEGED_UIDS_CHANGED);
                        AsyncResult.forMessage(
                                message,
                                privilegedUids.stream().mapToInt(i -> i).toArray(),
                                null /* ex */);
                        message.sendToTarget();
                    };
            TelephonyManager tm = mPhone.getContext().getSystemService(TelephonyManager.class);
            if (tm != null) {
                tm.registerCarrierPrivilegesCallback(
                        mPhone.getPhoneId(), getHandler()::post, mCarrierPrivilegesCallback);
            }

            mPhone.getServiceStateTracker().registerForCssIndicatorChanged(
                    getHandler(), EVENT_CSS_INDICATOR_CHANGED, null);
@@ -1088,7 +1105,10 @@ public class DataNetwork extends StateMachine {
            mPhone.getCallTracker().unregisterForVoiceCallEnded(getHandler());

            mPhone.getServiceStateTracker().unregisterForCssIndicatorChanged(getHandler());
            mPhone.getCarrierPrivilegesTracker().unregisterCarrierPrivilegesListener(getHandler());
            TelephonyManager tm = mPhone.getContext().getSystemService(TelephonyManager.class);
            if (tm != null && mCarrierPrivilegesCallback != null) {
                tm.unregisterCarrierPrivilegesCallback(mCarrierPrivilegesCallback);
            }
            for (int transport : mAccessNetworksManager.getAvailableTransports()) {
                mDataServiceManagers.get(transport)
                        .unregisterForDataCallListChanged(getHandler());
+2 −3
Original line number Diff line number Diff line
@@ -1122,8 +1122,7 @@ public class DataNetworkTest extends TelephonyTest {
                any(Handler.class), anyInt());
        verify(mMockedWlanDataServiceManager).registerForDataCallListChanged(
                any(Handler.class), anyInt());
        verify(mCarrierPrivilegesTracker).registerCarrierPrivilegesListener(any(Handler.class),
                anyInt(), eq(null));
        verify(mTelephonyManager).registerCarrierPrivilegesCallback(anyInt(), any(), any());
        verify(mLinkBandwidthEstimator).registerCallback(
                any(LinkBandwidthEstimatorCallback.class));
        verify(mSimulatedCommandsVerifier).registerForNattKeepaliveStatus(any(Handler.class),
@@ -1146,7 +1145,7 @@ public class DataNetworkTest extends TelephonyTest {
        verify(mDisplayInfoController).unregisterForTelephonyDisplayInfoChanged(any(Handler.class));
        verify(mMockedWwanDataServiceManager).unregisterForDataCallListChanged(any(Handler.class));
        verify(mMockedWlanDataServiceManager).unregisterForDataCallListChanged(any(Handler.class));
        verify(mCarrierPrivilegesTracker).unregisterCarrierPrivilegesListener(any(Handler.class));
        verify(mTelephonyManager).unregisterCarrierPrivilegesCallback(any());
        verify(mLinkBandwidthEstimator).unregisterCallback(
                any(LinkBandwidthEstimatorCallback.class));
        verify(mSimulatedCommandsVerifier).unregisterForNattKeepaliveStatus(any(Handler.class));