Commit Graph

479 Commits

Author SHA1 Message Date
Sunny Goyal
9ae9b60043 Updating Robolectric tests
> Adding multi-thread support
> Simulating actual loader loading flow
> Moving some android tests to robolectic

Change-Id: Ie17a448f20e8a4b1f18ecc33d22054bbf9e18729
2020-01-06 11:05:42 -08:00
Sunny Goyal
fa39536570 Removing static reference of deep shortcut manager
Bug: 141376165
Change-Id: Ie60b82be63a8926825598c681d8b2a1b2ace6413
2020-01-02 20:13:12 +00:00
Sunny Goyal
337c81f664 Removing static instances of UserManagerCompat and AppWidgetManager
> Changing the lifecycle to follow other static objects in Launcher
> Removing compat interface and inlining everything to helpers

Bug: 141376165
Change-Id: I82bd5db1969101de9a7eac77f32728d70195bb35
2019-12-11 10:03:19 -08:00
Sunny Goyal
14168431bd Adding support for dynamic calendar and clock icons
Change-Id: Icdba34340a27a4f6dff7310d0bf9fd29aef1330c
2019-10-29 13:50:02 -07:00
Sunny Goyal
3808a69a6c Storing BitmapInfo instead of icon and color directly in itemInfo
This will allow subclassing BitmapInfo to support custom icon/dynamic
icons which can be loaded on the background thread instead of going
through IconFactory which runs on UiThread

Change-Id: Ieced6e91330bdff1b505826d097a8df711dfe967
2019-10-28 11:12:47 -07:00
vadimt
23c8341096 Removing tracing and @Stability for a fixed bug
Bug: 142514365
Change-Id: I147850db274c465fb964eca30b97b3ebaaa2ccf6
2019-10-25 11:21:33 -07:00
vadimt
54e0c9e49c Tracing to determine why the model doesn't load
Bug: 142514365
Change-Id: I30ecaec5a5d0868db10157c61a2a8d7dd12872ca
2019-10-14 18:39:10 -07:00
vadimt
ce25a2bf68 Adding tracing for a lab-only flake
Bug: 142514365
Change-Id: I9c93ecabbcbad6d4683d595587831d8465e62ee8
2019-10-14 11:34:38 -07:00
Sunny Goyal
e7b00128c7 Removing static instance of LauncherAppsCompat and unnecessary wrapper classes
Bug: 141376165
Change-Id: I8c1f1ab7d83ec50fe9c7bf39960ef9c360025ec7
2019-10-02 16:20:22 -07:00
Sunny Goyal
045b4fab76 Removing static listeners from PackageInstallerCompat
Bug: 141376165
Change-Id: I2b49d53a05a04c622ed5a7b723109a6cc230d230
2019-09-30 23:17:15 -07:00
Jon Miranda
088b9c2f87 Adding in missing changes to ub-launcher3-master.
Manual merge marked as DO NOT MERGE: Id60ae2c08ec7aca6780fec1f873920f3857d598e
also including the subsequent fix I8ee6836d3a06f315518aa4829c8e2ddf8cf5f74d
that I had to Skip from the automerger since the first CL never made it in.

Change-Id: I5a4a39278010099dded8fe06e960c0397c49c0aa
2019-09-17 11:51:49 -07:00
Samuel Fufa
b5a16812a6 Merge "Add Logs to track app uninstall and icon removal" into ub-launcher3-qt-future-dev
am: 2b06908252

Change-Id: I638ad5d2f48a577503b8925253152e0a9b42ab6d
2019-09-16 20:50:55 -07:00
Samuel Fufa
2b06908252 Merge "Add Logs to track app uninstall and icon removal" into ub-launcher3-qt-future-dev 2019-09-16 21:54:20 +00:00
Samuel Fufa
cc1e1075bb Add Logs to track app uninstall and icon removal
Some users are affected by a bug that keeps orphaned app icons after a
package is uninstalled. Since we are unable to pinpoint to what exactly
is causing this, we're adding logs so we could tell where exactly things
are failing.

Bug: 124817089
Change-Id: If168935115a7d323fd60c2b19426c1dbd43dbce3
2019-09-16 14:35:44 -07:00
Jon Miranda
f1ce0f31ab Fix failing test testPromiseIcon_addedFromEligibleSession.
am: d6ae55d968

Change-Id: I733da069b9de54d11f8e736ccd84eca610d65f91
2019-09-13 14:29:52 -07:00
Jon Miranda
b548b3c7b0 [DO NOT MERGE] resolve merge conflicts of cfdeb06205 to ub-launcher3-qt-future-dev
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Id60ae2c08ec7aca6780fec1f873920f3857d598e
2019-09-12 23:13:25 +00:00
Jon Miranda
d6ae55d968 Fix failing test testPromiseIcon_addedFromEligibleSession.
Test: Ran tests on device
Bug: 140819614
Change-Id: I8ee6836d3a06f315518aa4829c8e2ddf8cf5f74d
2019-09-12 16:58:51 +00:00
Jon Miranda
1c247cf451 Fix bug where existing icon is removed when install session is abandonded.
- Ensure we only add promise icons for apps that aren't already installed to
  our internal list of session ids.
