• Home
  • History
  • Annotate
  • only in /packages/apps/Launcher3/src/com/android/launcher3/folder/
History log of /packages/apps/Launcher3/src/com/android/launcher3/folder/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cf6195268d3c1f190318b3220d321fb910349e51 12-Oct-2016 Tony Wickham <twickham@google.com> Merge "Use Launcher.getLauncher(Context) instead of type-casting." into ub-launcher3-calgary-polish
3f8864069be20d14debacddee610062f3feae5a1 11-Oct-2016 Sunny Goyal <sunnygoyal@google.com> Announcing the final action when the drag-drop completes

Bug:31926812
Change-Id: Id0566cc7dc15732981320807a02fb9cae8a885e6
older.java
2fd020860533e18c64a93d14d11cb2d34bc9cbaf 07-Oct-2016 Tony <twickham@google.com> Use Launcher.getLauncher(Context) instead of type-casting.

Bug: 32010039
Change-Id: Icb80d3e547a706740b84df2cb80f99e4a7f81c43
older.java
olderPagedView.java
1cf412ca91315cb60912033c0013706e5cced072 24-Sep-2016 Tony <twickham@google.com> Don't attempt to add item back to folder when deferring drag.

Since the item hasn't yet been removed until the deferred drag
starts, adding it again will throw an exception (the view
already has a parent).

Bug: 30769920
Change-Id: Icb95aaa64e6e3c5dc105bbf3e54460b529d02033
older.java
6e74e899d314663415f54895227bb79a51fd734b 19-Sep-2016 Tony Wickham <twickham@google.com> Refactor shortcuts drag and drop.

- Instead of creating our own drag view within the container, and
handling logic to determine when to start a real drag, we start
the drag immediately and just defer onDragStart().
- To determine when the deferred drag should start, we add a
DeferDragCondition to DragOptions. The default DeferDragCondition
never defers a drag, but is overridden for apps with shortcuts
to defer until the icon is dragged a given distance.
- Because the drag is handled in DragController, including checking
when to start the deferred drag, DeepShortcutsContainer no longer
needs to handle touch events and ShortcutsContainerListener has
been removed.

This change has several immediate benefits:
- The code is much cleaner, because it allows touch handling to be
done by the DragController through the normal drag flow, without
recreating logic in ShortcutsContainerListener/DeepShortcutContainer.
- The janky second haptic feedback has been removed (now it vibrates
when you long press, like everywhere else, but not again when the
shortcuts close after dragging a distance).
- Drops are animated, instead of just popping the icon back into place.

Bug: 30769920
Bug: 30465972
Bug: 31533078
Change-Id: I679b412b72fbf6c3895d76963311eb5010c8e8db
older.java
olderPagedView.java
e393d3af369c452f3b5f5d9c0a23a83aa3aa736b 09-Sep-2016 Sunny Goyal <sunnygoyal@google.com> Using DragObject for folder drop instead of maintaining states when
drag starts from inside a folder

Change-Id: I073b59c194d0bd483d579bbcb638b116b09590a0
older.java
olderIcon.java
olderPagedView.java
52851aa3fd2dd9957e190d779f904f6abaf53fed 02-Sep-2016 Sunny Goyal <sunnygoyal@google.com> Fixing topView not being considered in all places when calculating accessible
and focusable views

Bug: 30563273
Change-Id: I6253ce33ee5c328efdde2ea733029975b31e5eb8
older.java
94b510cc683a6436ae82c6d323cbd8b429561b06 17-Aug-2016 Sunny Goyal <sunnygoyal@google.com> Some drag and drop code refactor:

1) Adding DragOptions to easily extend drap functionality
2) Changing onDragStarted signature to send more information
3) Updating states for dropTargetButton based on drag event directly
4) Removing folder item based on onDragStarted and not startDrag

Change-Id: I65b684e092ddc081d086bfe2c8c1973ed170eaeb
older.java
59a238095e82fd02355f4cb53abe01655a50b051 01-Sep-2016 Hyunyoung Song <hyunyoungs@google.com> 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
older.java
8ce6063c4a5bd90810f0a21c946e5bbad3ce9de4 16-Aug-2016 Hyunyoung Song <hyunyoungs@google.com> 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
older.java
55c6691e3a2e953dc9882ad0bc0a4c1ee2d42e67 02-Aug-2016 Tony Wickham <twickham@google.com> 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
older.java
8f288aac99a11d52fd9747f360a8ce3bb521b17a 26-Jul-2016 Winson <winsonc@google.com> Ensure that we update the preview layout rule when not animating.

