Commit Graph

50 Commits

Author SHA1 Message Date
Winson Chung
df7d00328c Add launcher logging of back button
Bug: 127848641
Test: adb shell setprop log.tag.UserEvent VERBOSE, then hit back
Change-Id: I020738280d2e51a8a192e577baf48c0b092f22f6
2019-04-03 13:57:21 -07:00
Hyunyoung Song
fc00747909 Add StatsLog*Manager for logging.
Bug: 113043444

Verification: (19) is our event classifier number
11-05 11:24:28.188   932   994 I statsd  : { 1541445868000000000 766293363001 (19)0x10000->1[I] 0x20000->0[I] 0x30000->0[I] 0x40000->[S] 0x50000->1[I]  }

Change-Id: I75403837f9fa8e51efa012fb708bce7efc9c4488
2018-11-05 11:41:38 -08:00
Sunny Goyal
d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -07:00
Hyunyoung Song
956ec4b0e5 Remove device profile dependency from UserEventDispatcher
Bug: 110122682

Change-Id: I31ba61e60e31f1cc84e6d0cf115193e45d9fcfdb
2018-07-11 23:31:01 -07:00
Sunny Goyal
7f920b8d5e Cleaning up build rules to simplify customizing derivative projects
> Using {packageName} instead of hardcoding com.android.launcher3 in AndroidManifest.xml
  for strings which are dependent on packageName
> Adding proguard rule to prevent obfuscating any overridable class
> Making it easier to extend SettingsActivity by overriding the fragment class

Change-Id: I5668c3f33b4cf20ad01d7f54b3d79cc0d268d391
2018-07-02 11:16:04 -07:00
Hyunyoung Song
46d07f7cb0 Log the parent of the PREDICTION container type (ALLAPPS OR TASKSWITCHER)
Bug: 79423536

Change-Id: I23ff0d4d0aa3fec781e9b6c8792d2d7a738ca6c8
2018-05-23 11:35:02 -07:00
Hyunyoung Song
bd6fba9f58 onResume event should be logged (not twice but once)
Bug: 79541772

Change-Id: I5fe1271007e4579e1ec95d51c215ef48d0c6eedd
2018-05-21 12:27:46 -07:00
Hyunyoung Song
1241e61a45 Improve Task user event logging
Bug: 79539824
Bug: 79541772

(1) Added page index of the TASK that is being launched
(2) Covers all three cases of task launch (tap, swipe down, quick scrub)
UserEvent: action:FLING direction=DOWN
UserEvent:  Source child:TASK, packageHash=-1598699687, componentHash=1952702153, pageIdx=0

UserEvent: action:DRAGDROP
UserEvent:  Source child:TASK, packageHash=-744307622, componentHash=-515832044, pageIdx=4

(3) Avoid double logging (When onStop is called, it is not logged if
the cause of onStop is APP or TASK launch)

Change-Id: Ic5db7d6a640d43bfb5cd667b49e37dd0ed127d5c
2018-05-16 11:26:35 -07:00
Hyunyoung Song
018eec6899 Add logging for Onboarding
Bug: 73784423

* Discovery bounce, homescreen, hotseat
UserEvent: action:TIP
UserEvent:  Source child:HOTSEAT id=0 BOUNCE

* Discovery bounce, overview, prediction
UserEvent: action:TIP
UserEvent:  Source child:PREDICTION BOUNCE

* Swipe up from navbar text (visibility, cancel target)
UserEvent: action:TIP
UserEvent:  Source child:TIP SWIPE_UP_TEXT

UserEvent: action:TAP
UserEvent:  Source child:CANCEL_TARGET SWIPE_UP_TEXT

* Quickscrub text (visibility, cancel target)
UserEvent: action:TIP
UserEvent:  Source child:TIP QUICK_SCRUB_TEXT

UserEvent: action:TAP
UserEvent:  Source child:CANCEL_TARGET QUICK_SCRUB_TEXT

* Prediction apps text (visibility, cancel target)
UserEvent: action:TAP
UserEvent:  Source child:TIP PREDICTION_TEXT

UserEvent: action:TAP
UserEvent:  Source child:CANCEL_TARGET PREDICTION_TEXT

