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

Commit 501b6213 authored by Galia Peycheva's avatar Galia Peycheva
Browse files

Parse minimal post processing xml attribute into ActivityInfo

Bug: 135116095

Test: m && ./vendor/google/tools/flashall && atest
      CtsWindowManagerDeviceTestCases:MinimalPostProcessingTests

Change-Id: I81179d24ae0b8761fb31655ca242756cbb9e0a26
parent 14763d14
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -289,6 +289,15 @@ public class ActivityInfo extends ComponentInfo implements Parcelable {
    @ColorMode
    public int colorMode = COLOR_MODE_DEFAULT;

    /**
     * Value for {@link #preferMinimalPostProcessing} indicating that by default
     * minimal post processing is not preferred.
     *
     * @see android.R.attr#preferMinimalPostProcessing
     * @hide
     */
    public static final boolean MINIMAL_POST_PROCESSING_DEFAULT = false;

    /**
     * Indicates whether the activity wants the connected display to do minimal post processing on
     * the produced image or video frames. This will only be requested if this activity's main
@@ -315,7 +324,7 @@ public class ActivityInfo extends ComponentInfo implements Parcelable {
     * @see android.view.WindowManager.LayoutParams#preferMinimalPostProcessing
     * @see android.view.Display#isMinimalPostProcessingSupported
     */
    public boolean preferMinimalPostProcessing = false;
    public boolean preferMinimalPostProcessing = MINIMAL_POST_PROCESSING_DEFAULT;

    /**
     * Bit in {@link #flags} indicating whether this activity is able to
+5 −1
Original line number Diff line number Diff line
@@ -59,7 +59,6 @@ import android.content.pm.PackageParserCacheHelper.ReadHelper;
import android.content.pm.PackageParserCacheHelper.WriteHelper;
import android.content.pm.parsing.AndroidPackage;
import android.content.pm.parsing.ApkParseUtils;
import android.content.pm.parsing.ComponentParseUtils;
import android.content.pm.parsing.PackageImpl;
import android.content.pm.parsing.PackageInfoUtils;
import android.content.pm.parsing.ParsedPackage;
@@ -4350,6 +4349,7 @@ public class PackageParser {
        a.info.directBootAware = false;
        a.info.rotationAnimation = ROTATION_ANIMATION_UNSPECIFIED;
        a.info.colorMode = ActivityInfo.COLOR_MODE_DEFAULT;
        a.info.preferMinimalPostProcessing = ActivityInfo.MINIMAL_POST_PROCESSING_DEFAULT;
        if (hardwareAccelerated) {
            a.info.flags |= ActivityInfo.FLAG_HARDWARE_ACCELERATED;
        }
@@ -4564,6 +4564,10 @@ public class PackageParser {
            a.info.colorMode = sa.getInt(R.styleable.AndroidManifestActivity_colorMode,
                    ActivityInfo.COLOR_MODE_DEFAULT);

            a.info.preferMinimalPostProcessing = sa.getBoolean(
                    R.styleable.AndroidManifestActivity_preferMinimalPostProcessing,
                    ActivityInfo.MINIMAL_POST_PROCESSING_DEFAULT);

            if (sa.getBoolean(R.styleable.AndroidManifestActivity_showWhenLocked, false)) {
                a.info.flags |= ActivityInfo.FLAG_SHOW_WHEN_LOCKED;
            }
+1 −0
Original line number Diff line number Diff line
@@ -2640,6 +2640,7 @@ public class ApkParseUtils {
        activity.directBootAware = false;
        activity.rotationAnimation = ROTATION_ANIMATION_UNSPECIFIED;
        activity.colorMode = ActivityInfo.COLOR_MODE_DEFAULT;
        activity.preferMinimalPostProcessing = ActivityInfo.MINIMAL_POST_PROCESSING_DEFAULT;
        if (hardwareAccelerated) {
            activity.flags |= ActivityInfo.FLAG_HARDWARE_ACCELERATED;
        }
+7 −0
Original line number Diff line number Diff line
@@ -553,6 +553,7 @@ public class ComponentParseUtils {
        public String requestedVrComponent;
        public int rotationAnimation = -1;
        public int colorMode;
        public boolean preferMinimalPostProcessing;
        public int order;

        public ActivityInfo.WindowLayout windowLayout;
@@ -640,6 +641,7 @@ public class ComponentParseUtils {
            dest.writeString(this.requestedVrComponent);
            dest.writeInt(this.rotationAnimation);
            dest.writeInt(this.colorMode);
            dest.writeBoolean(this.preferMinimalPostProcessing);
            dest.writeInt(this.order);
            dest.writeBundle(this.metaData);

@@ -685,6 +687,7 @@ public class ComponentParseUtils {
            this.requestedVrComponent = in.readString();
            this.rotationAnimation = in.readInt();
            this.colorMode = in.readInt();
            this.preferMinimalPostProcessing = in.readByte() != 0;
            this.order = in.readInt();
            this.metaData = in.readBundle();
            if (in.readInt() == 1) {
@@ -1645,6 +1648,10 @@ public class ComponentParseUtils {
                result.colorMode = sa.getInt(R.styleable.AndroidManifestActivity_colorMode,
                        ActivityInfo.COLOR_MODE_DEFAULT);

                result.preferMinimalPostProcessing = sa.getBoolean(
                        R.styleable.AndroidManifestActivity_preferMinimalPostProcessing,
                        ActivityInfo.MINIMAL_POST_PROCESSING_DEFAULT);

                if (sa.getBoolean(R.styleable.AndroidManifestActivity_showWhenLocked, false)) {
                    result.flags |= ActivityInfo.FLAG_SHOW_WHEN_LOCKED;
                }
+1 −0
Original line number Diff line number Diff line
@@ -345,6 +345,7 @@ public class PackageInfoUtils {
        ai.requestedVrComponent = a.requestedVrComponent;
        ai.rotationAnimation = a.rotationAnimation;
        ai.colorMode = a.colorMode;
        ai.preferMinimalPostProcessing = a.preferMinimalPostProcessing;
        ai.windowLayout = a.windowLayout;
        ai.metaData = a.metaData;
        ai.applicationInfo = applicationInfo;