blob: 5923907b11e76103633e28a05670839fe6eb8b94 [file] [log] [blame]
Winsond9d17362019-10-02 12:41:29 -07001/*
2 * Copyright (C) 2019 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
17package android.content.om;
18
19import android.annotation.NonNull;
20import android.annotation.Nullable;
21
22import com.android.internal.util.DataClass;
23
24import java.util.Objects;
25
26/**
27 * Immutable info on an overlayable defined inside a target package.
28 *
29 * @hide
30 */
31@DataClass(genSetters = false, genEqualsHashCode = true, genHiddenConstructor = true)
32public final class OverlayableInfo {
33
34 /**
35 * The "name" attribute of the overlayable tag. Used to identify the set of resources overlaid.
36 */
37 @NonNull
38 public final String name;
39
40 /**
41 * The "actor" attribute of the overlayable tag. Used to signal which apps are allowed to
42 * modify overlay state for this overlayable.
43 */
44 @Nullable
45 public final String actor;
46
47 // CHECKSTYLE:OFF Generated code
48 //
49
50
51
52 // Code below generated by codegen v1.0.3.
53 //
54 // DO NOT MODIFY!
55 // CHECKSTYLE:OFF Generated code
56 //
57 // To regenerate run:
58 // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/content/om/OverlayableInfo.java
59
60
61 /**
62 * Creates a new OverlayableInfo.
63 *
64 * @param name
65 * The "name" attribute of the overlayable tag. Used to identify the set of resources overlaid.
66 * @param actor
67 * The "actor" attribute of the overlayable tag. Used to signal which apps are allowed to
68 * modify overlay state for this overlayable.
69 * @hide
70 */
71 @DataClass.Generated.Member
72 public OverlayableInfo(
73 @NonNull String name,
74 @Nullable String actor) {
75 this.name = name;
76 com.android.internal.util.AnnotationValidations.validate(
77 NonNull.class, null, name);
78 this.actor = actor;
79
80 // onConstructed(); // You can define this method to get a callback
81 }
82
83 @Override
84 @DataClass.Generated.Member
85 public boolean equals(Object o) {
86 // You can override field equality logic by defining either of the methods like:
87 // boolean fieldNameEquals(OverlayableInfo other) { ... }
88 // boolean fieldNameEquals(FieldType otherValue) { ... }
89
90 if (this == o) return true;
91 if (o == null || getClass() != o.getClass()) return false;
92 @SuppressWarnings("unchecked")
93 OverlayableInfo that = (OverlayableInfo) o;
94 //noinspection PointlessBooleanExpression
95 return true
96 && Objects.equals(name, that.name)
97 && Objects.equals(actor, that.actor);
98 }
99
100 @Override
101 @DataClass.Generated.Member
102 public int hashCode() {
103 // You can override field hashCode logic by defining methods like:
104 // int fieldNameHashCode() { ... }
105
106 int _hash = 1;
107 _hash = 31 * _hash + Objects.hashCode(name);
108 _hash = 31 * _hash + Objects.hashCode(actor);
109 return _hash;
110 }
111
112 @DataClass.Generated(
113 time = 1570059850579L,
114 codegenVersion = "1.0.3",
115 sourceFile = "frameworks/base/core/java/android/content/om/OverlayableInfo.java",
116 inputSignatures = "public final @android.annotation.NonNull java.lang.String name\npublic final @android.annotation.Nullable java.lang.String actor\nclass OverlayableInfo extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genSetters=false, genEqualsHashCode=true, genHiddenConstructor=true)")
117 @Deprecated
118 private void __metadata() {}
119
120}