Commit Graph

897 Commits

Author SHA1 Message Date
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
Sunny Goyal 9eba1fd75e Refactoring WallpaperOffsetInterpolator to a new file
Removing some us unused methods

Change-Id: Ife790e5ca6848fa13dc3fab1bba1e6220bf83743
2015-10-16 09:02:25 -07:00
Tony Wickham 9ccb94b6e4 resolved conflicts for a8709ddb to ub-launcher3-master
Change-Id: I172395e6e172914627b6dec721070a66520557b1
2015-10-15 11:18:26 -07:00
Tony Wickham a8709ddbbf Merge "Fix "The specified child already has a parent" IllegalStateException." into ub-launcher3-burnaby-polish 2015-10-15 18:00:59 +00:00
Tony Wickham a0628cc521 Fix "The specified child already has a parent" IllegalStateException.
The problem was due to a race condition between removing a prebound
widget view from the drag layer and adding the same view to the
workspace upon dropping it; if you let go of the widget immediately
after picking it up, the latter happened before the former.

Specifically, the flow was: long-click a widget --> drop --> remove
the view from the drag layer if it's not null (it is, so nothing
happens) --> the view is finally bound/inflated and added to the drag
layer --> add the view to the workspace --> already has a parent.

There are actually 2 problems here: one is that the bind/inflate is
asynchronous, and can therefore happen after dropping the widget view
being inflated, and the other is that the view is added to the
workspace even though the transition has barely started (we usually
ignore drops if the transition is less than half complete). It turns
out that this second problem was also due to a race condition, this
time between dropping a widget or app onto the workspace and calling
LauncherStateTransitionAnimation.dispatchOnLauncherTransitionStart().
If the drop happened before the dispatch, as in the case of the
crash, then the drop was accepted because the transition progress was
still 1.0 from the previous transition.

I fixed the first problem by removing the drag layer widget view
in Launcher where it is potentially used instead of Workspace. And I
fixed the second problem by setting mTransitionProgress to 0 in
Workspace.onLauncherTransitionPrepare().

I also added some debugging logs.

Bug: 23896857
Change-Id: I66944e6d3f23b70dea15f7fb01af0763a1bfcbda
2015-10-15 10:07:06 -07:00
Sunny Goyal b5772c8b4f am 21d89fbf: Merge "Fixing overscroll effect when the navigation bar is opaque" into ub-launcher3-burnaby-polish
* commit '21d89fbf8c444c64a4c85d25a25bbe3b79719de9':
  Fixing overscroll effect when the navigation bar is opaque
2015-10-07 20:45:51 +00:00
Sunny Goyal 21d89fbf8c Merge "Fixing overscroll effect when the navigation bar is opaque" into ub-launcher3-burnaby-polish 2015-10-07 17:22:44 +00:00
Sunny Goyal 77ccb8d03c Removing some unused resources
Change-Id: I6aa8a2d7eb4599ed2351c54fe0885839b5ba4521
2015-10-05 14:14:19 -07:00
Sunny Goyal d1a0e8b5c8 Jailing the saved instance state of all the dynamically generated views
Using itemId instead of generating a new id for each item. This is because
if the process gets killed, View.generateId will get reset but we will still
receive the generated item id map in onRestoreInstance. This will cause
conflicts with newly generated item ids.

We wrap all the generated homescreen views inside a single sparse array. This
ensures that we do not cause any conflict with dynamically generated views in
other parts of the UI.

Bug: 16840760
Change-Id: I6fe69c2e1dd463402f51222715fae31b9d4dd240
2015-10-05 18:25:49 +00:00
Sunny Goyal a13654529c Adding some information in bug reports
> Dumping workspace items
  > Dumping loader logs for crashes and data deletion
  > Removing unnecessary log dumps

Change-Id: Ia320988c2e3665e4d605d6e88bca77738e749273
2015-10-01 15:48:35 -07:00
Tony Wickham 778c0b020d Scale down drag views in spring-loaded workspace.
Bug: 24190193
Change-Id: Ic490fc3f46702c3d5360e869c4172f31700085a1
2015-10-01 11:08:36 -07:00
Tony Wickham e038562675 Create widget resize frame after spring loaded workspace has exited.
Before, the resize frame was created as soon as a widget was dropped,
but this caused it to be in the wrong spot after the spring loaded
mode exited. Instead, we should wait until the workspace is back to
normal before creating the resize frame.

