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
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
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
-> 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
- Also fixing case where the all apps button to search for more apps
was not focusable
Bug: 20639227
Change-Id: Ie4d9092e654d3cafc0eb346b3bb744ec3e295e92
- 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
> Renaming Lmp to Lollipop
> Lollipop_MR1 instead of directly using 22
> Using M APIs directly instead of reflection
Change-Id: I10a307f46e3be15b3299f549a2fd7e0e215a6a1b
This fixes perhaps an old bug.
If we started an accessible drag for an only item on a page,
then uninstalled the app while dragging, the page was removed
without unsetting its accessibility delegate. Later, the system asks
the delegate to do something, but the drag is over, and some pointers
are null, so everything crashes.
Fixing this.
Bug: 22028725
Change-Id: I85adcd42ae896603634994e20a7790792f7e84b1
(cherry picked from commit de1e67c388)
- This refactoring ensures that LauncherStateTransition does not
do its own animation on the QSB, and that all animations to the
SearchDropTargetBar go through its own animators.
Bug: 22515084
Change-Id: Ia7d13c44d861eac7517076b52a9651a90911ed0a
> Sometimes a folder gets rearranged, without updating the model,
like when an app in uninstalled. In that case, we need to update
the icons for folder items, which were previously hidden
Bug: 22813360
Change-Id: I99754911c969bf2153efb2948c226c1c69219b88
- Making the overview scale apply just like the spring loaded scale factor
- Tweaking overview scale to make it not so small
Change-Id: If93bac08609b0cfd9c9d9f8f6057498957378b56
- Adding support for an external search bar that can be used
to search a container view. This adds a new interface
AllAppsSearchController which manages the external search
bar. Each controller will have its own search implementation
which means that we no longer need a common AppSearchManager
interface.
- Removing elevation controller as we no longer have a builtin
search bar in all apps
- Refactoring container view insets so that they behave
the same in all containers.
- Refactoring apps view to ensure that we only update the number
of columns with the available width
- Cleaning up LauncherCallbacks interface
Bug: 20127840
Bug: 21494973
Change-Id: I710b8e18196961d77d8a29f0c345531d480936fe
> Assuming customcontent screen is opaque, setting scrim alpha to 0
when the screen is fully visible
Bug: 21584384
Change-Id: Ifa95a10d880532f59573090673e90a87c7edba9b
The reason for non-scrolling was excluding the pages view from the
accessibility hierarchy by marking it as non-important. So, I just
removed the code manipulating [non]importance of the PagedView.
However, this would make the PagesView accessibility-focusable, which is
undesirable. It becomes focusable because it supports long clicks in "normal"
mode. Since it doesn't support accessibility long clicks (i.e. Overview mode is
fetched NOT via accessibility long-click), I just disabled accessibility
long-clickability, which made PageView non-focusable, and it started to behave
correctly.
Bug: 21281859
Change-Id: I7ab01e5f39cb37c456c961199c27458c9bda1c3d
> Adding empty page synchronously, instead of waiting for a frame
> Changing launcher state from widgets screen in the same frame, similar to all apps
> Removing DragEnforcer, and moving that logic in side the workspace, disabled by a flag
> Using first page to get page bounds in drag layer, as last page may not have been measured
Change-Id: I172ba4e5ce44648ac55402d49994542c6e10f101
-> Pulling out the parts of device profile which can (and need to be)
initialized and accessed without access to an Activity context,
ie. the invariant bits.
-> The invariant bits are stored in InvariantDeviceProfile which is
initialized statically from LauncherAppState.
-> The DeviceProfile contains the Activity context-dependent bits,
and we will create one of these for each Activity instance, and
this instance is accessed through the Launcher activity.
-> It's possible that we can continue to refactor this such that
all appropriate dimensions can be computed without an Activity
context (by only specifying orientation). This would be an
extension of this CL and allow us to know exactly how launcher
will look in both orientations from any context.
Sets the stage for some improvements around b/19514688
Change-Id: Ia7daccf14d8ca2b9cb340b8780b684769e9f1892
> Removing obsolete progrard rules
> Removing BackgroundAlphaMultiplier from CellLayout, which is always 1
> Removign otiline animation from workspace. This animation never runs,
as it is called during startReordeing which always happens when
overview mode (workspaceInModalState() is true)
Change-Id: I43219e41ea188771bc818988c1bcbd523f28cba6
> Fixing some RTL errors by specifying both marginStart and marginLeft
> Moving all layout direction checks to Utilities
> Explicitely adding @TargetApi before every method
Change-Id: Ibe9c52b93b5a6adeadb27ace2b312770fd732ea0
1) Setting different icon and text size for workspace and all apps
2) Setting padding during BubbleTextView inflation
Change-Id: I59da6986b0d98e8e2aa6065743bb799a6bf06a37