1/*
2 * Copyright (C) 2014 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 com.android.location.provider;
18
19/**
20 * A class that represents an Activity Recognition Event.
21 */
22public class ActivityRecognitionEvent {
23    private final String mActivity;
24    private final int mEventType;
25    private final long mTimestampNs;
26
27    public ActivityRecognitionEvent(String activity, int eventType, long timestampNs) {
28        mActivity = activity;
29        mEventType = eventType;
30        mTimestampNs = timestampNs;
31    }
32
33    public String getActivity() {
34        return mActivity;
35    }
36
37    public int getEventType() {
38        return mEventType;
39    }
40
41    public long getTimestampNs() {
42        return mTimestampNs;
43    }
44
45    @Override
46    public String toString() {
47        String eventString;
48        switch (mEventType) {
49            case ActivityRecognitionProvider.EVENT_TYPE_ENTER:
50                eventString = "Enter";
51                break;
52            case ActivityRecognitionProvider.EVENT_TYPE_EXIT:
53                eventString = "Exit";
54                break;
55            case ActivityRecognitionProvider.EVENT_TYPE_FLUSH_COMPLETE:
56                eventString = "FlushComplete";
57                break;
58            default:
59                eventString = "<Invalid>";
60                break;
61        }
62
63        return String.format(
64                "Activity='%s', EventType=%s(%s), TimestampNs=%s",
65                mActivity,
66                eventString,
67                mEventType,
68                mTimestampNs);
69    }
70}
71