• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 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 android.car.user;
18 
19 import android.annotation.IntDef;
20 import android.os.Parcelable;
21 
22 import com.android.internal.util.DataClass;
23 
24 import java.lang.annotation.Retention;
25 import java.lang.annotation.RetentionPolicy;
26 
27 /**
28  * User remove result.
29  *
30  * @hide
31  */
32 @DataClass(
33         genToString = true,
34         genHiddenConstructor = true,
35         genHiddenConstDefs = true)
36 public final class UserStopResult implements Parcelable, OperationResult {
37 
38     /**
39      * When user stop is successful.
40      */
41     public static final int STATUS_SUCCESSFUL = CommonResults.STATUS_SUCCESSFUL;
42 
43     /**
44      * When user stop fails.
45      */
46     public static final int STATUS_ANDROID_FAILURE = CommonResults.STATUS_ANDROID_FAILURE;
47 
48      /**
49      * When user to stop doesn't exits.
50      */
51     public static final int STATUS_USER_DOES_NOT_EXIST = CommonResults.LAST_COMMON_STATUS + 1;
52 
53     /**
54      * When user to stop is the system user.
55      */
56     public static final int STATUS_FAILURE_SYSTEM_USER = CommonResults.LAST_COMMON_STATUS + 2;
57 
58     /**
59      * When user to stop is the current user.
60      */
61     public static final int STATUS_FAILURE_CURRENT_USER = CommonResults.LAST_COMMON_STATUS + 3;
62 
63      /**
64      * Gets the user switch result status.
65      *
66      * @return either {@link UserStopResult#STATUS_SUCCESSFUL},
67      * {@link UserStopResult#STATUS_ANDROID_FAILURE},
68      * {@link UserStopResult#STATUS_USER_DOES_NOT_EXIST},
69      * {@link UserStopResult#STATUS_FAILURE_SYSTEM_USER}, or
70      * {@link UserStopResult#STATUS_FAILURE_CURRENT_USER}.
71      */
72     private final @Status int mStatus;
73 
74     /**
75      * Checks if the {@code status} represents a success status.
76      *
77      * @param status to check
78      * @return true for a success status
79      */
isSuccess(@tatus int status)80     public static boolean isSuccess(@Status int status) {
81         return status == STATUS_SUCCESSFUL;
82     }
83 
84     @Override
isSuccess()85     public boolean isSuccess() {
86         return isSuccess(mStatus);
87     }
88 
89 
90     // Code below generated by codegen v1.0.23.
91     //
92     // DO NOT MODIFY!
93     // CHECKSTYLE:OFF Generated code
94     //
95     // To regenerate run:
96     // $ codegen $ANDROID_BUILD_TOP/packages/services/Car/car-lib/src/android/car/user/UserStopResult.java
97     //
98     // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
99     //   Settings > Editor > Code Style > Formatter Control
100     //@formatter:off
101 
102 
103     /** @hide */
104     @IntDef(prefix = "STATUS_", value = {
105         STATUS_SUCCESSFUL,
106         STATUS_ANDROID_FAILURE,
107         STATUS_USER_DOES_NOT_EXIST,
108         STATUS_FAILURE_SYSTEM_USER,
109         STATUS_FAILURE_CURRENT_USER
110     })
111     @Retention(RetentionPolicy.SOURCE)
112     @DataClass.Generated.Member
113     public @interface Status {}
114 
115     /** @hide */
116     @DataClass.Generated.Member
statusToString(@tatus int value)117     public static String statusToString(@Status int value) {
118         switch (value) {
119             case STATUS_SUCCESSFUL:
120                     return "STATUS_SUCCESSFUL";
121             case STATUS_ANDROID_FAILURE:
122                     return "STATUS_ANDROID_FAILURE";
123             case STATUS_USER_DOES_NOT_EXIST:
124                     return "STATUS_USER_DOES_NOT_EXIST";
125             case STATUS_FAILURE_SYSTEM_USER:
126                     return "STATUS_FAILURE_SYSTEM_USER";
127             case STATUS_FAILURE_CURRENT_USER:
128                     return "STATUS_FAILURE_CURRENT_USER";
129             default: return Integer.toHexString(value);
130         }
131     }
132 
133     /**
134      * Creates a new UserStopResult.
135      *
136      * @param status
137      *   Gets the user switch result status.
138      *
139      *   @return either {@link UserStopResult#STATUS_SUCCESSFUL},
140      *   {@link UserStopResult#STATUS_ANDROID_FAILURE},
141      *   {@link UserStopResult#STATUS_USER_DOES_NOT_EXIST},
142      *   {@link UserStopResult#STATUS_FAILURE_SYSTEM_USER}, or
143      *   {@link UserStopResult#STATUS_FAILURE_CURRENT_USER}.
144      * @hide
145      */
146     @DataClass.Generated.Member
UserStopResult( @tatus int status)147     public UserStopResult(
148             @Status int status) {
149         this.mStatus = status;
150 
151         if (!(mStatus == STATUS_SUCCESSFUL)
152                 && !(mStatus == STATUS_ANDROID_FAILURE)
153                 && !(mStatus == STATUS_USER_DOES_NOT_EXIST)
154                 && !(mStatus == STATUS_FAILURE_SYSTEM_USER)
155                 && !(mStatus == STATUS_FAILURE_CURRENT_USER)) {
156             throw new java.lang.IllegalArgumentException(
157                     "status was " + mStatus + " but must be one of: "
158                             + "STATUS_SUCCESSFUL(" + STATUS_SUCCESSFUL + "), "
159                             + "STATUS_ANDROID_FAILURE(" + STATUS_ANDROID_FAILURE + "), "
160                             + "STATUS_USER_DOES_NOT_EXIST(" + STATUS_USER_DOES_NOT_EXIST + "), "
161                             + "STATUS_FAILURE_SYSTEM_USER(" + STATUS_FAILURE_SYSTEM_USER + "), "
162                             + "STATUS_FAILURE_CURRENT_USER(" + STATUS_FAILURE_CURRENT_USER + ")");
163         }
164 
165 
166         // onConstructed(); // You can define this method to get a callback
167     }
168 
169     /**
170      * Gets the user switch result status.
171      *
172      * @return either {@link UserStopResult#STATUS_SUCCESSFUL},
173      * {@link UserStopResult#STATUS_ANDROID_FAILURE},
174      * {@link UserStopResult#STATUS_USER_DOES_NOT_EXIST},
175      * {@link UserStopResult#STATUS_FAILURE_SYSTEM_USER}, or
176      * {@link UserStopResult#STATUS_FAILURE_CURRENT_USER}.
177      */
178     @DataClass.Generated.Member
getStatus()179     public @Status int getStatus() {
180         return mStatus;
181     }
182 
183     @Override
184     @DataClass.Generated.Member
toString()185     public String toString() {
186         // You can override field toString logic by defining methods like:
187         // String fieldNameToString() { ... }
188 
189         return "UserStopResult { " +
190                 "status = " + statusToString(mStatus) +
191         " }";
192     }
193 
194     @Override
195     @DataClass.Generated.Member
writeToParcel(@ndroid.annotation.NonNull android.os.Parcel dest, int flags)196     public void writeToParcel(@android.annotation.NonNull android.os.Parcel dest, int flags) {
197         // You can override field parcelling by defining methods like:
198         // void parcelFieldName(Parcel dest, int flags) { ... }
199 
200         dest.writeInt(mStatus);
201     }
202 
203     @Override
204     @DataClass.Generated.Member
describeContents()205     public int describeContents() { return 0; }
206 
207     /** @hide */
208     @SuppressWarnings({"unchecked", "RedundantCast"})
209     @DataClass.Generated.Member
UserStopResult(@ndroid.annotation.NonNull android.os.Parcel in)210     /* package-private */ UserStopResult(@android.annotation.NonNull android.os.Parcel in) {
211         // You can override field unparcelling by defining methods like:
212         // static FieldType unparcelFieldName(Parcel in) { ... }
213 
214         int status = in.readInt();
215 
216         this.mStatus = status;
217 
218         if (!(mStatus == STATUS_SUCCESSFUL)
219                 && !(mStatus == STATUS_ANDROID_FAILURE)
220                 && !(mStatus == STATUS_USER_DOES_NOT_EXIST)
221                 && !(mStatus == STATUS_FAILURE_SYSTEM_USER)
222                 && !(mStatus == STATUS_FAILURE_CURRENT_USER)) {
223             throw new java.lang.IllegalArgumentException(
224                     "status was " + mStatus + " but must be one of: "
225                             + "STATUS_SUCCESSFUL(" + STATUS_SUCCESSFUL + "), "
226                             + "STATUS_ANDROID_FAILURE(" + STATUS_ANDROID_FAILURE + "), "
227                             + "STATUS_USER_DOES_NOT_EXIST(" + STATUS_USER_DOES_NOT_EXIST + "), "
228                             + "STATUS_FAILURE_SYSTEM_USER(" + STATUS_FAILURE_SYSTEM_USER + "), "
229                             + "STATUS_FAILURE_CURRENT_USER(" + STATUS_FAILURE_CURRENT_USER + ")");
230         }
231 
232 
233         // onConstructed(); // You can define this method to get a callback
234     }
235 
236     @DataClass.Generated.Member
237     public static final @android.annotation.NonNull Parcelable.Creator<UserStopResult> CREATOR
238             = new Parcelable.Creator<UserStopResult>() {
239         @Override
240         public UserStopResult[] newArray(int size) {
241             return new UserStopResult[size];
242         }
243 
244         @Override
245         public UserStopResult createFromParcel(@android.annotation.NonNull android.os.Parcel in) {
246             return new UserStopResult(in);
247         }
248     };
249 
250     @DataClass.Generated(
251             time = 1619209981496L,
252             codegenVersion = "1.0.23",
253             sourceFile = "packages/services/Car/car-lib/src/android/car/user/UserStopResult.java",
254             inputSignatures = "public static final  int STATUS_SUCCESSFUL\npublic static final  int STATUS_ANDROID_FAILURE\npublic static final  int STATUS_USER_DOES_NOT_EXIST\npublic static final  int STATUS_FAILURE_SYSTEM_USER\npublic static final  int STATUS_FAILURE_CURRENT_USER\nprivate final @android.car.user.UserStopResult.Status int mStatus\npublic static  boolean isSuccess(int)\npublic @java.lang.Override boolean isSuccess()\nclass UserStopResult extends java.lang.Object implements [android.os.Parcelable, android.car.user.OperationResult]\n@com.android.internal.util.DataClass(genToString=true, genHiddenConstructor=true, genHiddenConstDefs=true)")
255     @Deprecated
__metadata()256     private void __metadata() {}
257 
258 
259     //@formatter:on
260     // End of generated code
261 
262 }
263