diff options
author | Robert Greenwalt <rgreenwalt@google.com> | 2015-01-28 16:26:57 -0800 |
---|---|---|
committer | Robert Greenwalt <rgreenwalt@google.com> | 2015-01-28 16:26:57 -0800 |
commit | 11bf4f45a64ce8bebd8edca04a8a401e2a40ae61 (patch) | |
tree | 3cace2e48237716613697adb1ff0ae5004200200 /src/java/com | |
parent | e70972cf6a3b48df1f7d036877eb28529e606ca9 (diff) | |
download | android_frameworks_opt_telephony-11bf4f45a64ce8bebd8edca04a8a401e2a40ae61.tar.gz android_frameworks_opt_telephony-11bf4f45a64ce8bebd8edca04a8a401e2a40ae61.tar.bz2 android_frameworks_opt_telephony-11bf4f45a64ce8bebd8edca04a8a401e2a40ae61.zip |
Fix dump to not require extra permissions.
Otherwise bugreports fail to collect the information.
Alternatively we could require you have the dump permission
AND whatever else, but that seems silly - you already have
permission to collect system dumps so they should work.
bug:19134027
Change-Id: I0f6bf3029f6230c759b94e04235d32c7a06ccea3
Diffstat (limited to 'src/java/com')
-rw-r--r-- | src/java/com/android/internal/telephony/SubscriptionController.java | 93 |
1 files changed, 49 insertions, 44 deletions
diff --git a/src/java/com/android/internal/telephony/SubscriptionController.java b/src/java/com/android/internal/telephony/SubscriptionController.java index ce31c77a6..0050b693c 100644 --- a/src/java/com/android/internal/telephony/SubscriptionController.java +++ b/src/java/com/android/internal/telephony/SubscriptionController.java @@ -1541,52 +1541,57 @@ public class SubscriptionController extends ISub.Stub { public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, "Requires DUMP"); - pw.println("SubscriptionController:"); - pw.println(" defaultSubId=" + getDefaultSubId()); - pw.println(" defaultDataSubId=" + getDefaultDataSubId()); - pw.println(" defaultVoiceSubId=" + getDefaultVoiceSubId()); - pw.println(" defaultSmsSubId=" + getDefaultSmsSubId()); - - pw.println(" defaultDataPhoneId=" + SubscriptionManager - .from(mContext).getDefaultDataPhoneId()); - pw.println(" defaultVoicePhoneId=" + SubscriptionManager.getDefaultVoicePhoneId()); - pw.println(" defaultSmsPhoneId=" + SubscriptionManager - .from(mContext).getDefaultSmsPhoneId()); - pw.flush(); - - for (Entry<Integer, Integer> entry : mSlotIdxToSubId.entrySet()) { - pw.println(" mSlotIdToSubIdMap[" + entry.getKey() + "]: subId=" + entry.getValue()); - } - pw.flush(); - pw.println("++++++++++++++++++++++++++++++++"); - - List<SubscriptionInfo> sirl = getActiveSubscriptionInfoList(); - if (sirl != null) { - pw.println(" ActiveSubInfoList:"); - for (SubscriptionInfo entry : sirl) { - pw.println(" " + entry.toString()); + final long token = Binder.clearCallingIdentity(); + try { + pw.println("SubscriptionController:"); + pw.println(" defaultSubId=" + getDefaultSubId()); + pw.println(" defaultDataSubId=" + getDefaultDataSubId()); + pw.println(" defaultVoiceSubId=" + getDefaultVoiceSubId()); + pw.println(" defaultSmsSubId=" + getDefaultSmsSubId()); + + pw.println(" defaultDataPhoneId=" + SubscriptionManager + .from(mContext).getDefaultDataPhoneId()); + pw.println(" defaultVoicePhoneId=" + SubscriptionManager.getDefaultVoicePhoneId()); + pw.println(" defaultSmsPhoneId=" + SubscriptionManager + .from(mContext).getDefaultSmsPhoneId()); + pw.flush(); + + for (Entry<Integer, Integer> entry : mSlotIdxToSubId.entrySet()) { + pw.println(" mSlotIdToSubIdMap[" + entry.getKey() + "]: subId=" + entry.getValue()); } - } else { - pw.println(" ActiveSubInfoList: is null"); - } - pw.flush(); - pw.println("++++++++++++++++++++++++++++++++"); - - sirl = getAllSubInfoList(); - if (sirl != null) { - pw.println(" AllSubInfoList:"); - for (SubscriptionInfo entry : sirl) { - pw.println(" " + entry.toString()); + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + + List<SubscriptionInfo> sirl = getActiveSubscriptionInfoList(); + if (sirl != null) { + pw.println(" ActiveSubInfoList:"); + for (SubscriptionInfo entry : sirl) { + pw.println(" " + entry.toString()); + } + } else { + pw.println(" ActiveSubInfoList: is null"); } - } else { - pw.println(" AllSubInfoList: is null"); - } - pw.flush(); - pw.println("++++++++++++++++++++++++++++++++"); + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + + sirl = getAllSubInfoList(); + if (sirl != null) { + pw.println(" AllSubInfoList:"); + for (SubscriptionInfo entry : sirl) { + pw.println(" " + entry.toString()); + } + } else { + pw.println(" AllSubInfoList: is null"); + } + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); - mLocalLog.dump(fd, pw, args); - pw.flush(); - pw.println("++++++++++++++++++++++++++++++++"); - pw.flush(); + mLocalLog.dump(fd, pw, args); + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + pw.flush(); + } finally { + Binder.restoreCallingIdentity(token); + } } } |