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

Commit a2406140 authored by Jack Yu's avatar Jack Yu
Browse files

Added flag to enable subscription manager service through adb

Test: Boot up and basic phone testing
Test: adb root && adb shell device_config put telephony enable_subscription_manager_service true
      && adb shell device_config set_sync_disabled_for_tests persistent && sleep 3 && adb reboot
Fix: 266896752
Change-Id: I14ff642402929bcfd39e6c20c50588ef8eec4eed
parent 8e30609a
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import android.os.UserHandle;
import android.os.UserManager;
import android.os.WorkSource;
import android.preference.PreferenceManager;
import android.provider.DeviceConfig;
import android.sysprop.TelephonyProperties;
import android.telecom.VideoProfile;
import android.telephony.AccessNetworkConstants;
@@ -627,8 +628,11 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
        // Initialize SMS stats
        mSmsStats = new SmsStats(this);

        // This is a temp flag which will be removed before U AOSP public release.
        mIsSubscriptionManagerServiceEnabled = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_using_subscription_manager_service);
                com.android.internal.R.bool.config_using_subscription_manager_service)
                || DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TELEPHONY,
                "enable_subscription_manager_service", false);
        if (isSubscriptionManagerServiceEnabled()) {
            mSubscriptionManagerService = SubscriptionManagerService.getInstance();
        }
+5 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.os.Build;
import android.os.HandlerThread;
import android.os.Looper;
import android.preference.PreferenceManager;
import android.provider.DeviceConfig;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.telephony.AnomalyReporter;
@@ -124,8 +125,11 @@ public class PhoneFactory {
            if (!sMadeDefaults) {
                sContext = context;

                // This is a temp flag which will be removed before U AOSP public release.
                sSubscriptionManagerServiceEnabled = context.getResources().getBoolean(
                        com.android.internal.R.bool.config_using_subscription_manager_service);
                        com.android.internal.R.bool.config_using_subscription_manager_service)
                        || DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TELEPHONY,
                        "enable_subscription_manager_service", false);

                // create the telephony device controller.
                TelephonyDevController.create();
+13 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.data.PhoneSwitcher;
import com.android.internal.telephony.metrics.TelephonyMetrics;
import com.android.internal.telephony.subscription.SubscriptionManagerService;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.telephony.uicc.UiccCard;
import com.android.internal.telephony.uicc.UiccController;
@@ -403,6 +404,8 @@ public class SubscriptionController extends ISub.Stub {
                    }
                });

        SubscriptionManager.invalidateSubscriptionManagerServiceEnabledCaches();

        if (DBG) logdl("[SubscriptionController] init by Context");
    }

@@ -4952,6 +4955,16 @@ public class SubscriptionController extends ISub.Stub {
        }
    }

    /**
     * @return {@code true} if using {@link SubscriptionManagerService} instead of
     * {@link SubscriptionController}.
     */
    //TODO: Removed before U AOSP public release.
    @Override
    public boolean isSubscriptionManagerServiceEnabled() {
        return false;
    }

    /**
     * @hide
     */
+14 −0
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@ import com.android.internal.telephony.MccTable;
import com.android.internal.telephony.MultiSimSettingController;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.TelephonyPermissions;
import com.android.internal.telephony.data.PhoneSwitcher;
@@ -542,6 +543,9 @@ public class SubscriptionManagerService extends ISub.Stub {
                mEuiccController = EuiccController.get();
            }
        });

        SubscriptionManager.invalidateSubscriptionManagerServiceCaches();
        SubscriptionManager.invalidateSubscriptionManagerServiceEnabledCaches();
    }

    /**
@@ -3565,6 +3569,16 @@ public class SubscriptionManagerService extends ISub.Stub {
        }
    }

    /**
     * @return {@code true} if using {@link SubscriptionManagerService} instead of
     * {@link SubscriptionController}.
     */
    //TODO: Removed before U AOSP public release.
    @Override
    public boolean isSubscriptionManagerServiceEnabled() {
        return true;
    }

    /**
     * Register the callback for receiving information from {@link SubscriptionManagerService}.
     *