1 /*******************************************************************************
2  *      Copyright (C) 2013 Google Inc.
3  *      Licensed to The Android Open Source Project.
4  *
5  *      Licensed under the Apache License, Version 2.0 (the "License");
6  *      you may not use this file except in compliance with the License.
7  *      You may obtain a copy of the License at
8  *
9  *           http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *      Unless required by applicable law or agreed to in writing, software
12  *      distributed under the License is distributed on an "AS IS" BASIS,
13  *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *      See the License for the specific language governing permissions and
15  *      limitations under the License.
16  *******************************************************************************/
17 
18 package com.android.mail.analytics;
19 
20 import android.app.Activity;
21 
22 /**
23  * Analytics libraries should implement this interface.
24  */
25 public interface Tracker {
26 
activityStart(Activity a)27     void activityStart(Activity a);
activityStop(Activity a)28     void activityStop(Activity a);
sendEvent(String category, String action, String label, long value)29     void sendEvent(String category, String action, String label, long value);
sendMenuItemEvent(String category, int itemResId, String label, long value)30     void sendMenuItemEvent(String category, int itemResId, String label, long value);
sendTiming(String category, long millis, String name, String label)31     void sendTiming(String category, long millis, String name, String label);
sendView(String view)32     void sendView(String view);
setCustomDimension(int index, String value)33     void setCustomDimension(int index, String value);
34     /**
35      * Sets the email address of the account being tracked,
36      * @param accountManagerType The accountManagerType of account in account manager.
37      */
setEmail(String emailAddress, String accountManagerType)38     public void setEmail(String emailAddress, String accountManagerType);
39 
setCustomMetric(int index, Long value)40     void setCustomMetric(int index, Long value);
41 
debugDispatchNow()42     void debugDispatchNow();
43 
44 }
45