1a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa/*
2a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * Copyright (C) 2014 The Android Open Source Project
3a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa *
4a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * Licensed under the Apache License, Version 2.0 (the "License");
5a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * you may not use this file except in compliance with the License.
6a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * You may obtain a copy of the License at
7a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa *
8a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa *     http://www.apache.org/licenses/LICENSE-2.0
9a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa *
10a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * Unless required by applicable law or agreed to in writing, software
11a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * distributed under the License is distributed on an "AS IS" BASIS,
12a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * See the License for the specific language governing permissions and
14a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * limitations under the License.
15a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa */
16a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
17a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaapackage android.hardware.location;
18a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
19a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaaimport android.os.Parcel;
20a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaaimport android.os.Parcelable;
21a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
22a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa/**
23a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * A class that represents an Activity Recognition Event.
24a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa *
25a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * @hide
26a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa */
27a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaapublic class ActivityRecognitionEvent implements Parcelable {
28a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    private final String mActivity;
29a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    private final int mEventType;
30a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    private final long mTimestampNs;
31a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
32a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public ActivityRecognitionEvent(String activity, int eventType, long timestampNs) {
33a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        mActivity = activity;
34a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        mEventType = eventType;
35a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        mTimestampNs = timestampNs;
36a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
37a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
38a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public String getActivity() {
39a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        return mActivity;
40a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
41a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
42a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public int getEventType() {
43a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        return mEventType;
44a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
45a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
46a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public long getTimestampNs() {
47a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        return mTimestampNs;
48a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
49a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
50a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public static final Creator<ActivityRecognitionEvent> CREATOR =
51a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa            new Creator<ActivityRecognitionEvent>() {
52a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        @Override
53a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        public ActivityRecognitionEvent createFromParcel(Parcel source) {
54a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa            String activity = source.readString();
55a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa            int eventType = source.readInt();
56a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa            long timestampNs = source.readLong();
57a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
58a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa            return new ActivityRecognitionEvent(activity, eventType, timestampNs);
59a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        }
60a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
61a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        @Override
62a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        public ActivityRecognitionEvent[] newArray(int size) {
63a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa            return new ActivityRecognitionEvent[size];
64a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        }
65a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    };
66a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
67a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    @Override
68a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public int describeContents() {
69a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        return 0;
70a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
71a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
72a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    @Override
73a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public void writeToParcel(Parcel parcel, int flags) {
74a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        parcel.writeString(mActivity);
75a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        parcel.writeInt(mEventType);
76a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        parcel.writeLong(mTimestampNs);
77a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
783b0224dc3c2e7ffb93dc56970395003d0e387545destradaa
793b0224dc3c2e7ffb93dc56970395003d0e387545destradaa    @Override
803b0224dc3c2e7ffb93dc56970395003d0e387545destradaa    public String toString() {
813b0224dc3c2e7ffb93dc56970395003d0e387545destradaa        return String.format(
823b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                "Activity='%s', EventType=%s, TimestampNs=%s",
833b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                mActivity,
843b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                mEventType,
853b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                mTimestampNs);
863b0224dc3c2e7ffb93dc56970395003d0e387545destradaa    }
87a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa}
88