diff options
Diffstat (limited to 'src/com/android/tv/analytics')
-rw-r--r-- | src/com/android/tv/analytics/Analytics.java | 14 | ||||
-rw-r--r-- | src/com/android/tv/analytics/ConfigurationInfo.java | 4 | ||||
-rw-r--r-- | src/com/android/tv/analytics/HasTrackerLabel.java | 4 | ||||
-rw-r--r-- | src/com/android/tv/analytics/SendChannelStatusRunnable.java | 76 | ||||
-rw-r--r-- | src/com/android/tv/analytics/SendConfigInfoRunnable.java | 10 | ||||
-rw-r--r-- | src/com/android/tv/analytics/StubAnalytics.java | 7 | ||||
-rw-r--r-- | src/com/android/tv/analytics/StubTracker.java | 73 | ||||
-rw-r--r-- | src/com/android/tv/analytics/Tracker.java | 62 |
8 files changed, 107 insertions, 143 deletions
diff --git a/src/com/android/tv/analytics/Analytics.java b/src/com/android/tv/analytics/Analytics.java index 27085de7..e0626423 100644 --- a/src/com/android/tv/analytics/Analytics.java +++ b/src/com/android/tv/analytics/Analytics.java @@ -16,21 +16,17 @@ package com.android.tv.analytics; -/** - * Provides Trackers used for user activity analysis. - */ +/** Provides Trackers used for user activity analysis. */ public interface Analytics { Tracker getDefaultTracker(); - /** - * Returns whether the state of the application-level opt is on. - */ + /** Returns whether the state of the application-level opt is on. */ boolean isAppOptOut(); /** - * Sets or resets the application-level opt out flag. If set, no hits will be sent. - * The value of this flag will <i>not</i> persist across application starts. The - * correct value should thus be set in application initialization code. + * Sets or resets the application-level opt out flag. If set, no hits will be sent. The value of + * this flag will <i>not</i> persist across application starts. The correct value should thus be + * set in application initialization code. * * @param optOut {@code true} if application-level opt out should be enforced. */ diff --git a/src/com/android/tv/analytics/ConfigurationInfo.java b/src/com/android/tv/analytics/ConfigurationInfo.java index 41e8baeb..b6bfc5aa 100644 --- a/src/com/android/tv/analytics/ConfigurationInfo.java +++ b/src/com/android/tv/analytics/ConfigurationInfo.java @@ -16,9 +16,7 @@ package com.android.tv.analytics; -/** - * Data useful for tracking that doesn't change often. - */ +/** Data useful for tracking that doesn't change often. */ public class ConfigurationInfo { public final int systemInputCount; public final int nonSystemInputCount; diff --git a/src/com/android/tv/analytics/HasTrackerLabel.java b/src/com/android/tv/analytics/HasTrackerLabel.java index 566e5f1a..04896850 100644 --- a/src/com/android/tv/analytics/HasTrackerLabel.java +++ b/src/com/android/tv/analytics/HasTrackerLabel.java @@ -23,8 +23,6 @@ package com.android.tv.analytics; */ public interface HasTrackerLabel { - /** - * Returns the label. - */ + /** Returns the label. */ String getTrackerLabel(); } diff --git a/src/com/android/tv/analytics/SendChannelStatusRunnable.java b/src/com/android/tv/analytics/SendChannelStatusRunnable.java index b5b5805c..4a84434c 100644 --- a/src/com/android/tv/analytics/SendChannelStatusRunnable.java +++ b/src/com/android/tv/analytics/SendChannelStatusRunnable.java @@ -20,11 +20,9 @@ import android.content.Context; import android.os.Handler; import android.os.Looper; import android.support.annotation.MainThread; - -import com.android.tv.data.Channel; import com.android.tv.data.ChannelDataManager; +import com.android.tv.data.api.Channel; import com.android.tv.util.RecurringRunner; - import java.util.List; import java.util.concurrent.TimeUnit; @@ -32,53 +30,63 @@ import java.util.concurrent.TimeUnit; * Periodically sends analytics data with the channel count. * * <p> - * <p>This should only be started from a user activity - * like {@link com.android.tv.MainActivity}. + * + * <p>This should only be started from a user activity like {@link com.android.tv.MainActivity}. */ @MainThread public class SendChannelStatusRunnable implements Runnable { private static final long SEND_CHANNEL_STATUS_INTERVAL_MS = TimeUnit.DAYS.toMillis(1); - public static RecurringRunner startChannelStatusRecurringRunner(Context context, - Tracker tracker, ChannelDataManager channelDataManager) { + public static RecurringRunner startChannelStatusRecurringRunner( + Context context, Tracker tracker, ChannelDataManager channelDataManager) { - final SendChannelStatusRunnable sendChannelStatusRunnable = new SendChannelStatusRunnable( - channelDataManager, tracker); + final SendChannelStatusRunnable sendChannelStatusRunnable = + new SendChannelStatusRunnable(channelDataManager, tracker); - Runnable onStopRunnable = new Runnable() { - @Override - public void run() { - sendChannelStatusRunnable.setDbLoadListener(null); - } - }; - final RecurringRunner recurringRunner = new RecurringRunner(context, - SEND_CHANNEL_STATUS_INTERVAL_MS, sendChannelStatusRunnable, onStopRunnable); + Runnable onStopRunnable = + new Runnable() { + @Override + public void run() { + sendChannelStatusRunnable.setDbLoadListener(null); + } + }; + final RecurringRunner recurringRunner = + new RecurringRunner( + context, + SEND_CHANNEL_STATUS_INTERVAL_MS, + sendChannelStatusRunnable, + onStopRunnable); if (channelDataManager.isDbLoadFinished()) { sendChannelStatusRunnable.setDbLoadListener(null); recurringRunner.start(); } else { - //Start the recurring runnable after the channel DB is finished loading. - sendChannelStatusRunnable.setDbLoadListener(new ChannelDataManager.Listener() { - @Override - public void onLoadFinished() { - // This is called inside an iterator of Listeners so the remove step is done - // via a post on the main thread - new Handler(Looper.getMainLooper()).post(new Runnable() { + // Start the recurring runnable after the channel DB is finished loading. + sendChannelStatusRunnable.setDbLoadListener( + new ChannelDataManager.Listener() { @Override - public void run() { - sendChannelStatusRunnable.setDbLoadListener(null); + public void onLoadFinished() { + // This is called inside an iterator of Listeners so the remove step is + // done + // via a post on the main thread + new Handler(Looper.getMainLooper()) + .post( + new Runnable() { + @Override + public void run() { + sendChannelStatusRunnable.setDbLoadListener( + null); + } + }); + recurringRunner.start(); } - }); - recurringRunner.start(); - } - @Override - public void onChannelListUpdated() { } + @Override + public void onChannelListUpdated() {} - @Override - public void onChannelBrowsableChanged() { } - }); + @Override + public void onChannelBrowsableChanged() {} + }); } return recurringRunner; } diff --git a/src/com/android/tv/analytics/SendConfigInfoRunnable.java b/src/com/android/tv/analytics/SendConfigInfoRunnable.java index 41392a6d..d4674086 100644 --- a/src/com/android/tv/analytics/SendConfigInfoRunnable.java +++ b/src/com/android/tv/analytics/SendConfigInfoRunnable.java @@ -17,14 +17,10 @@ package com.android.tv.analytics; import android.media.tv.TvInputInfo; - import com.android.tv.util.TvInputManagerHelper; - import java.util.List; -/** - * Sends ConfigurationInfo once a day. - */ +/** Sends ConfigurationInfo once a day. */ public class SendConfigInfoRunnable implements Runnable { private final Tracker mTracker; private final TvInputManagerHelper mTvInputManagerHelper; @@ -46,8 +42,8 @@ public class SendConfigInfoRunnable implements Runnable { nonSystemInputCount++; } } - ConfigurationInfo configurationInfo = new ConfigurationInfo(systemInputCount, - nonSystemInputCount); + ConfigurationInfo configurationInfo = + new ConfigurationInfo(systemInputCount, nonSystemInputCount); mTracker.sendConfigurationInfo(configurationInfo); } } diff --git a/src/com/android/tv/analytics/StubAnalytics.java b/src/com/android/tv/analytics/StubAnalytics.java index 99c10d94..2c58b9b8 100644 --- a/src/com/android/tv/analytics/StubAnalytics.java +++ b/src/com/android/tv/analytics/StubAnalytics.java @@ -19,9 +19,7 @@ package com.android.tv.analytics; import android.app.Application; import android.content.Context; -/** - * An implementation of {@link Analytics} that returns a {@link StubTracker}. - */ +/** An implementation of {@link Analytics} that returns a {@link StubTracker}. */ public final class StubAnalytics implements Analytics { public static StubAnalytics getInstance(Application application) { return new StubAnalytics(application); @@ -30,8 +28,7 @@ public final class StubAnalytics implements Analytics { private final Tracker mTracker = new StubTracker(); private boolean mOptOut = true; - private StubAnalytics(Context context) { - } + private StubAnalytics(Context context) {} @Override public Tracker getDefaultTracker() { diff --git a/src/com/android/tv/analytics/StubTracker.java b/src/com/android/tv/analytics/StubTracker.java index 6e64ebca..e11b91c2 100644 --- a/src/com/android/tv/analytics/StubTracker.java +++ b/src/com/android/tv/analytics/StubTracker.java @@ -17,111 +17,108 @@ package com.android.tv.analytics; import android.support.annotation.VisibleForTesting; - import com.android.tv.TimeShiftManager; -import com.android.tv.data.Channel; +import com.android.tv.data.api.Channel; -/** - * A implementation of Tracker that does nothing. - */ +/** A implementation of Tracker that does nothing. */ @VisibleForTesting public class StubTracker implements Tracker { @Override - public void sendChannelCount(int browsableChannelCount, int totalChannelCount) { } + public void sendChannelCount(int browsableChannelCount, int totalChannelCount) {} @Override - public void sendConfigurationInfo(ConfigurationInfo info) { } + public void sendConfigurationInfo(ConfigurationInfo info) {} @Override - public void sendMainStart() { } + public void sendMainStart() {} @Override - public void sendMainStop(long durationMs) { } + public void sendMainStop(long durationMs) {} @Override - public void sendScreenView(String screenName) { } + public void sendScreenView(String screenName) {} @Override - public void sendChannelViewStart(Channel channel, boolean tunedByRecommendation) { } + public void sendChannelViewStart(Channel channel, boolean tunedByRecommendation) {} @Override - public void sendChannelTuneTime(Channel channel, long durationMs) { } + public void sendChannelTuneTime(Channel channel, long durationMs) {} @Override - public void sendChannelViewStop(Channel channel, long durationMs) { } + public void sendChannelViewStop(Channel channel, long durationMs) {} @Override - public void sendChannelUp() { } + public void sendChannelUp() {} @Override - public void sendChannelDown() { } + public void sendChannelDown() {} @Override - public void sendShowMenu() { } + public void sendShowMenu() {} @Override - public void sendHideMenu(long durationMs) { } + public void sendHideMenu(long durationMs) {} @Override - public void sendMenuClicked(String label) { } + public void sendMenuClicked(String label) {} @Override - public void sendMenuClicked(int labelResId) { } + public void sendMenuClicked(int labelResId) {} @Override - public void sendShowEpg() { } + public void sendShowEpg() {} @Override - public void sendEpgItemClicked() { } + public void sendEpgItemClicked() {} @Override - public void sendHideEpg(long durationMs) { } + public void sendHideEpg(long durationMs) {} @Override - public void sendShowChannelSwitch() { } + public void sendShowChannelSwitch() {} @Override - public void sendHideChannelSwitch(long durationMs) { } + public void sendHideChannelSwitch(long durationMs) {} @Override - public void sendChannelNumberInput() { } + public void sendChannelNumberInput() {} @Override - public void sendChannelInputNavigated() { } + public void sendChannelInputNavigated() {} @Override - public void sendChannelNumberItemClicked() { } + public void sendChannelNumberItemClicked() {} @Override - public void sendChannelNumberItemChosenByTimeout() { } + public void sendChannelNumberItemChosenByTimeout() {} @Override - public void sendChannelVideoUnavailable(Channel channel, int reason) { } + public void sendChannelVideoUnavailable(Channel channel, int reason) {} @Override - public void sendAc3PassthroughCapabilities(boolean isSupported) { } + public void sendAc3PassthroughCapabilities(boolean isSupported) {} @Override - public void sendInputConnectionFailure(String inputId) { } + public void sendInputConnectionFailure(String inputId) {} @Override - public void sendInputDisconnected(String inputId) { } + public void sendInputDisconnected(String inputId) {} @Override - public void sendShowInputSelection() { } + public void sendShowInputSelection() {} @Override - public void sendHideInputSelection(long durationMs) { } + public void sendHideInputSelection(long durationMs) {} @Override - public void sendInputSelected(String inputLabel) { } + public void sendInputSelected(String inputLabel) {} @Override - public void sendShowSidePanel(HasTrackerLabel trackerLabel) { } + public void sendShowSidePanel(HasTrackerLabel trackerLabel) {} @Override - public void sendHideSidePanel(HasTrackerLabel trackerLabel, long durationMs) { } + public void sendHideSidePanel(HasTrackerLabel trackerLabel, long durationMs) {} @Override - public void sendTimeShiftAction(@TimeShiftManager.TimeShiftActionId int actionId) { } + public void sendTimeShiftAction(@TimeShiftManager.TimeShiftActionId int actionId) {} } diff --git a/src/com/android/tv/analytics/Tracker.java b/src/com/android/tv/analytics/Tracker.java index 291fc9ce..0fcef5dc 100644 --- a/src/com/android/tv/analytics/Tracker.java +++ b/src/com/android/tv/analytics/Tracker.java @@ -17,11 +17,9 @@ package com.android.tv.analytics; import com.android.tv.TimeShiftManager; -import com.android.tv.data.Channel; +import com.android.tv.data.api.Channel; -/** - * Interface for sending user activity for analysis. - */ +/** Interface for sending user activity for analysis. */ public interface Tracker { /** @@ -45,9 +43,7 @@ public interface Tracker { */ void sendConfigurationInfo(ConfigurationInfo info); - /** - * Sends tracking information for starting the MainActivity. - */ + /** Sends tracking information for starting the MainActivity. */ void sendMainStart(); /** @@ -55,11 +51,9 @@ public interface Tracker { * * @param durationMs The time main activity was "started" in milliseconds. */ - void sendMainStop( long durationMs); + void sendMainStop(long durationMs); - /** - * Sets the screen name and sends a ScreenView hit. - */ + /** Sets the screen name and sends a ScreenView hit. */ void sendScreenView(String screenName); /** @@ -86,19 +80,13 @@ public interface Tracker { */ void sendChannelViewStop(Channel channel, long durationMs); - /** - * Sends tracking information for pressing channel up. - */ + /** Sends tracking information for pressing channel up. */ void sendChannelUp(); - /** - * Sends tracking information for pressing channel down. - */ + /** Sends tracking information for pressing channel down. */ void sendChannelDown(); - /** - * Sends tracking information for showing the main menu. - */ + /** Sends tracking information for showing the main menu. */ void sendShowMenu(); /** @@ -126,14 +114,10 @@ public interface Tracker { */ void sendMenuClicked(int labelResId); - /** - * Sends tracking information for showing the Electronic Program Guide (EPG). - */ + /** Sends tracking information for showing the Electronic Program Guide (EPG). */ void sendShowEpg(); - /** - * Sends tracking information for clicking an Electronic Program Guide (EPG) item. - */ + /** Sends tracking information for clicking an Electronic Program Guide (EPG) item. */ void sendEpgItemClicked(); /** @@ -143,9 +127,7 @@ public interface Tracker { */ void sendHideEpg(long durationMs); - /** - * Sends tracking information for showing the channel switch view. - */ + /** Sends tracking information for showing the channel switch view. */ void sendShowChannelSwitch(); /** @@ -155,9 +137,7 @@ public interface Tracker { */ void sendHideChannelSwitch(long durationMs); - /** - * Sends tracking for each channel number or delimiter pressed. - */ + /** Sends tracking for each channel number or delimiter pressed. */ void sendChannelNumberInput(); /** @@ -167,19 +147,13 @@ public interface Tracker { */ void sendChannelInputNavigated(); - /** - * Sends tracking for channel clicked. - */ + /** Sends tracking for channel clicked. */ void sendChannelNumberItemClicked(); - /** - * Sends tracking for channel chosen (tuned) because the channel switch view timed out. - */ + /** Sends tracking for channel chosen (tuned) because the channel switch view timed out. */ void sendChannelNumberItemChosenByTimeout(); - /** - * Sends tracking for the reason video is unavailable on a channel. - */ + /** Sends tracking for the reason video is unavailable on a channel. */ void sendChannelVideoUnavailable(Channel channel, int reason); /** @@ -191,6 +165,7 @@ public interface Tracker { /** * Sends tracking for input a connection failure. + * * <p><strong>WARNING</strong> callers must ensure no PII is included in the inputId. * * @param inputId the input the failure happened on @@ -199,15 +174,14 @@ public interface Tracker { /** * Sends tracking for input disconnected. + * * <p><strong>WARNING</strong> callers must ensure no PII is included in the inputId. * * @param inputId the input the failure happened on */ void sendInputDisconnected(String inputId); - /** - * Sends tracking information for showing the input selection view. - */ + /** Sends tracking information for showing the input selection view. */ void sendShowInputSelection(); /** |