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 com.android.location.provider;
18a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
19a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa/**
20a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa * A class that represents an Activity Recognition Event.
21eee99986c8021d6825f99a25434725fccf7b2b12Jiyong Park * @hide
22a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa */
23a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaapublic class ActivityRecognitionEvent {
24a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    private final String mActivity;
25a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    private final int mEventType;
26a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    private final long mTimestampNs;
27a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
28a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public ActivityRecognitionEvent(String activity, int eventType, long timestampNs) {
29a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        mActivity = activity;
30a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        mEventType = eventType;
31a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        mTimestampNs = timestampNs;
32a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
33a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
34a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public String getActivity() {
35a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        return mActivity;
36a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
37a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
38a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public int getEventType() {
39a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        return mEventType;
40a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
41a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa
42a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    public long getTimestampNs() {
43a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa        return mTimestampNs;
44a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa    }
453b0224dc3c2e7ffb93dc56970395003d0e387545destradaa
463b0224dc3c2e7ffb93dc56970395003d0e387545destradaa    @Override
473b0224dc3c2e7ffb93dc56970395003d0e387545destradaa    public String toString() {
483b0224dc3c2e7ffb93dc56970395003d0e387545destradaa        String eventString;
493b0224dc3c2e7ffb93dc56970395003d0e387545destradaa        switch (mEventType) {
503b0224dc3c2e7ffb93dc56970395003d0e387545destradaa            case ActivityRecognitionProvider.EVENT_TYPE_ENTER:
513b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                eventString = "Enter";
523b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                break;
533b0224dc3c2e7ffb93dc56970395003d0e387545destradaa            case ActivityRecognitionProvider.EVENT_TYPE_EXIT:
543b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                eventString = "Exit";
553b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                break;
563b0224dc3c2e7ffb93dc56970395003d0e387545destradaa            case ActivityRecognitionProvider.EVENT_TYPE_FLUSH_COMPLETE:
573b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                eventString = "FlushComplete";
583b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                break;
593b0224dc3c2e7ffb93dc56970395003d0e387545destradaa            default:
603b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                eventString = "<Invalid>";
613b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                break;
623b0224dc3c2e7ffb93dc56970395003d0e387545destradaa        }
633b0224dc3c2e7ffb93dc56970395003d0e387545destradaa
643b0224dc3c2e7ffb93dc56970395003d0e387545destradaa        return String.format(
653b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                "Activity='%s', EventType=%s(%s), TimestampNs=%s",
663b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                mActivity,
673b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                eventString,
683b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                mEventType,
693b0224dc3c2e7ffb93dc56970395003d0e387545destradaa                mTimestampNs);
703b0224dc3c2e7ffb93dc56970395003d0e387545destradaa    }
71a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26destradaa}
72