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

Commit 7e3f7d10 authored by Joanne Chung's avatar Joanne Chung Committed by Android (Google) Code Review
Browse files

Merge "Add shell commands and dump information for Translation" into sc-dev

parents 0de1d7f1 3a907ab1
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -7119,6 +7119,9 @@ public class Activity extends ContextThemeWrapper
                case "--contentcapture":
                    dumpContentCaptureManager(prefix, writer);
                    return;
                case "--translation":
                    dumpUiTranslation(prefix, writer);
                    return;
            }
        }
        writer.print(prefix); writer.print("Local Activity ");
@@ -7159,6 +7162,7 @@ public class Activity extends ContextThemeWrapper

        dumpAutofillManager(prefix, writer);
        dumpContentCaptureManager(prefix, writer);
        dumpUiTranslation(prefix, writer);

        ResourcesManager.getInstance().dump(prefix, writer);
    }
@@ -7183,6 +7187,14 @@ public class Activity extends ContextThemeWrapper
        }
    }

    void dumpUiTranslation(String prefix, PrintWriter writer) {
        if (mUiTranslationController != null) {
            mUiTranslationController.dump(prefix, writer);
        } else {
            writer.print(prefix); writer.println("No UiTranslationController");
        }
    }

    /**
     * Bit indicating that this activity is "immersive" and should not be
     * interrupted by notifications if possible.
+15 −3
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ import com.android.internal.util.DataClass;
 * <p>This spec help specify information such as the language/locale for the translation, as well
 * as the data format for the translation (text, audio, etc.)</p>
 */
@DataClass(genEqualsHashCode = true, genHiddenConstDefs = true)
@DataClass(genEqualsHashCode = true, genHiddenConstDefs = true, genToString = true)
public final class TranslationSpec implements Parcelable {

    /** Data format for translation is text. */
@@ -97,6 +97,18 @@ public final class TranslationSpec implements Parcelable {
        return mDataFormat;
    }

    @Override
    @DataClass.Generated.Member
    public String toString() {
        // You can override field toString logic by defining methods like:
        // String fieldNameToString() { ... }

        return "TranslationSpec { " +
                "language = " + mLanguage + ", " +
                "dataFormat = " + mDataFormat +
        " }";
    }

    @Override
    @DataClass.Generated.Member
    public boolean equals(@android.annotation.Nullable Object o) {
@@ -175,10 +187,10 @@ public final class TranslationSpec implements Parcelable {
    };

    @DataClass.Generated(
            time = 1609964630624L,
            time = 1614326090637L,
            codegenVersion = "1.0.22",
            sourceFile = "frameworks/base/core/java/android/view/translation/TranslationSpec.java",
            inputSignatures = "public static final  int DATA_FORMAT_TEXT\nprivate final @android.annotation.NonNull java.lang.String mLanguage\nprivate final @android.view.translation.TranslationSpec.DataFormat int mDataFormat\nclass TranslationSpec extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genHiddenConstDefs=true)")
            inputSignatures = "public static final  int DATA_FORMAT_TEXT\nprivate final @android.annotation.NonNull java.lang.String mLanguage\nprivate final @android.view.translation.TranslationSpec.DataFormat int mDataFormat\nclass TranslationSpec extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genHiddenConstDefs=true, genToString=true)")
    @Deprecated
    private void __metadata() {}

+7 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.os.IResultReceiver;
import com.android.internal.util.SyncResultReceiver;

import java.io.PrintWriter;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
@@ -221,6 +222,12 @@ public class Translator {
        return mId;
    }

    /** @hide */
    public void dump(@NonNull String prefix, @NonNull PrintWriter pw) {
        pw.print(prefix); pw.print("sourceSpec: "); pw.println(mSourceSpec);
        pw.print(prefix); pw.print("destSpec: "); pw.println(mDestSpec);
    }

    /**
     * Requests a translation for the provided {@link TranslationRequest} using the Translator's
     * source spec and destination spec.
+18 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import android.view.translation.UiTranslationManager.UiTranslationState;

import com.android.internal.util.function.pooled.PooledLambda;

import java.io.PrintWriter;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
@@ -132,6 +133,23 @@ public class UiTranslationController {
        }
    }

    /**
     * Called to dump the translation information for Activity.
     */
    public void dump(String outerPrefix, PrintWriter pw) {
        pw.print(outerPrefix); pw.println("UiTranslationController:");
        final String pfx = outerPrefix + "  ";
        pw.print(pfx); pw.print("activity: "); pw.println(mActivity);
        final int translatorSize = mTranslators.size();
        pw.print(outerPrefix); pw.print("number translator: "); pw.println(translatorSize);
        for (int i = 0; i < translatorSize; i++) {
            pw.print(outerPrefix); pw.print("#"); pw.println(i);
            final Translator translator = mTranslators.valueAt(i);
            translator.dump(outerPrefix, pw);
            pw.println();
        }
    }

    /**
     * The method is used by {@link Translator}, it will be called when the translation is done. The
     * translation result can be get from here.
+2 −0
Original line number Diff line number Diff line
@@ -483,6 +483,8 @@ applications that come with the platform
        <permission name="android.permission.SIGNAL_REBOOT_READINESS" />
        <!-- Permission required for CTS test - PeopleManagerTest -->
        <permission name="android.permission.READ_PEOPLE_DATA" />
        <!-- Permission required for CTS test - UiTranslationManagerTest -->
        <permission name="android.permission.MANAGE_UI_TRANSLATION" />
    </privapp-permissions>

    <privapp-permissions package="com.android.statementservice">
Loading