Commit Graph

4702 Commits

Author SHA1 Message Date
Tony Wickham ac929f4ad8 Merge "Disallow scrolling if workspace is in transition." into ub-launcher3-burnaby-polish 2015-12-02 23:11:09 +00:00
Sunny Goyal 093a58cc77 Merge "Keeping the focus indicator on the widget view, while a child is focused" into ub-launcher3-burnaby-polish 2015-12-01 23:19:11 +00:00
Sunny Goyal 9326461652 Adding margin to Drag layer instead of checking for right insets at every place
Bug: 25692432
Change-Id: I853f41a17c54b30b7772b9fd8556d9465de84752
2015-12-01 14:43:32 -08:00
Sunny Goyal 0c4e37223f Keeping the focus indicator on the widget view, while a child is focused
Bug: 25199581
Change-Id: Ie08d1438ae0c1b5d4fcaa4d642508c1b9db0f5d4
2015-12-01 14:38:14 -08:00
Sunny Goyal 0c2f0700a5 Only fetching firstInstallTime for an activity when required
Change-Id: Ia16c05718938849f4250802d8770ddfe6dbef055
2015-11-30 09:51:39 -08:00
Sunny Goyal d007d0722c Merge "Allowing widgets to be focusable" into ub-launcher3-burnaby-polish 2015-11-25 18:10:56 +00:00
Tony Wickham 6e83dc4031 Merge "Skip to the end of the folder open animation in battery saver mode." into ub-launcher3-burnaby-polish 2015-11-25 00:02:12 +00:00
Tony Wickham 1a690cb785 Don't let folder be replaced with final item twice.
Bug: 25732317
Change-Id: I77b3ddc8951583bebfb908fda934c9b80ddebce0
2015-11-24 15:34:53 -08:00
Sunny Goyal 7bce5f7988 Tying LauncherAppState lifecycle with LauncherProvider
The content provider is the first component started with the main process,
which makes it ideal for initiating LauncherAppState

Change-Id: I03db82a8949ad1376af53a0033592f421dbf0b15
2015-11-24 12:06:42 -08:00
Sunny Goyal 4ee66259eb Merge "Setting statusbar and nav bar colors in theme instead of code" into ub-launcher3-burnaby-polish 2015-11-23 18:45:41 +00:00
Tony Wickham 298f1c4578 Merge "Focus doesn't leave folders without also closing them." into ub-launcher3-burnaby-polish 2015-11-23 18:43:21 +00:00
Tony Wickham feec2171f8 Focus doesn't leave folders without also closing them.
- Pressing Tab wraps around to the first item from the folder name,
  and vice versa when pressing Shift+Tab.
- When tapping off the folder while editing the text, the folder
  requests focus. We handle the following cases from that state:
    - Pressing an arrow key or Tab gives focus to the first item.
    - Pressing Shift+Tab gives focus to the last item.
- Fix slight corner case where moving from folder name to an item
  didn't update mIsEditingName to false. So when clicking off of
  the folder, it gave focus to the folder (as mentioned above)
  instead of closing the folder like it usually does when icons are
  focused. Not a huge deal, but still worth fixing.
Bug: 25687579
Change-Id: I1bec844c8ccd09529a11b9e3a1d92b3bdf7b2eb3
2015-11-20 15:08:55 -08:00
Tony Wickham a5209e33fc Disallow scrolling if workspace is in transition.
Because going to overview mode scales down the workspace, it was
thinking the touch was moving even though your finger was still. If
the "movement" was large enough, it was treated as a scroll, causing
jank. This was especially prevalent on tablets due to their size.

