diff options
author | Jorim Jaggi <jjaggi@google.com> | 2015-09-23 12:59:22 -0700 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2015-09-24 16:32:09 -0700 |
commit | 40aa8811bc817293d7400c14fa60350d2350d29f (patch) | |
tree | f5812936dd4fd539d695bde5584812a4413ccb20 /packages/SystemUI | |
parent | e1de9f674575df3b17e475c4f32dd93d33e596e3 (diff) | |
download | frameworks_base-40aa8811bc817293d7400c14fa60350d2350d29f.zip frameworks_base-40aa8811bc817293d7400c14fa60350d2350d29f.tar.gz frameworks_base-40aa8811bc817293d7400c14fa60350d2350d29f.tar.bz2 |
Deliver camera launch source for analytics
Bug: 24304031
Change-Id: I606bccf4b62b651e17c6e6d9472648deeab703da
Diffstat (limited to 'packages/SystemUI')
5 files changed, 43 insertions, 17 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java index 025451d..897f5e5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java @@ -110,7 +110,7 @@ public class CommandQueue extends IStatusBar.Stub { public void appTransitionStarting(long startTime, long duration); public void showAssistDisclosure(); public void startAssist(Bundle args); - public void onCameraLaunchGestureDetected(); + public void onCameraLaunchGestureDetected(int source); } public CommandQueue(Callbacks callbacks, StatusBarIconList list) { @@ -296,10 +296,10 @@ public class CommandQueue extends IStatusBar.Stub { } @Override - public void onCameraLaunchGestureDetected() { + public void onCameraLaunchGestureDetected(int source) { synchronized (mList) { mHandler.removeMessages(MSG_CAMERA_LAUNCH_GESTURE); - mHandler.obtainMessage(MSG_CAMERA_LAUNCH_GESTURE).sendToTarget(); + mHandler.obtainMessage(MSG_CAMERA_LAUNCH_GESTURE, source, 0).sendToTarget(); } } @@ -402,7 +402,7 @@ public class CommandQueue extends IStatusBar.Stub { mCallbacks.startAssist((Bundle) msg.obj); break; case MSG_CAMERA_LAUNCH_GESTURE: - mCallbacks.onCameraLaunchGestureDetected(); + mCallbacks.onCameraLaunchGestureDetected(msg.arg1); break; } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java index 012dc9c..14176a6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java @@ -77,6 +77,13 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL final static String TAG = "PhoneStatusBar/KeyguardBottomAreaView"; + public static final String CAMERA_LAUNCH_SOURCE_AFFORDANCE = "lockscreen_affordance"; + public static final String CAMERA_LAUNCH_SOURCE_WIGGLE = "wiggle_gesture"; + public static final String CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP = "power_double_tap"; + + public static final String EXTRA_CAMERA_LAUNCH_SOURCE + = "com.android.systemui.camera_launch_source"; + private static final Intent SECURE_CAMERA_INTENT = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE) .addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); @@ -170,7 +177,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL, true /* force */); return true; } else if (host == mCameraImageView) { - launchCamera(); + launchCamera(CAMERA_LAUNCH_SOURCE_AFFORDANCE); return true; } else if (host == mLeftAffordanceView) { launchLeftAffordance(); @@ -349,7 +356,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL @Override public void onClick(View v) { if (v == mCameraImageView) { - launchCamera(); + launchCamera(CAMERA_LAUNCH_SOURCE_AFFORDANCE); } else if (v == mLeftAffordanceView) { launchLeftAffordance(); } if (v == mLockIcon) { @@ -417,8 +424,9 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL } } - public void launchCamera() { + public void launchCamera(String source) { final Intent intent = getCameraIntent(); + intent.putExtra(EXTRA_CAMERA_LAUNCH_SOURCE, source); boolean wouldLaunchResolverActivity = PreviewInflater.wouldLaunchResolverActivity( mContext, intent, KeyguardUpdateMonitor.getCurrentUser()); if (intent == SECURE_CAMERA_INTENT && !wouldLaunchResolverActivity) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 9321938..bdd2c73 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -22,7 +22,7 @@ import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.animation.ValueAnimator; import android.app.ActivityManager; -import android.app.ActivityManager.RunningTaskInfo; +import android.app.StatusBarManager; import android.content.Context; import android.content.pm.ResolveInfo; import android.content.res.Configuration; @@ -203,6 +203,7 @@ public class NotificationPanelView extends PanelView implements private boolean mClosingWithAlphaFadeOut; private boolean mHeadsUpAnimatingAway; private boolean mLaunchingAffordance; + private String mLastCameraLaunchSource = KeyguardBottomAreaView.CAMERA_LAUNCH_SOURCE_AFFORDANCE; private Runnable mHeadsUpExistenceChangedRunnable = new Runnable() { @Override @@ -478,6 +479,7 @@ public class NotificationPanelView extends PanelView implements mUnlockIconActive = false; if (!mLaunchingAffordance) { mAfforanceHelper.reset(false); + mLastCameraLaunchSource = KeyguardBottomAreaView.CAMERA_LAUNCH_SOURCE_AFFORDANCE; } closeQs(); mStatusBar.dismissPopups(); @@ -1943,9 +1945,13 @@ public class NotificationPanelView extends PanelView implements EventLogConstants.SYSUI_LOCKSCREEN_GESTURE_SWIPE_DIALER, lengthDp, velocityDp); mKeyguardBottomArea.launchLeftAffordance(); } else { - EventLogTags.writeSysuiLockscreenGesture( - EventLogConstants.SYSUI_LOCKSCREEN_GESTURE_SWIPE_CAMERA, lengthDp, velocityDp); - mKeyguardBottomArea.launchCamera(); + if (KeyguardBottomAreaView.CAMERA_LAUNCH_SOURCE_AFFORDANCE.equals( + mLastCameraLaunchSource)) { + EventLogTags.writeSysuiLockscreenGesture( + EventLogConstants.SYSUI_LOCKSCREEN_GESTURE_SWIPE_CAMERA, + lengthDp, velocityDp); + } + mKeyguardBottomArea.launchCamera(mLastCameraLaunchSource); } mStatusBar.startLaunchTransitionTimeout(); mBlockTouches = true; @@ -2383,7 +2389,17 @@ public class NotificationPanelView extends PanelView implements return !mDozing; } - public void launchCamera(boolean animate) { + public void launchCamera(boolean animate, int source) { + if (source == StatusBarManager.CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP) { + mLastCameraLaunchSource = KeyguardBottomAreaView.CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP; + } else if (source == StatusBarManager.CAMERA_LAUNCH_SOURCE_WIGGLE) { + mLastCameraLaunchSource = KeyguardBottomAreaView.CAMERA_LAUNCH_SOURCE_WIGGLE; + } else { + + // Default. + mLastCameraLaunchSource = KeyguardBottomAreaView.CAMERA_LAUNCH_SOURCE_AFFORDANCE; + } + // If we are launching it when we are occluded already we don't want it to animate, // nor setting these flags, since the occluded state doesn't change anymore, hence it's // never reset. diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 2bedef7..8465101 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -489,6 +489,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, private ExpandableNotificationRow mDraggedDownRow; private boolean mLaunchCameraOnScreenTurningOn; private boolean mLaunchCameraOnFinishedGoingToSleep; + private int mLastCameraLaunchSource; private PowerManager.WakeLock mGestureWakeLock; private Vibrator mVibrator; @@ -3936,7 +3937,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mHandler.post(new Runnable() { @Override public void run() { - onCameraLaunchGestureDetected(); + onCameraLaunchGestureDetected(mLastCameraLaunchSource); } }); } @@ -3953,7 +3954,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mScreenTurningOn = true; mNotificationPanel.onScreenTurningOn(); if (mLaunchCameraOnScreenTurningOn) { - mNotificationPanel.launchCamera(false); + mNotificationPanel.launchCamera(false, mLastCameraLaunchSource); mLaunchCameraOnScreenTurningOn = false; } } @@ -4118,7 +4119,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } @Override - public void onCameraLaunchGestureDetected() { + public void onCameraLaunchGestureDetected(int source) { + mLastCameraLaunchSource = source; if (mStartedGoingToSleep) { mLaunchCameraOnFinishedGoingToSleep = true; return; @@ -4144,7 +4146,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mGestureWakeLock.acquire(LAUNCH_TRANSITION_TIMEOUT_MS + 1000L); } if (mScreenTurningOn || mStatusBarKeyguardViewManager.isScreenTurnedOn()) { - mNotificationPanel.launchCamera(mDeviceInteractive /* animate */); + mNotificationPanel.launchCamera(mDeviceInteractive /* animate */, source); } else { // We need to defer the camera launch until the screen comes on, since otherwise // we will dismiss us too early since we are waiting on an activity to be drawn and diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java index 2587b9f..bbe5dd9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java @@ -171,7 +171,7 @@ public class TvStatusBar extends BaseStatusBar { } @Override - public void onCameraLaunchGestureDetected() { + public void onCameraLaunchGestureDetected(int source) { } @Override |