Bug: 24192073

Change-Id: I8d87febcc4ec7e3c44d50135184c3a837d7cd960
2015-09-29 18:22:05 -07:00
Tony Wickham a3b240d32b Merge "Drags originating in Folder exit spring loaded mode when completed." into ub-launcher3-master 2015-09-30 00:01:13 +00:00
Sunny Goyal c5c723bbe4 Fixing string.format missed in previous conflict resolution
Change-Id: Ic71ee97c319bb9141f70acf75f2fe0e40565f692
2015-09-25 12:07:40 -07:00
Sunny Goyal 9d4380856f resolved conflicts for e78e3d73 to ub-launcher3-master
Change-Id: Idc119a57e21cf6016ee0fd91866839301db072d6
2015-09-25 11:50:16 -07:00
Sunny Goyal e78e3d734b Accessibility fixes
1) Use a different content description for temporary new page
2) Use different accessibility description for add widget toast
3) Announce when an item is deleted
4) Announce when hovering over a drop target
5) Announce state during drag-n-drop and widget resize (similar to seekbar)

Bug: 23573321, 24057944
Change-Id: Icabb317625e70c78e11c0b4f99b9339172d93594
2015-09-25 10:22:47 -07:00
Winson 1f832f85d5 am 2949fb5b: Fixing talk-back folder icon removal regression.
* commit '2949fb5b16a07259e221c5c04470e90c8afb4ea8':
  Fixing talk-back folder icon removal regression.
2015-09-24 18:26:44 +00:00
Winson 2949fb5b16 Fixing talk-back folder icon removal regression.
Change-Id: I0b7fff645828d5198500973f1c9ea74f406a1a43
2015-09-24 18:21:16 +00:00
Sunny Goyal 1bf14ff6b7 am f27cb0e6: resolved conflicts for 8ac727b2 to ub-launcher3-burnaby-polish
* commit 'f27cb0e6b1edb2a53de64fdd12d25f400a3acdd9':
  Using custom threadpool executor instead of the one defined in AsyncTask
2015-09-23 23:14:51 +00:00
Sunny Goyal f27cb0e6b1 resolved conflicts for 8ac727b2 to ub-launcher3-burnaby-polish
Change-Id: I34e679bae7faae3c7ca725263fe6cc7c5611e63a
2015-09-23 16:12:02 -07:00
Sunny Goyal 8ac727b2c6 Using custom threadpool executor instead of the one defined in AsyncTask
Change-Id: I8fe95d932c5de14c74f0576bfc3d1f641d12b448
2015-09-23 15:39:14 -07:00
Sunny Goyal 0abb36f692 Fixing overscroll effect when the navigation bar is opaque
The navigation bar is opaque on mobile devices in landscape mode.
Launcher should ignore the right insets and draw the edge effect appropriately.
Also draw the black bar under the navigation bar, just in case we assume it
to be opaque, but it was not actually opaque.

Bug: 18526657
Change-Id: I1d49dcb82b8a5ee25009bc738cd9b8c0c5c88263
2015-09-22 10:57:08 -07:00
Adam Cohen 3c9c7263dc am 9ae42fff: am b3fff9d9: Merge "Cleanup some incorrect / noisey calls to CustomContentCallbacks#onShow / onHide" into ub-launcher3-burnaby
* commit '9ae42fff6f481ea2a06f171da43f630ded313b69':
  Cleanup some incorrect / noisey calls to CustomContentCallbacks#onShow / onHide
2015-09-21 17:44:54 +00:00
Adam Cohen 9ae42fff6f am b3fff9d9: Merge "Cleanup some incorrect / noisey calls to CustomContentCallbacks#onShow / onHide" into ub-launcher3-burnaby
* commit 'b3fff9d98a3e3c886d4efa912d7ad6753dd7ec9c':
  Cleanup some incorrect / noisey calls to CustomContentCallbacks#onShow / onHide
2015-09-21 17:40:50 +00:00
Adam Cohen b3fff9d98a Merge "Cleanup some incorrect / noisey calls to CustomContentCallbacks#onShow / onHide" into ub-launcher3-burnaby 2015-09-21 17:34:05 +00:00
Adam Cohen 4b66bf3cff Cleanup some incorrect / noisey calls to CustomContentCallbacks#onShow / onHide
-> In some instances, onResume would incorrectly call onShow
-> When pressing Home from CustomContent, we'd get a sequence of onHide,
   onShow, and then onHide due to some deferred actions in onNewIntent.
   Got rid of the onShow.

