Commit Graph
216 Commits
Author SHA1 Message Date
TreeHugger Robot 3663b314fa Merge "Removing diagnostics" into ub-launcher3-master 2019-01-30 18:43:08 +00:00
Sunny Goyal 8c48d8bea6 Changing min sdk to 25
Change-Id: I0d28069967854357ca755bf25dec19d4979bdecf
2019-01-29 11:29:52 -08:00
vadimt 3f8591f003 Removing diagnostics
Now that b/117332845 is fixed

Bug: 117332845
Change-Id: If8c137b9c7cc386dfc5b5af4b81a3efbfa33f770
Tests: None
2019-01-25 10:35:53 -08:00
Sunny Goyal c3f4dc6c6a Fixing workspace screens not including page 0
Instead of maintaining a workspace screen array, calculating it from
the current set of items as needed.

Bug: 122262946
Bug: 119500058
Change-Id: I85bb0e55a4442ab9bcac390a601da0cb2583c26a
2019-01-07 12:14:06 -08:00
TreeHugger Robot e0c927a50b Merge "Migrating some runnables to lambda operations" into ub-launcher3-master 2019-01-04 00:30:34 +00:00
Sunny Goyal 161a214ede Adding support for backing up favorites table
Favorites table is copied as a separate table name during the first grid migration.
On subsequent migrations this backup table is used if it exists, otherwise new
backup is created. The backup table is also removed if there is any insert or
delete operation on the db (outside of the migration operation itself).

Bug: 111850268
Bug: 121048571
Change-Id: I6f02f4a355c369ee99d89430971be258f7516f6e
2019-01-03 10:25:44 -08:00
Sunny Goyal 9dbdd72498 Migrating some runnables to lambda operations
Change-Id: Ied7b6ca14594c72bc671127baf4f84fdcdb35b93
2018-12-27 13:29:34 -08:00
Sunny Goyal b2061daa56 Remove widgets which have invalid size in DB
Bug: 120638555
Change-Id: I23746af44e4390da7b09869e181919e7eac26e58
2018-12-27 12:57:05 -08:00
Tony f80e893163 When undoing a removal, always return to the page it came from
We were already returning to the current page, but this wasn't
always right, e.g. when removing the last item on the last page.
So now we mark the page the item was removed from, and bind that
page first when undo is clicked.

This also addresses an issue where we incorrectly returned to the
first page if currentPage = INVALID_RESTORE_PAGE, which happens if
there are no items on the first page.

Bug: 118846684
Change-Id: I4ec1f64b24ba1cc308ce08bfb3111b5981fae99b
2018-12-21 12:21:53 -08:00
Sunny Goyal c5939393a9 Bye bye workspace screens table
Removing a separate table for workspace screens. List of screens are
automatically parsed using the items in the favorites DB. Order of the
screen based on the screen id and rearranging screens is no longer
supported. In case the screens need to be rearranged, all the items
in the favorites db will need to be updated with new screen ids.

This makes backing up the DB (in the same database) easier as only
one table needs to be duplicates.

Change-Id: I8ba947a898f637d780e2f49925e78604263126e8
2018-12-10 11:43:35 -08:00
Sunny Goyal 415f173331 Changing the format for device profile definition
Device profiles are defined such that the grid size is fixed
and only the icon and text sizes change. For every grid size option
there are multiple display configurations.

Bug: 118758696
Change-Id: I54aac9106c576324b02530913c447e849b4ae1da
2018-12-07 00:06:25 -08:00
Sunny Goyal b891eebbb5 Fixing shortcut icons are not getting correct color extraction.
> Avoiding color extraction for icons which have already be evaluated
> Fixing color extraction from hardware bitmaps

Bug: 111343544
Change-Id: I624866e892465684871fbc130003e32945d86460
2018-11-30 01:41:56 -08:00
Sunny Goyal 1a9cbd3c88 Moving BaseIconCache to icon lib
Change-Id: I4fb56dcd6231a848d152e690edaf8885efbc995a
2018-11-08 15:18:25 -08:00
Sunny Goyal d7239fcc52 Removing UserManagerCompat wrapper for getting baded label
This removes some crass dependency on Launcher compat implementation
making it easier to move iconCache to a separate library

