summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErica Chang <echang@cyngn.com>2016-03-14 18:28:23 -0700
committerErica Chang <echang@cyngn.com>2016-04-07 12:05:52 -0700
commitb5073fd9861742245dd4f8d6de6661f67e1d6a9b (patch)
tree6ede2ff9f696680732cb293da688808ac1d9395b
parent53a12b4410c040a28a703fb6877f8e9a72d1913f (diff)
downloadandroid_packages_apps_Contacts-b5073fd9861742245dd4f8d6de6661f67e1d6a9b.tar.gz
android_packages_apps_Contacts-b5073fd9861742245dd4f8d6de6661f67e1d6a9b.tar.bz2
android_packages_apps_Contacts-b5073fd9861742245dd4f8d6de6661f67e1d6a9b.zip
Contacts: added stats settings check
CD-501 Change-Id: Ia9fd922d3c3049e4caacbf57b43039bcc8649a24
-rw-r--r--Android.mk1
-rw-r--r--src/com/android/contacts/incall/InCallMetricsHelper.java32
2 files changed, 31 insertions, 2 deletions
diff --git a/Android.mk b/Android.mk
index 4a94da848..80ed657f8 100644
--- a/Android.mk
+++ b/Android.mk
@@ -34,6 +34,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := \
android-support-v7-palette \
android-support-v4 \
libphonenumber \
+ org.cyanogenmod.platform.sdk \
contacts-picaso
LOCAL_PACKAGE_NAME := Contacts
diff --git a/src/com/android/contacts/incall/InCallMetricsHelper.java b/src/com/android/contacts/incall/InCallMetricsHelper.java
index 86cdf9e1b..5b041a29e 100644
--- a/src/com/android/contacts/incall/InCallMetricsHelper.java
+++ b/src/com/android/contacts/incall/InCallMetricsHelper.java
@@ -36,6 +36,7 @@ import com.cyanogen.ambient.analytics.AnalyticsServices;
import com.cyanogen.ambient.analytics.Event;
import com.cyanogen.ambient.incall.InCallServices;
import com.google.common.base.Joiner;
+import cyanogenmod.providers.CMSettings;
import java.util.ArrayList;
import java.util.Arrays;
@@ -122,7 +123,6 @@ public class InCallMetricsHelper {
public static void init(Context context) {
InCallMetricsHelper helper = getInstance(context);
-
AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, InCallMetricsService.class);
@@ -147,11 +147,16 @@ public class InCallMetricsHelper {
}
/**
- * Gather all metrics entries from tables and send to Ambient.
+ * Gather all metrics entries from tables and send to Ambient. Called from
+ * InCallMetricsService (IntentService)
*
* @param context context to be used in db
*/
public static void prepareAndSend(Context context) {
+ if (!statsOptIn(context)) {
+ return;
+ }
+
InCallMetricsHelper helper = getInstance(context);
// In App events
List<ContentValues> allList = helper.mDbHelper.getAllEntries(Categories.INAPP_NUDGES, true);
@@ -284,6 +289,9 @@ public class InCallMetricsHelper {
helper.mHandler.post(new Runnable() {
@Override
public void run() {
+ if (!statsOptIn(context)) {
+ return;
+ }
helper.mDbHelper.incrementUserActionsParam(provider, "",
Events.INVITES_SENT.value(),
Categories.USER_ACTIONS.value(),
@@ -310,6 +318,9 @@ public class InCallMetricsHelper {
helper.mHandler.post(new Runnable() {
@Override
public void run() {
+ if (!statsOptIn(context)) {
+ return;
+ }
switch (cat) {
case INAPP_NUDGES:
switch (param) {
@@ -344,6 +355,9 @@ public class InCallMetricsHelper {
helper.mHandler.post(new Runnable() {
@Override
public void run() {
+ if (!statsOptIn(context)) {
+ return;
+ }
switch (event) {
case INAPP_NUDGE_CONTACTS_INSTALL:
helper.mDbHelper.incrementInAppParam(cmi.mComponent.flattenToString(),
@@ -379,6 +393,9 @@ public class InCallMetricsHelper {
helper.mHandler.post(new Runnable() {
@Override
public void run() {
+ if (!statsOptIn(context)) {
+ return;
+ }
CallMethodInfo cmi = pluginInfo.mCallMethodInfo;
if (!cmi.mIsAuthenticated) {
helper.mDbHelper.incrementInAppParam(cmi.mComponent.flattenToString(),
@@ -403,6 +420,9 @@ public class InCallMetricsHelper {
helper.mHandler.post(new Runnable() {
@Override
public void run() {
+ if (!statsOptIn(context)) {
+ return;
+ }
HashMap<ComponentName, CallMethodInfo> plugins = InCallPluginHelper
.getAllCallMethods();
HashMap<String, String> pluginMap = new HashMap<String, String>();
@@ -432,6 +452,9 @@ public class InCallMetricsHelper {
helper.mHandler.post(new Runnable() {
@Override
public void run() {
+ if (!statsOptIn(context)) {
+ return;
+ }
String[] rawIdArray = rawIds.split(",");
Arrays.sort(rawIdArray);
Set<String> providerSet = queryContactProviderByRawContactIds(context, rawIdArray);
@@ -502,4 +525,9 @@ public class InCallMetricsHelper {
public static String generateNudgeId(String data) {
return java.util.UUID.nameUUIDFromBytes(data.getBytes()).toString();
}
+
+ private static boolean statsOptIn(Context context) {
+ return CMSettings.Secure.getInt(context.getContentResolver(),
+ CMSettings.Secure.STATS_COLLECTION, 1) == 1;
+ }
} \ No newline at end of file