Deprecated "legacy" options for Activity.dump()
These 3 options (--autofill, --contentcapture, and --tranlation) are now available as '--dump-dumpable DUMPABLE' (where DUMPABLE is AutofillManager, ContentCaptureManager, and UiTranslationController respectively). Test: adb shell am start com.android.settings && adb shell dumpsys activity com.android.settings --autofill Test: m -j update-api Bug: 149254050 Change-Id: Iaf9040a4afcd87d32c60e32d19aaca8e1d2c817a
This commit is contained in:
@@ -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 {
|
||||
@@ -2949,6 +2951,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
|
||||
|
||||
@@ -809,6 +809,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.
|
||||
@@ -7223,25 +7230,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 {
|
||||
@@ -7308,25 +7320,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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user