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