1541022fcda760343fd5aef758a5c292485476a6dJames Lemieux/*
2541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * Copyright (C) 2016 The Android Open Source Project
3541022fcda760343fd5aef758a5c292485476a6dJames Lemieux *
4541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * Licensed under the Apache License, Version 2.0 (the "License");
5541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * you may not use this file except in compliance with the License.
6541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * You may obtain a copy of the License at
7541022fcda760343fd5aef758a5c292485476a6dJames Lemieux *
8541022fcda760343fd5aef758a5c292485476a6dJames Lemieux *      http://www.apache.org/licenses/LICENSE-2.0
9541022fcda760343fd5aef758a5c292485476a6dJames Lemieux *
10541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * Unless required by applicable law or agreed to in writing, software
11541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * distributed under the License is distributed on an "AS IS" BASIS,
12541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * See the License for the specific language governing permissions and
14541022fcda760343fd5aef758a5c292485476a6dJames Lemieux * limitations under the License.
15541022fcda760343fd5aef758a5c292485476a6dJames Lemieux */
16541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
17541022fcda760343fd5aef758a5c292485476a6dJames Lemieuxpackage com.android.deskclock.controller;
18541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
19541022fcda760343fd5aef758a5c292485476a6dJames Lemieuximport android.support.annotation.StringRes;
20541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
21541022fcda760343fd5aef758a5c292485476a6dJames Lemieuximport com.android.deskclock.events.EventTracker;
22541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
23541022fcda760343fd5aef758a5c292485476a6dJames Lemieuximport java.util.ArrayList;
24541022fcda760343fd5aef758a5c292485476a6dJames Lemieuximport java.util.Collection;
25541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
26541022fcda760343fd5aef758a5c292485476a6dJames Lemieuxclass EventController {
27541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
28541022fcda760343fd5aef758a5c292485476a6dJames Lemieux    private final Collection<EventTracker> mEventTrackers = new ArrayList<>();
29541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
30541022fcda760343fd5aef758a5c292485476a6dJames Lemieux    void addEventTracker(EventTracker eventTracker) {
31541022fcda760343fd5aef758a5c292485476a6dJames Lemieux        mEventTrackers.add(eventTracker);
32541022fcda760343fd5aef758a5c292485476a6dJames Lemieux    }
33541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
34541022fcda760343fd5aef758a5c292485476a6dJames Lemieux    void removeEventTracker(EventTracker eventTracker) {
35541022fcda760343fd5aef758a5c292485476a6dJames Lemieux        mEventTrackers.remove(eventTracker);
36541022fcda760343fd5aef758a5c292485476a6dJames Lemieux    }
37541022fcda760343fd5aef758a5c292485476a6dJames Lemieux
38541022fcda760343fd5aef758a5c292485476a6dJames Lemieux    void sendEvent(@StringRes int category, @StringRes int action, @StringRes int label) {
39541022fcda760343fd5aef758a5c292485476a6dJames Lemieux        for (EventTracker eventTracker : mEventTrackers) {
40541022fcda760343fd5aef758a5c292485476a6dJames Lemieux            eventTracker.sendEvent(category, action, label);
41541022fcda760343fd5aef758a5c292485476a6dJames Lemieux        }
42541022fcda760343fd5aef758a5c292485476a6dJames Lemieux    }
43541022fcda760343fd5aef758a5c292485476a6dJames Lemieux}