- Ensure we only remove promise icons created from the install session when
  that session is abandonded.

Bug: 140819614
Change-Id: I3c93865b5e96a9c7a160154b45a38eb90ac9d183
2019-09-11 12:37:14 -07:00
Pinyao Ting
c7a6c2979c migrate custom widgets in comply with plugin framework
Bug: 139888225
Change-Id: I8a3d0fe2689ad5ba24b19309728bbad0b6287f71
2019-08-30 12:06:22 -07:00
Sunny Goyal
6fe3eec95c Moving various common executors to a single location
Change-Id: I44bca49b8adb6fa22c3b48d10f674e42c28d792c
2019-08-20 14:36:17 -07:00
Sunny Goyal
87dcde6d6c Separating apps list callback from model callback and simplifying various events
Bug: 137568159
Change-Id: I4d8bb5c01cabe642731ebd3f57fe15bdc5a569b7
2019-07-25 11:29:16 -07:00
Sunny Goyal
3e195d7429 Disable fake landscape UI
Bug: 131360075
Change-Id: I21e0a6cdf332e2d16821c589f9630c254b595770
2019-06-19 14:25:00 -07:00
Sunny Goyal
51f220dac2 Fixing ANR when loader task could run while helding the lock object
During AppWidgetRestoredReceiver, we call forceReload from worker thread
which in turn starts the loader while holding mLock. This causes other
loader calls on UI thread to cause ANR

Bug: 133651528
Change-Id: Iabf983c4319bd6e6ef88e74fe6076289294454f9
2019-05-29 11:07:10 -07:00
vadimt
8649cf29e4 Remove tracing for fixed bugs
Bug: 129434166
Bug: 131170582
Change-Id: Ia9b356594001d96c69ffbb7f8b767b2f54ed5feb
2019-05-01 16:10:56 -07:00
vadimt
d518364d53 Add tracing for non-loading model
Bug: 131170582
Change-Id: Iffc3f5f38ce896c4cfd2df55bedcf43e2018a58f
2019-04-23 12:10:44 -07:00
Sunny Goyal
6bbf6004f8 Removing ShortcutInfoCompat and directly using ShortcutInfo
Change-Id: I2842689e192a206c0d31558c8126eae1c7904598
2019-04-22 15:39:40 -07:00
Sunny Goyal
9589916418 ShortcutInfo renamed to WorkspaceItemInfo
Will get rid of ShortcutInfoCompat in a follow up cl

Change-Id: I7d7d9c938635f59b216290ba28bea9d0e0721a7d
2019-04-16 00:08:24 -07:00
Sunny Goyal
371ea051d1 Fixing launcher UI not reapplied properly when IDP changed as a result of display changes
> Removing unnecessary check when binding model data as its safe to bind old data,
  we should just not persist it (that check is already there in model writer)
> Adding additional check in model bind to skip old bind if there are multiple binds

Bug: 126259547
Bug: 118441555
Change-Id: Ic250d2af13797d3e70c6e1fc70da65ebe6ab8d70
2019-03-06 15:41:29 -08:00
Sunny Goyal
2db5342f04 Fixing some Launcher crashes because of using old model data even
after launcher has reloaded

Bug: 126289691
Bug: 124288578
Change-Id: Id7fb29716241a13f4e03ee0fc0e879523de4f878
2019-03-05 12:43:50 -08:00
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
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
06a07e9748 Moving come tests to Roboelectric
> Fixing resource loading in robo tests

Change-Id: Id5b8a0e4916a2a200da7a41b03f19846834beb1f
2018-11-12 10:49:59 -08: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
Vadim Tryshev
14c6c8cee4 Improving tests to fix testBindNormalWidget_withoutConfig, and beyond
1. Make waitXXX methods fail if the condition diesn’t turn true.
2. Waiting for loading to complete in tearDown instead of reloading the
 model
3. Avoiding waiting for load-complete where loading didn’t start
4. Disabling last test in AddConfigWidgetTest
5. Waiting for loading to complete inside setupAndVerifyContents(), not
 outside
6. Unifying how we wait for loader to complete
7. Adding more logging

Bug: 117332845
Test: running all Nexus tests
Change-Id: I3070e1ac2b9161179cc3e0800b0cd8162807389a
2018-10-09 18:47:42 -07: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
Vadim Tryshev
a7da86e14a More temporary logging to diagnose testPendingWidget_autoRestored
And waiting to loader to finish to improve determinism.

Bug: 117332845
Test: running Launcher
Change-Id: Icdfce969b61f8ceb952a2715037783458da4d4c4
2018-10-05 20:05:34 -07: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
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
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
d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -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
f266deb24c Persist the updated item to DB when a shortcut info is badged for the first time
Bug: 110016648
Change-Id: I8e36b80e9c893de91bce208ceac93a3fcdb557d5
2018-06-21 10:00:22 -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
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