Change-Id: If5fab0c82d98089cde6f54b6a374fb7bb2db5ae8
2018-11-05 17:33:15 -08:00
TreeHugger Robot 06bca75d01 Merge "Removing some launcher cross dependency in BaseIconCache so that it can eventually be moved to icon library" into ub-launcher3-master 2018-11-06 01:31:24 +00:00
Sunny Goyal 678f47c0c9 Removing some launcher cross dependency in BaseIconCache
so that it can eventually be moved to icon library

Change-Id: I65e3ad34322a10695c1ba114f5e60c4418747f05
2018-11-05 17:22:09 -08:00
Rajeev Kumar 1baf8a78c6 Create a launcher LoaderResults override.
This change disables shortcuts/widgets binding on Android Go devices.
Bug: 112904271
Test: Manual test

Change-Id: I3dbcd23dc448ff9ca5fe6c32958dcffb51c4bcf5
2018-11-05 15:43:53 -08:00
Rajeev Kumar 0a926c1d67 Create a launcher model override.
This change disables shortcuts/widgets loading on Android Go devices.
Bug: 112904271
Test: Manual test

Change-Id: I2c40f87a8f5d752525c99d254693a4e0a9eeeb2b
2018-11-02 15:25:25 -07:00
Zak Cohen 658c67a609 Deepshortcuts - only keep the per package shortcut count in memory.
Change to only keep the per Activity shortcut count in memory, not
the list of ids.
The full shortcuts are loaded at long press time so saves memory.

Bug:117239104
Test:Manual and ran instrumentation tests
Change-Id: Iee974ecba2c977216be4f078396ceed22b931f5d
2018-10-22 11:38:09 -07:00
Hyunyoung Song cda96a5b43 Setup make icon-loader library
Bug: 115891474

Test: make -j10 icon-loader
Next step: Launcher will depend on icon-loader in next CL

Change-Id: I797ddb857cf8be79f3be6ca2f174c593ca3713a5
2018-10-19 14:33:46 -07:00
Ryan Lothian fa530cd23f Make flags UI available on release build of launcher
The UI will only be shown on eng/userdebug platform builds.

Bug: 117223984
Change-Id: I27843f2d856a4a19f3fe53c4d306606eaa5714a2
2018-10-15 17:24:48 -04:00
Sunny Goyal efb7e84242 Converting long item IDs to int
> Items ids were already being typecasted to int when being bound on the UI
> Using a consistent type allow better use of platform data-structures
> Adding IntArray and IntSet as a replacement for various Collection classes

Change-Id: Id3c650ed2420c2bfca3bd7671d2b705b56112371
2018-10-08 14:52:39 -07:00
Ryan Lothian 688e9896fa Groundwork for runtime-toggleable feature flags
This is the first step in adding a flag toggler UI to launcher.
The change migrates a single flag (QSB_ON_FIRST_SCREEN) from a
boolean constant to a boolean method. In future, that will allow
us to return different values at runtime.

Bug: 117223984
Change-Id: I1e62c91dd941b8145166021bc0aa157733e62ea0
2018-10-08 13:17:30 -04:00
Vadim Tryshev c052e4e68a Adding temporary logging to diagnose testPendingWidget_autoRestored
This test fails

Bug: 117332845
Test: running Launcher
Change-Id: I300c856992b3d1f559c4c31525a45e2c4a960f11
2018-10-05 17:37:01 -07:00
Sunny Goyal ac8154a23d Caching widget labels in icon cache to avoid lookup at startup
Change-Id: Ie026ee47905454bd70e774d422cd7fe142aec7e2
2018-09-28 16:36:33 -07:00
Hyunyoung Song 48cb7bc7a4 Move IconNormalizer/ShadowGenerator/LauncherIcons to icons package
Bug: 115891474

Sending out the package name changing CL first before I make
LauncherIconsHandler and tests around it.

