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

Commit ee5b44c8 authored by Jackal Guo's avatar Jackal Guo
Browse files

Convert Integer/Float/Boolean to primitive types

In order to avoid unnecessary auto-boxing/unboxing, these fields to
primitive types in the parsed components.

Fix: 197579270
Test: atest -p core/java/android/content/pm \
        services/core/java/com/android/server/pm
Change-Id: I91a61b38ccbb7242f12859d1db298c3262254a63
parent 026512d2
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -2097,7 +2097,7 @@ public class ParsingPackageUtils {
            pkg.setGwpAsanMode(sa.getInt(R.styleable.AndroidManifestApplication_gwpAsanMode, -1));
            pkg.setGwpAsanMode(sa.getInt(R.styleable.AndroidManifestApplication_gwpAsanMode, -1));
            pkg.setMemtagMode(sa.getInt(R.styleable.AndroidManifestApplication_memtagMode, -1));
            pkg.setMemtagMode(sa.getInt(R.styleable.AndroidManifestApplication_memtagMode, -1));
            if (sa.hasValue(R.styleable.AndroidManifestApplication_nativeHeapZeroInitialized)) {
            if (sa.hasValue(R.styleable.AndroidManifestApplication_nativeHeapZeroInitialized)) {
                Boolean v = sa.getBoolean(
                final boolean v = sa.getBoolean(
                        R.styleable.AndroidManifestApplication_nativeHeapZeroInitialized, false);
                        R.styleable.AndroidManifestApplication_nativeHeapZeroInitialized, false);
                pkg.setNativeHeapZeroInitialized(
                pkg.setNativeHeapZeroInitialized(
                        v ? ApplicationInfo.ZEROINIT_ENABLED : ApplicationInfo.ZEROINIT_DISABLED);
                        v ? ApplicationInfo.ZEROINIT_ENABLED : ApplicationInfo.ZEROINIT_DISABLED);
+2 −0
Original line number Original line Diff line number Diff line
@@ -41,6 +41,8 @@ public class ParsingUtils {
    public static final int DEFAULT_MIN_SDK_VERSION = 1;
    public static final int DEFAULT_MIN_SDK_VERSION = 1;
    public static final int DEFAULT_TARGET_SDK_VERSION = 0;
    public static final int DEFAULT_TARGET_SDK_VERSION = 0;


    public static final int NOT_SET = -1;

    @Nullable
    @Nullable
    public static String buildClassName(String pkg, CharSequence clsSeq) {
    public static String buildClassName(String pkg, CharSequence clsSeq) {
        if (clsSeq == null || clsSeq.length() <= 0) {
        if (clsSeq == null || clsSeq.length() <= 0) {
+4 −3
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ package android.content.pm.parsing.component;


import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_INSTANCE_PER_TASK;
import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_INSTANCE_PER_TASK;
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
import static android.content.pm.parsing.ParsingUtils.NOT_SET;
import static android.content.pm.parsing.component.ComponentParseUtils.flag;
import static android.content.pm.parsing.component.ComponentParseUtils.flag;


import android.annotation.NonNull;
import android.annotation.NonNull;
@@ -269,15 +270,15 @@ public class ParsedActivityUtils {
                    activity, tag, null, pkg, sa, 0, useRoundIcon, input,
                    activity, tag, null, pkg, sa, 0, useRoundIcon, input,
                    R.styleable.AndroidManifestActivityAlias_banner,
                    R.styleable.AndroidManifestActivityAlias_banner,
                    R.styleable.AndroidManifestActivityAlias_description,
                    R.styleable.AndroidManifestActivityAlias_description,
                    null /*directBootAwareAttr*/,
                    NOT_SET /*directBootAwareAttr*/,
                    R.styleable.AndroidManifestActivityAlias_enabled,
                    R.styleable.AndroidManifestActivityAlias_enabled,
                    R.styleable.AndroidManifestActivityAlias_icon,
                    R.styleable.AndroidManifestActivityAlias_icon,
                    R.styleable.AndroidManifestActivityAlias_label,
                    R.styleable.AndroidManifestActivityAlias_label,
                    R.styleable.AndroidManifestActivityAlias_logo,
                    R.styleable.AndroidManifestActivityAlias_logo,
                    R.styleable.AndroidManifestActivityAlias_name,
                    R.styleable.AndroidManifestActivityAlias_name,
                    null /*processAttr*/,
                    NOT_SET /*processAttr*/,
                    R.styleable.AndroidManifestActivityAlias_roundIcon,
                    R.styleable.AndroidManifestActivityAlias_roundIcon,
                    null /*splitNameAttr*/,
                    NOT_SET /*splitNameAttr*/,
                    R.styleable.AndroidManifestActivityAlias_attributionTags);
                    R.styleable.AndroidManifestActivityAlias_attributionTags);
            if (result.isError()) {
            if (result.isError()) {
                return result;
                return result;
+5 −5
Original line number Original line Diff line number Diff line
@@ -16,8 +16,9 @@


package android.content.pm.parsing.component;
package android.content.pm.parsing.component;


import static android.content.pm.parsing.ParsingUtils.NOT_SET;

import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.Property;
import android.content.pm.PackageManager.Property;
import android.content.pm.parsing.ParsingPackage;
import android.content.pm.parsing.ParsingPackage;
@@ -41,9 +42,8 @@ class ParsedComponentUtils {
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    static <Component extends ParsedComponent> ParseResult<Component> parseComponent(
    static <Component extends ParsedComponent> ParseResult<Component> parseComponent(
            Component component, String tag, ParsingPackage pkg, TypedArray array,
            Component component, String tag, ParsingPackage pkg, TypedArray array,
            boolean useRoundIcon, ParseInput input, int bannerAttr,
            boolean useRoundIcon, ParseInput input, int bannerAttr, int descriptionAttr,
            @Nullable Integer descriptionAttr, int iconAttr, int labelAttr, int logoAttr,
            int iconAttr, int labelAttr, int logoAttr, int nameAttr, int roundIconAttr) {
            int nameAttr, int roundIconAttr) {
        String name = array.getNonConfigurationString(nameAttr, 0);
        String name = array.getNonConfigurationString(nameAttr, 0);
        if (TextUtils.isEmpty(name)) {
        if (TextUtils.isEmpty(name)) {
            return input.error(tag + " does not specify android:name");
            return input.error(tag + " does not specify android:name");
@@ -81,7 +81,7 @@ class ParsedComponentUtils {
            component.setBanner(bannerVal);
            component.setBanner(bannerVal);
        }
        }


        if (descriptionAttr != null) {
        if (descriptionAttr != NOT_SET) {
            component.setDescriptionRes(array.getResourceId(descriptionAttr, 0));
            component.setDescriptionRes(array.getResourceId(descriptionAttr, 0));
        }
        }


+5 −3
Original line number Original line Diff line number Diff line
@@ -16,15 +16,17 @@


package android.content.pm.parsing.component;
package android.content.pm.parsing.component;


import static android.content.pm.parsing.ParsingUtils.NOT_SET;

import android.annotation.NonNull;
import android.annotation.NonNull;
import android.content.pm.parsing.ParsingPackage;
import android.content.pm.parsing.ParsingPackage;
import android.content.pm.parsing.result.ParseInput;
import android.content.pm.parsing.result.ParseResult;
import android.content.res.Resources;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
import android.content.res.XmlResourceParser;


import com.android.internal.R;
import com.android.internal.R;
import android.content.pm.parsing.result.ParseInput;
import android.content.pm.parsing.result.ParseResult;


import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserException;


@@ -46,7 +48,7 @@ public class ParsedInstrumentationUtils {
            ParseResult<ParsedInstrumentation> result = ParsedComponentUtils.parseComponent(
            ParseResult<ParsedInstrumentation> result = ParsedComponentUtils.parseComponent(
                    instrumentation, tag, pkg, sa, useRoundIcon, input,
                    instrumentation, tag, pkg, sa, useRoundIcon, input,
                    R.styleable.AndroidManifestInstrumentation_banner,
                    R.styleable.AndroidManifestInstrumentation_banner,
                    null /*descriptionAttr*/,
                    NOT_SET /*descriptionAttr*/,
                    R.styleable.AndroidManifestInstrumentation_icon,
                    R.styleable.AndroidManifestInstrumentation_icon,
                    R.styleable.AndroidManifestInstrumentation_label,
                    R.styleable.AndroidManifestInstrumentation_label,
                    R.styleable.AndroidManifestInstrumentation_logo,
                    R.styleable.AndroidManifestInstrumentation_logo,
Loading