From 27f915deda69206c7707fb8139c73de442cd5c1c Mon Sep 17 00:00:00 2001 From: Artem Shvadskiy Date: Thu, 17 Mar 2016 15:11:55 -0700 Subject: Fix metric reporting for remote folder Change-Id: I07ff54f2bd2c615ffb8625b4016704468bfb006f issue-id: CYNGNOS-2251 --- .../stats/internal/model/TrackingEvent.java | 14 ++------- .../internal/service/AggregationIntentService.java | 36 +++++++++++++--------- 2 files changed, 23 insertions(+), 27 deletions(-) (limited to 'src/com/android') diff --git a/src/com/android/launcher3/stats/internal/model/TrackingEvent.java b/src/com/android/launcher3/stats/internal/model/TrackingEvent.java index 552dac729..44aaeb372 100644 --- a/src/com/android/launcher3/stats/internal/model/TrackingEvent.java +++ b/src/com/android/launcher3/stats/internal/model/TrackingEvent.java @@ -51,23 +51,13 @@ public class TrackingEvent { WALLPAPER_CHANGE, HOMESCREEN_PAGE, WIDGET, - - // Remote folder specific - REMOTE_FOLDER_DISABLED, - REMOTE_DRAWER_DISABLED, - REMOTE_FOLDER_OPENED, - REMOTE_FOLDER_INFO_OPENED, - REMOTE_APP_OPENED, - REMOTE_APP_INSTALLED, - REMOTE_SYNC_TIME, - REMOTE_SYNC_ERROR, - REMOTE_SYNC_UNFILLED, - REMOTE_FEATURE_DISABLED_FEEDBACK + REMOTE_FOLDER } public static final String KEY_ORIGIN = TrackingBundle.KEY_METADATA_ORIGIN; public static final String KEY_VALUE = TrackingBundle.KEY_METADATA_VALUE; public static final String KEY_PACKAGE = TrackingBundle.KEY_METADATA_PACKAGE; + public static final String KEY_ACTION = TrackingBundle.KEY_EVENT_ACTION; /** * Constructor diff --git a/src/com/android/launcher3/stats/internal/service/AggregationIntentService.java b/src/com/android/launcher3/stats/internal/service/AggregationIntentService.java index cd9eaf793..b32d79be5 100644 --- a/src/com/android/launcher3/stats/internal/service/AggregationIntentService.java +++ b/src/com/android/launcher3/stats/internal/service/AggregationIntentService.java @@ -28,14 +28,15 @@ import android.content.pm.PackageManager; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.Log; + import com.android.launcher3.LauncherAppState; -import com.android.launcher3.LauncherApplication; import com.android.launcher3.stats.external.StatsUtil; import com.android.launcher3.stats.external.TrackingBundle; import com.android.launcher3.stats.internal.db.DatabaseHelper; import com.android.launcher3.stats.internal.model.CountAction; import com.android.launcher3.stats.internal.model.CountOriginByPackageAction; import com.android.launcher3.stats.internal.model.ITrackingAction; +import com.android.launcher3.stats.internal.model.RemoteFolderAction; import com.android.launcher3.stats.internal.model.TrackingEvent; import com.android.launcher3.stats.util.Logger; @@ -115,20 +116,15 @@ public class AggregationIntentService extends IntentService { continue; } - // Now crunch the data into actionable events for the server - for (ITrackingAction action : TRACKED_ACTIONS) { - try { - for (Bundle bundle : action.createTrackingBundles(TRACKING_ID, category, - eventList)) { - performTrackingCall(bundle); - } - } catch (NullPointerException e) { - Log.e(TAG, "NPE fetching bundle list!", e); - } catch (IllegalArgumentException e) { - Log.e(TAG, "Illegal argument!", e); + // Now crunch the data into actionable events for the server. + // Remote Folder data will process itself separately. + if (category == TrackingEvent.Category.REMOTE_FOLDER) { + performTrackingCall(new RemoteFolderAction(), category, eventList); + } else { + for (ITrackingAction action : TRACKED_ACTIONS) { + performTrackingCall(action, category, eventList); } } - } } @@ -168,8 +164,18 @@ public class AggregationIntentService extends IntentService { StatsUtil.sendEvent(this, bundle); } - private void performTrackingCall(Bundle bundle) throws IllegalArgumentException { - StatsUtil.sendEvent(this, bundle); + private void performTrackingCall(ITrackingAction action, TrackingEvent.Category category, + List eventList) + throws IllegalArgumentException { + try { + for (Bundle bundle : action.createTrackingBundles(TRACKING_ID, category, eventList)) { + StatsUtil.sendEvent(this, bundle); + } + } catch (NullPointerException e) { + Log.e(TAG, "NPE fetching bundle list!", e); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Illegal argument!", e); + } } private void unscheduleService() { -- cgit v1.2.3