aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/com
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2015-01-28 16:26:57 -0800
committerRobert Greenwalt <rgreenwalt@google.com>2015-01-28 16:26:57 -0800
commit11bf4f45a64ce8bebd8edca04a8a401e2a40ae61 (patch)
tree3cace2e48237716613697adb1ff0ae5004200200 /src/java/com
parente70972cf6a3b48df1f7d036877eb28529e606ca9 (diff)
downloadandroid_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.java93
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);
+ }
}
}