Change-Id: Ic10479a06333e1435b392a7072cd08782e710cbd
2018-09-26 11:57:37 -07:00
Sunny Goyal 0b3053c9fc Extracting icon caching logic into a base class.
This will allow using the cache cache for other type of objects,
like shortcuts and widgets.

Change-Id: I38616d031cb051f93e724d9cc0e8fe9a822b9e3a
2018-09-25 16:36:06 -07:00
Sunny Goyal f840f10d50 Removing additional rpc due to icon cache update
When launcher loads, it fetches the list of apps twice, once for
loading all-apps and again for updating icons. Instead reusing
the previously fetched apps list.
Also moving the icon loading in a separate package for further
generalization

Change-Id: Ibd2dae56e6027a31b633da030bc6b43a90b27e1b
2018-09-21 15:27:03 -07:00
Tobias Dubois a4c1002bac Fix auto install add of installed activity
Reset the restore status for auto install icons where the activity is
installed and enabled so the item is not stuck in the auto install
state.

Bug: 112664405
Test: manual - See issue
Change-Id: I37116b6e6ecbe4215d96627f9b1ea6909d12a6c0
2018-09-07 13:59:04 -07:00
Tony Wickham f9d9df7d3a Gracefully fallback to new ComponentName if one is renamed/removed
Previously, if a developer renamed their launcher activity, we removed
all instances of their icon from the home screen, since technically the
activity they pointed to no longer exists. However, in the vast majority
of cases, the developer simply renamed their activity and nothing should
change from a user's perspective. So instead of removing icons that no
longer point to a valid activity, we now redirect them to point to the
first activity in the manifest (or remove them if there is none).

Test:
- Install app with Activity A and place on home screen
- Rename A to B and reinstall - verify home screen icon remains
- Add new launcher activity C - verify icons still go to B
- Force stop launcher and rename B to A - verify icons go to A (same activity)
- Remove activity A - verify icons go to C
- Remove activity C - verify icons are removed

Bug: 28907647
Change-Id: If9da251bd588908c4c425e7dd32e38fcbe54bab2
2018-09-05 18:23:54 -07:00
Tony Wickham 6a71a5bd77 Add undo snackbar for deleting items
- Add methods to ModelWriter to prepareForUndoDelete, then
  enqueueDeleteRunnable, followed by commitDelete or abortDelete.
- Add Snackbar floating view
- Show Undo snackbar when dropping or flinging to delete target; if the
  undo action is clicked, we abort the delete, otherwise we commit it.

Bug: 24238108
Change-Id: I9997235e1f8525cbb8b1fa2338099609e7358426
2018-08-30 16:22:25 -07:00
Sunny Goyal 2b787e5bd6 Using a placeholder icon shape instead of low-res/blurry icon
Bug: 111142970
Change-Id: I867224464ae9c026f4dcb5256ef14fc39c8e751d
2018-08-27 10:43:46 -07:00
Sunny Goyal d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -07:00
Sunny Goyal 36b54228fc Retiring some feature flags
Change-Id: I80a00ecaec0785ce2ba6a5f14a54c8a76f555d43
2018-07-10 13:52:17 -07:00
Sunny Goyal 83fd25e3af Moving some abstract classes to interfaces, to better use java-8 features
Change-Id: I862af4931c95cbde052130d8b7d4ac3375db782f
2018-07-09 17:01:28 -07:00
Sunny Goyal e48fe1095d Deleting invalid icons when an app is restored
When a app is restored, it may not be in exactly the same state as it was when backed up.
Some components might be missing, and some shortcuts may be disabled or unavailable

Bug: 63525806
Change-Id: I09e6c0e9a9d2c1e8ccd73430f94bd065bdf2718e
2018-05-30 15:23:09 -07:00
Sunny Goyal b959cfb44f Reverting some debug logs
Bug: 72481685
Change-Id: Ib9e52504d9513bd7fdede28f6c0798ca7873083d
2018-04-04 10:19:30 -07:00
Jon Miranda 75161b9750 Pass intent extras as string arraylist.
Bug: 74355094
Change-Id: I697d837e48d7de4a490d2ad74a9c1ec7987d0574
2018-03-28 13:40:17 -07:00
Jon Miranda 5ab0d896c6 Send directed broadcast to package installers that have active sessions.
For each installer, we send a broadcast that includes package names of items that:
* Are being installed by that installer
* Are on the first screen
* Have an active install session