Bug: 25779718
Change-Id: Idb7833e0087bd24ca840f6afc451bf221f6bc047
2015-11-19 12:45:30 -08:00
Tony Wickham 55bd16bfdc Merge "Stop requesting focus on folder if it was closed without animating." into ub-launcher3-burnaby-polish 2015-11-19 00:36:20 +00:00
Tony Wickham 30bdd6eb69 Stop requesting focus on folder if it was closed without animating.
Bug: 25092436
Change-Id: Ia6b72ec8c9fa02fc159457b81fef12f6fd394769
2015-11-18 02:08:22 +00:00
Sunny Goyal b9c29d455e Fixing crash when uninstalling an app destroys the folder
Bug: 25666490
Bug: 25677822
Change-Id: Id71c04df0a5546ba95239ba2e3f7aabb697375a4
2015-11-14 18:09:20 +05:30
Tony Wickham 6159c242bc Revert "Revert "Reverting folder cell width on portrait phones.""
This reverts commit 1974e98f5e.

Change-Id: I7c5d86de187989c085f676933ce3f1cbd57ed8a7
2015-11-13 18:07:18 +00:00
Tony Wickham 1974e98f5e Revert "Reverting folder cell width on portrait phones."
This reverts commit b25e684a76.

Change-Id: Ie86adc4b35c73ab7ef78d73225b437adc4751172
2015-11-12 23:46:33 +00:00
Tony Wickham b25e684a76 Reverting folder cell width on portrait phones.
The extra folder cell space added in ag/790800 looks bad on phones in
portrait mode, so reverting it here. However, we keep the extra space
on tablets or phones in landscape mode, since it provides more room
for long app names (bug 22462641).

Bug: 25662215
Change-Id: I2a37b884458ee557c9b8cff0c3edef16bfc50efb
2015-11-12 15:34:59 -08:00
Tony Wickham 112ac95571 Skip to the end of the folder open animation in battery saver mode.
Bug: 25666809
Change-Id: I867d56a34fc5e0ad6aaabd8b6df47be05ec31966
2015-11-12 12:51:06 -08:00
Tony Wickham a43f78fc4b Merge "Handle more cases in FocusHelper#handleHotseatButtonKeyEvent()." into ub-launcher3-burnaby-polish 2015-11-11 17:16:14 +00:00
Tony Wickham 4fc8287c78 Handle more cases in FocusHelper#handleHotseatButtonKeyEvent().
The first of these cases seems like they should already have been
present, and the last couple allow you to switch pages by hitting
arrow keys on the edges of the hotseat.

Bug: 25589939
Change-Id: I9378b209250f7dc376fa97efde979bcee2979537
2015-11-10 16:52:14 -08:00
Tony Wickham 26b0142543 Don't add offset to CellLayout's fullscreen children.
Bug: 25411084
Change-Id: Ifbcd0a53cf04a7fc29386f4f09aaf7f972e7354a
2015-11-10 14:49:36 -08:00
Tony Wickham 0e2f3849b8 Merge "Make sure user can always get to next page with keyboard." into ub-launcher3-burnaby-polish 2015-11-06 18:10:05 +00:00
Tony Wickham 0f6f2b181f Merge "Stop explicitly snapping to page when navigating with keyboard." into ub-launcher3-burnaby-polish 2015-11-06 18:08:44 +00:00
Tony Wickham c2964cb6cd Make sure user can always get to next page with keyboard.
There's a case where hitting the left/right arrow in the first/last
column wouldn't give focus to an icon on the next page because it is
vertically too far from the first icon to be considered. This makes
for a bad user experience, because there is no way to switch pages
with the keyboard. So now we brute-force search for an appropriate
icon if none was found in this case.

Bug: 25434120
Change-Id: Ifdead0e3b458717ccb33e2f0ec7c15f1fcce4b95
2015-11-05 12:54:17 -08:00
Sunny Goyal 1b323794f2 Ignoring DeadObjectException in startListening
> As of android M, the platform somtimes throws DeadObjectException
instead of TransactionTooLargeException

Bug: 25305031
Change-Id: I3a98db8a5041aef01640d16f9beb71b72bf598f1
2015-11-05 16:10:55 +05:30
Tony Wickham 25189851ac Stop explicitly snapping to page when navigating with keyboard.
When an icon grabs focus, it already snaps to its own page, so
the explicit snapToPage() is redundant. And in the case where no icon
will grab the focus, the explicit call puts us in a weird state
because the page snaps but the focus doesn't change (see bug).

