tree ddeabc4c7a079c803cdbb67cb1a2a49157cde56d
parent a9657f553d2db21f99f1129cb18490d7e2497b31
author Raju Yadav <raju.yadav@sonymobile.com> 1430298289 +0200
committer Johan Redestig <johan.redestig@sonymobile.com> 1431022944 +0200

Remove phone information for a secondary user

Default phone information is not available for a secondary
user and when accessed using service command *#*#INFO#*#*,
it causes crash in Settings. Removed the preference for a
secondary user.

To verify:
1. Add user(slide down status bar>user icon>Add user>
   OK>finish the setup guide).
2. As new user launch Phone app>input “*#*#4636#*#*”>
   tap Phone information>check
Causes Settings to crash with:
  Caused by: java.lang.IllegalStateException: Default phones haven't been made yet!
  at com.android.internal.telephony.PhoneFactory.getDefaultPhone(PhoneFactory.java:214)
  at com.android.settings.RadioInfo.onCreate(RadioInfo.java:263)
  at android.app.Activity.performCreate(Activity.java:5990)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)

Change-Id: Ie23107c5eead04183cfd8b5460a9a7a3426a99b8