The packages are seperated by:
* Folder items
* Workspace items
* Hotseat items
* Widgets

Bug: 74355094
Change-Id: I573ed6b3b84314ef244486fcf8354bebdff8bbdf
2018-03-27 12:32:49 -07:00
Sunny Goyal 605bcf3367 Fixing bug when model was not reflected properly on the UI.
If launcher submits a job, and then reloads before the job is executed, the correct model
is not reflected on the Launcher. In that case, we simply rebind the launcher

Change-Id: I380242a4de13e7b2bc326d1a076f0a974435999c
2018-03-05 17:38:47 -08:00
Sunny Goyal 726bee7d5d Removing click-feedback shadow generation logic in BubbleTextView
Instead of animating the shadow, animating the icon scale. This avoids
unnecessary bitmap creating at app-launch and also plays nice with the
app-launch transition

Change-Id: I1d3d24bc7212a6d659855ff1002a45388e269e52
2018-03-05 14:56:38 -08:00
Sunny Goyal b29a5fa55c Adding support for hiding widgets from the widget tray and reconfiguring widgets
> Removing AppInfo target
> Switching between uninstall and setup based on the drag view

Bug: 63931362
Change-Id: Iccd6f965fa3d61992244a365efc242122292c0ca
2018-03-02 13:20:09 -08:00
TreeHugger Robot 909267996e Merge "Deprecate work folder" into ub-launcher3-master 2018-02-28 17:32:52 +00:00
Sunny Goyal 2bba1900e0 Adding temporary logs to capture configuration changes and item deletions
Bug: 72481685
Bug: 73814840
Change-Id: I1e30632647ad08a08d84c49875bc7b6cac3be1fb
2018-02-27 13:20:57 -08:00
Tony Mak 1b6826c53c Deprecate work folder
FIX: 73876183

Change-Id: I9d15df247eed3500c679cba085c680b75581cffb
2018-02-27 17:47:22 +00:00
Sunny Goyal 0e7724cef7 Ensuring that all the pending tasks are run
before marking the ViewOnDrawExecutor as completed.

Also fixing model writer not updated on rotation

Change-Id: I5ecd7ac865b939ffa4c02afe892bd773d9f275c3
2018-02-22 17:27:13 -08:00
Winson Chung d6519668bf Revert "Revert "Synchronizing loader preload to avoid launcher getting stuck in loading state,""
This reverts commit 73aa3025c0.

Reason for revert: Post-drop revert

Change-Id: Ife752d26e07d9c064c938ff8d33d40457b54217a
2018-02-16 03:23:51 +00:00
Winson Chung 73aa3025c0 Revert "Synchronizing loader preload to avoid launcher getting stuck in loading state,"
This reverts commit a1b4911e26.

Reason for revert: Temporary revert for NL build

Change-Id: I81527681bd00d49e590a99e238f4d57e5a619d16
2018-02-16 02:42:33 +00:00
Sunny Goyal a1b4911e26 Synchronizing loader preload to avoid launcher getting stuck in loading state,
which could be caused by the following sequence of events

  1) Starts preload => execution moved to background thread
     a) check if loader is running
     ... execution moved to ui thread

  2) Launcher starts
  3) Cancels any running loader and starts a new loader
     .... Execution on background thread
    b) Cancels any running loader and starts a new loader

Synchronizing (3), and [a, b] under same lock would avoid this case
Bug: 73399920

Change-Id: I6b01f797fd6f4a2e5b3c078bb374ad40fcc311c8
2018-02-15 10:31:50 -08:00
Sunny Goyal e75d9f1ec3 Preloading the LauncherModel in case launcher dies
Change-Id: Ibe529f31e96c645d45d51b9f3bf6c21b76b41254
2018-01-31 12:01:59 -08:00