Commit Graph

41 Commits

Author SHA1 Message Date
Sunny Goyal
4af8cf9269 Updating test build rules
> Moving definition to bp files
> Adding mokito-inline to allow mocking final classes
> Moving src_common to src to avoid unnecessary code split

Bug: 196825541
Test: Presubmit
Change-Id: Ib6879cda6aee74f5b9050a16eb6ca94ed3b7e28c
2021-08-18 10:22:52 -07:00
Yogisha Dixit
741fae9ea2 Move widget files into widget folder + add tests.
I will use the newly created LauncherAppWidgetProviderInfoTest in a follow-up CL to add tests for the newly added widget sizing APIs.

Test: Automatic: Ran all robolectric tests in launcher3,
      Manual: Added a widget, edited the widget, removed the widget
Bug: 179807199
Change-Id: I540b2dbe284c6eb5aa2466a1d13a9581ee59425b
2021-03-01 13:59:52 +00:00
vadimt
e1c0dda778 Eliminating 10-sec wait for a non-existing widget
If we want to ensure that a widget doesn't exist, it's sufficient to
wait 100 ms

Change-Id: I9982e89e1a376678df2271954ce177a90a6a579d
2020-07-23 23:06:19 +00:00
vadimt
d9092e83d6 Removing instrumentation for unreproable bug
Bug: 152645831
Change-Id: Iacdb103b01375b8bf48691867b844adebcd325a0
2020-06-05 15:30:31 -07:00
Sunny Goyal
34ff8cb3c1 Adding common code for instrumentation and robolectric tests
Change-Id: Ia338f0565868bb174ef5f6721924944792866be6
2020-04-20 14:42:30 -07:00
Sunny Goyal
e396abf502 Moving model data structures to a separate file
Change-Id: I77ad7a5219e72d2e0d6c1803de2ac3ed6a65a8f7
2020-04-09 13:20:39 -07:00
vadimt
00a031fbab More diags for missing widgets
Bug: 152645831
Change-Id: Idf6584220328a0853cd8dd65ebb5c54bab9980fd
2020-04-01 15:33:35 -07:00
vadimt
75add7cef5 Debug tracing for "widget not present" flake
Bug: 152645831
Change-Id: I1e318650e45ab8e2a60eccef2f4f3c247b2a6b5b
2020-03-27 15:08:36 -07:00
Samuel Fufa
9151c011b9 Allow Launcher to automatically restore widgets
This replaces PendingAppWidgetHostView with configured widget view when
OPTION_APPWIDGET_RESTORE_COMPLETED is set to True by a widget provider.

Bug: 63667276
Test: Manual
Change-Id: Ide21f5e9a7dac7e3d6a745660a38ad0b951b47d3
2020-03-03 15:35:48 -08:00
Sunny Goyal
73b5a27b14 Updating some non-final static objects
Updating various static objects to use a standard pattern so that
it is easier to track and cleanup those objects

Bug: 141376165
Change-Id: Ia539cbfa338d544dddad771c5027b6748762768b
2019-12-11 13:22:58 -08: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
045b4fab76 Removing static listeners from PackageInstallerCompat
Bug: 141376165
Change-Id: I2b49d53a05a04c622ed5a7b723109a6cc230d230
2019-09-30 23:17:15 -07:00
Sunny Goyal
8f90d5da8a Adding test to check view inflation during swipe up
Bug: 137851409
Change-Id: Ic8e6f0b3c667051b921d1d4fad03c94122ee92e9
2019-09-20 15:36:02 -07:00
Jon Miranda
c1322b6ac8 Key by both package and user for list of active install sessions.
This fixes the bug where items are left on the home screen for the wrong
user.