issue 17629011

Change-Id: I9b4f2ef682f5a7060e68210866fa05452076e428
2015-09-18 17:32:00 -07:00
Tony Wickham 2516428710 Drags originating in Folder exit spring loaded mode when completed.
Change-Id: Id020473a7a466fa98897455f48d3de7a3bc4997d
2015-09-18 15:30:24 -07:00
Tony Wickham 6ed058cb6b Wallpaper preview parallax matches the actual wallpaper's.
Cherry picking the following changes from ub-launcher3-master:
Change-Id: I41c5bbbfdabfeb4e20d77e9b5804842a03211edf
Change-Id: I69afa3f8cc59c77e9c4c25e29e8db8c4beb87462
Change-Id: I82b7ba506d51ee4b3812af5fbdf95d3303b37aef
Change-Id: Id7c2b5483c5535d59be2f8a459ce7788e3c8318a

Bug: 23568800
Change-Id: I343169b9fdc5ceaab3d4b39044627d78b7267868
(cherry picked from commit 3e776a87dc)
2015-09-18 13:09:01 -07:00
Winson Chung 26bfdd9d5a am a3c9fb12: Merge "Requiring key chord to delete icons and folders on the workspace" into ub-launcher3-burnaby-polish
* commit 'a3c9fb125c7449df5add990e91e0e3471e3cc776':
  Requiring key chord to delete icons and folders on the workspace
2015-09-18 18:53:48 +00:00
Winson Chung a3c9fb125c Merge "Requiring key chord to delete icons and folders on the workspace" into ub-launcher3-burnaby-polish 2015-09-18 18:49:25 +00:00
Sunny Goyal b3cf2d789e Merge "Refactoring deferred bind logic" into ub-launcher3-master 2015-09-18 17:18:10 +00:00
Tony Wickham 34d2c915c4 Added AppInfoDropTargetBar to spring loaded workspace.
Change-Id: Ieedc68eba9a5934ab30d6d546d8a837274491064
2015-09-15 11:37:58 -07:00
Sunny Goyal 527c7d3460 Refactoring deferred bind logic
> Using ViewTreeObserver to listen for onDraw instead of overriding onDraw in workspace
> Loader passes the list of deferrerd runnables to launcher

Change-Id: Ie4877f746c96e9497396de8089f00f70bf867e17
2015-09-15 10:43:13 -07:00
Tony Wickham e33c09f1be Merge "Initial spring loaded workspace." into ub-launcher3-master 2015-09-15 17:32:31 +00:00
Tony Wickham 94e0d37f53 Initial spring loaded workspace.
It is a bit clunky and doesn't have the App Info drag bar at the
bottom yet, but it is a start.

Also removed page hints because they are no longer used.

Change-Id: I1f8f82d33e6694cab1f1c762e78852ac0d40ab33
2015-09-14 18:26:42 -07:00
Winson fa56b3f2f1 Requiring key chord to delete icons and folders on the workspace
- Also fixing case where the all apps button to search for more apps
  was not focusable

Bug: 20639227
Change-Id: Ie4d9092e654d3cafc0eb346b3bb744ec3e295e92
2015-09-14 19:47:19 +00:00
Tony Wickham 8a511b9123 Merge "Wallpaper preview parallax matches the actual wallpaper's." into ub-launcher3-burnaby-polish 2015-09-14 18:39:56 +00:00
Winson 7089a4e197 am c0b52fef: Refactoring to ensure item deletion always removes from the DB.
* commit 'c0b52fefbc11531d560359c093484099f9d1298e':
  Refactoring to ensure item deletion always removes from the DB.
2015-09-10 22:03:57 +00:00
Winson c0b52fefbc Refactoring to ensure item deletion always removes from the DB.
- Routing the various places where we call through to delete from
  LauncherModel through Launcher, which will delegate the removal
  of the icon from the workspace, and properly handle the removal
  of all items and their contents from the db.

Bug: 23944119

