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

Commit 8943feec authored by Aishwarya Mallampati's avatar Aishwarya Mallampati
Browse files

requestIsEmergencyModeEnabled - send request to handler immediately

Bug: 409584433
Test: atest
Flag: com.android.internal.telephony.flags.satellite_improve_multi_thread_design
Change-Id: Ieb0cd3db9653204002a0b996b300b1ac55feab71
parent 8c4ff9fd
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -327,6 +327,7 @@ public class SatelliteController extends Handler {
    private static final int REQUEST_SATELLITE_ENABLED = 66;
    private static final int REQUEST_IS_SATELLITE_ENABLED = 67;
    private static final int REQUEST_IS_DEMO_MODE_ENABLED = 68;
    private static final int REQUEST_IS_EMERGENCY_MODE_ENABLED = 69;

    @NonNull private static SatelliteController sInstance;
    @NonNull private final Context mContext;
@@ -2363,6 +2364,18 @@ public class SatelliteController extends Handler {
                break;
            }

            case REQUEST_IS_EMERGENCY_MODE_ENABLED: {
                plogd("REQUEST_IS_EMERGENCY_MODE_ENABLED");
                SomeArgs args = (SomeArgs) msg.obj;
                ResultReceiver result = (ResultReceiver) args.arg1;
                try {
                    handleRequestIsEmergencyModeEnabled(result);
                } finally {
                    args.recycle();
                }
                break;
            }

            default:
                Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " +
                        msg.what);
@@ -2878,6 +2891,18 @@ public class SatelliteController extends Handler {
     *               if the request is successful or an error code if the request failed.
     */
    public void requestIsEmergencyModeEnabled(@NonNull ResultReceiver result) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = result;
            sendMessage(obtainMessage(REQUEST_IS_EMERGENCY_MODE_ENABLED, args));
            return;
        }

        handleRequestIsEmergencyModeEnabled(result);
    }

    private void handleRequestIsEmergencyModeEnabled(@NonNull ResultReceiver result) {
        plogd("handleRequestIsEmergencyModeEnabled");
        synchronized (mSatelliteEnabledRequestLock) {
            Bundle bundle = new Bundle();
            bundle.putBoolean(SatelliteManager.KEY_EMERGENCY_MODE_ENABLED,
+1 −0
Original line number Diff line number Diff line
@@ -1434,6 +1434,7 @@ public class SatelliteControllerTest extends TelephonyTest {
        // Verify satellite enabled for emergency
        assertTrue(mSatelliteControllerUT.getRequestIsEmergency());
        mSatelliteControllerUT.requestIsEmergencyModeEnabled(mRequestIsEmergencyReceiver);
        processAllMessages();
        assertTrue(mRequestIsEmergency);
    }