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

Commit 1293ee75 authored by Winson's avatar Winson
Browse files

Split ParsedPermissionGroupImpl

Bug: 178218967

Change-Id: Ie0343b67c1c3a280621f23c67eef3ce5a9c74d9e
parent ce4afafc
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.content.pm.parsing.component.ParsedIntentInfo;
import android.content.pm.parsing.component.ParsedMainComponent;
import android.content.pm.parsing.component.ParsedPermission;
import android.content.pm.parsing.component.ParsedPermissionGroup;
import android.content.pm.parsing.component.ParsedPermissionGroupImpl;
import android.content.pm.parsing.component.ParsedPermissionImpl;
import android.content.pm.parsing.component.ParsedProcess;
import android.content.pm.parsing.component.ParsedProvider;
@@ -1296,7 +1297,8 @@ public class ParsingPackageImpl implements ParsingPackage, ParsingPackageHidden,
        this.attributions = ParsingUtils.createTypedInterfaceList(in,
                ParsedAttributionImpl.CREATOR);
        this.permissions = ParsingUtils.createTypedInterfaceList(in, ParsedPermissionImpl.CREATOR);
        this.permissionGroups = in.createTypedArrayList(ParsedPermissionGroup.CREATOR);
        this.permissionGroups = ParsingUtils.createTypedInterfaceList(in,
                ParsedPermissionGroupImpl.CREATOR);
        this.instrumentations = ParsingUtils.createTypedInterfaceList(in,
                ParsedInstrumentationImpl.CREATOR);
        this.preferredActivityFilters = sForIntentInfoPairs.unparcel(in);
+5 −0
Original line number Diff line number Diff line
@@ -85,4 +85,9 @@ public class ComponentMutateUtils {
            @NonNull ParsedPermissionGroup permissionGroup) {
        ((ParsedPermissionImpl) permission).setParsedPermissionGroup(permissionGroup);
    }

    public static void setPriority(@NonNull ParsedPermissionGroup parsedPermissionGroup,
            int priority) {
        ((ParsedPermissionGroupImpl) parsedPermissionGroup).setPriority(priority);
    }
}
+6 −174
Original line number Diff line number Diff line
@@ -16,184 +16,16 @@

package android.content.pm.parsing.component;

import android.os.Parcel;
import android.os.Parcelable;

import com.android.internal.util.DataClass;

/** @hide */
@DataClass(genGetters = true, genSetters = true, genBuilder = false, genParcelable = true,
        genAidl = false)
public class ParsedPermissionGroup extends ParsedComponentImpl {

    private int requestDetailResourceId;
    private int backgroundRequestResourceId;
    private int backgroundRequestDetailResourceId;
    private int requestRes;
    private int priority;

    public String toString() {
        return "PermissionGroup{"
                + Integer.toHexString(System.identityHashCode(this))
                + " " + getName() + "}";
    }

    public ParsedPermissionGroup() {
    }
public interface ParsedPermissionGroup extends ParsedComponent {

    int getBackgroundRequestDetailResourceId();

    int getBackgroundRequestResourceId();

    // Code below generated by codegen v1.0.23.
    //
    // DO NOT MODIFY!
    // CHECKSTYLE:OFF Generated code
    //
    // To regenerate run:
    // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/content/pm/parsing/component/ParsedPermissionGroup.java
    //
    // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
    //   Settings > Editor > Code Style > Formatter Control
    //@formatter:off


    @DataClass.Generated.Member
    public ParsedPermissionGroup(
            int requestDetailResourceId,
            int backgroundRequestResourceId,
            int backgroundRequestDetailResourceId,
            int requestRes,
            int priority) {
        this.requestDetailResourceId = requestDetailResourceId;
        this.backgroundRequestResourceId = backgroundRequestResourceId;
        this.backgroundRequestDetailResourceId = backgroundRequestDetailResourceId;
        this.requestRes = requestRes;
        this.priority = priority;

        // onConstructed(); // You can define this method to get a callback
    }

