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

Commit 1ddd274d authored by Thomas Nguyen's avatar Thomas Nguyen Committed by Android (Google) Code Review
Browse files

Merge "Fall back to reading config_satellite_sim_identifier from device config" into main

parents 678559ae 257b63ee
Loading
Loading
Loading
Loading
+25 −1
Original line number Original line Diff line number Diff line
@@ -1300,6 +1300,7 @@ public class SatelliteController extends Handler {
     */
     */
    public boolean isSatelliteEnabled() {
    public boolean isSatelliteEnabled() {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("isSatelliteEnabled: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }
        if (mIsSatelliteEnabled == null) return false;
        if (mIsSatelliteEnabled == null) return false;
@@ -1333,6 +1334,7 @@ public class SatelliteController extends Handler {
     */
     */
    public boolean isDemoModeEnabled() {
    public boolean isDemoModeEnabled() {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("isDemoModeEnabled: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }
        return mIsDemoModeEnabled;
        return mIsDemoModeEnabled;
@@ -1347,6 +1349,7 @@ public class SatelliteController extends Handler {
     */
     */
    public void requestIsSatelliteSupported(int subId, @NonNull ResultReceiver result) {
    public void requestIsSatelliteSupported(int subId, @NonNull ResultReceiver result) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("requestIsSatelliteSupported: oemEnabledSatelliteFlag is disabled");
            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
            return;
            return;
        }
        }
@@ -1558,6 +1561,8 @@ public class SatelliteController extends Handler {
    public void unregisterForSatelliteProvisionStateChanged(
    public void unregisterForSatelliteProvisionStateChanged(
            int subId, @NonNull ISatelliteProvisionStateCallback callback) {
            int subId, @NonNull ISatelliteProvisionStateCallback callback) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("unregisterForSatelliteProvisionStateChanged: "
                    + "oemEnabledSatelliteFlag is disabled");
            return;
            return;
        }
        }
        mSatelliteProvisionStateChangedListeners.remove(callback.asBinder());
        mSatelliteProvisionStateChangedListeners.remove(callback.asBinder());
@@ -1602,6 +1607,7 @@ public class SatelliteController extends Handler {
    @SatelliteManager.SatelliteResult public int registerForSatelliteModemStateChanged(int subId,
    @SatelliteManager.SatelliteResult public int registerForSatelliteModemStateChanged(int subId,
            @NonNull ISatelliteStateCallback callback) {
            @NonNull ISatelliteStateCallback callback) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("registerForSatelliteModemStateChanged: oemEnabledSatelliteFlag is disabled");
            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
        }
        }
        if (mSatelliteSessionController != null) {
        if (mSatelliteSessionController != null) {
@@ -1625,6 +1631,7 @@ public class SatelliteController extends Handler {
    public void unregisterForSatelliteModemStateChanged(int subId,
    public void unregisterForSatelliteModemStateChanged(int subId,
            @NonNull ISatelliteStateCallback callback) {
            @NonNull ISatelliteStateCallback callback) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("unregisterForSatelliteModemStateChanged: oemEnabledSatelliteFlag is disabled");
            return;
            return;
        }
        }
        if (mSatelliteSessionController != null) {
        if (mSatelliteSessionController != null) {
@@ -1646,6 +1653,7 @@ public class SatelliteController extends Handler {
    @SatelliteManager.SatelliteResult public int registerForSatelliteDatagram(int subId,
    @SatelliteManager.SatelliteResult public int registerForSatelliteDatagram(int subId,
            @NonNull ISatelliteDatagramCallback callback) {
            @NonNull ISatelliteDatagramCallback callback) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("registerForSatelliteDatagram: oemEnabledSatelliteFlag is disabled");
            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
        }
        }
        if (!mSatelliteModemInterface.isSatelliteServiceSupported()) {
        if (!mSatelliteModemInterface.isSatelliteServiceSupported()) {
@@ -1665,6 +1673,7 @@ public class SatelliteController extends Handler {
    public void unregisterForSatelliteDatagram(int subId,
    public void unregisterForSatelliteDatagram(int subId,
            @NonNull ISatelliteDatagramCallback callback) {
            @NonNull ISatelliteDatagramCallback callback) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("unregisterForSatelliteDatagram: oemEnabledSatelliteFlag is disabled");
            return;
            return;
        }
        }
        if (!mSatelliteModemInterface.isSatelliteServiceSupported()) {
        if (!mSatelliteModemInterface.isSatelliteServiceSupported()) {
@@ -1779,6 +1788,7 @@ public class SatelliteController extends Handler {
     */
     */
    public void setDeviceAlignedWithSatellite(@NonNull int subId, @NonNull boolean isAligned) {
    public void setDeviceAlignedWithSatellite(@NonNull int subId, @NonNull boolean isAligned) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("setDeviceAlignedWithSatellite: oemEnabledSatelliteFlag is disabled");
            return;
            return;
        }
        }
        mDatagramController.setDeviceAlignedWithSatellite(isAligned);
        mDatagramController.setDeviceAlignedWithSatellite(isAligned);
@@ -1871,6 +1881,8 @@ public class SatelliteController extends Handler {
     */
     */
    @NonNull public Set<Integer> getSatelliteAttachRestrictionReasonsForCarrier(int subId) {
    @NonNull public Set<Integer> getSatelliteAttachRestrictionReasonsForCarrier(int subId) {
        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
            logd("getSatelliteAttachRestrictionReasonsForCarrier: carrierEnabledSatelliteFlag is "
                    + "disabled");
            return new HashSet<>();
            return new HashSet<>();
        }
        }
        synchronized (mIsSatelliteEnabledLock) {
        synchronized (mIsSatelliteEnabledLock) {
@@ -1961,9 +1973,13 @@ public class SatelliteController extends Handler {
     */
     */
    public boolean setSatelliteServicePackageName(@Nullable String servicePackageName) {
    public boolean setSatelliteServicePackageName(@Nullable String servicePackageName) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("setSatelliteServicePackageName: oemEnabledSatelliteFlag is disabled");
            return false;
        }
        if (!isMockModemAllowed()) {
            logd("setSatelliteServicePackageName: mock modem not allowed");
            return false;
            return false;
        }
        }
        if (!isMockModemAllowed()) return false;


        // Cached states need to be cleared whenever switching satellite vendor services.
        // Cached states need to be cleared whenever switching satellite vendor services.
        logd("setSatelliteServicePackageName: Resetting cached states");
        logd("setSatelliteServicePackageName: Resetting cached states");
@@ -1993,6 +2009,7 @@ public class SatelliteController extends Handler {
     */
     */
    public boolean setSatelliteListeningTimeoutDuration(long timeoutMillis) {
    public boolean setSatelliteListeningTimeoutDuration(long timeoutMillis) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("setSatelliteListeningTimeoutDuration: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }
        if (mSatelliteSessionController == null) {
        if (mSatelliteSessionController == null) {
@@ -2011,6 +2028,7 @@ public class SatelliteController extends Handler {
     */
     */
    public boolean setSatelliteDeviceAlignedTimeoutDuration(long timeoutMillis) {
    public boolean setSatelliteDeviceAlignedTimeoutDuration(long timeoutMillis) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("setSatelliteDeviceAlignedTimeoutDuration: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }
        return mDatagramController.setSatelliteDeviceAlignedTimeoutDuration(timeoutMillis);
        return mDatagramController.setSatelliteDeviceAlignedTimeoutDuration(timeoutMillis);
@@ -2025,6 +2043,7 @@ public class SatelliteController extends Handler {
     */
     */
    public boolean setSatelliteGatewayServicePackageName(@Nullable String servicePackageName) {
    public boolean setSatelliteGatewayServicePackageName(@Nullable String servicePackageName) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("setSatelliteGatewayServicePackageName: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }
        if (mSatelliteSessionController == null) {
        if (mSatelliteSessionController == null) {
@@ -2046,6 +2065,7 @@ public class SatelliteController extends Handler {
    public boolean setSatellitePointingUiClassName(
    public boolean setSatellitePointingUiClassName(
            @Nullable String packageName, @Nullable String className) {
            @Nullable String packageName, @Nullable String className) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("setSatellitePointingUiClassName: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }
        return mPointingAppController.setSatellitePointingUiClassName(packageName, className);
        return mPointingAppController.setSatellitePointingUiClassName(packageName, className);
@@ -2065,6 +2085,7 @@ public class SatelliteController extends Handler {
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    public void onSatelliteServiceConnected() {
    public void onSatelliteServiceConnected() {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("onSatelliteServiceConnected: oemEnabledSatelliteFlag is disabled");
            return;
            return;
        }
        }
        if (mSatelliteModemInterface.isSatelliteServiceSupported()) {
        if (mSatelliteModemInterface.isSatelliteServiceSupported()) {
@@ -2115,6 +2136,7 @@ public class SatelliteController extends Handler {
     */
     */
    public boolean isSatelliteSupported() {
    public boolean isSatelliteSupported() {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            logd("isSatelliteSupported: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }
        Boolean supported = isSatelliteSupportedInternal();
        Boolean supported = isSatelliteSupportedInternal();
@@ -2128,6 +2150,7 @@ public class SatelliteController extends Handler {
    @NonNull
    @NonNull
    public List<String> getSatellitePlmnList(int subId) {
    public List<String> getSatellitePlmnList(int subId) {
        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
            logd("getSatellitePlmnList: carrierEnabledSatelliteFlag is disabled");
            return new ArrayList<>();
            return new ArrayList<>();
        }
        }
        synchronized (mSupportedSatelliteServicesLock) {
        synchronized (mSupportedSatelliteServicesLock) {
@@ -2148,6 +2171,7 @@ public class SatelliteController extends Handler {
    @NonNull
    @NonNull
    public List<Integer> getSupportedSatelliteServices(int subId, String plmn) {
    public List<Integer> getSupportedSatelliteServices(int subId, String plmn) {
        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
            logd("getSupportedSatelliteServices: carrierEnabledSatelliteFlag is disabled");
            return new ArrayList<>();
            return new ArrayList<>();
        }
        }
        synchronized (mSupportedSatelliteServicesLock) {
        synchronized (mSupportedSatelliteServicesLock) {
+19 −4
Original line number Original line Diff line number Diff line
@@ -45,9 +45,11 @@ import android.os.ParcelUuid;
import android.os.PersistableBundle;
import android.os.PersistableBundle;
import android.os.Process;
import android.os.Process;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.SystemProperties;
import android.os.TelephonyServiceManager;
import android.os.TelephonyServiceManager;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.UserManager;
import android.provider.DeviceConfig;
import android.provider.Settings;
import android.provider.Settings;
import android.provider.Telephony.SimInfo;
import android.provider.Telephony.SimInfo;
import android.service.carrier.CarrierIdentifier;
import android.service.carrier.CarrierIdentifier;
@@ -132,6 +134,8 @@ import java.util.stream.Stream;
 */
 */
public class SubscriptionManagerService extends ISub.Stub {
public class SubscriptionManagerService extends ISub.Stub {
    private static final String LOG_TAG = "SMSVC";
    private static final String LOG_TAG = "SMSVC";
    private static final String ALLOW_MOCK_MODEM_PROPERTY = "persist.radio.allow_mock_modem";
    private static final String BOOT_ALLOW_MOCK_MODEM_PROPERTY = "ro.boot.radio.allow_mock_modem";


    /** Whether enabling verbose debugging message or not. */
    /** Whether enabling verbose debugging message or not. */
    private static final boolean VDBG = false;
    private static final boolean VDBG = false;
@@ -1175,6 +1179,8 @@ public class SubscriptionManagerService extends ISub.Stub {
                        if (mFeatureFlags.oemEnabledSatelliteFlag()) {
                        if (mFeatureFlags.oemEnabledSatelliteFlag()) {
                            builder.setOnlyNonTerrestrialNetwork(
                            builder.setOnlyNonTerrestrialNetwork(
                                    isSatellitePlmn(mcc + mnc) ? 1 : 0);
                                    isSatellitePlmn(mcc + mnc) ? 1 : 0);
                        } else {
                            log("updateEmbeddedSubscriptions: oemEnabledSatelliteFlag is disabled");
                        }
                        }
                    }
                    }
                    // If cardId = unsupported or un-initialized, we have no reason to update DB.
                    // If cardId = unsupported or un-initialized, we have no reason to update DB.
@@ -4145,6 +4151,7 @@ public class SubscriptionManagerService extends ISub.Stub {
     */
     */
    private boolean isSatellitePlmn(@NonNull String mccMnc) {
    private boolean isSatellitePlmn(@NonNull String mccMnc) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            log("isSatellitePlmn: oemEnabledSatelliteFlag is disabled");
            return false;
            return false;
        }
        }


@@ -4155,11 +4162,19 @@ public class SubscriptionManagerService extends ISub.Stub {
        } catch (Resources.NotFoundException ex) {
        } catch (Resources.NotFoundException ex) {
            loge("isSatellitePlmn: id= " + id + ", ex=" + ex);
            loge("isSatellitePlmn: id= " + id + ", ex=" + ex);
        }
        }
        if (overlayMccMnc == null) {
        if (TextUtils.isEmpty(overlayMccMnc) && isMockModemAllowed()) {
            return false;
            log("isSatellitePlmn: Read config_satellite_sim_identifier from device config");
        } else {
            overlayMccMnc = DeviceConfig.getString(DeviceConfig.NAMESPACE_TELEPHONY,
            return mccMnc.equals(overlayMccMnc);
                    "config_satellite_sim_identifier", "");
        }
        }
        log("isSatellitePlmn: overlayMccMnc=" + overlayMccMnc + ", mccMnc=" + mccMnc);
        return TextUtils.equals(mccMnc, overlayMccMnc);
    }

    private boolean isMockModemAllowed() {
        boolean isAllowed = SystemProperties.getBoolean(ALLOW_MOCK_MODEM_PROPERTY, false);
        return (SystemProperties.getBoolean(ALLOW_MOCK_MODEM_PROPERTY, false)
                || SystemProperties.getBoolean(BOOT_ALLOW_MOCK_MODEM_PROPERTY, false));
    }
    }


    /**
    /**