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

Commit d2026690 authored by Shishir Agrawal's avatar Shishir Agrawal Committed by jianzhou
Browse files

Settings app - read phone number from TelephonyManager

The phone number needs to be always read from the TelephonyManager
since it can be overridden.

Bug: 18487514

Conflicts:
	src/com/android/settings/deviceinfo/SimStatus.java
	src/com/android/settings/sim/SimSettings.java

Change-Id: If72094eb230c41b4f70146b0ccb012c9f9860626
parent 6c3afc57
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -723,7 +723,12 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
            });

            TextView numberView = (TextView)dialogLayout.findViewById(R.id.number);
            numberView.setText(mSubscriptionInfo.getNumber());
            final String rawNumber = getPhoneNumber(mSubInfoRecord);
            if (TextUtils.isEmpty(rawNumber)) {
                numberView.setText(res.getString(com.android.internal.R.string.unknownName));
            } else {
                numberView.setText(PhoneNumberUtils.formatNumber(rawNumber));
            }

            TextView carrierView = (TextView)dialogLayout.findViewById(R.id.carrier);
            carrierView.setText(mSubscriptionInfo.getDisplayName());
@@ -894,6 +899,18 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
        }
    }

    // Returns the line1Number. Line1number should always be read from TelephonyManager since it can
    // be overridden for display purposes.
    private String getPhoneNumber(SubscriptionInfo info) {
        final TelephonyManager tm =
            (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);
        return tm.getLine1NumberForSubscriber(info.getSubscriptionId());
    }

    private void log(String s) {
        Log.d(TAG, s);
    }

    private void logd(String msg) {
        if (DBG) Log.d(TAG, msg);
    }