Bug: 139281702
Change-Id: I03c31bb308fc496b9fc633c2fde23ae4568f8c44
2019-09-17 11:20:35 -07:00
vadimt
d91cec72fe Simplifying switching to home for some tests
Change-Id: I696d0267a2c36a18080396657bed07f7b1654a7d
2019-07-12 12:26:08 -07:00
vadimt
3a6eedc61b Converting some widget tests to TAPL
Bug: 115582915
Change-Id: I07c6ca5ef712cf1a85d81e7d4b4bda3604777ac8
2019-06-25 18:34:48 -07:00
vadimt
1bdb0f4046 Enable BindWidgetTest, RequestPinItemTest
Comparing only widget provider class names, as package names (sometimes)
switch to the test package, not to the ones in Launcher.

Bug: 131116593
Change-Id: Ieeed69432303a86fcefb194d509cdaf9d4513f3a
2019-05-03 13:49:52 -07:00
Sunny Goyal
77b3419ad5 Adding support for showing predicted apps as a floating row in all-apps
and overview

Bug: 130053407
Change-Id: Idb93a0ba6cfea8406f75ab86d9e0acde2fc04b3a
2019-04-23 14:26:44 -07:00
vadimt
677abe2117 Annotating ignored tests with requests to enable them
Bug: 117106893
Change-Id: Ib8e578913ceebee44a507b5e333e7da07c6120d0
2019-04-22 17:34:29 -07:00
vadimt
19f996d7d7 Exiting tests after a test fails to deinitialize
This avoid confusion when following tests get affected by failures in
earlier tests.

Change-Id: I44abcb38d5de222e48b0c33f062044280305750e
2019-04-03 17:16:27 -07:00
vadimt
522cc2ff0c Adding diags for TAPL flakes that don't reproduce locally
Also temporarily disabling more flaky BindWidgetTests

Change-Id: Ib0d3c54c560ddb49b7964e85bf9cd6ebc567b6d7
2019-03-26 18:21:36 -07: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
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
Vadim Tryshev
34b6f9f106 Supporting OOP tests
AbstractLauncherUiTest was modified to compile and work both in- and
out- of proc.

Bug: 113056917
Test: was in Nexus branch
2018-10-13 01:13:45 +00:00
Sunny Goyal
4470344529 Fixing BindWidgetTest failing on Launcher3
Bug: 117616326
Change-Id: I3d08defc735498305cf982b214f6c0fae1508bd9
2018-10-11 16:06:52 -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
4ed58d6c03 Adding tests for fallback recents when a 3rd party launcher is installed
Change-Id: I1d4da13cc779f49832008b12b9628d01631faffe
2018-10-09 14:25:01 -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
Vadim Tryshev
c59465efe0 Disabling heads-up notifications in launcher tests.
This prevents the tests from interacting with this popup.

Bug: 110103162
Test: TaplTests
Change-Id: I0215ddab634611d20a63ed728de11d4138456f96
2018-09-18 14:02:33 -07:00
Vadim Tryshev
0a9f3ab4a6 Converting tests to Androidx
Bug: 112610679
Change-Id: I712826e668f1fbeb4e47cc541d4f5296d8eb74c0
2018-08-21 15:04:48 -04:00
Vadim Tryshev
dc755e718d Started converting Launcher to be gesture-stable
All tests keep passing.