Change-Id: I94710b5ed3d00e3599985b154eb660af4a958288
2018-05-15 14:31:07 -07:00
Hyunyoung Song
a05860421f Log OVERVIEW_ACTIVITY via MetricsLogger in quickstep
Bug: 77920179

Change-Id: Id4c7dc3d535c7a8009d340183e640b04ab07408a
2018-05-02 14:34:23 -07:00
Tony Wickham
9bd862e588 Log dismissing or launching recent tasks
We now pass the log action (e.g. SWIPE or FLING) to the pending
animation, so that the end listener can log appropriately. This
is used when swiping down or up on a task, for example.

Bug: 73783784
Change-Id: I5c2eee24e8b23cf4af68d503d3435a6d8088dd8a
2018-04-06 15:41:39 -07:00
Mario Bertschler
d2e3c5de56 Adding WEB_APP item type for logging.
Set in LoggerUtils.newItemTarget if instant app

Bug:67049361
Change-Id: I8e99e5c60bf1a2083f898e8978d403138f803276
2018-04-03 21:18:38 +02:00
Hyunyoung Song
647d8f5bd1 Fix index out of exception inside UserEventDispatcher
Change-Id: Ie043ba8185c4dcd794067421682d8b4bb6095c9f
2018-02-22 11:31:31 -08:00
Sunny Goyal
d70e75a514 Removing launcher dependency when logging quickstep interaction
as Launcher may not be ready when the touch gesture completes.

Change-Id: Ia69eb7bfb0340f7b7ce9b6c67be8851e5429f867
2018-02-22 10:21:41 -08:00
Hyunyoung Song
b3fbc0ba8f Quick step/scrub/switch logging
- state transition happening due to Home and back is handled by
  specifying src target as 'from' container and dst target as the 'to'
  container
- Source and Destination container shows FROM and TO state for SWIPE/FLING
- event.isStateChange = true indicates that an action resulted in
  state transition
- Elapsed container millis is the screen time on the source container

Bug: 70181187

- logcat printout with setprop log.tag.UserEvent VERBOSE
1) State: WORKSPACE -> ALLAPPS
  action:FLING direction=UP
  Source child:HOTSEAT id=0	parent:WORKSPACE id=0
  Destination child:ALLAPPS
  Elapsed container 1225 ms, session 1225 ms, action 0 ms

2) ALLAPPS -> HOMESCREEN
  action:FLING direction=DOWN
  Source child:ALLAPPS	parent:ALLAPPS
  Destination child:WORKSPACE id=0
  Elapsed container 971 ms, session 2197 ms, action 0 ms

3) HOMESCREEN -> OVERVIEW
  action:FLING direction=UP
  Source child:NAVBAR	parent:WORKSPACE id=0
  Destination child:TASKSWITCHER
  Elapsed container 4834 ms, session 4834 ms, action 0 ms

4) OVERVIEW-> ALLAPPS
  action:FLING direction=UP
  Source child:TASK	parent:TASKSWITCHER
  Destination child:ALLAPPS
  Elapsed container 2176 ms, session 7010 ms, action 0 ms

5) ALLAPPS->OVERVIEW
  action:FLING direction=DOWN
  Source child:ALLAPPS	parent:ALLAPPS
  Destination child:TASKSWITCHER
  Elapsed container 3683 ms, session 10693 ms, action 0 ms

6) OVERVIEW-> HOMESCREEN
  action:FLING direction=DOWN
  Source child:TASK	parent:TASKSWITCHER
  Destination child:WORKSPACE id=0
  Elapsed container 2108 ms, session 12801 ms, action 0 ms

7) APPS-> OVERVIEW
  action:FLING direction=UP
  Source child:NAVBAR	parent:APP
  Destination child:TASKSWITCHER
  Elapsed container 104 ms, session 104 ms, action 0 ms

8) Quickscrub: action:DRAGANDDROP Source child: QUICK

9) Quickswitch: action:FLING Source child: QUICK

Change-Id: I5898230859ff600f48a2a873a40b670fe4d39a0d
2018-02-20 22:40:19 -08:00
Hyunyoung Song
7fb3ccc4a5 Log time spent on different UI surfaces
- When swipe happens on worskpace, elapsed container ms is reset
- Fling DOWN is also logged so that we now know how much time was spent on
  all apps screen
