aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/analytics')
-rw-r--r--src/com/android/tv/analytics/Analytics.java14
-rw-r--r--src/com/android/tv/analytics/ConfigurationInfo.java4
-rw-r--r--src/com/android/tv/analytics/HasTrackerLabel.java4
-rw-r--r--src/com/android/tv/analytics/SendChannelStatusRunnable.java76
-rw-r--r--src/com/android/tv/analytics/SendConfigInfoRunnable.java10
-rw-r--r--src/com/android/tv/analytics/StubAnalytics.java7
-rw-r--r--src/com/android/tv/analytics/StubTracker.java73
-rw-r--r--src/com/android/tv/analytics/Tracker.java62
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();
/**