1816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko/* 2816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Copyright (C) 2015 The Android Open Source Project 3816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 4816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Licensed under the Apache License, Version 2.0 (the "License"); 5816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * you may not use this file except in compliance with the License. 6816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * You may obtain a copy of the License at 7816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 8816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * http://www.apache.org/licenses/LICENSE-2.0 9816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 10816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Unless required by applicable law or agreed to in writing, software 11816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * distributed under the License is distributed on an "AS IS" BASIS, 12816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * See the License for the specific language governing permissions and 14816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * limitations under the License. 15816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 16816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 17816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalkopackage com.android.tv.analytics; 18816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 1907b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalkoimport com.android.tv.TimeShiftManager; 20816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalkoimport com.android.tv.data.Channel; 21816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 22816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko/** 23816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Interface for sending user activity for analysis. 24816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 25816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalkopublic interface Tracker { 2607b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko 2707b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko /** 2807b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * Send the number of channels that doesn't change often. 2907b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * 3007b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * <p>Because the number of channels does not change often, this method should not be called 3107b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * more than once a day. 3207b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * 3307b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * @param browsableChannelCount the number of browsable channels. 3407b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * @param totalChannelCount the number of all channels. 3507b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko */ 3607b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko void sendChannelCount(int browsableChannelCount, int totalChannelCount); 3707b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko 3807b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko /** 3907b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * Send data that doesn't change often. 4007b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * 4107b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * <p>Because configuration info does not change often, this method should not be called more 4207b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * than once a day. 4307b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * 4407b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * @param info the configuration info. 4507b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko */ 467d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko void sendConfigurationInfo(ConfigurationInfo info); 4707b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko 48816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 49816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for starting the MainActivity. 50816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 51816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendMainStart(); 52816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 53816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 54816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for stopping MainActivity. 55816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 56816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The time main activity was "started" in milliseconds. 57816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 58816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendMainStop( long durationMs); 59816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 60816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 61816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sets the screen name and sends a ScreenView hit. 62816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 63816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendScreenView(String screenName); 64816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 65816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 66816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for starting to view a channel. 67816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 68816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param channel the current channel 6907b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * @param tunedByRecommendation True, if the channel was tuned by the recommendation. 70816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 7107b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko void sendChannelViewStart(Channel channel, boolean tunedByRecommendation); 72816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 73816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 74816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for tuning to a channel. 75816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 76816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param channel The channel that was being tuned. 77816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The time the channel took to tune in milliseconds. 78816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 79816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelTuneTime(Channel channel, long durationMs); 80816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 81816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 82816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for stopping viewing a channel. 83816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 84816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param channel The channel that was being watched. 85816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The time the channel was watched in milliseconds. 86816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 87816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelViewStop(Channel channel, long durationMs); 88816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 89816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 90816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for pressing channel up. 91816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 92816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelUp(); 93816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 94816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 95816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for pressing channel down. 96816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 97816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelDown(); 98816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 99816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 100816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for showing the main menu. 101816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 102816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendShowMenu(); 103816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 104816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 105816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for hiding the main menu. 106816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 107816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The duration the menu was shown in milliseconds. 108816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 109816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendHideMenu(long durationMs); 110816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 111816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 112816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for clicking a menu item. 113816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 114816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * <p><strong>WARNING</strong> callers must ensure no PII is included in the label. 115816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 116816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param label The label of the item clicked. 117816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 118816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendMenuClicked(String label); 119816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 120816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 121816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for clicking a menu item. 122816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 123816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * <p>NOTE: the tracker will use the english version of the label. 124816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 125816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param labelResId The resource Id of the label for the menu item. 126816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 127816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendMenuClicked(int labelResId); 128816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 129816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 13007b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * Sends tracking information for showing the Electronic Program Guide (EPG). 131816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 132816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendShowEpg(); 133816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 134816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 13507b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * Sends tracking information for clicking an Electronic Program Guide (EPG) item. 136816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 137816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendEpgItemClicked(); 138816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 139816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 14007b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * Sends tracking for hiding the Electronic Program Guide (EPG). 141816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 142816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The duration the EPG was shown in milliseconds. 143816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 144816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendHideEpg(long durationMs); 145816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 146816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 147816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for showing the channel switch view. 148816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 149816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendShowChannelSwitch(); 150816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 151816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 152816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for hiding the channel switch view. 153816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 154816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The duration the channel switch view was shown in milliseconds. 155816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 156816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendHideChannelSwitch(long durationMs); 157816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 158816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 159816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for each channel number or delimiter pressed. 160816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 161816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelNumberInput(); 162816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 163816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 164816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for navigating during channel number input. 165816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 166816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * <p>This is sent once per channel input viewing. 167816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 168816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelInputNavigated(); 169816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 170816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 171816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for channel clicked. 172816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 173816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelNumberItemClicked(); 174816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 175816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 176816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for channel chosen (tuned) because the channel switch view timed out. 177816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 178816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendChannelNumberItemChosenByTimeout(); 179816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 180816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 1817d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * Sends tracking for the reason video is unavailable on a channel. 1827d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko */ 1837d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko void sendChannelVideoUnavailable(Channel channel, int reason); 1847d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko 1857d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko /** 18607b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * Sends HDMI AC3 passthrough capabilities. 187816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 188816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param isSupported {@code true} if the feature is supported; otherwise {@code false}. 189816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 190816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendAc3PassthroughCapabilities(boolean isSupported); 191816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 192816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 1937d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * Sends tracking for input a connection failure. 1947d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * <p><strong>WARNING</strong> callers must ensure no PII is included in the inputId. 1957d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * 1967d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * @param inputId the input the failure happened on 1977d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko */ 1987d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko void sendInputConnectionFailure(String inputId); 1997d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko 2007d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko /** 2017d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * Sends tracking for input disconnected. 2027d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * <p><strong>WARNING</strong> callers must ensure no PII is included in the inputId. 2037d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * 2047d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * @param inputId the input the failure happened on 2057d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko */ 2067d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko void sendInputDisconnected(String inputId); 2077d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko 2087d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko /** 209816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for showing the input selection view. 210816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 211816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendShowInputSelection(); 212816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 213816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 214816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for hiding the input selection view. 215816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 216816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The duration the input selection view was shown in milliseconds. 217816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 218816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendHideInputSelection(long durationMs); 219816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 220816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 221816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for input selected by the selection view. 222816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 223816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * <p><strong>WARNING</strong> callers must ensure no PII is included in the label. 224816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 225816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param inputLabel the label of the TV input selected 226816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 227816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendInputSelected(String inputLabel); 228816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 229816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 230816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking information for showing a side panel. 231816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 232816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param trackerLabel the label of the side panel. 233816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 234816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendShowSidePanel(HasTrackerLabel trackerLabel); 235816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko 236816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko /** 237816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * Sends tracking for hiding a side panel. 238816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * 239816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param trackerLabel The label of the side panel 240816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko * @param durationMs The duration the side panel was shown in milliseconds. 241816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko */ 242816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko void sendHideSidePanel(HasTrackerLabel trackerLabel, long durationMs); 24307b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko 24407b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko /** 24507b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * Sends time shift action (pause, ff, etc). 24607b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko * 2477d67089aa1e9aa2123c3cd2f386d7019a1544db1Nick Chalko * @param actionId The {@link com.android.tv.TimeShiftManager.TimeShiftActionId} 24807b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko */ 24907b043dc3db83d6d20f0e8513b946830ab00e37bNick Chalko void sendTimeShiftAction(@TimeShiftManager.TimeShiftActionId int actionId); 250816a4be1a0f34f6a48877c8afd3dbbca19eac435Nick Chalko} 251