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}