From 05fb069d6505c71d5083f0806ec623a9d204f529 Mon Sep 17 00:00:00 2001 From: Raju Yadav Date: Wed, 29 Apr 2015 11:04:49 +0200 Subject: [PATCH] Remove phone information for a secondary user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- res/xml/testing_settings.xml | 3 ++- src/com/android/settings/TestingSettings.java | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml index c55cb46c79d..4d4d2a50e39 100644 --- a/res/xml/testing_settings.xml +++ b/res/xml/testing_settings.xml @@ -18,7 +18,8 @@ android:title="@string/testing" > + android:title="@string/testing_phone_info" + android:key="radio_info_settings"> diff --git a/src/com/android/settings/TestingSettings.java b/src/com/android/settings/TestingSettings.java index 39945603a8b..b20d327ddb0 100644 --- a/src/com/android/settings/TestingSettings.java +++ b/src/com/android/settings/TestingSettings.java @@ -17,7 +17,9 @@ package com.android.settings; import android.os.Bundle; +import android.os.UserHandle; import android.preference.PreferenceActivity; +import android.preference.PreferenceScreen; public class TestingSettings extends PreferenceActivity { @@ -26,6 +28,12 @@ public class TestingSettings extends PreferenceActivity { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.testing_settings); + + if (UserHandle.myUserId() != UserHandle.USER_OWNER) { + PreferenceScreen preferenceScreen = (PreferenceScreen) + findPreference("radio_info_settings"); + getPreferenceScreen().removePreference(preferenceScreen); + } } }