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

Commit 799dfe79 authored by Neha Jain's avatar Neha Jain Committed by Android Build Coastguard Worker
Browse files

Revert "Remove support for COMBINED_SIGNAL_ICONS"

Revert submission 19279477

Reason for revert: b/240223150
Reverted Changes:
I1bef3f309:Remove support for COMBINED_SIGNAL_ICONS
I38f76a746:Create a MobileStatusTrackerFactory
I0b1dd8e71:Change from deprecated telephony api
Id1a02134f:[Cleanup] Order NetworkController's intent filters...
I405ad3858:Add an @Inject-able MobileSignalControllerFactory

Change-Id: I101f16263fff7f5ac2076fffab41824be8200953
(cherry picked from commit 6a9d2b06)
Merged-In: I101f16263fff7f5ac2076fffab41824be8200953
parent 0ab4e8e0
Loading
Loading
Loading
Loading
+0 −7
Original line number Original line Diff line number Diff line
@@ -44,8 +44,6 @@ public class MobileStatusTracker {
    private final Handler mReceiverHandler;
    private final Handler mReceiverHandler;
    private final MobileTelephonyCallback mTelephonyCallback;
    private final MobileTelephonyCallback mTelephonyCallback;


    private boolean mListening = false;

    /**
    /**
     * MobileStatusTracker constructors
     * MobileStatusTracker constructors
     *
     *
@@ -78,7 +76,6 @@ public class MobileStatusTracker {
     * Config the MobileStatusTracker to start or stop monitoring platform signals.
     * Config the MobileStatusTracker to start or stop monitoring platform signals.
     */
     */
    public void setListening(boolean listening) {
    public void setListening(boolean listening) {
        mListening = listening;
        if (listening) {
        if (listening) {
            mPhone.registerTelephonyCallback(mReceiverHandler::post, mTelephonyCallback);
            mPhone.registerTelephonyCallback(mReceiverHandler::post, mTelephonyCallback);
        } else {
        } else {
@@ -86,10 +83,6 @@ public class MobileStatusTracker {
        }
        }
    }
    }


    public boolean isListening() {
        return mListening;
    }

    private void updateDataSim() {
    private void updateDataSim() {
        int activeDataSubId = mDefaults.getActiveDataSubId();
        int activeDataSubId = mDefaults.getActiveDataSubId();
        if (SubscriptionManager.isValidSubscriptionId(activeDataSubId)) {
        if (SubscriptionManager.isValidSubscriptionId(activeDataSubId)) {
+12 −3
Original line number Original line Diff line number Diff line
@@ -134,9 +134,18 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
        mQSCarrierGroupController
        mQSCarrierGroupController
                .setOnSingleCarrierChangedListener(mView::setIsSingleCarrier);
                .setOnSingleCarrierChangedListener(mView::setIsSingleCarrier);


        List<String> rssiIgnoredSlots = List.of(
        List<String> rssiIgnoredSlots;

        if (mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
            rssiIgnoredSlots = List.of(
                    getResources().getString(com.android.internal.R.string.status_bar_no_calling),
                    getResources().getString(com.android.internal.R.string.status_bar_call_strength)
            );
        } else {
            rssiIgnoredSlots = List.of(
                    getResources().getString(com.android.internal.R.string.status_bar_mobile)
                    getResources().getString(com.android.internal.R.string.status_bar_mobile)
            );
            );
        }


        mView.onAttach(mIconManager, mQSExpansionPathInterpolator, rssiIgnoredSlots,
        mView.onAttach(mIconManager, mQSExpansionPathInterpolator, rssiIgnoredSlots,
                mInsetsProvider, mFeatureFlags.isEnabled(Flags.COMBINED_QS_HEADERS));
                mInsetsProvider, mFeatureFlags.isEnabled(Flags.COMBINED_QS_HEADERS));
+2 −1
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ data class CellSignalState(
    @JvmField val contentDescription: String? = null,
    @JvmField val contentDescription: String? = null,
    @JvmField val typeContentDescription: String? = null,
    @JvmField val typeContentDescription: String? = null,
    @JvmField val roaming: Boolean = false,
    @JvmField val roaming: Boolean = false,
    @JvmField val providerModelBehavior: Boolean = false
) {
) {
    /**
    /**
     * Changes the visibility of this state by returning a copy with the visibility changed.
     * Changes the visibility of this state by returning a copy with the visibility changed.
+29 −19
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ public class QSCarrier extends LinearLayout {
    private View mSpacer;
    private View mSpacer;
    @Nullable
    @Nullable
    private CellSignalState mLastSignalState;
    private CellSignalState mLastSignalState;
    private boolean mMobileSignalInitialized = false;
    private boolean mProviderModelInitialized = false;
    private boolean mIsSingleCarrier;
    private boolean mIsSingleCarrier;


    public QSCarrier(Context context) {
    public QSCarrier(Context context) {
@@ -96,8 +96,17 @@ public class QSCarrier extends LinearLayout {
            mMobileRoaming.setImageTintList(colorStateList);
            mMobileRoaming.setImageTintList(colorStateList);
            mMobileSignal.setImageTintList(colorStateList);
            mMobileSignal.setImageTintList(colorStateList);


            if (!mMobileSignalInitialized) {
            if (state.providerModelBehavior) {
                mMobileSignalInitialized = true;
                if (!mProviderModelInitialized) {
                    mProviderModelInitialized = true;
                    mMobileSignal.setImageDrawable(
                            mContext.getDrawable(R.drawable.ic_qs_no_calling_sms));
                }
                mMobileSignal.setImageDrawable(mContext.getDrawable(state.mobileSignalIconId));
                mMobileSignal.setContentDescription(state.contentDescription);
            } else {
                if (!mProviderModelInitialized) {
                    mProviderModelInitialized = true;
                    mMobileSignal.setImageDrawable(new SignalDrawable(mContext));
                    mMobileSignal.setImageDrawable(new SignalDrawable(mContext));
                }
                }
                mMobileSignal.setImageLevel(state.mobileSignalIconId);
                mMobileSignal.setImageLevel(state.mobileSignalIconId);
@@ -116,6 +125,7 @@ public class QSCarrier extends LinearLayout {
                }
                }
                mMobileSignal.setContentDescription(contentDescription);
                mMobileSignal.setContentDescription(contentDescription);
            }
            }
        }
        return true;
        return true;
    }
    }


+103 −6
Original line number Original line Diff line number Diff line
@@ -42,7 +42,10 @@ import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.connectivity.IconState;
import com.android.systemui.statusbar.connectivity.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.SignalCallback;
import com.android.systemui.statusbar.connectivity.SignalCallback;
@@ -75,6 +78,7 @@ public class QSCarrierGroupController {
    private QSCarrier[] mCarrierGroups = new QSCarrier[SIM_SLOTS];
    private QSCarrier[] mCarrierGroups = new QSCarrier[SIM_SLOTS];
    private int[] mLastSignalLevel = new int[SIM_SLOTS];
    private int[] mLastSignalLevel = new int[SIM_SLOTS];
    private String[] mLastSignalLevelDescription = new String[SIM_SLOTS];
    private String[] mLastSignalLevelDescription = new String[SIM_SLOTS];
    private final boolean mProviderModel;
    private final CarrierConfigTracker mCarrierConfigTracker;
    private final CarrierConfigTracker mCarrierConfigTracker;


    private boolean mIsSingleCarrier;
    private boolean mIsSingleCarrier;
@@ -86,6 +90,9 @@ public class QSCarrierGroupController {
    private final SignalCallback mSignalCallback = new SignalCallback() {
    private final SignalCallback mSignalCallback = new SignalCallback() {
                @Override
                @Override
                public void setMobileDataIndicators(@NonNull MobileDataIndicators indicators) {
                public void setMobileDataIndicators(@NonNull MobileDataIndicators indicators) {
                    if (mProviderModel) {
                        return;
                    }
                    int slotIndex = getSlotIndex(indicators.subId);
                    int slotIndex = getSlotIndex(indicators.subId);
                    if (slotIndex >= SIM_SLOTS) {
                    if (slotIndex >= SIM_SLOTS) {
                        Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
                        Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
@@ -100,11 +107,90 @@ public class QSCarrierGroupController {
                            indicators.statusIcon.icon,
                            indicators.statusIcon.icon,
                            indicators.statusIcon.contentDescription,
                            indicators.statusIcon.contentDescription,
                            indicators.typeContentDescription.toString(),
                            indicators.typeContentDescription.toString(),
                            indicators.roaming
                            indicators.roaming,
                            mProviderModel
                    );
                    );
                    mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
                    mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
                }
                }


                @Override
                public void setCallIndicator(@NonNull IconState statusIcon, int subId) {
                    if (!mProviderModel) {
                        return;
                    }
                    int slotIndex = getSlotIndex(subId);
                    if (slotIndex >= SIM_SLOTS) {
                        Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
                        return;
                    }
                    if (slotIndex == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
                        Log.e(TAG, "Invalid SIM slot index for subscription: " + subId);
                        return;
                    }

                    boolean displayCallStrengthIcon =
                            mCarrierConfigTracker.getCallStrengthConfig(subId);

                    if (statusIcon.icon == R.drawable.ic_qs_no_calling_sms) {
                        if (statusIcon.visible) {
                            mInfos[slotIndex] = new CellSignalState(
                                    true,
                                    statusIcon.icon,
                                    statusIcon.contentDescription,
                                    "",
                                    false,
                                    mProviderModel);
                        } else {
                            // Whenever the no Calling & SMS state is cleared, switched to the last
                            // known call strength icon.
                            if (displayCallStrengthIcon) {
                                mInfos[slotIndex] = new CellSignalState(
                                        true,
                                        mLastSignalLevel[slotIndex],
                                        mLastSignalLevelDescription[slotIndex],
                                        "",
                                        false,
                                        mProviderModel);
                            } else {
                                mInfos[slotIndex] = new CellSignalState(
                                        true,
                                        R.drawable.ic_qs_sim_card,
                                        "",
                                        "",
                                        false,
                                        mProviderModel);
                            }
                        }
                        mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
                    } else {
                        mLastSignalLevel[slotIndex] = statusIcon.icon;
                        mLastSignalLevelDescription[slotIndex] = statusIcon.contentDescription;
                        // Only Shows the call strength icon when the no Calling & SMS icon is not
                        // shown.
                        if (mInfos[slotIndex].mobileSignalIconId
                                != R.drawable.ic_qs_no_calling_sms) {
                            if (displayCallStrengthIcon) {
                                mInfos[slotIndex] = new CellSignalState(
                                        true,
                                        statusIcon.icon,
                                        statusIcon.contentDescription,
                                        "",
                                        false,
                                        mProviderModel);
                            } else {
                                mInfos[slotIndex] = new CellSignalState(
                                        true,
                                        R.drawable.ic_qs_sim_card,
                                        "",
                                        "",
                                        false,
                                        mProviderModel);
                            }
                            mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
                        }
                    }
                }

                @Override
                @Override
                public void setNoSims(boolean hasNoSims, boolean simDetected) {
                public void setNoSims(boolean hasNoSims, boolean simDetected) {
                    if (hasNoSims) {
                    if (hasNoSims) {
@@ -133,8 +219,14 @@ public class QSCarrierGroupController {
            @Background Handler bgHandler, @Main Looper mainLooper,
            @Background Handler bgHandler, @Main Looper mainLooper,
            NetworkController networkController,
            NetworkController networkController,
            CarrierTextManager.Builder carrierTextManagerBuilder, Context context,
            CarrierTextManager.Builder carrierTextManagerBuilder, Context context,
            CarrierConfigTracker carrierConfigTracker, SlotIndexResolver slotIndexResolver) {
            CarrierConfigTracker carrierConfigTracker, FeatureFlags featureFlags,
            SlotIndexResolver slotIndexResolver) {


        if (featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
            mProviderModel = true;
        } else {
            mProviderModel = false;
        }
        mActivityStarter = activityStarter;
        mActivityStarter = activityStarter;
        mBgHandler = bgHandler;
        mBgHandler = bgHandler;
        mNetworkController = networkController;
        mNetworkController = networkController;
@@ -170,7 +262,8 @@ public class QSCarrierGroupController {
                    R.drawable.ic_qs_no_calling_sms,
                    R.drawable.ic_qs_no_calling_sms,
                    context.getText(AccessibilityContentDescriptions.NO_CALLING).toString(),
                    context.getText(AccessibilityContentDescriptions.NO_CALLING).toString(),
                    "",
                    "",
                    false);
                    false,
                    mProviderModel);
            mLastSignalLevel[i] = TelephonyIcons.MOBILE_CALL_STRENGTH_ICONS[0];
            mLastSignalLevel[i] = TelephonyIcons.MOBILE_CALL_STRENGTH_ICONS[0];
            mLastSignalLevelDescription[i] =
            mLastSignalLevelDescription[i] =
                    context.getText(AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0])
                    context.getText(AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0])
@@ -258,7 +351,8 @@ public class QSCarrierGroupController {
            for (int i = 0; i < SIM_SLOTS; i++) {
            for (int i = 0; i < SIM_SLOTS; i++) {
                if (mInfos[i].visible
                if (mInfos[i].visible
                        && mInfos[i].mobileSignalIconId == R.drawable.ic_qs_sim_card) {
                        && mInfos[i].mobileSignalIconId == R.drawable.ic_qs_sim_card) {
                    mInfos[i] = new CellSignalState(true, R.drawable.ic_blank, "", "", false);
                    mInfos[i] = new CellSignalState(true, R.drawable.ic_blank, "", "", false,
                            mProviderModel);
                }
                }
            }
            }
        }
        }
@@ -376,13 +470,15 @@ public class QSCarrierGroupController {
        private final CarrierTextManager.Builder mCarrierTextControllerBuilder;
        private final CarrierTextManager.Builder mCarrierTextControllerBuilder;
        private final Context mContext;
        private final Context mContext;
        private final CarrierConfigTracker mCarrierConfigTracker;
        private final CarrierConfigTracker mCarrierConfigTracker;
        private final FeatureFlags mFeatureFlags;
        private final SlotIndexResolver mSlotIndexResolver;
        private final SlotIndexResolver mSlotIndexResolver;


        @Inject
        @Inject
        public Builder(ActivityStarter activityStarter, @Background Handler handler,
        public Builder(ActivityStarter activityStarter, @Background Handler handler,
                @Main Looper looper, NetworkController networkController,
                @Main Looper looper, NetworkController networkController,
                CarrierTextManager.Builder carrierTextControllerBuilder, Context context,
                CarrierTextManager.Builder carrierTextControllerBuilder, Context context,
                CarrierConfigTracker carrierConfigTracker, SlotIndexResolver slotIndexResolver) {
                CarrierConfigTracker carrierConfigTracker, FeatureFlags featureFlags,
                SlotIndexResolver slotIndexResolver) {
            mActivityStarter = activityStarter;
            mActivityStarter = activityStarter;
            mHandler = handler;
            mHandler = handler;
            mLooper = looper;
            mLooper = looper;
@@ -390,6 +486,7 @@ public class QSCarrierGroupController {
            mCarrierTextControllerBuilder = carrierTextControllerBuilder;
            mCarrierTextControllerBuilder = carrierTextControllerBuilder;
            mContext = context;
            mContext = context;
            mCarrierConfigTracker = carrierConfigTracker;
            mCarrierConfigTracker = carrierConfigTracker;
            mFeatureFlags = featureFlags;
            mSlotIndexResolver = slotIndexResolver;
            mSlotIndexResolver = slotIndexResolver;
        }
        }


@@ -401,7 +498,7 @@ public class QSCarrierGroupController {
        public QSCarrierGroupController build() {
        public QSCarrierGroupController build() {
            return new QSCarrierGroupController(mView, mActivityStarter, mHandler, mLooper,
            return new QSCarrierGroupController(mView, mActivityStarter, mHandler, mLooper,
                    mNetworkController, mCarrierTextControllerBuilder, mContext,
                    mNetworkController, mCarrierTextControllerBuilder, mContext,
                    mCarrierConfigTracker, mSlotIndexResolver);
                    mCarrierConfigTracker, mFeatureFlags, mSlotIndexResolver);
        }
        }
    }
    }


Loading