| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When scrolling through the widget drawer, we submit multiple
AsyncTasks to load and display preview images. On certain
devices, attempting to load these images from
AppWidgetManagerCompat (when we are generating previews for
the first time) on a multi-threaded executor can cause us
to receive empty images. To avoid this, we allow preview
loading from the cache on a multi-threaded executor, but
defer preview generation to a single-threaded executor.
Additionally, the read and write db methods were not using
the same ComponentName output (flattenToString vs
flattenToSimpleString), which was resulting in consistent
cache misses that forced unnecessary preview regeneration.
This has been unified so we properly load from the cache.
Change-Id: I3a90cf88fed531713e5d2df876f4ede822f7d569
issue-id: FEIJ-346
|
|
|
|
|
|
|
| |
issue-id: CYNGNOS-1434 NIGHTLIES-2149
Change-Id: I85208f3d6b572fb7a161db79cd3b74c1102dbba2
(cherry picked from commit 50f78e36b079bbe14bcb50064d28940358d42544)
|
|
|
|
|
| |
Bug: 20698931
Change-Id: I50bafac1fc0a855edb1ace633a8a6f87a5c3040e
|
|
|
|
|
| |
Bug: 22980139
Change-Id: I87b633d194ff4e1529dd679dc02da573ed374207
|
|
|
|
|
|
|
|
|
| |
> Filtering the widget list and excluding widgets which dont fit the grid
> setting minSpans for the widget item when binding.
Bug: 22541314
Bug: 22559137
Change-Id: Ieda48b56c95bee0c7ec71dd691af7e23e2d43db6
|
|
|
|
|
|
|
|
|
|
| |
b/22541466
>TL;DR;; when introducing mProfileBadgeMargin to correctly place
> work profile badge. Drawing origin of the preview image resulted
> to the left of (0, 0).
Change-Id: Ic52fc2e17c55c76f4f57aa833451ffa19bbbeb09
|
|
|
|
|
| |
LauncherProvider is not ready until the DBHelper is created
Change-Id: Iabd61005892f15fd4a31d882100d87df2b2a7b85
|
|\
| |
| |
| | |
ub-launcher3-burnaby
|
| |
| |
| |
| |
| |
| | |
b/21133230
Change-Id: Ic198b8d21be1b0f3465cd4efc30a240e3ec4304a
|
|/
|
|
|
|
|
| |
> Using callback insted of using a content observer
> Setting the listener in LauncherAppState to prevent resource leak
Change-Id: Id23a4d5c8812e86178997e536226e09ec3740f84
|
|
|
|
|
|
| |
b/21336417
Change-Id: Icd54320fa0d0976cac0ae66d180cc2c99ddd0c1c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
b/21133230
> Synchronized block was creating a bottleneck for the AsyncTasks.
> Remove calls that doesn't need to be synchronized outside synchronized block.
> Also removed setAlpha call as after the bottleneck was removed,
Inefficient alpha view usage alert started popping up in traceview.
Due to less jankness, removing the fadein animation doesn't have any
visible effect.
Link to lock congestion visualization:
https://x20web.corp.google.com/~hyunyoungs/no_crawl/traceview/traceview_lockcontention.html
Result: gfx-avg-jank delta = "-1"
Change-Id: If12817df0730f346cdba7e2f38f232eb9a4336c0
|
|
|
|
|
|
| |
> Make package-private and @Thunk all private methods and constructors accessed from inner classes.
Change-Id: Ie5913860a0c33e48e9bf68f9b5b1699f64c2f174
|
|
|
|
|
|
|
| |
- Renaming resources, dimens, etc to be more consistent
- Removing old AppsCustomize resources and other unused code
Change-Id: I15ce35e7cb7a9b9344fc7103963e4e4c9e45d89a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-> 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
|
|
|
|
|
|
|
|
|
|
|
| |
- Decoupled widget model from widget view, and placed the
creation to LauncherModel.
- As a result packagemanager operation, iconcache retrieval is all done inside
LauncherModel on background thread
b/21311085
b/21325319
Change-Id: I294698527db58b89f3da558090a367530c058776
|
|
|
|
|
|
|
|
|
|
|
| |
- Push the writing of previews to the DB to the worker thread
to ensure that we can apply the loaded preview as soon as
possible.
- Reducing additional bitmap allocations from cancelled tasks
that did not re-add their bitmaps to the unused set
(happens when the list is scrolling quickly).
Change-Id: Ib7c2cfdfcc668c215b3a74271e1165235fbdf752
|
|
|
| |
b/21133230
|
|
|
|
|
|
|
|
|
|
|
|
| |
location
Also:
- clean up of some code
- remove requestLayout() method call that is not needed.
b/20338602
Change-Id: I65e0e1ac40da2e3fa85af4d3aca54bed3f200a99
|
|
|
|
|
|
|
|
|
|
| |
- No longer return sorted list from the package manager since, the only
time the widget list requires to be sorted is when recycler view renders
them.
- Made getWidgetsAndShortcuts private to guarantee that widgets are
being loaded in the worker thread.
Change-Id: I2c35973c1226e831514380dd38fc2f88b1b91d02
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Concurrency issue: unused bitmap was not properly synchronized
which caused concurrency issue. Hence, leading current widget tray
implementation to not use it. (a.k.a. cancel(false)).
Issue fixed and now using the unused bitmap pool.
2) Caching improvement: LoadedBitmap cache was a legacy support system
for the old widget tray implementation. On our latest implementation,
cache and recycled view is completely being managed by the recycler view.
Hence removed.
Change-Id: I843e6a286b676f283172f2c1ef5cbeed0a9fb17f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- RecyclerView is rendering
- Animation is connected
- Drag and drop is now handled
- UI tweaking: background, margins, more to come.
- Flicker and preview not loading issue:
fixed height for the horizontal scroll view.
- Shortcuts are added
- Widget Preview loading should support shortPress for drop
- UI tweaks left: overlay of arrow when there are more items to scroll
- icons are added in the section header
- Sorting of widget sections and widget horizontal list
- Adding all the padding constants to dimen.xml file
- RecyclerView should only support one view type
For items to be addressed in follow up patches OR CLs,
TODO is added to the comment.
b/19897708
Change-Id: Ibfc4da1696a23d20bada93db46e126706eb13cdc
|
|
|
|
|
|
|
|
|
| |
> Widget previews are saved in data dir instead of cache dir
> Expiring widget previews similar to IconCache
> Removed support for setting thread priorities
Bug: 19865031
Change-Id: Ib6033c2b1ff8ae61bba8762ca994ccd8217d3c75
|
|
|
|
|
|
|
|
|
|
|
| |
Elimates 304 methods based on dex analysis
The java compiler generates sythetic accessor methods for all private
fields, methods and contructors accessed from inner classes. By marking them
package-private and @Thunk instead, sythentic accessor methods are no
longer needeed. These annotated elements should be treated as private.
Change-Id: Id0dc2c92733474250d8ff12fa793d3a8adeb1f26
|
|
|
|
|
|
|
| |
> Removing unnecessary canvas cache
> Removing unnecessary new bitmap creation
Change-Id: Ic9f45c5a204ea4d32dbf93c21a6a7fd6baea4b51
|
|
|
|
|
|
|
|
| |
- Moves launcher state-transition code into its own class
- Moves all-apps related code into a separate view/set of classes
- Implements a basic list view for all apps
Change-Id: I68f174aa9e1bf82c4e46ce9549c78a8dc4623f46
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
-> This change provides integration for widgets provided by
the launcher package which can run arbitrary code.
Change-Id: I6052da5c4afed7ee72e3b44d045b9c46f2d84c42
|
| |
| |
| |
| |
| |
| | |
Bug 18554839
Change-Id: I43f391b7cc376f697ce7b5b363e8be3aa85814b5
|
|/
|
|
| |
Change-Id: I80f2dd62297eea671f2d129ae22263e72e506ae4
|
|
|
|
|
| |
Bug: 17981568
Change-Id: I0d49604c2e38bc9017cba527d87e24e8b086f1da
|
|
|
|
|
|
|
| |
Replace hardcoded Launcher filenames with the defined constants.
Bug: 12753154
Change-Id: I072f202d9388a703b9e6851bde64ea7fafe4b10a
|
|
|
|
| |
Change-Id: Ib16df8dd9caa04903a664d8cf92767107fe57628
|
|
|
|
|
|
| |
issue: 16892811
Change-Id: If8c81f2a5a3bc846b02a5d225c5a8f27b1382dab
|
|
|
|
| |
Change-Id: Ic746f2a5e4237a9ea82abf5f9532307d40432ac1
|
|
|
|
|
| |
Bug: 12782843
Change-Id: I7254c2cb6c3f721a06b9301d674c9560f86dfde6
|
|
|
|
|
|
|
|
|
| |
This fix works making sure all drawables are mutated before drawing
them in the background. Mutation has to be executed on the main
thread because that operation is not thread safe.
Bug: 12525890
Change-Id: Id7bdf9cf48d3e7b7f31938bdea4a3bf1632cf337
|
|
|
|
|
|
|
|
| |
One of widget preview drawables was drawn concurrently from a thread pool,
causing a native Skia crash.
Bug: 12525890
Change-Id: I2dea7b86ba8b32237f40feff225657dcb2b0061b
|
|
|
|
|
|
|
|
|
| |
Removed and fixed serveral instances of dead code and small
bugs that grew in the widget preloading logic, discovered
while chasing a bug.
Bug: 12525890
Change-Id: I22e03eccecc07b73388cfd3c8462d947601c6e54
|
|
|
|
|
|
| |
Bug: 12109621
Change-Id: I8d59700d31d6856d6151b965786c87585801317b
|
|
|
|
| |
Bug: 11325218
|
|
|
|
|
| |
Bug: 10778984
Change-Id: I842a88c517401fa4eb3798fd03e0fbc3634e3144
|
| |
|
| |
|
|
|
|
| |
Bug: 10785722
|
|
|
|
| |
Change-Id: I9e6f1e5167791cf8dc140778dfa447f86424e9bf
|
|
|
|
|
|
|
|
| |
The application context for LauncherAppState is supplied by
the application whenever it starts; don't ask for an
instance before that.
Change-Id: I1ca8ea04238a357a682f79250f08813ead7ae532
|
|
|
|
|
|
|
|
| |
This removes Launcher's static data and other state out of
the Application object. Now LauncherApplication (extends
Application) exists only to instantiate LauncherAppState.
Change-Id: I4e323bd78b77536b92054105536a55c0c2c19ba8
|
|
Changes include
- moving from com.android.launcher{,2} to
com.android.launcher3
- removing wallpapers
- new temporary icon
Change-Id: I1eabd06059e94a8f3bdf6b620777bd1d2b7c212b
|