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
- The regression caused the folder and all its contents to be removed
before the new item could be moved to the place of the folder. In
addition, in this case, the LauncherModel would get out of sync with
the db because we move the last item to the workspace, but don’t
remove it from the contents, so deleting the folder would remove the
item’s mapping in sBgItemIdMap.
Bug: 24620815
Change-Id: I17137f28b0f1617a890488c7a9c5b8a9e8df0e91
- Regression was introduced in ag/765323, but not visible in normal
drag and drop because the view is already removed from the parent.
However, when accessibility is enabled, it was only removing it from
the db, but not from the parents.
Change-Id: I37483d0cd6306d270441b11e6f05247d58b88521
Without this change, Nexus 4 uses the Nexus 5 device profile and
vice versa. But because the profiles have exactly the same values,
it didn't matter that they were flopped.
Change-Id: I3fd788e040feb8de5bb5f5e336acbd4ac995dc0f
- This CL fixes an old assumption we had about the height
of rows in AllApps, and ensures that we account for the
difference in height between the predictive icons and the
normal icons.
- In addition, we refactor FastBitmapDrawable to have multiple
states, which it manages in drawing itself, including the
press state and fast scroll focus states. And we also refactor
some of the fast scroll logic in the all apps recycler view
out to its own class.
Change-Id: I1988159b2767df733bbbfc7dc601859cde6c9943
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
An async task can be in the queue even if it has been cancelled. It
is removed only after it gets executed once. So the executor can get
blocked if there are some tasks which are running, and we keep posting
and cancelling preview load tasks.
Bug: 24306650
Change-Id: I836c8d53258542cc6f31952dff84323cc057437c
- Hitting a ctrl key combo will actually call onPrepareOptionsMenu(), which
will change the state of the workspace incorrectly. Instead, listen for
the menu button, and only allow the user to enter overview mode if they
are currently not dragging or in an overlay state (like all apps or
widgets).
- Also making the overview buttons focusable so that they are focused when
you go into overview mode.
Bug: 22483367
Change-Id: Ie6e9febd8a5a4e7ad25d745639d42d1c7b9801b4
-> 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