- Launcher has an instance of ExtractedColors, which is loaded from
LauncherProvider in onCreate() and whenever the wallpaper changes.
- When the wallpaper changes, the ColorExtractionService is started
in the :wallpaper-chooser process.
- ColorExtractionService builds an ExtractedColors instance and saves
it as a String in LauncherProvider.
- When the results are saved, Launcher gets a callback through
LauncherProviderChangeListener and reloads the ExtractedColors.
- Whenever Launcher loads Extractecolors, it also re-colors items
(currently a no-op).
Change-Id: I319e2cfe0a86abcbc6bb39ef6b9fbbcad54ad743
> Only setting desired size on wallpaper change for pre kitkat
> Removing wallpaper change receiver from manifest
> Removing multi-process wallpaper shared prefs for kitkat+
Bug: 23353784
Change-Id: Iba72d32871ee50b75807e2284a73a691bcddc472
> Registering the receiver at runtime, only when it is required
> Using system property sys.boot_completed to check if boot completion
> This prevents unnecessary process startup during system bootup
Change-Id: I68f99ecf2e1ffd2ca7b6d15a99a282451bf67aec
-> enforce this at the activity level by giving it an empty affinity
-> the system should probably enforce this, so this is a work around for now
issue 21880868
Change-Id: Iaba4d87781c7fc82ee6c2838c013e01081cdbf9d
Settings observer doesn't work if a setting is modified in another
process, hence we instead register a receiver which listens for a signal
from the settings process that the rotation preference has changed.
Change-Id: I570e3c67bb64a32347e84ca00a8ac31d9010eac3
This CL adds a Settings activity along with the code needed to provide
a "Allow Rotation" setting to all phones and tablets. This setting is
set to false for phones and true for tablets. On changing the setting
from unlocked to locked, the launcher (and the Settings activity)
will get locked to the orientation the user was in when he disabled
"Allow Rotation". This is consistent with how the natural rotation
feature of Android works.
Change-Id: I8a1c59d1fa0bb9262530cad96e0a9bdbab0d9344
> Removing support due to its flacky design. Removing a shortcut
causes a full reload. Also we do not have any concept of owner, so
any app can remove any shortcut.
Bug: 11372484
Change-Id: I781c922fac7dc77ea82cd0a2af74a5fca22500de
> 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
> Pending widget show a PreloadIconDrawable to indicate
installation progress
> Only the concerned widgets are reinflated on package
install and not the whole workspace.
> Adding support for storing default package icon in
IconCache
issue: 10779035
issue: 16737660
Change-Id: Id787ae4a5ef72d6e01aeb5a1bae5ab8840037679
> Launcher checkes for an apk in the system image with a broadcast
receiver for action:
com.android.launcher3.action.LAUNCHER_CUSTOMIZATION
> Default layout is parsed from that apk, which can also contain
icons and string resources used in the layout config
Change-Id: I44fc9e7c3134f525f7b5db29f4e8bb56e17ce445
When the app is restored, it displays placeholders for all pending widgets.
These placeholders can be moved and removed similar to a widget (size is fixed
to what defined in backup). Once the system notifies the launcher of the new
widget ids, the place holders are replaced with actual widgets.
issue: 10779035
Change-Id: I68cbe4da01e9ca2978cb4471a7c645d2aa592055
When opening the picker, the currently chosen wallpaper is
shown in the background.
In this change also the nullpointer was fixed when deleting
the currently selected wallpaper and setting it, because we
revert to the old wallpaper in that case.
When going into the same live wallpaper than the currently
selected we are going back to home if the user sets it or
goes back now, in order for the user not to loose state.
The real fix for this will be done later when the following
bug will be fixed: b/13241760
Bug: 12063773
Bug: 13219612
Change-Id: I7c6abb25755eca99c3255278e0884d1ff4749b55
The user will be able to request "icon migration", which is
not a direct mapping of the old workspace, but rather
follows this heuristic for bringing the user's favorite
icons (by dint of their existence on the workspace) into
Launcher3:
Workspace shortcuts are placed in lexicographic order on the workspace
starting at screen 0 (leaving the bottom row of screen 0 empty to make
sure there's room to move things around). Folders are preserved and
their contents sorted. Duplicate icons (that is, shortcuts
with the same intent, pursuant to some cleanups) are removed.
Hotseat icons are migrated in their original place, unless their new
location is not accommodated by the hotseat (i.e. the L3 hotseat is
too small on this device), in which case they're treated like any
other shortcut and tossed into the workspace.
To test, turn on Launcher.ENABLE_DEBUG_INTENTS and then:
$ adb shell am broadcast -a com.android.launcher3.action.DELETE_DATABASE
$ adb shell am broadcast -a com.android.launcher3.action.MIGRATE_DATABASE
Bug: 12416411
Change-Id: Ia5c56f36c11455867ea20a39f70210f595020a87
Also, unify WallpaperCropActivity so it's
identical to the system default version (mainly
removing Launcher dependencies)
Change-Id: I1ebc390bce23de62d76daced6f8cb44d57e4ac0c