Bug: 28166173
Change-Id: Ibf0245f2dd667216ccabb23a1b279b1801d60cac
olderIcon.java
olderPagedView.java
fadbe8ffbd90eb36c782a76a8b1a76a26dba288e 23-Jul-2016 Winson <winsonc@google.com> Fixing regression in folder positioning.

- When we had the search bar, the workspace padding always
accounted for the search bar (and therefor drop target bar) height
when the folder opened. Now that there is no padding on the top, we
should offset the bar whenever possible to ensure that the drop target
bar is visible.

Bug: 30110595
Change-Id: Ia9a8581981c777f2507b6bd880994a3dcfd52c39
older.java
8f58e61d02fcb0ca90a2803e76a8792ec2c1f99a 16-Jul-2016 Tony Wickham <twickham@google.com> Update shortcut animations.

- Open animation: shortcuts reveal using modified circular reveal
(so that it reveals in the pill shape instead of a circle);
slight translation away from the original icon; scale icon and text.
- Hover animation: scale the shortcut pill and translate others away.

Bug: 28980830
Bug: 30127368
Change-Id: I8ed05c7a082f2c2a3f6c663da7259f6cd33e394f
older.java
6c2975e7e3fc5dc7cb80f1a2b3e5ffd10e49c2be 06-Jul-2016 Sunny Goyal <sunnygoyal@google.com> Adding support for non-zero left insets

Bug: 29613069
Change-Id: Ifdf9bcce7ecdedc510f3be8a4dc10eb8da7c4bf1
older.java
1bce7fd342875be8f7c1f82c8cf21d0199c8d544 29-Apr-2016 Tony Wickham <twickham@google.com> Long-press on an app to reveal its shortcuts.

- Add ShortcutsContainerListener to icons on workspace, folders, and
all apps. This handles long-press and forwards following touches to
the DeepShortcutsContainer that is created.
- Drag over shortcut before lifting finger to launch it.
- Shortcuts are rendered in pill-shaped DeepShortcutViews,
which are inside DeepShortcutContainer on DragLayer.
- The shortcut container orients above or below the icon, and left or
right-aligns with it. Biases for above + left-align.
- Long press a DeepShortcutPill to drag and pin it to the workspace.

Bug: 28980830
Change-Id: I08658d13ae51fe53064644e8d8f7b42f150fdd7d
older.java
olderPagedView.java
653bfcc7433b10ea2d5dc8cde612d6143af766b8 22-Jun-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Accessibility fixes and updates" into ub-launcher3-calgary
d0a6ae7f645e6ba564aebb50316c53fa2e119459 16-Jun-2016 Sunny Goyal <sunnygoyal@google.com> Accessibility fixes and updates

> Adding custom actions on the page indicator to go to overview mode
> Disabling custom actions on the first page
> Disabling 'move page left' on the second page

Change-Id: Ib8154f70cb3f93e663a881357c6c46c33253887f
olderPagedView.java
bfbf7f9f4a0b300613f0ff27a4eb592d88c08325 19-May-2016 Tony Wickham <twickham@google.com> Add support for launcher shortcuts.

- This CL has no UI but provides the necessary backing for one.
- Adds new item type: ITEM_TYPE_DEEP_SHORTCUT, to distinguish from
ITEM_TYPE_SHORTCUT. We can reconsider these names.
- Adds ShortcutCache, using LruCache for up to 30 dynamic shortcuts
(pinned shortcuts are always cached in a HashMap).
- DeepShortcutManager queries for shortcuts and other things like
pin them. In a future CL it will use the cache, but for now it
simply makes an RPC for all queries.
- LauncherModel maintains counts for pinned shortcuts, pinning and
unpinning when counts reach 1 or 0, respectively.
- LauncherModel maintains a map of components to lists of shortcut ids,
which Launcher gets a copy of after it is changed in the background.
This will allow us to know how many shortcuts an app has immediately,
and query for details as the UI is animating.