- If screen off or power button trigger onPause, log this event.

Bug: 67745115
Change-Id: Ie3a0090c78195a4a028de9935131e9e034dcf48a
2017-10-19 15:15:02 -07:00
Sunny Goyal
aeb1643ec6 Launcher state management cleanup
> Removing Widgets and related states
> Fixing different durations being used when opening/closing all-apps
> Removing some unnecessary object allocations when changing state without animation
> Differentiating widget bootm sheel and full sheet in logs

Bug: 67678570
Change-Id: Ic169528736d04ee0b38564b4f96595ba066eabda
2017-10-17 12:42:08 -07:00
Sunny Goyal
2b50b53183 Updating UserEventDispatcher to make some methods accessible.
> Removing helper methods around fillInLogContainerData so that its easier to
  create events with 3 and more srcTargets
> Removing setPredictedApps from userEventDispatcher as its specific to Launcher
  and does not apply to other activities. Instead moving it to AllAppsRecyclerView

Bug: 63719473
Change-Id: Ib92621e41ede4ffe03892642ab173772b5a84dd1
2017-07-19 11:03:35 -07:00
Hyunyoung Song
5a1ab2ef85 Salt packageNameHash with unique user identifier
Bug: 62676166

Change-Id: I10b301b50e0198aeb52c1c437b9a84aaf323ef66
2017-07-06 10:05:07 -07:00
Hyunyoung Song
ef6746bc65 Revert "Salt the package hash code using the device serial Bug: 62676166"
This reverts commit e8ca28179b.

Change-Id: I9fd51321d671d5ff90c7bfaddc05fc6ba11018e3
2017-06-29 22:09:16 +00:00
Hyunyoung Song
e8ca28179b Salt the package hash code using the device serial
Bug: 62676166

Change-Id: Id723cc3f283bc05b01185abef9084d6dbd75fbbc
2017-06-29 13:16:52 -07:00
Tony Wickham
1d0b0e25dc Log when App info or Widgets system shortcuts are tapped
Sample output:
D/UserEvent: action:LONGPRESS
              Source child:APP_ICON, grid(1,3), span(1,1), pageIdx=0	parent:WORKSPACE id=0
              Elapsed container 135 ms session 7984 ms action 0 ms
              isInLandscapeMode false
              isInMultiWindowMode false
D/UserEvent: action:TAP
              Source child:WIDGETS_BUTTON	parent:DEEPSHORTCUTS
              Elapsed container 41 ms session 8906 ms action 0 ms
              isInLandscapeMode false
              isInMultiWindowMode false
D/UserEvent: action:LONGPRESS
              Source child:APP_ICON, grid(1,3), span(1,1), pageIdx=0	parent:WORKSPACE id=0
              Elapsed container 184 ms session 11297 ms action 0 ms
              isInLandscapeMode false
              isInMultiWindowMode false
D/UserEvent: action:TAP
              Source child:APPINFO_TARGET	parent:DEEPSHORTCUTS
              Elapsed container 678 ms session 11976 ms action 0 ms
              isInLandscapeMode false
              isInMultiWindowMode false


Bug: 37430954
Change-Id: I526edbf1eea551eb8eaddbb27e52058804fee874
2017-05-25 21:37:58 +00:00
Hyunyoung Song
ec6a48ce60 Merge "Log whether an event happened during landscape mode or not b/38211234" into ub-launcher3-dorval
am: 441c628a75

Change-Id: I2101f93fc5dca6e0f216a2cc8b86b976dc052bbe
2017-05-16 18:58:07 +00:00
Hyunyoung Song
d5a9b57713 Log whether an event happened during landscape mode or not
b/38211234

<sample log>
  action:TAP
  Source child:APP_ICON, packageHash=-1046965711, componentHash=-371608779, intentHash=208792422, grid(4,4), span(1,1), pageIdx=0	parent:WORKSPACE id=0
  Elapsed container 3071 ms session 3071 ms action 0 ms
  isInLandscapeMode true
  isInMultiWindowMode false
</sample log>