(This happens, for instance, if you are moving from an icon on the
bottom right of page 1 and the only icon on page 2 is in the top
left. In this case, the second icon won't take focus because the
angle is too wide according to FocusLogic#handleDpadHorizontal().)

Bug: 25434120
Change-Id: I17b0ef7d86426a2599bc948bf2313dca7e112364
2015-11-04 17:44:32 -08:00
Tony Wickham 04e2c9ef56 Stop clearing focus when snapping to a new workspace page.
Clearing the focus was causing the first child in the new page to
immediately take focus, which caused FocusIndicatorView jank when
using a keyboard.

Bug: 25256728
Change-Id: I5ab31ebc3fe370d7ac9e9792b30dab3467023738
2015-10-30 18:04:48 -07:00
Sunny Goyal 25c2e3ef07 Allowing widgets to be focusable
> Pressing 'enter' enters the focus inside the widget.
> If the widget has only one focusable, it directly performs click
> Pressing 'esc' brings the focus back to the parent host.

Bug: 25199581
Change-Id: Ia7fd5d929f5945d61173abd349660a5efbe74afc
2015-10-30 10:03:45 -07:00
Tony Wickham a3c74d10a7 Setting correct height for search bar widget options bundle.
- Seperate search bar height from its top and bottom paddings
- Report this height plus 8dps top and bottom for the widget options
- Use a separate bottom padding to adjust spacing between QSB and
  the workspace
- Add tests to verify the height of the search bar in both normal and
  tall modes (ran on Nexus 6, 7, and 10)
Change-Id: Ia7557785d1b38194eee869d0460456e8f33447d5
2015-10-29 12:18:28 -07:00
Winson Chung cbdb153893 Merge "Disabling the desaturation of fast scroll items." into ub-launcher3-burnaby-polish 2015-10-28 22:35:00 +00:00
Winson c08c59de07 Disabling the desaturation of fast scroll items.
Change-Id: I7e90e3b35dc6473ba5e2319abcea5c0c76cbd708
2015-10-28 15:30:38 -07:00
Sunny Goyal 097db343a4 Setting statusbar and nav bar colors in theme instead of code
Change-Id: I4da50809d14f5fa4e47df47fcfd99df7b713950d
2015-10-28 14:30:01 -07:00
Tony Wickham c3d76582b6 Merge "Add null check in Launcher onNewIntent() before moveToDefaultScreen()." into ub-launcher3-burnaby-polish 2015-10-27 01:02:26 +00:00
Sunny Goyal 1ba7e36cc8 Fixing null check when calling mutateOnMainThread
Bug: 25269169
Change-Id: I74f7fb833a374f59a16487099f1bf72b086e88ee
2015-10-26 10:42:12 -07:00
Tony c1739096b4 Add null check in Launcher onNewIntent() before moveToDefaultScreen().
There is a race condition that occurs primarily (maybe entirely) with
Android Auto, it seems because they hijack the Home intent or something
similar. I'm not exactly sure how Android Auto works, but if I pair my
phone with the Desktop Head Unit (car dashboard emulator), I can repro
the NPE fairly easily by simply force closing Android Auto and then
disconnecting my phone from the DHU. If I don't force close Android
Auto, then pressing home launches Android Auto or other apps that I
assume handle some custom intent, such as Car Home Ultra, instead of
normal Home intents such as Launcher3/Google Now Launcher. So I think
what's happening is that, when the phone is disconnected from the car,
Android Auto restores and launches the real home intent (Launcher 3)
around the same time that it destroys the previous home intent
(Android Auto, Car Home Ultra, etc.). This could cause the NPE if both
intents are actually Launcher 3, as is the case when Android Auto is
already closed, because mWorkspace is set to null in
Launcher#onDestroy() (something like onNewIntent() --> post() called
--> onDestroy() --> post() runs). This is consistent with the fact
that I can guarantee a repro if I use postDelayed() instead of post().