Change-Id: Ic526f374dd10d72a261bae67f07f098fca8d8bca
older.java
olderIcon.java
ae50284e0a838139c67caf0064a0977c871497fa 17-Jun-2016 Sunny Goyal <sunnygoyal@google.com> Moving LauncherAccessibilityDelegate to Launcher to associate it with
activity lifecycle.

Change-Id: Ib815505677fa7ed74bdcfe7141b1d9bea5d7143a
olderIcon.java
3333b0ced8e6743c41909f6f6b916f1f9ec5a004 10-May-2016 Sunny Goyal <sunnygoyal@google.com> Unifying focus indicator handling for workspace and all-apps

Adding an abstract FocusIndicatorHelper based on FocusIndicatorView
which draws the background instead of using a dummy view.

Change-Id: Id560195323d2ddad8fcd77ba675cf3f4fd4a94ab
older.java
olderPagedView.java
47328fd53f43fd0c2ed14ad925dd04483f9229a0 26-May-2016 Sunny Goyal <sunnygoyal@google.com> Removing the SearchDropTarget bar as it no longer contains the QSB

> Renaming it to simply DropTargetBar
> Moving AppInfo to the top bar as well
> The workspace pages will extend to the top edge (minus some padding).
Since the QSB is no longer displayed on top of every page, there is
no reason to reserve the space.
> In spring-loaded mode, the workspace cell layout will scale enough
to make room for the drop target bar at the top

Change-Id: I2baf607310335dd576c9d9fcbb75ab708f47ac03
older.java
c487bd34ace268dd8be5480ba884baed6096f76e 20-May-2016 Sunny Goyal <sunnygoyal@google.com> Making page indicator an abstract class and implementing some common methods.

Change-Id: I06613428c54f1f086090580db8242cf81f7fb128
olderPagedView.java
c64cfdd8fa18de45fc1646c8ef2449f39ef83022 18-May-2016 Sunny Goyal <sunnygoyal@google.com> Updating the folder page indicator to be more like the
framework page indicator (used in quick settings)

The active page is indicated with the accent color. During scroll
the active indicator expands to 2 dots corresponding to the visible pages.

Change-Id: Iaf57836b642cf87e5eed98048ecca7dd8e7643a4
older.java
olderPagedView.java
ae007814289a465be3df1ddca276e30f73460a97 18-May-2016 Tony Wickham <twickham@google.com> Merge "Add PageIndicator interface and custom PageIndicatorLine view." into ub-launcher3-calgary
f549dab31d0fa3e4d0cf8d6025b20e49aafb2d59 16-May-2016 Tony Wickham <twickham@google.com> Add PageIndicator interface and custom PageIndicatorLine view.

- The current PageIndicator has been renamed to PageIndicatorDots
and PageIndicatorMarker has been renamed to PageIndicatorDot.
- PageIndicatorDots and PageIndicatorLine implement PageIndicator.
- PageIndicatorLine uses scroll progress and number of pages to
draw a line of the correct size and position.
- All of these page indicator files are now in a pageindicators package.

Bug: 27227498

Change-Id: I9230d2e0600ce583989bd31d0b0e252b148d15c2
olderPagedView.java
aaf7d1d13bd88bdeac5c56a9ab1d293fdaea3c11 17-May-2016 Sunny Goyal <sunnygoyal@google.com> instead of unbinding items from the loader, unregistering listeners
in activity.onDestroy()

Bug: 28740269
Change-Id: I6bf2ad6aca43970fd10cfbcc113e609c227e07bf
olderIcon.java
90cb3e51af988d526912aed7a532745d729a844c 17-May-2016 Sunny Goyal <sunnygoyal@google.com> Revert "Wrapping folderLisners with weak reference, and storing it as an array"

This reverts commit e48644a6cc3024399ee2c9509d42ef6c2770ef61.

Change-Id: I7bd1d09cae42193de228cb58c08526eeaf57ec04
older.java
olderIcon.java
ultiFolderListener.java
e48644a6cc3024399ee2c9509d42ef6c2770ef61 17-May-2016 Sunny Goyal <sunnygoyal@google.com> Wrapping folderLisners with weak reference, and storing it as an array

Storing as an array allows the listeners to be overriten on next bind.
These changes remove the need to unbind the item

