Loading src/java/com/android/internal/telephony/satellite/SatelliteController.java +36 −0 Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ import android.view.WindowManager; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.SomeArgs; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.DeviceStateMonitor; import com.android.internal.telephony.IBooleanConsumer; Loading Loading @@ -323,6 +324,7 @@ public class SatelliteController extends Handler { EVENT_WAIT_FOR_UPDATE_SYSTEM_SELECTION_CHANNELS_RESPONSE_TIMED_OUT = 63; private static final int CMD_GET_SATELLITE_ENABLED_FOR_CARRIER = 64; private static final int EVENT_GET_SATELLITE_ENABLED_FOR_CARRIER_DONE = 65; private static final int REQUEST_SATELLITE_ENABLED = 66; @NonNull private static SatelliteController sInstance; @NonNull private final Context mContext; Loading Loading @@ -2319,6 +2321,22 @@ public class SatelliteController extends Handler { break; } case REQUEST_SATELLITE_ENABLED: { plogd("REQUEST_SATELLITE_ENABLED"); SomeArgs args = (SomeArgs) msg.obj; boolean enableSatellite = (boolean) args.arg1; boolean enableDemoMode = (boolean) args.arg2; boolean isEmergency = (boolean) args.arg3; IIntegerConsumer callback = (IIntegerConsumer) args.arg4; try { handleRequestSatelliteEnabled( enableSatellite, enableDemoMode, isEmergency, callback); } finally { args.recycle(); } break; } default: Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " + msg.what); Loading Loading @@ -2386,6 +2404,24 @@ public class SatelliteController extends Handler { boolean isEmergency, @NonNull IIntegerConsumer callback) { plogd("requestSatelliteEnabled enableSatellite: " + enableSatellite + " enableDemoMode: " + enableDemoMode + " isEmergency: " + isEmergency); if (mFeatureFlags.satelliteImproveMultiThreadDesign()) { SomeArgs args = SomeArgs.obtain(); args.arg1 = enableSatellite; args.arg2 = enableDemoMode; args.arg3 = isEmergency; args.arg4 = callback; sendMessage(obtainMessage(REQUEST_SATELLITE_ENABLED, args)); return; } handleRequestSatelliteEnabled(enableSatellite, enableDemoMode, isEmergency, callback); } private void handleRequestSatelliteEnabled(boolean enableSatellite, boolean enableDemoMode, boolean isEmergency, @NonNull IIntegerConsumer callback) { plogd("handleRequestSatelliteEnabled: enableSatellite: " + enableSatellite + " enableDemoMode: " + enableDemoMode + " isEmergency: " + isEmergency); Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept); int error = evaluateOemSatelliteRequestAllowed(true); if (error != SATELLITE_RESULT_SUCCESS) { Loading tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -729,6 +729,8 @@ public class SatelliteControllerTest extends TelephonyTest { doReturn(mSubscriptionInfo).when(mMockSubscriptionManagerService).getSubscriptionInfo( anyInt()); doReturn("").when(mSubscriptionInfo).getIccId(); doReturn(true).when(mFeatureFlags).satelliteImproveMultiThreadDesign(); } @After Loading Loading
src/java/com/android/internal/telephony/satellite/SatelliteController.java +36 −0 Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ import android.view.WindowManager; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.SomeArgs; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.DeviceStateMonitor; import com.android.internal.telephony.IBooleanConsumer; Loading Loading @@ -323,6 +324,7 @@ public class SatelliteController extends Handler { EVENT_WAIT_FOR_UPDATE_SYSTEM_SELECTION_CHANNELS_RESPONSE_TIMED_OUT = 63; private static final int CMD_GET_SATELLITE_ENABLED_FOR_CARRIER = 64; private static final int EVENT_GET_SATELLITE_ENABLED_FOR_CARRIER_DONE = 65; private static final int REQUEST_SATELLITE_ENABLED = 66; @NonNull private static SatelliteController sInstance; @NonNull private final Context mContext; Loading Loading @@ -2319,6 +2321,22 @@ public class SatelliteController extends Handler { break; } case REQUEST_SATELLITE_ENABLED: { plogd("REQUEST_SATELLITE_ENABLED"); SomeArgs args = (SomeArgs) msg.obj; boolean enableSatellite = (boolean) args.arg1; boolean enableDemoMode = (boolean) args.arg2; boolean isEmergency = (boolean) args.arg3; IIntegerConsumer callback = (IIntegerConsumer) args.arg4; try { handleRequestSatelliteEnabled( enableSatellite, enableDemoMode, isEmergency, callback); } finally { args.recycle(); } break; } default: Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " + msg.what); Loading Loading @@ -2386,6 +2404,24 @@ public class SatelliteController extends Handler { boolean isEmergency, @NonNull IIntegerConsumer callback) { plogd("requestSatelliteEnabled enableSatellite: " + enableSatellite + " enableDemoMode: " + enableDemoMode + " isEmergency: " + isEmergency); if (mFeatureFlags.satelliteImproveMultiThreadDesign()) { SomeArgs args = SomeArgs.obtain(); args.arg1 = enableSatellite; args.arg2 = enableDemoMode; args.arg3 = isEmergency; args.arg4 = callback; sendMessage(obtainMessage(REQUEST_SATELLITE_ENABLED, args)); return; } handleRequestSatelliteEnabled(enableSatellite, enableDemoMode, isEmergency, callback); } private void handleRequestSatelliteEnabled(boolean enableSatellite, boolean enableDemoMode, boolean isEmergency, @NonNull IIntegerConsumer callback) { plogd("handleRequestSatelliteEnabled: enableSatellite: " + enableSatellite + " enableDemoMode: " + enableDemoMode + " isEmergency: " + isEmergency); Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept); int error = evaluateOemSatelliteRequestAllowed(true); if (error != SATELLITE_RESULT_SUCCESS) { Loading
tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -729,6 +729,8 @@ public class SatelliteControllerTest extends TelephonyTest { doReturn(mSubscriptionInfo).when(mMockSubscriptionManagerService).getSubscriptionInfo( anyInt()); doReturn("").when(mSubscriptionInfo).getIccId(); doReturn(true).when(mFeatureFlags).satelliteImproveMultiThreadDesign(); } @After Loading