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

Commit 61358639 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati
Browse files

Change public methods to protected methods.

Bug: 409610450
Test: atest
Flag: com.android.internal.telephony.flags.satellite_improve_multi_thread_design
Change-Id: I2a90889e6dc2a25fc24aecb452feb7d298223c87
parent 57bfd806
Loading
Loading
Loading
Loading
+18 −18
Original line number Diff line number Diff line
@@ -97,23 +97,11 @@ public class DatagramReceiver extends Handler {
    private AtomicLong mDatagramTransferStartTime = new AtomicLong(0);
    private AtomicBoolean mIsDemoMode = new AtomicBoolean(false);
    private AtomicBoolean mIsAligned = new AtomicBoolean(false);

    /**
     * All the variables declared here should only be accessed by methods that run inside the
     * handler thread.
     */
    @Nullable
    private DatagramReceiverHandlerRequest mDemoPollPendingSatelliteDatagramsRequest = null;
    @Nullable
    private DatagramReceiverHandlerRequest mPendingPollSatelliteDatagramsRequest = null;


    /**
     * Map key: subId, value: SatelliteDatagramListenerHandler to notify registrants.
     */
    private final ConcurrentHashMap<Integer, SatelliteDatagramListenerHandler>
            mSatelliteDatagramListenerHandlers = new ConcurrentHashMap<>();

    /**
     * Map key: DatagramId, value: pendingAckCount
     * This map is used to track number of listeners that are yet to send ack for a particular
@@ -122,6 +110,15 @@ public class DatagramReceiver extends Handler {
    private final ConcurrentHashMap<Long, Integer>
            mPendingAckCountHashMap = new ConcurrentHashMap<>();

    /**
     * All the variables declared here should only be accessed by methods that run inside the
     * handler thread.
     */
    @Nullable
    private DatagramReceiverHandlerRequest mDemoPollPendingSatelliteDatagramsRequest = null;
    @Nullable
    private DatagramReceiverHandlerRequest mPendingPollSatelliteDatagramsRequest = null;

    /**
     * Create the DatagramReceiver singleton instance.
     * @param context The Context to use to create the DatagramReceiver.
@@ -130,6 +127,7 @@ public class DatagramReceiver extends Handler {
     * @param datagramController DatagramController which is used to update datagram transfer state.
     * @return The singleton instance of DatagramReceiver.
     */
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    public static DatagramReceiver make(@NonNull Context context, @NonNull Looper looper,
            @NonNull FeatureFlags featureFlags,
            @NonNull DatagramController datagramController) {
@@ -148,7 +146,7 @@ public class DatagramReceiver extends Handler {
     * @param featureFlags The telephony feature flags.
     * @param datagramController DatagramController which is used to update datagram transfer state.
     */
    @VisibleForTesting
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    protected DatagramReceiver(@NonNull Context context, @NonNull Looper looper,
            @NonNull FeatureFlags featureFlags,
            @NonNull DatagramController datagramController) {
@@ -558,7 +556,8 @@ public class DatagramReceiver extends Handler {
     *
     * @return The {@link SatelliteManager.SatelliteResult} result of the operation.
     */
    @SatelliteManager.SatelliteResult public int registerForSatelliteDatagram(int subId,
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    @SatelliteManager.SatelliteResult protected int registerForSatelliteDatagram(int subId,
            @NonNull ISatelliteDatagramCallback callback) {
        if (!SatelliteController.getInstance().isSatelliteSupportedViaOem()) {
            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
@@ -588,8 +587,7 @@ public class DatagramReceiver extends Handler {
     * @param callback The callback that was passed to
     *                 {@link #registerForSatelliteDatagram(int, ISatelliteDatagramCallback)}.
     */
    public void unregisterForSatelliteDatagram(int subId,
            @NonNull ISatelliteDatagramCallback callback) {
    void unregisterForSatelliteDatagram(int subId, @NonNull ISatelliteDatagramCallback callback) {
        final int validSubId = SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
        SatelliteDatagramListenerHandler handler =
                mSatelliteDatagramListenerHandlers.get(validSubId);
@@ -615,7 +613,8 @@ public class DatagramReceiver extends Handler {
     * @param subId The subId of the subscription used for receiving datagrams.
     * @param callback The callback to get {@link SatelliteManager.SatelliteResult} of the request.
     */
    public void pollPendingSatelliteDatagrams(int subId, @NonNull Consumer<Integer> callback) {
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    protected void pollPendingSatelliteDatagrams(int subId, @NonNull Consumer<Integer> callback) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = subId;
@@ -711,7 +710,8 @@ public class DatagramReceiver extends Handler {
     *
     * @param state Current satellite modem state.
     */
    public void onSatelliteModemStateChanged(@SatelliteManager.SatelliteModemState int state) {
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    protected void onSatelliteModemStateChanged(@SatelliteManager.SatelliteModemState int state) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = state;
+23 −2
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ import org.mockito.MockitoAnnotations;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;

@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
@@ -86,7 +87,7 @@ public class DatagramReceiverTest extends TelephonyTest {
    private static final long TEST_DATAGRAM_WAIT_FOR_CONNECTED_STATE_TIMEOUT_MILLIS =
            TimeUnit.SECONDS.toMillis(60);

    private DatagramReceiver mDatagramReceiverUT;
    private TestDatagramReceiver mDatagramReceiverUT;
    private DatagramReceiver.SatelliteDatagramListenerHandler mSatelliteDatagramListenerHandler;
    private TestDatagramReceiver mTestDemoModeDatagramReceiver;

@@ -130,7 +131,7 @@ public class DatagramReceiverTest extends TelephonyTest {
                mMockSessionMetricsStats);

        doReturn(true).when(mFeatureFlags).satelliteImproveMultiThreadDesign();
        mDatagramReceiverUT = DatagramReceiver.make(mContext, Looper.myLooper(), mFeatureFlags,
        mDatagramReceiverUT = new TestDatagramReceiver(mContext, Looper.myLooper(), mFeatureFlags,
                mMockDatagramController);
        mTestDemoModeDatagramReceiver = new TestDatagramReceiver(mContext, Looper.myLooper(),
                mFeatureFlags,
@@ -521,6 +522,8 @@ public class DatagramReceiverTest extends TelephonyTest {
                @NonNull FeatureFlags featureFlags,
                @NonNull DatagramController datagramController) {
            super(context, looper, featureFlags, datagramController);
            make(context, looper, featureFlags, datagramController);

        }

        @Override
@@ -546,6 +549,24 @@ public class DatagramReceiverTest extends TelephonyTest {
        protected boolean isDatagramWaitForConnectedStateTimerStarted() {
            return super.isDatagramWaitForConnectedStateTimerStarted();
        }

        @Override
        protected int registerForSatelliteDatagram(int subId,
                @NonNull ISatelliteDatagramCallback callback) {
            return super.registerForSatelliteDatagram(subId, callback);
        }

        @Override
        protected void pollPendingSatelliteDatagrams(
                int subId, @NonNull Consumer<Integer> callback) {
            super.pollPendingSatelliteDatagrams(subId, callback);
        }

        @Override
        protected void onSatelliteModemStateChanged(
                @SatelliteManager.SatelliteModemState int state) {
            super.onSatelliteModemStateChanged(state);
        }
    }

    private static class TestSatelliteDatagramCallback extends ISatelliteDatagramCallback.Stub {