Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a545d1e9 authored by Jack Yu's avatar Jack Yu Committed by Android (Google) Code Review
Browse files

Merge "Fixed dump not gated by permission" into udc-dev

parents 6c723c74 b7f0e103
Loading
Loading
Loading
Loading
+82 −74
Original line number Diff line number Diff line
@@ -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());
@@ -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();
@@ -4058,5 +4063,8 @@ public class SubscriptionManagerService extends ISub.Stub {
            pw.decreaseIndent();
            pw.println();
            mSubscriptionDatabaseManager.dump(fd, pw, args);
        } finally {
            Binder.restoreCallingIdentity(token);
        }
    }
}
+6 −1
Original line number Diff line number Diff line
@@ -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);