WorkTabTest.workTabExists was made gesture-stable. There is no need to
use TAPL, as the point is not to check answering to gestures, but to
check presence of tabs, which is better to do using launcher internal
state. (It still fails if run as a part of all tests, presumably,
because after Launcher's start, changes in user configuration are not
recognized, so I've commented the failing part)

Bug: 110103162
Test: Run all tests
Change-Id: Ic30b8e8475d16cee3880332f12311a44ddfa26cb
2018-08-14 10:29:57 -07:00
Jon Miranda
1aaaac8343 Add @Test and @Ignore to untested test methods.
Error prone complains when trying to merge launcher3 code to platform pi-dev.

"This looks like a test method but is not run; please add @Test and @Ignore,
or, if this is a helper method, reduce its visibility."

Change-Id: I95f55b95d8f7752c9c941f0828ca22d6427528c6
2018-06-21 14:04:52 -07:00
Hyunyoung Song
3efd037e63 Fix the Launcher3Tests
Bug: 78589564

$ adb shell am instrument -w com.android.launcher3.tests/android.support.test.runner.AndroidJUnitRunner

com.android.launcher3.allapps.search.DefaultAppSearchAlgorithmTest:..
com.android.launcher3.logging.FileLogTest:..
com.android.launcher3.model.AddWorkspaceItemsTaskTest:....
com.android.launcher3.model.CacheDataUpdatedTaskTest:...
com.android.launcher3.model.DbDowngradeHelperTest:....
com.android.launcher3.model.GridSizeMigrationTaskTest:...........
com.android.launcher3.model.LoaderCursorTest:........
com.android.launcher3.model.PackageInstallStateChangedTaskTest:...
com.android.launcher3.popup.PopupPopulatorTest:..
com.android.launcher3.provider.RestoreDbTaskTest:..
com.android.launcher3.touch.SwipeDetectorTest:.....
com.android.launcher3.ui.AllAppsAppLaunchTest:..
com.android.launcher3.ui.AllAppsIconToHomeTest:..
com.android.launcher3.ui.ShortcutsLaunchTest:..
com.android.launcher3.ui.ShortcutsToHomeTest:..
com.android.launcher3.ui.WorkTabTest:.
com.android.launcher3.ui.widget.AddConfigWidgetTest:....
com.android.launcher3.ui.widget.AddWidgetTest:..
com.android.launcher3.ui.widget.BindWidgetTest:......
com.android.launcher3.ui.widget.RequestPinItemTest:.
com.android.launcher3.util.GridOccupancyTest:..
com.android.launcher3.widget.WidgetsListAdapterTest:......

Time: 180.363
OK (76 test)

Change-Id: I4a50581bc8d06a030467ac9fec3e1ef668745214
2018-06-19 14:13:13 -07:00
Sunny Goyal
29947f0b53 No more waiting around for resume
Apply model updates as son as they arrive instead of waiting for onResume.
Various workspace items do not use any configuration dependent resources.
For Widgets, we wait until the host starts lietening before inflating the actual view.

Change-Id: Icb2f5e5940c1ce6c27062ccd34eff87e80af5ab1
2017-12-19 12:50:17 -08:00
Sunny Goyal
952e63d006 Fixing custom widgets support:
> Moving the definitions to xml so that it is easier to override in derivative projects
> Fixing verious bind and save logic for custom widgets
> Adding feature flag to easily disable custom widgets

Change-Id: I0e278bc7dd415713029364060ef10842da990be9
2017-09-13 14:04:35 -07:00
Sunny Goyal
1d7f45d8f8 Fixing various tests
> Migrating UI tests to AndroidJUnit4 for better support
> Removing obsolete RotationPreference test
> Fixing broken FileLogTest and AndroidJUnit4
> Removing InvariantDeviceProfileTest as it does not work well with
  resource overlays

Change-Id: I0abb1df6765d76d86c1c6c84e8ac35eb9a6bcdaa
2017-07-31 11:03:54 -07:00
Sunny Goyal
64a75aa305 Adding A feature flag to disable widgets and a corresponding build
target Launcher3Go without widgets support

Bug: 62353159
Change-Id: Ia03d2235a9bcf75f9ef191924f81630e63a2c684
2017-07-21 14:10:13 -07:00
Sunny Goyal
b265ba7449 Removing DeferredHandler and using a simple Handler to post callbacks
DeferredHandler was added when we were posting each icon separately,
to prevent starvation. But since then we have moved to binding batct
items during bind.

Also fixing waitForIdle not waiting the second time. waitForIdle was
using a global variable to maintain state, and was not waiting properly
when its called the second time before binding deep shortcuts

Original Change-Id: I9c1289cb3bfb74f86e53ec7ac6dd76bb39666b2d

Change-Id: I9e6b3ae65fbd3aec3a46092efc5249c4525efedf
2017-03-07 13:44:52 -08:00
Sunny Goyal
658058b960 Adding some widget addition flow tests
> Added two dummy widget providers: with config and without config
> Added tests for verify widget config flow

Change-Id: I4577f085abe8f8b82047b644c71cc9065358153a
2017-01-23 15:28:25 -08:00