Bug: 28740269
Change-Id: Ibbe4b760d64784fbe3075d18e2b946b366d631c5
older.java
olderIcon.java
ultiFolderListener.java
b0efe3f9b20645b75a212cea67d24717d6908104 03-May-2016 Adam Cohen <adamcohen@google.com> Workaround issue where IME doesn't show up when tapping folder text

-> Various calls on EditText don't work when calling from
onFocusChange, post instead

issue 28523980

Change-Id: Ib9972c3c5083450412340f27bdd231605957ae6f
older.java
aa953654279d7cca29682d85111e398ea1f20390 20-Apr-2016 Hyunyoung Song <hyunyoungs@google.com> Refactor UserEventDispatcher (1/2)
b/28269657

Change-Id: I1083e6f73f42ac1986428a39c6b532050e595ac6
older.java
ddec1c739ef37c3a042982b8943fe42e04b65f4c 13-Apr-2016 Hyunyoung Song <hyunyoungs@google.com> Refactor UserEventLogging, Add predictedRank, replace Bundle with Proto

b/26494415
- Removed bundle object that became redundant now that we have LauncherEvent proto
- Combined Stats and UserEventLogger as they are effectively doing same thing
- Removed parent field inside Target
- added predictedRank target inside Target

b/27967359
- make com.android.launcher3.action.LAUNCH broadcast explicit
Later CL: finish packageName/intent/componentHash/predictedRank fields

Change-Id: I441fb46c834f73e58a4d2324e8da7971e8713ec8
older.java
37b2a496ebd6a985c210abaa6ca745a860f5f9d2 07-Apr-2016 Adam Cohen <adamcohen@google.com> Remove special code path for not animating folder open in power save mode

-> framework takes care of this
-> stripped unused code

Change-Id: If1941447df5c3145db715971440b80bd754f0bb1
older.java
olderIcon.java
c52ba710053e4c6927937dd1a26d1abe06b6fa99 06-Apr-2016 Sunny Goyal <sunnygoyal@google.com> Fixing folder icon not getting redrawn when the contents change

> Removing parent from ItemOperator as inconsistant values were
being passed in workspace and folderPagedView
> Fixing itemChanged causing multiple redraws, by passing a
'animate' parameter to explicitely request animation

Bug:27740161
Bug:28015426

Change-Id: Ide7b266bde9aad5f450a3f808a59182fe01a5110
older.java
olderIcon.java
olderPagedView.java
f172b747c24f28e29baaaf58f08bab48847b7a40 31-Mar-2016 Adam Cohen <adamcohen@google.com> Fix a couple polish bugs with new folder previews

-> Don't reuse the same background object for the folder create preview
since this can cause interruptions in the animations for previous
creation previews.
-> When drawing the background to preview creation, don't draw the stroke
above the icon since the icon is not yet contained by the folder.

Change-Id: Ib666dc2453df465b342c02f3bd109b553a769dcc
olderIcon.java
814ed9ab77ac68a26b2b8550e2be0840151588b6 26-Jan-2016 Dmitry Kalita <rusmonster@gmail.com> Fix restoring of layer type

Change-Id: I1233b846247b270644325c0ad0229a23bfb29040
Signed-off-by: Dmitry Kalita <rusmonster@gmail.com>
older.java
d5bd67dfa9ee5fda2384a75231b7a68ceb8e9bd5 11-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Adding support for result callback when starting uninstall-application activity

Change-Id: Ieaca4fbd0ae0156f24c8863ccbef61d4d6d30ba1
older.java
d3cc05a3a8c573986d08ee293a4bb8b4534d06b2 21-Mar-2016 Adam Cohen <adamcohen@google.com> Account for disparity btw folder preview size and drawable size

-> When there is disparity between the cached icon size and the available space
in the preview, the folder preview could appear not as intended (either
overly crammed, or overly spacious)

issue 27701193

Change-Id: I9f97012ba569d1419b1e3f661cd26761b2a36285
lippedFolderIconLayoutRule.java
aa2542a461072a57058ce45946ff6f5552ecce8a 21-Mar-2016 Adam Cohen <adamcohen@google.com> Invalidate folder drawing paramaters when top padding changes

-> This fixes issues when moving folders between the workspace
and hotseat (which have different top paddings)

