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

Commit 088f1628 authored by John Wang's avatar John Wang
Browse files

Hide emergency call text if not support it.

Show "emergency call only" text in carrier string
only if phone supports emergency calls.

bug:5570742
Change-Id: Ie826583fd55073e57c5fe4fe6e585781127caa6a
parent 26bd66df
Loading
Loading
Loading
Loading
+27 −12
Original line number Diff line number Diff line
@@ -475,8 +475,9 @@ class KeyguardStatusViewManager implements OnClickListener {
                break;

            case NetworkLocked:
                carrierText = makeCarierString(mPlmn,
                        getContext().getText(R.string.lockscreen_network_locked_message));
                carrierText = makeCarrierStringOnEmergencyCapable(
                        getContext().getText(R.string.lockscreen_network_locked_message),
                        mPlmn);
                carrierHelpTextId = R.string.lockscreen_instructions_when_pattern_disabled;
                break;

@@ -485,10 +486,9 @@ class KeyguardStatusViewManager implements OnClickListener {
                // This depends on mPlmn containing the text "Emergency calls only" when the radio
                // has some connectivity. Otherwise, it should be null or empty and just show
                // "No SIM card"
                carrierText = getContext().getText(R.string.lockscreen_missing_sim_message_short);
                if (mLockPatternUtils.isEmergencyCallCapable()) {
                    carrierText = makeCarierString(carrierText, mPlmn);
                }
                carrierText =  makeCarrierStringOnEmergencyCapable(
                        getContext().getText(R.string.lockscreen_missing_sim_message_short),
                        mPlmn);
                carrierHelpTextId = R.string.lockscreen_missing_sim_instructions_long;
                break;

@@ -499,21 +499,24 @@ class KeyguardStatusViewManager implements OnClickListener {
                break;

            case SimMissingLocked:
                carrierText = makeCarierString(mPlmn,
                        getContext().getText(R.string.lockscreen_missing_sim_message_short));
                carrierText =  makeCarrierStringOnEmergencyCapable(
                        getContext().getText(R.string.lockscreen_missing_sim_message_short),
                        mPlmn);
                carrierHelpTextId = R.string.lockscreen_missing_sim_instructions;
                mEmergencyButtonEnabledBecauseSimLocked = true;
                break;

            case SimLocked:
                carrierText = makeCarierString(mPlmn,
                        getContext().getText(R.string.lockscreen_sim_locked_message));
                carrierText = makeCarrierStringOnEmergencyCapable(
                        getContext().getText(R.string.lockscreen_sim_locked_message),
                        mPlmn);
                mEmergencyButtonEnabledBecauseSimLocked = true;
                break;

            case SimPukLocked:
                carrierText = makeCarierString(mPlmn,
                        getContext().getText(R.string.lockscreen_sim_puk_locked_message));
                carrierText = makeCarrierStringOnEmergencyCapable(
                        getContext().getText(R.string.lockscreen_sim_puk_locked_message),
                        mPlmn);
                if (!mLockPatternUtils.isPukUnlockScreenEnable()) {
                    // This means we're showing the PUK unlock screen
                    mEmergencyButtonEnabledBecauseSimLocked = true;
@@ -526,6 +529,18 @@ class KeyguardStatusViewManager implements OnClickListener {
        updateEmergencyCallButtonState(mPhoneState);
    }


    /*
     * Add emergencyCallMessage to carrier string only if phone supports emergency calls.
     */
    private CharSequence makeCarrierStringOnEmergencyCapable(
            CharSequence simMessage, CharSequence emergencyCallMessage) {
        if (mLockPatternUtils.isEmergencyCallCapable()) {
            return makeCarierString(simMessage, emergencyCallMessage);
        }
        return simMessage;
    }

    private View findViewById(int id) {
        return mContainer.findViewById(id);
    }