Loading src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java +82 −74 Original line number Diff line number Diff line Loading @@ -3984,6 +3984,10 @@ public class SubscriptionManagerService extends ISub.Stub { */ public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter printWriter, @NonNull String[] args) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, "Requires android.Manifest.permission.DUMP"); final long token = Binder.clearCallingIdentity(); try { IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, " "); pw.println(SubscriptionManagerService.class.getSimpleName() + ":"); pw.println("Active modem count=" + mTelephonyManager.getActiveModemCount()); Loading @@ -4007,7 +4011,8 @@ public class SubscriptionManagerService extends ISub.Stub { pw.println("areAllSubscriptionsLoaded=" + areAllSubscriptionsLoaded()); pw.println(); for (int i = 0; i < mSimState.length; i++) { pw.println("mSimState[" + i + "]=" + TelephonyManager.simStateToString(mSimState[i])); pw.println("mSimState[" + i + "]=" + TelephonyManager.simStateToString(mSimState[i])); } pw.println(); Loading Loading @@ -4058,5 +4063,8 @@ public class SubscriptionManagerService extends ISub.Stub { pw.decreaseIndent(); pw.println(); mSubscriptionDatabaseManager.dump(fd, pw, args); } finally { Binder.restoreCallingIdentity(token); } } } tests/telephonytests/src/com/android/internal/telephony/subscription/SubscriptionManagerServiceTest.java +6 −1 Original line number Diff line number Diff line Loading @@ -2027,8 +2027,13 @@ public class SubscriptionManagerServiceTest extends TelephonyTest { insertSubscription(FAKE_SUBSCRIPTION_INFO1); insertSubscription(FAKE_SUBSCRIPTION_INFO2); mContextFixture.addCallingOrSelfPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE); final StringWriter stringWriter = new StringWriter(); assertThrows(SecurityException.class, () -> mSubscriptionManagerServiceUT.dump(new FileDescriptor(), new PrintWriter(stringWriter), null)); mContextFixture.addCallingOrSelfPermission(Manifest.permission.DUMP); mContextFixture.addCallingOrSelfPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE); mSubscriptionManagerServiceUT.dump(new FileDescriptor(), new PrintWriter(stringWriter), null); assertThat(stringWriter.toString().length()).isGreaterThan(0); Loading Loading
src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java +82 −74 Original line number Diff line number Diff line Loading @@ -3984,6 +3984,10 @@ public class SubscriptionManagerService extends ISub.Stub { */ public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter printWriter, @NonNull String[] args) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, "Requires android.Manifest.permission.DUMP"); final long token = Binder.clearCallingIdentity(); try { IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, " "); pw.println(SubscriptionManagerService.class.getSimpleName() + ":"); pw.println("Active modem count=" + mTelephonyManager.getActiveModemCount()); Loading @@ -4007,7 +4011,8 @@ public class SubscriptionManagerService extends ISub.Stub { pw.println("areAllSubscriptionsLoaded=" + areAllSubscriptionsLoaded()); pw.println(); for (int i = 0; i < mSimState.length; i++) { pw.println("mSimState[" + i + "]=" + TelephonyManager.simStateToString(mSimState[i])); pw.println("mSimState[" + i + "]=" + TelephonyManager.simStateToString(mSimState[i])); } pw.println(); Loading Loading @@ -4058,5 +4063,8 @@ public class SubscriptionManagerService extends ISub.Stub { pw.decreaseIndent(); pw.println(); mSubscriptionDatabaseManager.dump(fd, pw, args); } finally { Binder.restoreCallingIdentity(token); } } }
tests/telephonytests/src/com/android/internal/telephony/subscription/SubscriptionManagerServiceTest.java +6 −1 Original line number Diff line number Diff line Loading @@ -2027,8 +2027,13 @@ public class SubscriptionManagerServiceTest extends TelephonyTest { insertSubscription(FAKE_SUBSCRIPTION_INFO1); insertSubscription(FAKE_SUBSCRIPTION_INFO2); mContextFixture.addCallingOrSelfPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE); final StringWriter stringWriter = new StringWriter(); assertThrows(SecurityException.class, () -> mSubscriptionManagerServiceUT.dump(new FileDescriptor(), new PrintWriter(stringWriter), null)); mContextFixture.addCallingOrSelfPermission(Manifest.permission.DUMP); mContextFixture.addCallingOrSelfPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE); mSubscriptionManagerServiceUT.dump(new FileDescriptor(), new PrintWriter(stringWriter), null); assertThat(stringWriter.toString().length()).isGreaterThan(0); Loading