1 /* 2 * Copyright (C) 2016 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.hardware.property; 18 19 import android.car.hardware.CarPropertyValue; 20 import android.os.Parcel; 21 import android.os.Parcelable; 22 23 /** @hide */ 24 public class CarPropertyEvent implements Parcelable { 25 public static final int PROPERTY_EVENT_PROPERTY_CHANGE = 0; 26 public static final int PROPERTY_EVENT_ERROR = 1; 27 28 /** 29 * EventType of this message 30 */ 31 private final int mEventType; 32 private final CarPropertyValue<?> mCarPropertyValue; 33 34 // Getters. 35 36 /** 37 * @return EventType field 38 */ getEventType()39 public int getEventType() { return mEventType; } 40 41 /** 42 * Returns {@link CarPropertyValue} associated with this event. 43 */ getCarPropertyValue()44 public CarPropertyValue<?> getCarPropertyValue() { return mCarPropertyValue; } 45 46 @Override describeContents()47 public int describeContents() { 48 return 0; 49 } 50 51 @Override writeToParcel(Parcel dest, int flags)52 public void writeToParcel(Parcel dest, int flags) { 53 dest.writeInt(mEventType); 54 dest.writeParcelable(mCarPropertyValue, flags); 55 } 56 57 public static final Parcelable.Creator<CarPropertyEvent> CREATOR 58 = new Parcelable.Creator<CarPropertyEvent>() { 59 public CarPropertyEvent createFromParcel(Parcel in) { 60 return new CarPropertyEvent(in); 61 } 62 63 public CarPropertyEvent[] newArray(int size) { 64 return new CarPropertyEvent[size]; 65 } 66 }; 67 68 /** 69 * Constructor for {@link CarPropertyEvent}. 70 */ CarPropertyEvent(int eventType, CarPropertyValue<?> carPropertyValue)71 public CarPropertyEvent(int eventType, CarPropertyValue<?> carPropertyValue) { 72 mEventType = eventType; 73 mCarPropertyValue = carPropertyValue; 74 } 75 CarPropertyEvent(Parcel in)76 private CarPropertyEvent(Parcel in) { 77 mEventType = in.readInt(); 78 mCarPropertyValue = in.readParcelable(CarPropertyValue.class.getClassLoader()); 79 } 80 81 @Override toString()82 public String toString() { 83 return "CarPropertyEvent{" + 84 "mEventType=" + mEventType + 85 ", mCarPropertyValue=" + mCarPropertyValue + 86 '}'; 87 } 88 } 89