    @DataClass.Generated.Member
    public int getRequestDetailResourceId() {
        return requestDetailResourceId;
    }

    @DataClass.Generated.Member
    public int getBackgroundRequestResourceId() {
        return backgroundRequestResourceId;
    }

    @DataClass.Generated.Member
    public int getBackgroundRequestDetailResourceId() {
        return backgroundRequestDetailResourceId;
    }

    @DataClass.Generated.Member
    public int getRequestRes() {
        return requestRes;
    }

    @DataClass.Generated.Member
    public int getPriority() {
        return priority;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroup setRequestDetailResourceId( int value) {
        requestDetailResourceId = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroup setBackgroundRequestResourceId( int value) {
        backgroundRequestResourceId = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroup setBackgroundRequestDetailResourceId( int value) {
        backgroundRequestDetailResourceId = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroup setRequestRes( int value) {
        requestRes = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroup setPriority( int value) {
        priority = value;
        return this;
    }

    @Override
    @DataClass.Generated.Member
    public void writeToParcel(@android.annotation.NonNull Parcel dest, int flags) {
        // You can override field parcelling by defining methods like:
        // void parcelFieldName(Parcel dest, int flags) { ... }

        super.writeToParcel(dest, flags);

        dest.writeInt(requestDetailResourceId);
        dest.writeInt(backgroundRequestResourceId);
        dest.writeInt(backgroundRequestDetailResourceId);
        dest.writeInt(requestRes);
        dest.writeInt(priority);
    }

    @Override
    @DataClass.Generated.Member
    public int describeContents() { return 0; }

    /** @hide */
    @SuppressWarnings({"unchecked", "RedundantCast"})
    @DataClass.Generated.Member
    protected ParsedPermissionGroup(@android.annotation.NonNull Parcel in) {
        // You can override field unparcelling by defining methods like:
        // static FieldType unparcelFieldName(Parcel in) { ... }

        super(in);

        int _requestDetailResourceId = in.readInt();
        int _backgroundRequestResourceId = in.readInt();
        int _backgroundRequestDetailResourceId = in.readInt();
        int _requestRes = in.readInt();
        int _priority = in.readInt();

        this.requestDetailResourceId = _requestDetailResourceId;
        this.backgroundRequestResourceId = _backgroundRequestResourceId;
        this.backgroundRequestDetailResourceId = _backgroundRequestDetailResourceId;
        this.requestRes = _requestRes;
        this.priority = _priority;

        // onConstructed(); // You can define this method to get a callback
    }

    @DataClass.Generated.Member
    public static final @android.annotation.NonNull Parcelable.Creator<ParsedPermissionGroup> CREATOR
            = new Parcelable.Creator<ParsedPermissionGroup>() {
        @Override
        public ParsedPermissionGroup[] newArray(int size) {
            return new ParsedPermissionGroup[size];
        }

        @Override
        public ParsedPermissionGroup createFromParcel(@android.annotation.NonNull Parcel in) {
            return new ParsedPermissionGroup(in);
        }
    };

    @DataClass.Generated(
            time = 1626919339483L,
            codegenVersion = "1.0.23",
            sourceFile = "frameworks/base/core/java/android/content/pm/parsing/component/ParsedPermissionGroup.java",
            inputSignatures = "private  int requestDetailResourceId\nprivate  int backgroundRequestResourceId\nprivate  int backgroundRequestDetailResourceId\nprivate  int requestRes\nprivate  int priority\npublic  java.lang.String toString()\nclass ParsedPermissionGroup extends android.content.pm.parsing.component.ParsedComponentImpl implements []\n@com.android.internal.util.DataClass(genGetters=true, genSetters=true, genBuilder=false, genParcelable=true, genAidl=false)")
    @Deprecated
    private void __metadata() {}

    int getPriority();

    //@formatter:on
    // End of generated code
    int getRequestDetailResourceId();

    int getRequestRes();
}
+201 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.content.pm.parsing.component;

import android.os.Parcel;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.DataClass;

/** @hide */
@DataClass(genGetters = true, genSetters = true, genBuilder = false, genParcelable = true,
        genAidl = false)
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
public class ParsedPermissionGroupImpl extends ParsedComponentImpl implements
        ParsedPermissionGroup {

    private int requestDetailResourceId;
    private int backgroundRequestResourceId;
    private int backgroundRequestDetailResourceId;
    private int requestRes;
    private int priority;

    public String toString() {
        return "PermissionGroup{"
                + Integer.toHexString(System.identityHashCode(this))
                + " " + getName() + "}";
    }

    public ParsedPermissionGroupImpl() {
    }



    // Code below generated by codegen v1.0.23.
    //
    // DO NOT MODIFY!
    // CHECKSTYLE:OFF Generated code
    //
    // To regenerate run:
    // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/content/pm/parsing/component/ParsedPermissionGroupImpl.java
    //
    // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
    //   Settings > Editor > Code Style > Formatter Control
    //@formatter:off


    @DataClass.Generated.Member
    public ParsedPermissionGroupImpl(
            int requestDetailResourceId,
            int backgroundRequestResourceId,
            int backgroundRequestDetailResourceId,
            int requestRes,
            int priority) {
        this.requestDetailResourceId = requestDetailResourceId;
        this.backgroundRequestResourceId = backgroundRequestResourceId;
        this.backgroundRequestDetailResourceId = backgroundRequestDetailResourceId;
        this.requestRes = requestRes;
        this.priority = priority;

        // onConstructed(); // You can define this method to get a callback
    }

    @DataClass.Generated.Member
    public int getRequestDetailResourceId() {
        return requestDetailResourceId;
    }

    @DataClass.Generated.Member
    public int getBackgroundRequestResourceId() {
        return backgroundRequestResourceId;
    }

    @DataClass.Generated.Member
    public int getBackgroundRequestDetailResourceId() {
        return backgroundRequestDetailResourceId;
    }

    @DataClass.Generated.Member
    public int getRequestRes() {
        return requestRes;
    }

    @DataClass.Generated.Member
    public int getPriority() {
        return priority;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroupImpl setRequestDetailResourceId( int value) {
        requestDetailResourceId = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroupImpl setBackgroundRequestResourceId( int value) {
        backgroundRequestResourceId = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroupImpl setBackgroundRequestDetailResourceId( int value) {
        backgroundRequestDetailResourceId = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroupImpl setRequestRes( int value) {
        requestRes = value;
        return this;
    }

    @DataClass.Generated.Member
    public @android.annotation.NonNull ParsedPermissionGroupImpl setPriority( int value) {
        priority = value;
        return this;
    }

    @Override
    @DataClass.Generated.Member
    public void writeToParcel(@android.annotation.NonNull Parcel dest, int flags) {
        // You can override field parcelling by defining methods like:
        // void parcelFieldName(Parcel dest, int flags) { ... }

        super.writeToParcel(dest, flags);

        dest.writeInt(requestDetailResourceId);
        dest.writeInt(backgroundRequestResourceId);
        dest.writeInt(backgroundRequestDetailResourceId);
        dest.writeInt(requestRes);
        dest.writeInt(priority);
    }

    @Override
    @DataClass.Generated.Member
    public int describeContents() { return 0; }

    /** @hide */
    @SuppressWarnings({"unchecked", "RedundantCast"})
    @DataClass.Generated.Member
    protected ParsedPermissionGroupImpl(@android.annotation.NonNull Parcel in) {
        // You can override field unparcelling by defining methods like:
        // static FieldType unparcelFieldName(Parcel in) { ... }

        super(in);

        int _requestDetailResourceId = in.readInt();
        int _backgroundRequestResourceId = in.readInt();
        int _backgroundRequestDetailResourceId = in.readInt();
        int _requestRes = in.readInt();
        int _priority = in.readInt();

        this.requestDetailResourceId = _requestDetailResourceId;
        this.backgroundRequestResourceId = _backgroundRequestResourceId;
        this.backgroundRequestDetailResourceId = _backgroundRequestDetailResourceId;
        this.requestRes = _requestRes;
        this.priority = _priority;

        // onConstructed(); // You can define this method to get a callback
    }

    @DataClass.Generated.Member
    public static final @android.annotation.NonNull android.os.Parcelable.Creator<ParsedPermissionGroupImpl> CREATOR
            = new android.os.Parcelable.Creator<ParsedPermissionGroupImpl>() {
        @Override
        public ParsedPermissionGroupImpl[] newArray(int size) {
            return new ParsedPermissionGroupImpl[size];
        }

        @Override
        public ParsedPermissionGroupImpl createFromParcel(@android.annotation.NonNull Parcel in) {
            return new ParsedPermissionGroupImpl(in);
        }
    };

    @DataClass.Generated(
            time = 1627602253988L,
            codegenVersion = "1.0.23",
            sourceFile = "frameworks/base/core/java/android/content/pm/parsing/component/ParsedPermissionGroupImpl.java",
            inputSignatures = "private  int requestDetailResourceId\nprivate  int backgroundRequestResourceId\nprivate  int backgroundRequestDetailResourceId\nprivate  int requestRes\nprivate  int priority\npublic  java.lang.String toString()\nclass ParsedPermissionGroupImpl extends android.content.pm.parsing.component.ParsedComponentImpl implements [android.content.pm.parsing.component.ParsedPermissionGroup]\n@com.android.internal.util.DataClass(genGetters=true, genSetters=true, genBuilder=false, genParcelable=true, genAidl=false)")
    @Deprecated
    private void __metadata() {}


    //@formatter:on
    // End of generated code

}
+11 −6
Original line number Diff line number Diff line
@@ -206,13 +206,13 @@ public class ParsedPermissionUtils {
    public static ParseResult<ParsedPermissionGroup> parsePermissionGroup(ParsingPackage pkg,
            Resources res, XmlResourceParser parser, boolean useRoundIcon, ParseInput input)
            throws IOException, XmlPullParserException {
        ParsedPermissionGroup
                permissionGroup = new ParsedPermissionGroup();
        ParsedPermissionGroupImpl
                permissionGroup = new ParsedPermissionGroupImpl();
        String tag = "<" + parser.getName() + ">";

        TypedArray sa = res.obtainAttributes(parser, R.styleable.AndroidManifestPermissionGroup);
        try {
            ParseResult<ParsedPermissionGroup> result = ParsedComponentUtils.parseComponent(
            ParseResult<ParsedPermissionGroupImpl> result = ParsedComponentUtils.parseComponent(
                    permissionGroup, tag, pkg, sa, useRoundIcon, input,
                    R.styleable.AndroidManifestPermissionGroup_banner,
                    R.styleable.AndroidManifestPermissionGroup_description,
@@ -222,7 +222,7 @@ public class ParsedPermissionUtils {
                    R.styleable.AndroidManifestPermissionGroup_name,
                    R.styleable.AndroidManifestPermissionGroup_roundIcon);
            if (result.isError()) {
                return result;
                return input.error(result);
            }

            // @formatter:off
@@ -237,8 +237,13 @@ public class ParsedPermissionUtils {
            sa.recycle();
        }

        return ComponentParseUtils.parseAllMetaData(pkg, res, parser, tag, permissionGroup,
                input);
        ParseResult<ParsedPermissionGroupImpl> result = ComponentParseUtils.parseAllMetaData(pkg,
                res, parser, tag, permissionGroup, input);
        if (result.isError()) {
            return input.error(result);
        }

        return input.success(result.getResult());
    }

    public static boolean isRuntime(@NonNull ParsedPermission permission) {
Loading