OSDN Git Service

Add possibility for UX improvement measurements
authorBobby Georgescu <georgescu@google.com>
Wed, 14 Nov 2012 22:02:16 +0000 (14:02 -0800)
committerBobby Georgescu <georgescu@google.com>
Mon, 25 Feb 2013 23:31:16 +0000 (15:31 -0800)
Bug: 4293199
Change-Id: I45f8a63c676c8d7700c422a0a18f799fb6d02d2e

src/com/android/gallery3d/app/AbstractGalleryActivity.java
src/com/android/gallery3d/app/GalleryAppImpl.java
src/com/android/gallery3d/app/StateManager.java
src_pd/com/android/gallery3d/util/UsageStatistics.java [new file with mode: 0644]

index d960942..bd7e654 100644 (file)
@@ -45,6 +45,7 @@ import com.android.gallery3d.ui.GLRoot;
 import com.android.gallery3d.ui.GLRootView;
 import com.android.gallery3d.util.LightCycleHelper.PanoramaViewHelper;
 import com.android.gallery3d.util.ThreadPool;
+import com.android.gallery3d.util.UsageStatistics;
 
 public class AbstractGalleryActivity extends Activity implements GalleryContext {
     @SuppressWarnings("unused")
@@ -75,6 +76,7 @@ public class AbstractGalleryActivity extends Activity implements GalleryContext
         mPanoramaViewHelper = new PanoramaViewHelper(this);
         mPanoramaViewHelper.onCreate();
         doBindBatchService();
+        UsageStatistics.showOptInDialogIfNeeded(this);
     }
 
     @Override
index 561589b..5b4a872 100644 (file)
@@ -31,6 +31,7 @@ import com.android.gallery3d.picasasource.PicasaSource;
 import com.android.gallery3d.util.GalleryUtils;
 import com.android.gallery3d.util.LightCycleHelper;
 import com.android.gallery3d.util.ThreadPool;
+import com.android.gallery3d.util.UsageStatistics;
 
 import java.io.File;
 
@@ -54,6 +55,7 @@ public class GalleryAppImpl extends Application implements GalleryApp {
         GalleryUtils.initialize(this);
         WidgetUtils.initialize(this);
         PicasaSource.initialize(this);
+        UsageStatistics.initialize(this);
 
         mStitchingProgressManager = LightCycleHelper.createStitchingManagerInstance(this);
         if (mStitchingProgressManager != null) {
index d77279f..b4b5d4b 100644 (file)
@@ -26,6 +26,7 @@ import android.view.MenuItem;
 
 import com.android.gallery3d.anim.StateTransitionAnimation;
 import com.android.gallery3d.common.Utils;
+import com.android.gallery3d.util.UsageStatistics;
 
 import java.util.Stack;
 
@@ -62,6 +63,9 @@ public class StateManager {
                     StateTransitionAnimation.Transition.Incoming);
             if (mIsResumed) top.onPause();
         }
+        UsageStatistics.onContentViewChanged(
+                UsageStatistics.COMPONENT_GALLERY,
+                klass.getSimpleName());
         state.initialize(mActivity, data);
 
         mStack.push(new StateEntry(data, state));
@@ -91,7 +95,8 @@ public class StateManager {
         } else {
             mResult = state.mResult;
         }
-
+        UsageStatistics.onContentViewChanged(UsageStatistics.COMPONENT_GALLERY,
+                klass.getSimpleName());
         mStack.push(new StateEntry(data, state));
         state.onCreate(data, null);
         if (mIsResumed) state.resume();
@@ -210,6 +215,10 @@ public class StateManager {
         state.onDestroy();
 
         if (top != null && mIsResumed) top.resume();
+        if (top != null) {
+            UsageStatistics.onContentViewChanged(UsageStatistics.COMPONENT_GALLERY,
+                    top.getClass().getSimpleName());
+        }
     }
 
     public void switchState(ActivityState oldState,
@@ -241,6 +250,8 @@ public class StateManager {
         mStack.push(new StateEntry(data, state));
         state.onCreate(data, null);
         if (mIsResumed) state.resume();
+        UsageStatistics.onContentViewChanged(UsageStatistics.COMPONENT_GALLERY,
+                klass.getSimpleName());
     }
 
     public void destroy() {
@@ -255,6 +266,7 @@ public class StateManager {
     public void restoreFromState(Bundle inState) {
         Log.v(TAG, "restoreFromState");
         Parcelable list[] = inState.getParcelableArray(KEY_MAIN);
+        ActivityState topState = null;
         for (Parcelable parcelable : list) {
             Bundle bundle = (Bundle) parcelable;
             Class<? extends ActivityState> klass =
@@ -273,6 +285,11 @@ public class StateManager {
             activityState.initialize(mActivity, data);
             activityState.onCreate(data, state);
             mStack.push(new StateEntry(data, activityState));
+            topState = activityState;
+        }
+        if (topState != null) {
+            UsageStatistics.onContentViewChanged(UsageStatistics.COMPONENT_GALLERY,
+                    topState.getClass().getSimpleName());
         }
     }
 
diff --git a/src_pd/com/android/gallery3d/util/UsageStatistics.java b/src_pd/com/android/gallery3d/util/UsageStatistics.java
new file mode 100644 (file)
index 0000000..cf27ac5
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.gallery3d.util;
+
+import android.app.Activity;
+import android.content.Context;
+
+public class UsageStatistics {
+    public static final boolean ENABLED = false;
+
+    public static final String COMPONENT_GALLERY = "Gallery";
+    public static final String COMPONENT_CAMERA = "Camera";
+    public static final String COMPONENT_EDITOR = "Editor";
+
+    public static final String TRANSITION_BACK_BUTTON = "BackButton";
+    public static final String TRANSITION_UP_BUTTON = "UpButton";
+    public static final String TRANSITION_PINCH_IN = "PinchIn";
+    public static final String TRANSITION_PINCH_OUT = "PinchOut";
+    public static final String TRANSITION_INTENT = "Intent";
+    public static final String TRANSITION_ITEM_TAP = "ItemTap";
+    public static final String TRANSITION_MENU_TAP = "MenuTap";
+    public static final String TRANSITION_BUTTON_TAP = "ButtonTap";
+    public static final String TRANSITION_SWIPE = "Swipe";
+
+    public static void initialize(Context context) {}
+    public static void showOptInDialogIfNeeded(Activity activity) {}
+    public static void setPendingTransitionCause(String cause) {}
+    public static void onContentViewChanged(String screenComponent, String screenName) {}
+    public static void onEvent(String category, String action, String label) {};
+    public static void onEvent(String category, String action, String label, long optional_value) {};
+}