Change-Id: Iac5a4575a403ce8eadd1d3195f02ab10fe5dac23
olderIcon.java
82fa92011b0f634d696309e13f63f1d544545e73 19-Mar-2016 Adam Cohen <adamcohen@google.com> Center folders slightly less aggressively than before

-> Some slight changes in spacing showed that we were centering
folders a bit too eagerly
-> Once there is less than a ~4x delta between the spacing on the left
vs. the right of the folder, center it.

issue 27671587

Change-Id: Ic2861ab375d9b9e4cf0eeb28b683073246f35c97
older.java
531cda693d07eba9dce6b793848749acaf28c0fd 03-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Using a negative flag for icon notmalization

Change-Id: Iaa94aea730d2b5cc3f15f3578f240127ca0eef63
older.java
efca0279eb927faebffc38c8382818df67fcd159 25-Feb-2016 Adam Cohen <adamcohen@google.com> Switch all folder preview rendering to be programmatic (ie. no assets)

-> Refactored the preview background rendering to be much more self-contained.
This cleans up a lot of code in the CellLayout, and keeps the logic in the
right place.
-> We switch to software rendering for performance and compatibility reasons.
-> Removed all assets.
-> FolderIcon accept animation includes animation of the clipped region.
-> 1:1 hand-off of drawing of the FolderIcon background between the FolderIcon
and the CellLayout. Unfortunately, CellLayout rendering is still required
to work around clipping issues (due to use of software layer). We also
need this to support folder creation feedback.

Change-Id: Ib8f7fa6359dfedff8145f38dd50ba03849ca0d51
lippedFolderIconLayoutRule.java
olderIcon.java
tackFolderIconLayoutRule.java
4f8071b759fd54bc6d271ea450af00fe0730baea 14-Feb-2016 Adam Cohen <adamcohen@google.com> Cleaning up folder icon drawing

-> Tracking individual drawing parms for each item
-> This enables animation of the preview items as the preview changes

Change-Id: I1b8f650cb28dc09cfb921bbdc93f2a3db61178fd
lippedFolderIconLayoutRule.java
olderIcon.java
tackFolderIconLayoutRule.java
261194387beebaa7927ec4e310274218b651494d 18-Feb-2016 Sunny Goyal <sunnygoyal@google.com> Revert "Reverting refactoring of Folder and FolderIcon to avoid dependencies breakage"

This reverts commit fc956e5a2a818c06ed3424e15b0aa20a3f604658.

Change-Id: Ib3b5156b8fc3cad35c4634d61d5390c848ce1f93
lippedFolderIconLayoutRule.java
older.java
olderIcon.java
olderPagedView.java
tackFolderIconLayoutRule.java
fc956e5a2a818c06ed3424e15b0aa20a3f604658 17-Feb-2016 Sunny Goyal <sunnygoyal@google.com> Reverting refactoring of Folder and FolderIcon to avoid dependencies breakage

Change-Id: Ifd0d717d70aff4c83c9eb5cba397d04500b2c869
lippedFolderIconLayoutRule.java
older.java
olderIcon.java
olderPagedView.java
tackFolderIconLayoutRule.java
119e8982ab6a0cf00e31e8744f27b72ba8bf7b20 05-Feb-2016 Adam Cohen <adamcohen@google.com> First pass at new FolderIcon visual treatment

-> Modeled as a set of items around a circle
-> Modulate the radius and icon size as number of items grow
-> Clip the icons by a circular clip aligned to the background drawable

Remaining issues
-> Probably want to move to a programmaticly drawn circle + shadow
-> Anti-aliasing of the clipped region will need more attention
-> Need to animate all items in the preview as it changes (this
wasn't required before)

Change-Id: I678ec605f6c8a34e9d7e4aec4e9583e36a9ef394
lippedFolderIconLayoutRule.java
olderIcon.java
tackFolderIconLayoutRule.java
f9c184a619e4e4b82cf9e0bf318ca6d8deaaaee7 16-Jan-2016 Adam Cohen <adamcohen@google.com> Refactor FolderIcon to separate the preview effect into it's own class

-> Created com.android.launcher3.folder package to house most folder-related files
(aside from the FolderInfo) which is more related to the model than the UI.

Change-Id: I767063e1e4c775c01a799a3bede30cd94ac48ade
older.java
olderIcon.java
olderPagedView.java
tackFolderIconLayoutRule.java