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

Commit b95c48e9 authored by Jack Yu's avatar Jack Yu Committed by Ling Ma
Browse files

Passing feature flags to more components

Bug: 296076674
Test: data browsing + voice call + sending sms
Change-Id: If47575b5b7f3329bf6d50024aab5460caaaff352
parent b7a00f3f
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -268,7 +268,7 @@ public class PhoneFactory {
                        makePhoneSwitcher(maxActivePhones, sContext, Looper.myLooper(),
                                featureFlags);

                sProxyController = ProxyController.getInstance(context);
                sProxyController = ProxyController.getInstance(context, featureFlags);

                sIntentBroadcaster = IntentBroadcaster.getInstance(context);

@@ -276,7 +276,7 @@ public class PhoneFactory {

                for (int i = 0; i < numPhones; i++) {
                    sTelephonyNetworkFactories[i] = new TelephonyNetworkFactory(
                            Looper.myLooper(), sPhones[i]);
                            Looper.myLooper(), sPhones[i], featureFlags);
                }
            }
        }
@@ -285,8 +285,9 @@ public class PhoneFactory {
    /**
     * Upon single SIM to dual SIM switch or vice versa, we dynamically allocate or de-allocate
     * Phone and CommandInterface objects.
     * @param context
     * @param activeModemCount
     *
     * @param context The context
     * @param activeModemCount The number of active modems
     */
    public static void onMultiSimConfigChanged(Context context, int activeModemCount) {
        synchronized (sLockProxyPhones) {
@@ -313,7 +314,7 @@ public class PhoneFactory {
                    sPhones[i].createImsPhone();
                }
                sTelephonyNetworkFactories[i] = new TelephonyNetworkFactory(
                        Looper.myLooper(), sPhones[i]);
                        Looper.myLooper(), sPhones[i], sFeatureFlags);
            }
        }
    }
+15 −5
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.internal.telephony;

import static java.util.Arrays.copyOf;

import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.Intent;
@@ -33,6 +34,7 @@ import android.util.Log;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.data.PhoneSwitcher;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.telephony.Rlog;

import java.util.ArrayList;
@@ -111,11 +113,12 @@ public class ProxyController {
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    private int[] mOldRadioAccessFamily;

    @NonNull
    private final FeatureFlags mFlags;

    //***** Class Methods
    public static ProxyController getInstance(Context context) {
    public static ProxyController getInstance(Context context, FeatureFlags flags) {
        if (sProxyController == null) {
            sProxyController = new ProxyController(context);
            sProxyController = new ProxyController(context, flags);
        }
        return sProxyController;
    }
@@ -125,16 +128,23 @@ public class ProxyController {
        return sProxyController;
    }

    private ProxyController(Context context) {
    /**
     * Constructor
     *
     * @param context The context
     * @param featureFlags Feature flags
     */
    public ProxyController(@NonNull Context context, @NonNull FeatureFlags featureFlags) {
        logd("Constructor - Enter");

        mContext = context;
        mFlags = featureFlags;
        mPhones = PhoneFactory.getPhones();
        mPhoneSwitcher = PhoneSwitcher.getInstance();

        mUiccPhoneBookController = new UiccPhoneBookController();
        mPhoneSubInfoController = new PhoneSubInfoController(mContext);
        mSmsController = new SmsController(mContext);
        mSmsController = new SmsController(mContext, featureFlags);
        mSetRadioAccessFamilyStatus = new int[mPhones.length];
        mNewRadioAccessFamily = new int[mPhones.length];
        mOldRadioAccessFamily = new int[mPhones.length];
+5 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED;

import static com.android.internal.telephony.util.TelephonyUtils.checkDumpPermission;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.AppOpsManager;
@@ -44,6 +45,7 @@ import android.telephony.TelephonyFrameworkInitializer;
import android.telephony.TelephonyManager;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.subscription.SubscriptionManagerService;
import com.android.internal.telephony.util.TelephonyUtils;
import com.android.internal.util.IndentingPrintWriter;
@@ -62,10 +64,11 @@ public class SmsController extends ISmsImplBase {
    static final String LOG_TAG = "SmsController";

    private final Context mContext;

    private final FeatureFlags mFlags;
    @VisibleForTesting
    public SmsController(Context context) {
    public SmsController(Context context, @NonNull FeatureFlags flags) {
        mContext = context;
        mFlags = flags;
        ServiceRegisterer smsServiceRegisterer = TelephonyFrameworkInitializer
                .getTelephonyServiceManager()
                .getSmsServiceRegisterer();
+3 −2
Original line number Diff line number Diff line
@@ -342,8 +342,9 @@ public class TelephonyComponentFactory {
     * Create a new UiccProfile object.
     */
    public UiccProfile makeUiccProfile(Context context, CommandsInterface ci, IccCardStatus ics,
                                       int phoneId, UiccCard uiccCard, Object lock) {
        return new UiccProfile(context, ci, ics, phoneId, uiccCard, lock);
                                       int phoneId, UiccCard uiccCard, Object lock,
            @NonNull FeatureFlags flags) {
        return new UiccProfile(context, ci, ics, phoneId, uiccCard, lock, flags);
    }

    public EriManager makeEriManager(Phone phone, int eriFileSource) {
+6 −1
Original line number Diff line number Diff line
@@ -49,6 +49,8 @@ import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.ProxyController;
import com.android.internal.telephony.SmsController;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.flags.FeatureFlagsImpl;
import com.android.internal.telephony.subscription.SubscriptionManagerService;
import com.android.internal.telephony.uicc.IccCardStatus.CardState;
import com.android.internal.telephony.uicc.IccFileHandler;
@@ -104,6 +106,8 @@ public class CatService extends Handler implements AppInterface {
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    private static CatService[] sInstance = null;
    @UnsupportedAppUsage
    private static final FeatureFlags sFlags = new FeatureFlagsImpl();
    @UnsupportedAppUsage
    private CommandsInterface mCmdIf;
    @UnsupportedAppUsage
    private Context mContext;
@@ -487,7 +491,8 @@ public class CatService extends Handler implements AppInterface {
                        destAddr = ((SendSMSParams) cmdParams).mDestAddress.text;
                    }
                    if (text != null && destAddr != null) {
                        ProxyController proxyController = ProxyController.getInstance(mContext);
                        ProxyController proxyController = ProxyController
                                .getInstance(mContext, sFlags);
                        SubscriptionManager subscriptionManager = (SubscriptionManager)
                                mContext.getSystemService(
                                        Context.TELEPHONY_SUBSCRIPTION_SERVICE);
Loading