> This ensures that LauncherAppState is only accessed in the presence of
a valid context
Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750
> Moving all QSB widget handling code in a separate package
> QSB is handled on a separate host, independent of the main
host. This allows us to safely reset either of the two hosts
> Also removing the logic around closeSystemDialog:
Launcher does not use any panels which need closing
System sends an onActivityResult(RESULT_CANCELLED), we do
not need special handling for waitingForResult
> Fixing bug when auto-generated qsb widget id was not being saved
Change-Id: I2d889b7b1c80b14785d14f35624142a4b78452de
> Moving isPackageEnabled to InstallShortcutReceiver
> Moving the deep shortcut map to the data model
> Removing appInfo.flags. Instead fetching the flags when needed
Change-Id: I654dd8acefa7b7d183b0419afbe112bef001d536
When deleting a widget, ensure that we also delete the corresponding
widget from the system server
Bug 30835877
Change-Id: I7d539c2d37ef53086d09ae128f7278941f804aeb
provider. This allows OEMs to keep the user's homescreen intact while
changing the default home app package.
Bug: 28536314
Change-Id: Ibebfd7dd33aa2cbd9ca28d2d611dd0a4a5971444
> Renamed the id of 1st screen to 0 and making space for the QSB
by running the grid migration task.
> Added a feature flag to easily disable the QSB-in-workspace behavior
Change-Id: Ie3369f0d4433d916e9d6215d414770d4333f3e26
The QSB will only be resent on the first screen of the workspace
covering the full width of the first row. If will not be movable.
The first screen of the workspace will not be movable.
The searchDropTargetBar no longer contains the QSB (it can be
renamed in aseparate cl).
Refactoring all QSB related logic by moving it to a custom view
inflated only using xml.
Change-Id: Icb4fd6eb855df1af15f685961c38351bf4fd4f4a
The setting will not be available on a tablet, where rotation is
always enabled. On mobiles, it will be disabled when auto-rotate
is disabled in display settings.
Also removing content provider dependency from settings, as its in the
same process as launcher.
Bug: 28704055
Change-Id: Ibe6b1e67411fb0e4b2e36446710f463e4a3d6883
Icon type is not used consistently. It is used initially
during the loader. Afterwards, we save both the icon and resource to the db.
Instead of changing the logic to always read the shortcut-resource first, and fallback to the bitmap if the resource is not available,
always write the bitmap to DB whenever the shortcut is edited.
Change-Id: I0ea5e88f8904bd3250ca669220b3e5d6aeef1bfd
> Making all twoState prefs backed by content provider
> Using the stadard intent defined in N for settings
> Using SharedPrefsListener instead of LauncherProvider
Change-Id: I8272f54aa780bc0436e3d0aa89096a4bd2a9194f
Removing these columns will ensure that new installs do not
get this column, without affecting the upgrades.
Change-Id: If06edcd2f899f30b5427c07e72a170ccefc32dd6
- 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
Android automatically creates and maintains a metaData table to
store the current device locale. This is used when fetching
sorted results. Since Laucher does not require string based
sorting on its tables, we can avoid unnecessary IO by disabling
this feature
Bug: 24608776
Change-Id: I8bbf5ca3abd505be95a85cfc99dd0438966575e9
The grid is migrated in steps where each step consists of at max one column change and at max one row change.
Adding some unit tests for GridMigrationLogic
Bug: 25958224
Change-Id: Ie54e872ea0925cc4c463edbba0a7201d62b373a0
> Deleting a file/reinitializing the openHelper variable is not thread safe
and can cause the sqlite instance ot go in an invalid state
Change-Id: I54d992c7e3daee82e6dad38d6bfbfcbf8ede506c
The content provider is the first component started with the main process,
which makes it ideal for initiating LauncherAppState
Change-Id: I03db82a8949ad1376af53a0033592f421dbf0b15
Table creation sometimes fails scilently, which leads to a crash loop.
This way, we will try to create a table every time after crash, so
the device would eventually be able to recover.
Bug: 24263894
Change-Id: Ic0169d33f4092042423afa24320182786c544d47
* commit 'c74e41973a74aa416e16aeadaa2f491153da26bc':
Restoring provider behavior for reloading app on old devices > For older devices, launcher will only reload in case of inserts with specific query parameters > For older devices, launcehr will notify content observers of any internal inserts > Chaning TAG for Launcher provider as max logging tag is only 23 characters
> For older devices, launcher will only reload in case of inserts with specific query parameters
> For older devices, launcehr will notify content observers of any internal inserts
> Chaning TAG for Launcher provider as max logging tag is only 23 characters
Bug: 23821706
Change-Id: I32891387612d967c41ddae848c43dc4b1de1b0e9
> Renaming Lmp to Lollipop
> Lollipop_MR1 instead of directly using 22
> Using M APIs directly instead of reflection
Change-Id: I10a307f46e3be15b3299f549a2fd7e0e215a6a1b
Adding support for restoring from a larger device, if the grid size
difference is not more that 1.
During restore add all the items in the DB, and run a one-time migration
the next time launcher starts.
The migration strategy is defined in ShrinkWorkspaceTask.java which involves
resizing, moving and removing some items.
Change-Id: I6ee411f6db5bf0152b527e16146a88c56dec2d97