Long-winded explanation aside, I think this fix is safe, especially
since we already have a null check for mWorkspace in onNewIntent(),
just not inside the post().

Bug: 24610231

Change-Id: I42f75b83946f375d947be1961a1f2a03a3707a84
2015-10-26 01:31:53 +00:00
Tony Wickham 52040c2d51 Merge "Set search bar height before setting up views in Launcher." into ub-launcher3-burnaby-polish 2015-10-23 18:38:46 +00:00
Tony Wickham df315180f0 Don't add cells to FocusLogic sparse matrix if they aren't focusable.
Previously, any child of ShortcutAndWidgetContainer was added to the
matrix, causing widgets (which aren't focusable) to be considered as
potential targets to gain focus when an arrow key was pressed. But if
the algorithm chose them, they couldn't take the focus so nothing
happened (i.e. the focus stayed on the app/folder it was on before).

Bug: 25126768
Change-Id: Id55fc310f7f58fb8795cce51dcefe4fd1210f788
2015-10-21 17:50:22 -07:00
Sunny Goyal 935fca1857 Do not animate folder when it is closed while changing activity state
Bug: 21733536
Change-Id: I36aa3041b9300c917e320b511e00a1721e44f854
2015-10-21 13:42:36 -07:00
Tony Wickham eef443248a Set search bar height before setting up views in Launcher.
This ensures that the QSB widget options are set correctly the first
time they are used.

Bug: 24704753
Change-Id: I2bb13ff012b6f13ca076deed61f0b08a7037e2fa
2015-10-21 12:20:31 -07:00
Sunny Goyal 5c6f99e290 Merge "Fixing disabled icon getting changed back to normal state on long press" into ub-launcher3-burnaby-polish 2015-10-21 00:18:25 +00:00
Tony Wickham c2bc0ef1c3 Fix regression where keyboard couldn't switch between workspace pages.
Bug: 25122302
Change-Id: Id1d7628753ce7ef37af50e8594e541dcb6bea13e
2015-10-20 16:24:53 -07:00
Sunny Goyal cd5b7f9fc6 Fixing disabled icon getting changed back to normal state on long press
Change-Id: I4f35c1cbecfef7891f8b1187ba3be0af695d4fd5
2015-10-20 15:52:48 -07:00
Sunny Goyal f725824fa2 Refactoring getPreferenceKey method
This method was returnning a constant and getting inlined by proguard.

Change-Id: I87348e25b21483adc1b27d16f99dec4b73205701
2015-10-20 09:41:04 -07:00
Winson Chung fb4014daa3 Merge "Fix issue with source params not reporting predicted apps." into ub-launcher3-burnaby-polish 2015-10-16 22:20:14 +00:00
Winson a49b1f75cd Fix issue with source params not reporting predicted apps.
Bug: 25020080
Change-Id: Iaa67ccbb3e3a6c264aaa4fa3c915faad8a69bbbc
2015-10-16 14:57:24 -07:00
Tony Wickham f79d347a61 Add LauncherCallbacks method to add additional search widget options.
am: 775455c4a8

* commit '775455c4a8266655bf43b943e969d42ac32609ec':
  Add LauncherCallbacks method to add additional search widget options.
2015-10-16 20:40:34 +00:00
Tony Wickham 775455c4a8 Add LauncherCallbacks method to add additional search widget options.
Bug: 25000458
Change-Id: I5e8d48617568569bc6e4f284749c3ed9fb20a68f
2015-10-16 10:15:36 -07:00
Tony Wickham fb062c6335 Close some Cursors and call super.onFinishInflate().
Android Studio gave these warnings, and they seem like good ideas.

Change-Id: I9a4d3997fd18e86e007e4511e1ac9e8a75509265
2015-10-16 10:12:23 -07:00