diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 5c5321c2abc90..239bba560aa96 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -107,6 +107,8 @@ package android.app { method public final boolean addDumpable(@NonNull android.util.Dumpable); method public void dumpInternal(@NonNull String, @Nullable java.io.FileDescriptor, @NonNull java.io.PrintWriter, @Nullable String[]); method public void onMovedToDisplay(int, android.content.res.Configuration); + field public static final String DUMP_ARG_DUMP_DUMPABLE = "--dump-dumpable"; + field public static final String DUMP_ARG_LIST_DUMPABLES = "--list-dumpables"; } public class ActivityManager { @@ -2982,6 +2984,7 @@ package android.view.contentcapture { field public static final String DEVICE_CONFIG_PROPERTY_MAX_BUFFER_SIZE = "max_buffer_size"; field public static final String DEVICE_CONFIG_PROPERTY_SERVICE_EXPLICITLY_ENABLED = "service_explicitly_enabled"; field public static final String DEVICE_CONFIG_PROPERTY_TEXT_CHANGE_FLUSH_FREQUENCY = "text_change_flush_frequency"; + field public static final String DUMPABLE_NAME = "ContentCaptureManager"; field public static final int LOGGING_LEVEL_DEBUG = 1; // 0x1 field public static final int LOGGING_LEVEL_OFF = 0; // 0x0 field public static final int LOGGING_LEVEL_VERBOSE = 2; // 0x2 diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index eaf79b49d461d..d19098280bfd8 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -814,6 +814,13 @@ public class Activity extends ContextThemeWrapper Dialog mDialog; Bundle mArgs; } + + /** @hide */ public static final String DUMP_ARG_AUTOFILL = "--autofill"; + /** @hide */ public static final String DUMP_ARG_CONTENT_CAPTURE = "--contentcapture"; + /** @hide */ public static final String DUMP_ARG_TRANSLATION = "--translation"; + /** @hide */ @TestApi public static final String DUMP_ARG_LIST_DUMPABLES = "--list-dumpables"; + /** @hide */ @TestApi public static final String DUMP_ARG_DUMP_DUMPABLE = "--dump-dumpable"; + private SparseArray mManagedDialogs; // set by the thread after the constructor and before onCreate(Bundle savedInstanceState) is called. @@ -7367,25 +7374,30 @@ public class Activity extends ContextThemeWrapper boolean isSpecialCase = true; // Handle special cases switch (arg) { - case "--autofill": - dumpAutofillManager(prefix, writer, args); - break; - case "--contentcapture": - dumpContentCaptureManager(prefix, writer); - break; - case "--translation": - dumpUiTranslation(prefix, writer); - break; - case "--list-dumpables": + case DUMP_ARG_AUTOFILL: + dumpLegacyDumpable(prefix, writer, arg, + AutofillClientController.DUMPABLE_NAME); + return; + case DUMP_ARG_CONTENT_CAPTURE: + dumpLegacyDumpable(prefix, writer, arg, + ContentCaptureManager.DUMPABLE_NAME); + return; + case DUMP_ARG_TRANSLATION: + dumpLegacyDumpable(prefix, writer, arg, + UiTranslationController.DUMPABLE_NAME); + return; + case DUMP_ARG_LIST_DUMPABLES: if (mDumpableContainer == null) { writer.print(prefix); writer.println("No dumpables"); } else { mDumpableContainer.listDumpables(prefix, writer); } - break; - case "--dump-dumpable": + mDumpableContainer.listDumpables(prefix, writer); + return; + case DUMP_ARG_DUMP_DUMPABLE: if (args.length == 1) { - writer.println("--dump-dumpable requires the dumpable name"); + writer.print(DUMP_ARG_DUMP_DUMPABLE); + writer.println(" requires the dumpable name"); } else if (mDumpableContainer == null) { writer.println("no dumpables"); } else { @@ -7452,25 +7464,10 @@ public class Activity extends ContextThemeWrapper } } - private void dumpContentCaptureManager(String prefix, PrintWriter writer) { - dumpLegacyDumpable(prefix, writer, ContentCaptureManager.DUMPABLE_NAME, /* args= */ null); - } - - private void dumpUiTranslation(String prefix, PrintWriter writer) { - dumpLegacyDumpable(prefix, writer, UiTranslationController.DUMPABLE_NAME, /* args= */ null); - } - - private void dumpAutofillManager(String prefix, PrintWriter writer, String[] args) { - dumpLegacyDumpable(prefix, writer, AutofillClientController.DUMPABLE_NAME, args); - } - - private void dumpLegacyDumpable(@NonNull String prefix, @NonNull PrintWriter writer, - @NonNull String dumpableName, @Nullable String[] args) { - if (mDumpableContainer == null) { - writer.print(prefix); writer.print("no "); writer.println(dumpableName); - return; - } - mDumpableContainer.dumpOneDumpable(prefix, writer, dumpableName, args); + private void dumpLegacyDumpable(String prefix, PrintWriter writer, String legacyOption, + String dumpableName) { + writer.printf("%s%s option deprecated. Use %s %s instead\n", prefix, legacyOption, + DUMP_ARG_DUMP_DUMPABLE, dumpableName); } /** diff --git a/core/java/android/view/contentcapture/ContentCaptureManager.java b/core/java/android/view/contentcapture/ContentCaptureManager.java index ad48ea006a219..48d29706a1e96 100644 --- a/core/java/android/view/contentcapture/ContentCaptureManager.java +++ b/core/java/android/view/contentcapture/ContentCaptureManager.java @@ -218,6 +218,7 @@ public final class ContentCaptureManager { public static final boolean DEBUG = false; /** @hide */ + @TestApi public static final String DUMPABLE_NAME = "ContentCaptureManager"; /** Error happened during the data sharing session. */ diff --git a/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java b/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java index 9f4fee8b00ab9..364d592d7ce0e 100644 --- a/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java +++ b/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java @@ -24,6 +24,7 @@ import static android.view.translation.UiTranslationManager.STATE_UI_TRANSLATION import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; @@ -43,6 +44,7 @@ import android.view.translation.ITranslationServiceCallback; import android.view.translation.TranslationCapability; import android.view.translation.TranslationContext; import android.view.translation.TranslationSpec; +import android.view.translation.UiTranslationController; import android.view.translation.UiTranslationManager.UiTranslationState; import android.view.translation.UiTranslationSpec; @@ -253,7 +255,10 @@ final class TranslationManagerServiceImpl extends try (TransferPipe tp = new TransferPipe()) { activityTokens.getApplicationThread().dumpActivity(tp.getWriteFd(), activityTokens.getActivityToken(), prefix, - new String[]{"--translation"}); + new String[] { + Activity.DUMP_ARG_DUMP_DUMPABLE, + UiTranslationController.DUMPABLE_NAME + }); tp.go(fd); } catch (IOException e) { pw.println(prefix + "Failure while dumping the activity: " + e);