Merge "Deprecated "legacy" options for Activity.dump()"

This commit is contained in:
Felipe Leme
2022-02-14 23:59:34 +00:00
committed by Android (Google) Code Review
4 changed files with 39 additions and 33 deletions

View File

@@ -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

View File

@@ -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<ManagedDialog> 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);
}
/**

View File

@@ -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. */

View File

@@ -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);