1 /* 2 * Copyright (C) 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.internal.pm.pkg.component; 18 19 import android.annotation.NonNull; 20 import android.annotation.Nullable; 21 import android.content.IntentFilter; 22 import android.os.Parcel; 23 import android.os.Parcelable; 24 25 import com.android.internal.annotations.VisibleForTesting; 26 import com.android.internal.util.DataClass; 27 28 /** 29 * @hide 30 **/ 31 @DataClass(genGetters = true, genSetters = true, genParcelable = true, genAidl = false, 32 genBuilder = false, genConstructor = false) 33 @DataClass.Suppress({"setIntentFilter"}) 34 @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) 35 public class ParsedIntentInfoImpl implements ParsedIntentInfo, Parcelable { 36 37 private boolean mHasDefault; 38 private int mLabelRes; 39 @Nullable 40 private CharSequence mNonLocalizedLabel; 41 private int mIcon; 42 43 @NonNull 44 private IntentFilter mIntentFilter = new IntentFilter(); 45 ParsedIntentInfoImpl()46 public ParsedIntentInfoImpl() {} 47 48 49 50 // Code below generated by codegen v1.0.23. 51 // 52 // DO NOT MODIFY! 53 // CHECKSTYLE:OFF Generated code 54 // 55 // To regenerate run: 56 // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/com/android/internal/pm/pkg/component/ParsedIntentInfoImpl.java 57 // 58 // To exclude the generated code from IntelliJ auto-formatting enable (one-time): 59 // Settings > Editor > Code Style > Formatter Control 60 //@formatter:off 61 62 63 @DataClass.Generated.Member isHasDefault()64 public boolean isHasDefault() { 65 return mHasDefault; 66 } 67 68 @DataClass.Generated.Member getLabelRes()69 public int getLabelRes() { 70 return mLabelRes; 71 } 72 73 @DataClass.Generated.Member getNonLocalizedLabel()74 public @Nullable CharSequence getNonLocalizedLabel() { 75 return mNonLocalizedLabel; 76 } 77 78 @DataClass.Generated.Member getIcon()79 public int getIcon() { 80 return mIcon; 81 } 82 83 @DataClass.Generated.Member getIntentFilter()84 public @NonNull IntentFilter getIntentFilter() { 85 return mIntentFilter; 86 } 87 88 @DataClass.Generated.Member setHasDefault( boolean value)89 public @NonNull ParsedIntentInfoImpl setHasDefault( boolean value) { 90 mHasDefault = value; 91 return this; 92 } 93 94 @DataClass.Generated.Member setLabelRes( int value)95 public @NonNull ParsedIntentInfoImpl setLabelRes( int value) { 96 mLabelRes = value; 97 return this; 98 } 99 100 @DataClass.Generated.Member setNonLocalizedLabel(@onNull CharSequence value)101 public @NonNull ParsedIntentInfoImpl setNonLocalizedLabel(@NonNull CharSequence value) { 102 mNonLocalizedLabel = value; 103 return this; 104 } 105 106 @DataClass.Generated.Member setIcon( int value)107 public @NonNull ParsedIntentInfoImpl setIcon( int value) { 108 mIcon = value; 109 return this; 110 } 111 112 @Override 113 @DataClass.Generated.Member writeToParcel(@onNull Parcel dest, int flags)114 public void writeToParcel(@NonNull Parcel dest, int flags) { 115 // You can override field parcelling by defining methods like: 116 // void parcelFieldName(Parcel dest, int flags) { ... } 117 118 byte flg = 0; 119 if (mHasDefault) flg |= 0x1; 120 if (mNonLocalizedLabel != null) flg |= 0x4; 121 dest.writeByte(flg); 122 dest.writeInt(mLabelRes); 123 if (mNonLocalizedLabel != null) dest.writeCharSequence(mNonLocalizedLabel); 124 dest.writeInt(mIcon); 125 dest.writeTypedObject(mIntentFilter, flags); 126 } 127 128 @Override 129 @DataClass.Generated.Member describeContents()130 public int describeContents() { return 0; } 131 132 /** @hide */ 133 @SuppressWarnings({"unchecked", "RedundantCast"}) 134 @DataClass.Generated.Member ParsedIntentInfoImpl(@onNull Parcel in)135 protected ParsedIntentInfoImpl(@NonNull Parcel in) { 136 // You can override field unparcelling by defining methods like: 137 // static FieldType unparcelFieldName(Parcel in) { ... } 138 139 byte flg = in.readByte(); 140 boolean hasDefault = (flg & 0x1) != 0; 141 int labelRes = in.readInt(); 142 CharSequence nonLocalizedLabel = (flg & 0x4) == 0 ? null : (CharSequence) in.readCharSequence(); 143 int icon = in.readInt(); 144 IntentFilter intentFilter = (IntentFilter) in.readTypedObject(IntentFilter.CREATOR); 145 146 this.mHasDefault = hasDefault; 147 this.mLabelRes = labelRes; 148 this.mNonLocalizedLabel = nonLocalizedLabel; 149 this.mIcon = icon; 150 this.mIntentFilter = intentFilter; 151 com.android.internal.util.AnnotationValidations.validate( 152 NonNull.class, null, mIntentFilter); 153 154 // onConstructed(); // You can define this method to get a callback 155 } 156 157 @DataClass.Generated.Member 158 public static final @NonNull Parcelable.Creator<ParsedIntentInfoImpl> CREATOR 159 = new Parcelable.Creator<ParsedIntentInfoImpl>() { 160 @Override 161 public ParsedIntentInfoImpl[] newArray(int size) { 162 return new ParsedIntentInfoImpl[size]; 163 } 164 165 @Override 166 public ParsedIntentInfoImpl createFromParcel(@NonNull Parcel in) { 167 return new ParsedIntentInfoImpl(in); 168 } 169 }; 170 171 @DataClass.Generated( 172 time = 1701445800363L, 173 codegenVersion = "1.0.23", 174 sourceFile = "frameworks/base/core/java/com/android/internal/pm/pkg/component/ParsedIntentInfoImpl.java", 175 inputSignatures = "private boolean mHasDefault\nprivate int mLabelRes\nprivate @android.annotation.Nullable java.lang.CharSequence mNonLocalizedLabel\nprivate int mIcon\nprivate @android.annotation.NonNull android.content.IntentFilter mIntentFilter\nclass ParsedIntentInfoImpl extends java.lang.Object implements [com.android.internal.pm.pkg.component.ParsedIntentInfo, android.os.Parcelable]\n@com.android.internal.util.DataClass(genGetters=true, genSetters=true, genParcelable=true, genAidl=false, genBuilder=false, genConstructor=false)") 176 @Deprecated __metadata()177 private void __metadata() {} 178 179 180 //@formatter:on 181 // End of generated code 182 183 } 184