Change-Id: I44dfe4e7ee2a41c56a50cc2b507bbbeedc458018
2017-05-16 11:12:43 -07:00
Jon Miranda
fcaff64c93 Resolve merge conflicts of 8eb0de133 to ub-launcher3-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I1e888f6941435befe6f1819de74dea985909ddf0
2017-03-28 12:14:13 -07:00
Jon Miranda
fe96432b43 Add isInMultiWindowMode bool to all logs.
Example output:
D/UserEvent: action:LONGPRESS
       Source child:WORKSPACE id=0
       Elapsed container 1850 ms session 1850 ms action 0 ms
       isInMultiWindowMode true

Bug: 34250955

Change-Id: If21484e8bbb0f4f311c2eb6e94b7dcea6d2431af
2017-03-22 13:08:50 -07:00
Sunny Goyal
3d706ad703 Separating the config and flags in different directories so that
it is easier to override one or the other

Bug: 36001650
Change-Id: I713f4f5dbcf902614ce9f6c7a73bdace7bdf1ea0
2017-03-07 09:30:51 -08:00
Sunny Goyal
a535ae423b Moving Event dispatcher definition from LAuncher to BaseActivity so that
it can be used in other activities as well.

Bug: 34766840
Change-Id: Ie4b723483792bee93fb75e63146ebea7dfeebeda
2017-02-27 10:09:09 -08:00
Jon Miranda
c6cf493b07 Add basic logs for tap outside action.
Change-Id: I6288610b9870c3abe88794c53309b1d76dd2780f
2017-02-07 17:14:28 -08:00
Tony Wickham
c6b79e307f Add logging for notifications.
- Log notification launches
- Log notification swipes
- Fix logDragNDrop() to only log if the pre-drag ends (so it doesn't
  log a long-press that only shows shortcuts without dragging).
- Add shortcut rank to logs when launching deep shortcuts, where 0
  is the shortcut closest to the app icon (highest rank).

Bug: 34770729
Bug: 32410600
Change-Id: I99dcef9b6a71da2ef58e32397702bb137407b10f
2017-02-07 10:16:52 -08:00
Hyunyoung Song
3c7d9cbb20 Clean up around 1) Log.VERBOSE and 2) dump
b/31772480

Note: in the follow up CL, I will add the dump result of the bgDataModel
to a proto

Change-Id: I5261cff0fb29cedd1dd772b8b15f67095ad5b967
2017-02-01 15:11:08 -08:00
Sunny Goyal
6c46a6d324 Using java_style enum generation for proto
This makes it easier to track various method parameters and simplifies
debug logging

Change-Id: Ib7c3d52590d0c36b2c8460c889ee3bead3454569
2016-12-15 09:30:35 -08:00
Sunny Goyal
fa94c79ca6 Consolidating a few log util methods
LoggerUtils had a lot of methods with same name and similar arguments
but completely different behavior.
Instead only defining macros in LoggerUtils and movoing the action
logic in the UserEventDispatcher.

Change-Id: Ibce8ea1a0890499b47c950930accb9b28473f44c
2016-12-15 08:19:18 -08:00
Jon Miranda
feba90fe80 Added logging for HOME_INTENT and BACK commands.
Document: go/false-longpress-overview

Change-Id: If6ba4996c861a44f4950b41acb4246e3a483d8f2
2016-11-21 17:01:24 -08:00
Hyunyoung Song
0860e41d50 Add logging for workspace rearrangement in overview mode
am: 0d4899026c

Change-Id: Ie6569ecafdd63981e167a910f852a8133697ae81
2016-11-21 19:48:08 +00:00
Hyunyoung Song
0d4899026c Add logging for workspace rearrangement in overview mode
b/32457561

Change-Id: Ic38fbd540616a74f26c19a09ab4247fe8f9174b4
2016-11-17 20:48:18 +00:00
Hyunyoung Song
df7ef68bbf Refactors in UserEventDispatcher
- LaunchSource -> LogContainer

Change-Id: I71bfee992fb1ba7ae80e824d419f7bf8d3020999
2016-10-06 17:52:22 -07:00
Hyunyoung Song
0de011705b Code sanitization
- Removed bad method/class name typos

