summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBobby Georgescu <georgescu@google.com>2012-11-14 14:02:16 -0800
committerBobby Georgescu <georgescu@google.com>2013-02-25 15:31:16 -0800
commit3847e4e8e26ed6c6f18ee4a6b2984d33051d155e (patch)
tree39a64d39d7ca480b8e5cdfbe69b203c2979d7ddd
parentfae7bf8557f7de818a768d7a8c30425a9a5641d8 (diff)
downloadandroid_packages_apps_Gallery2-3847e4e8e26ed6c6f18ee4a6b2984d33051d155e.tar.gz
android_packages_apps_Gallery2-3847e4e8e26ed6c6f18ee4a6b2984d33051d155e.tar.bz2
android_packages_apps_Gallery2-3847e4e8e26ed6c6f18ee4a6b2984d33051d155e.zip
Add possibility for UX improvement measurements
Bug: 4293199 Change-Id: I45f8a63c676c8d7700c422a0a18f799fb6d02d2e
-rw-r--r--src/com/android/gallery3d/app/AbstractGalleryActivity.java2
-rw-r--r--src/com/android/gallery3d/app/GalleryAppImpl.java2
-rw-r--r--src/com/android/gallery3d/app/StateManager.java19
-rw-r--r--src_pd/com/android/gallery3d/util/UsageStatistics.java45
4 files changed, 67 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/app/AbstractGalleryActivity.java b/src/com/android/gallery3d/app/AbstractGalleryActivity.java
index d96094245..bd7e654d5 100644
--- a/src/com/android/gallery3d/app/AbstractGalleryActivity.java
+++ b/src/com/android/gallery3d/app/AbstractGalleryActivity.java
@@ -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
diff --git a/src/com/android/gallery3d/app/GalleryAppImpl.java b/src/com/android/gallery3d/app/GalleryAppImpl.java
index 561589b24..5b4a872d8 100644
--- a/src/com/android/gallery3d/app/GalleryAppImpl.java
+++ b/src/com/android/gallery3d/app/GalleryAppImpl.java
@@ -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) {
diff --git a/src/com/android/gallery3d/app/StateManager.java b/src/com/android/gallery3d/app/StateManager.java
index d77279f78..b4b5d4b05 100644
--- a/src/com/android/gallery3d/app/StateManager.java
+++ b/src/com/android/gallery3d/app/StateManager.java
@@ -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
index 000000000..cf27ac58f
--- /dev/null
+++ b/src_pd/com/android/gallery3d/util/UsageStatistics.java
@@ -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) {};
+}