Change-Id: I022fe2b3e79da16b5af87505c4362490b8422686
2015-09-10 14:55:17 -07:00
Tony Wickham 3e776a87dc Wallpaper preview parallax matches the actual wallpaper's.
Cherry picking the following changes from ub-launcher3-master:
Change-Id: I41c5bbbfdabfeb4e20d77e9b5804842a03211edf
Change-Id: I69afa3f8cc59c77e9c4c25e29e8db8c4beb87462
Change-Id: I82b7ba506d51ee4b3812af5fbdf95d3303b37aef
Change-Id: Id7c2b5483c5535d59be2f8a459ce7788e3c8318a

Bug: 23568800
Change-Id: I343169b9fdc5ceaab3d4b39044627d78b7267868
2015-09-10 11:56:54 -07:00
Tony Wickham 4cab3b550b Find page for widget starting at current page from overview.
Previously the search began with the page that the user
long-pressed to enter the overview, even if they then free-
scrolled to another page before selecting "Widgets."

Change-Id: Ie286f6864c78b573c05dd9d02c1346e17db711a6
2015-09-10 09:16:09 -07:00
Tony Wickham 869306140d When placing a widget, go to a page with enough space.
The search for this page starts at the current one and
continues to the right (on LTR) until a page is found that
can accomodate the widget, taking possible resizing and
reordering into account.

Bug: 11338870
Change-Id: I2e9a310eb8f74024dca9150f55a525e1309c2f07
2015-09-09 17:08:50 -07:00
Tony Wickham 29d853c2dd Make sure all overlay panels are visible as user free scrolls.
Previously there was a workaround to ensure that adjacent panels were visible
while in the overview or spring-loaded states, but it incorrectly kept only
those original pages visible even while the user scrolled to other pages. So now
we only use the workaround when first entering the overview or spring-loaded
states, and then fall back to the default getVisiblePages() implementation in
PageView when in free scoll mode.

Bug: 23766408
Change-Id: I692ec00b9cd6d7889c374aee41b85abd0a5d8d3c
2015-09-09 09:25:51 -07:00
Sunny Goyal 2c18c8e34d am 606726ba: Merge "Preventing null pointer crash when opening a folder" into ub-launcher3-burnaby
* commit '606726ba289583a67188d9448b220c2e3fae87d7':
  Preventing null pointer crash when opening a folder
2015-09-03 17:18:33 +00:00
Sunny Goyal a75053f5f9 Preventing null pointer crash when opening a folder
Bug: 23770713
Change-Id: I3ce82450358f1493f70639d594e1e3f391945437
2015-09-03 09:48:50 -07:00
Sunny Goyal f4f89ef608 Using context.getString for getting formatted strings, as it works better with different locales
Change-Id: I9639bb11197e656c5cdd3a4d63f913edcc0987cb
2015-09-02 22:15:29 +00:00
Tony Wickham 785f7a59d3 Previews in the wallpaper picker are offset to match the homescreen parallax.
When "Wallpapers" is selected from the overlay, the current wallpaper parallax
offset is sent to the WallpaperPickerActivity as an Intent extra. The CropView
then uses that offset when previewing new wallpapers to ensure the preview looks
exactly the same as the actual wallpaper will when set.

Note that this fix doesn't seem to work for DefaultWallpaperInfo - that will
come in a future CL.

Bug: 23568800
Change-Id: I41c5bbbfdabfeb4e20d77e9b5804842a03211edf
2015-09-02 20:55:19 +00:00
Sunny Goyal e2fd14b9f6 Jailing the saved instance state of all the dynamically generated views
Using itemId instead of generating a new id for each item. This is because
if the process gets killed, View.generateId will get reset but we will still
receive the generated item id map in onRestoreInstance. This will cause
conflicts with newly generated item ids.

We wrap all the generated homescreen views inside a single sparse array. This
ensures that we do not cause any conflict with dynamically generated views in
other parts of the UI.

Change-Id: I6fe69c2e1dd463402f51222715fae31b9d4dd240
2015-08-27 17:53:28 -07:00
Sunny Goyal 756cd26592 General code refactoring
> Removing utility method for isAttachedToWindow
  > Moving logic to calculate cell size from workspace to DeviceProfile
  > Replacing some constants with xml resource variables
  > Saving the item info using content values for better compatibility with other methods

Change-Id: Idd612633d97a6241cb31148df9466031374bd5a0
2015-08-20 12:56:58 -07:00