Change-Id: Ie6900e9e3d9ce9b550d2a2442a5dac3f7050a573
2016-10-06 10:57:29 -07:00
Jon Miranda
f3e35d9331 Add logging for long presses. Reset elapsed timer when changing containers.
This is the first CL in a series of logging-related CLs. Upcoming CLs will
include using Commands (HOME_INTENT, BACK) and "tapping outside" of a container
logic.

Change-Id: I62f0a08c7a9d9fce0baa5c12c67e21f63ab16a7c
2016-10-05 15:22:23 -07:00
Hyunyoung Song
d8fcffb8fe Add user event logging for tap on search
b/31772967

Change-Id: I71ececb8195d46405623a8ae2a99d001088d9181
2016-10-03 14:01:25 -07:00
Hyunyoung Song
ffad962092 Add user event logging for action on search box
b/31772967

Change-Id: Ide652ddfad931e392b21f5a2bbdf9f07729d0383
2016-09-27 18:07:00 -07:00
Hyunyoung Song
59a238095e Support user event logging for drag and drop
b/30039490

Supported in this CL:
- DnD: drag from container [WORKSPACE|HOTSEAT|FOLDER|ALLAPPS|WIDGETS|DEEPSHORTCUTS]
       drag to container [HOTSEAT,WORKSPACE,FOLDER,DROPTARGETS]
- Source and target can be [FOLDER_ICON, ICON, DEEPSHORTCUT, WIDGET]
- $ adb shell setprop log.tag.UserEvent DEBUG will turn on debugging

Change-Id: I0b8b879b80e6dce85bbde6e7794f9e0677832603
2016-09-01 12:47:12 -07:00
Hyunyoung Song
8ce6063c4a Set launch source target correctly for user event logging
Before, everything is set to APP_ICON
With this changed, pinned shortcuts are set to DEEPSHORTCUT

Change-Id: I3e17de63f58693525236290ef5cb1f909f1d6098
2016-08-15 16:22:20 -07:00
Tony Wickham
be06874c81 Log shortcuts open on ACTION_UP instead of in showForIcon().
- We only want to log when the container is opened and potentially
  used, not when a long press is followed by a drag-and-drop.
- Also cleaned up code that was determining the container of the
  app icon, since LaunchSourceProvider.fillInLaunchSourceData()
  can do that instead (it's more robust and consistent).

Bug: 30791570
Change-Id: I05b6750f26182fda8a9940ac66f1371c2d228ca9
2016-08-10 18:26:41 -07:00
Tony Wickham
55c6691e3a Add logging for shortcuts opening.
- Log as long press with child type DEEPSHORTCUTS container
- Parent type can be one of WORKSPACE, HOTSEAT, FOLDER,
  ALLAPPS, PREDICTION, or SEARCHRESULT.

Bug: 30537079
Change-Id: Ie62e4889ee06c845f959ca998781787a7fdaf00e
2016-08-01 17:55:07 -07:00
Hyunyoung Song
5aa2714959 Add user event log for deep shortcuts and all apps opening interaction.
b/30114798

Change-Id: I11ad99d0bc1983294d6a5329b98917cb87250823
2016-07-21 11:48:37 -07:00
Sunny Goyal
64976d5a56 Fixing potantial context leak code path
The javadoc in createUserEventDispatcher suggested that it can be used
as a singleton. But it was being constructed as an inner class which
would cause context leak when used as singleton

Change-Id: I706018d4ab26b506ac936fe1a7304d9b530b820c
2016-06-20 14:57:54 -07:00
Hyunyoung Song
373f5718f6 Fixing a crash/ Launcher3 doesn't have predicted apps
Change-Id: Id405e6d077f8b4c3fb399d4a613d6013dca5cddc
2016-05-11 11:26:01 -07:00
Hyunyoung Song
6470cf449f Send predictedApps rank via user event logging
Change-Id: Ib492cb77bce0bc57f60bc4b1310df0810b63d0aa
2016-05-10 16:59:55 -07:00
Hyunyoung Song
aa95365427 Refactor UserEventDispatcher (1/2)
b/28269657

Change-Id: I1083e6f73f42ac1986428a39c6b532050e595ac6
2016-04-19 18:30:24 -07:00