Commit Graph

869 Commits

Author SHA1 Message Date
Pat Manning
4e73e5e352 Move BaseActivityInterface task size methods to DeviceProfile.
Fix: 238593212
Test: DeviceProfilePhoneTest.kt
Test: DeviceProfileVerticalBarTest.kt
Test: DeviceProfilePhone3ButtonTest.kt
Test: DeviceProfileVerticalBar3ButtonTest.kt
Test: DeviceProfileTabletLandscapeTest.kt
Test: DeviceProfileTabletPortraitTest.kt
Test: DeviceProfileTabletLandscape3ButtonTest.kt
Test: DeviceProfileTabletPortrait3ButtonTest.kt
Test: DeviceProfileTwoPanelLandscapeTest.kt
Test: DeviceProfileTwoPanelPortraitTest.kt
Test: DeviceProfileTwoPanelLandscape3ButtonTest.kt
Test: DeviceProfileTwoPanelPortrait3ButtonTest.kt
Change-Id: I30324d34ca119a467f530b590949743c2ba7b91a
2022-07-18 16:35:02 +01:00
Pat Manning
26f70f777e Add DeviceProfile tests on all attributes across different configurations.
Fix: 237542518
Test: DeviceProfilePhoneTest.kt
Test: DeviceProfileVerticalBarTest.kt
Test: DeviceProfilePhone3ButtonTest.kt
Test: DeviceProfileVerticalBar3ButtonTest.kt
Test: DeviceProfileTabletLandscapeTest.kt
Test: DeviceProfileTabletPortraitTest.kt
Test: DeviceProfileTabletLandscape3ButtonTest.kt
Test: DeviceProfileTabletPortrait3ButtonTest.kt
Test: DeviceProfileTwoPanelLandscapeTest.kt
Test: DeviceProfileTwoPanelPortraitTest.kt
Test: DeviceProfileTwoPanelLandscape3ButtonTest.kt
Test: DeviceProfileTwoPanelPortrait3ButtonTest.kt
Change-Id: I1596dcd1fb8c9b353cdfcab224d7670d88bed716
2022-07-12 14:17:18 +01:00
Thales Lima
b8c0595d42 Add new hotseat bottom margin options
This changes how the hotseat height is calculated and by consequence how spaces are distributed in the workspace as well. This is the first of a series of changes that will improve and streamline workspace calculations.

Bug: 228998463
Fix: 234023782
Fix: 230191631
Fix: 232914299
Fix: 236238226
Test: manual, HSV and comparing to mocks
Change-Id: If021e8ba2c7c24c0bf9f27a1aa7aa946792ed04f
2022-07-05 15:33:47 +01:00
Pat Manning
0f8bbef729 Merge "Simplify vertical bar hotseat bottom calculation for spring loaded state." into tm-qpr-dev 2022-07-05 10:28:10 +00:00
Pat Manning
a7335bccdc Simplify vertical bar hotseat bottom calculation for spring loaded state.
Fix: 236941743
Test: manual.
Change-Id: I7f110fea48eb88e7f941a64c17a65feec14531f3
2022-07-04 12:45:40 +01:00
TreeHugger Robot
72c5f330bf Merge "Add TAPL API for adding app icon to hotseat" into tm-qpr-dev 2022-06-30 05:28:14 +00:00
Alex Chau
f52a13e424 Merge "Add test to dismiss AllApps bottom sheet" into tm-qpr-dev 2022-06-27 09:56:58 +00:00
Chilun Huang
7662dae663 Add TAPL API for adding app icon to hotseat
Please refer to go/tapl-add-icon-to-hotseat for more details.

Bug: 231400119
Test: atest NexusLauncherTests:TaplTestsQuickstep#testAddDeleteShortcutOnHotseat
Change-Id: I8cadecbe742413e3ce35ff269c0f78057331532c
Merged-In: I8cadecbe742413e3ce35ff269c0f78057331532c
2022-06-27 11:10:21 +08:00
Vadim Tryshev
542d3cf4f2 Ignoring failing test
Bug: 233075289
Change-Id: I4f270127b72255037dd5aaccdc375dfebb6b1dc4
Test: presubmit
2022-06-24 20:50:42 +00:00
Alex Chau
d936273b1f Add test to dismiss AllApps bottom sheet
- http://docs/document/d/1ITZDMchoMndfa0nMuOTXbhKhK2aMDz0AT9dgusgxEro

Bug: 236360930
Test: TaplTestsLauncher3.testAllAppsDeadzoneForTablet
Test: TaplTestsNexus.testSearchDeadzoneForTablet
Change-Id: I62adb1d6ef237f9bca3812b8cdce9e5a8383158f
2022-06-24 18:29:43 +01:00
Vadim Tryshev
0bc6491ee7 Merge "Remove unused tracing; it confuses investigators" into tm-qpr-dev 2022-06-24 02:05:16 +00:00
vadimt
020c9e4b22 Remove unused tracing; it confuses investigators
Bug: 196820244
Test: presubmit
Change-Id: If403f475f393fc95e5efd098ae63c8e8bb199ddc
2022-06-22 17:10:08 +00:00
Ling WO
9a8964b122 Cherrypick needed for merge conflict with ag/18875278
Support move to a specific location on workspace for all workspaceDragSource, so other workspaceDragSource such as HomeAppIconMenuItem can be moved to a fixed location during testing to avoid ui-diff flakiess

Design doc:
https://docs.google.com/document/d/1tZWbfsv86O6UAKtHJrDBGecu-x3ac51qmWvARDg057M

Test: atest
Bug: 216189838

Change-Id: Ia6ef7338beb257d0313be17a53a9fc59ae39fdb6
(cherry picked from commit fe8fb4d137)
2022-06-15 22:38:04 +00:00
Alex Chau
661f02de18 Use normalized CachedDisplayInfo as key
- For system Launcher, migrate to use getPossibleMaximumWindowMetrics instead of getDisplays
- Removed usage of displayId
- In estimateInternalDisplayBounds, use CachedDisplayInfo directly as a key
- When cache retunrs null for the current display (e.g. the 3P launcher case), invalidate the cache and estimate again, and only add to supportedBounds if current display is not found in the new cache

Bug: 227459045
Bug: 198965093
Test: manual
Change-Id: Ibcc05ba483ed31a40d16e3cf49c3f3d43af68cf6
2022-06-09 11:36:47 +01:00
Andy Wickham
a1ec03bdfe [conflict] Merge "Moves Search results into a separate RV (take 2)." into tm-dev am: 4ca247a6bb am: 15dc59f8b1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18420827

Change-Id: Ic7e380e21342011afcbd1ada0eb453dc83eff4be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-26 23:31:31 +00:00
Tracy Zhou
674ac75930 Add ScreenRecord tag to understand in proc test failure
Bug: 233075289
Test: N/A
Change-Id: I22333f20f68692a352312bad034ce54def9c29ef
2022-05-26 18:16:57 +00:00
Andy Wickham
2ba7797edb Moves Search results into a separate RV (take 2).
Bug: 206905515
Test: Manually verified b/230648542 did not resurface. Tested
on phone and tablet with and without work profile.

Change-Id: If724f635286b9dff2c64255f9ece3568a5cb4ea9
2022-05-24 17:10:24 -07:00
Nicolo' Mazzucato
25b36f7716 Fix flakiness in getIconPosition test
After uninstalling the app, it was disappearing after some time. For this reason, tryGetWorkspaceAppIcon was still returning it after the uninstall.

Fixes: 232009313
Test: atest TaplTestsLauncher3
Change-Id: I62e3a8f9a481e9786a136b6c00051c1025ab5b32
2022-05-24 09:42:24 +00:00
Tracy Zhou
3438c92334 Add drag icon to folder use case back
Test: presubmit
Fixes: 232417717
Change-Id: Idca54eb8b1fec10e8c9d7e5cb338e179b733850b
2022-05-17 02:41:30 +00:00
Tracy Zhou
f14d58dfda Merge "Tune dragToFolder test so that it works with the new nav bar height" into tm-dev 2022-05-12 18:17:19 +00:00
Pat Manning
25d5334a9d Re-land "Update workspace, cell layout, shortcut and widget, and cell size calculations."
This reverts commit 3e8a04b341.

Reason for revert: b/230862148

Change-Id: I7462e86643816f42fc72e40defffd58a1f77ee8b
2022-05-12 11:57:01 +00:00
Tracy Zhou
001b547499 Tune dragToFolder test so that it works with the new nav bar height
And add screen record in case there is some flakiness

Fixes: 200310506
Test: presubmit
Change-Id: I7716698fe2fb600bf34fe603e4a98bb20fc6018d
2022-05-11 23:38:52 -07:00
Thales Lima
425f6828f1 Fix hotseat width to span a number of columns
Fix: 227344807
Fix: 231283023
Test: manual
Change-Id: Iad0f38c2323be6d9752a8e509fc7e1164edbcf4e
2022-05-11 10:09:03 -03:00
Sunny Goyal
b0416cc478 Merge changes from topic "revert-17983445-hotseat_span-WQWWPUHOTD" into tm-dev
* changes:
  Revert "Fix hotseat width to span a number of columns"
  Revert "Update workspace, cell layout, shortcut and widget, and cell size calculations."
2022-05-09 23:14:38 +00:00
Sunny Goyal
89a89d63a4 Revert "Fix hotseat width to span a number of columns"
Revert submission 17983445-hotseat_span

Reason for revert: b/231283023
Reverted Changes:
Ice4e37929:Fix hotseat width to span a number of columns
I9ed508490:Fix hotseat width to span a number of columns

Change-Id: Iabf67c5efd8155131a0c8a88192ddd671a43747b
2022-05-09 19:32:07 +00:00
Sunny Goyal
3e8a04b341 Revert "Update workspace, cell layout, shortcut and widget, and cell size calculations."
This reverts commit b45d6c421d.

Reason for revert: b/231283023

Change-Id: Ic4941ea9ecd382348aae8e099e5a7ebf4ed0bba3
2022-05-09 19:31:45 +00:00
Nicolò Mazzucato
21ea6828d8 Merge "Allow workspace to provide icon positions in tests" into tm-dev 2022-05-05 08:17:54 +00:00
TreeHugger Robot
4bd36a37a7 Merge "Implementing support for item diffing instead of creating out the complete UI on every update" into tm-dev 2022-05-04 23:11:04 +00:00
Nicolo' Mazzucato
f67536e1eb Allow workspace to provide icon positions in tests
This is needed in order to implement a test for the unfold animation.
getWorkspaceAndHotseatIconsPositions returns map that associate icon name with its center on the screen

Test: atest TaplTestsLauncher3
Bug: 220087235
Change-Id: I254aa0c146edf4cae1c2bf5c09dec000993eb4d8
2022-05-04 20:27:11 +00:00
Pat Manning
f4bd9b6304 Merge "Update workspace, cell layout, shortcut and widget, and cell size calculations." into tm-dev 2022-05-04 18:19:02 +00:00
Pat Manning
b45d6c421d Update workspace, cell layout, shortcut and widget, and cell size calculations.
Test: DeviceProfileGridDimensionsTest.kt
Fix: 230862148
Change-Id: Ib1d577bf21beb45b2f8b3d4bd57e72c188e0f71b
2022-05-04 15:39:03 +01:00
Sunny Goyal
3c5a08ada1 Implementing support for item diffing instead of creating out the
complete UI on every update

Bug: 229860311
Test: Verified locally
Change-Id: I5712b5d76878a0ed72cc1392ede59b3778b7a1dc
2022-05-03 16:24:46 -07:00
Sunny Goyal
7bf8730634 Fixing wrong window insets estimation
Launcher was estimating the landscape insets incorrectly
causing the UI to get reloaded if device is rotated. This also
caused widgets to be refetched as a result of grid size change

Bug: 218067434
Test: Verified locally that the window bounds do not change
Change-Id: Ia7228296c78ea3056f4859e43696d4bfd9522d3c
2022-05-02 13:18:45 -07:00
Thales Lima
828875cd12 Fix hotseat width to span a number of columns
Bug: 227344807
Test: manual
Change-Id: Ice4e37929bcbb8c9cf3af340e67b6bec002578bd
2022-04-29 14:56:30 +00:00
TreeHugger Robot
0716b0c104 Merge "Tracing the cause for saving bugreports" into tm-dev 2022-04-28 18:20:06 +00:00
Anushree Ganjam
fa693be19f Merge "Revert "Refactors Search results into separate RV for Toast."" into tm-dev 2022-04-28 04:52:01 +00:00
Anushree Ganjam
5cc7ff0990 Revert "Refactors Search results into separate RV for Toast."
This reverts commit 6729f0b950.

Reason for revert: This change caused b/230648542.

Please see https://b.corp.google.com/issues/230648542#comment5 for the video after reverting this change.

Bug: 206905515
Bug: 230648542

Change-Id: I85f063c56cad137c05b810204244bba7e8f94ee7
2022-04-28 01:37:49 +00:00
Sebastián Franco
84051cd8bf Merge "Give the tests the ability to emulate other devices screens" into tm-dev 2022-04-27 17:25:55 +00:00
vadimt
6df9aa3086 Tracing the cause for saving bugreports
Bug: 229115383
Test: presubmit
Change-Id: I8ce42c67b4679e23b2e7ea68ee27ee9738a8b4b5
2022-04-26 13:18:19 -07:00
Sebastian Franco
00aff95ac0 Give the tests the ability to emulate other devices screens
This code contains utility clases that can change the display
of a device and make it look like another device.
The function DisplayEmulator#emulate receives a DeviceEmulationData
a certain grid to emulate and a callback, everyting that happens
inside of the callback will happen when the device is being emulated
and can be used by other tests.

Example test:
package com.android.launcher3.deviceemulator;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.MediumTest;
import com.android.launcher3.deviceemulator.models.DeviceEmulationData;
import com.android.launcher3.ui.AbstractLauncherUiTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.concurrent.TimeUnit;

@MediumTest
@RunWith(AndroidJUnit4.class)
public class TestTest extends AbstractLauncherUiTest {
    @Test
    public void testEmulation() throws Exception {
        String deviceCode = "pixel6pro";
        DeviceEmulationData deviceData = DeviceEmulationData.getDevice(deviceCode);
        String grid = "normal";
        DisplayEmulator displayEmulator = new DisplayEmulator(mTargetContext);

        displayEmulator.emulate(deviceData, grid, () ->{
            TimeUnit.SECONDS.sleep(10);
            return true;
        });
    }
}

Test: You could use the test above to make your device look like a
Pixel6 pro for 10 secons.
Fix: 229028257

Change-Id: Icd79be405a2e14dda0bc5f555b0e46149e16f912
2022-04-25 11:57:58 -05:00
Andy Wickham
6729f0b950 Refactors Search results into separate RV for Toast.
This will help enable transitions between A-Z apps lists and
search results because both can be seen simultaneously and
manipulated independently.

Some high level items of the refactor:
 - SearchRecyclerView is added; logic that populated the main
   (personal) tab with search results was simply redirected to
   this RV instead.
 - BaseAllAppsContainerView added isSearching() method. Returns
   false, and ActivityAllAppsContainerView overrides (as search
   is handled there).
 - Renamed BaseRecyclerView to FastScrollRecyclerView to better
   describe what it does. SearchRecyclerView extends this, but
   returns false for supportsFastScrolling().
 - AlphabeticalAppsList#mAllAppsStore is now optional, so the
   Search RV doesn't need to store/listen to apps. Note this
   doesn't affect the predicted app row which is still updated
   if one of the predicted apps is uninstalled (I tested this).

Future work:
 - Determine why dispatchRestoreInstanceState is not called for
   BaseAllAppsContainerView. Save is called, e.g. on rotation.
   Effect of restore not called: rotating while searching goes
   back to A-Z list.
 - Keep suggested apps in Header while searching. Currently they
   are rendered in the SearchRV above search results, as before.
 - Potentially extract Personal/Work tabs to move independently of
   header.
 - AlphabeticalAppsList is a misleading name because it can also
   contains search results. However, things are pretty intertwined
   between that and BaseAllAppsAdapter (effectively a circular
   dependency), so I figured cleaning all that up was out of the
   immediate scope of this refactor, which is mainly meant to
   unblock transition work.

Bug: 206905515
Test: Manually checked for regressions, ran tests.
Change-Id: I4d3757c8a8f9b774956ca6be541dd4fcdad1de13
2022-04-24 17:36:48 -07:00
Alex Chau
e3b806366a Update pull back animation for tablet AllApps
- This is a follow-up of http://ag/17636490
- Introduced animation property specifically for pullback translation and alpha, which will invoke getRecyclerViewContainer directly on tablet, and invoke aggregate setter of appsView on phones
- Delay reset of pullback animation to after dismiss animation to avoid jump in value during state transition animation
- Introduced property factory for addictive properties similar to MultiScalePropertyFactory

Fix: 220345008
Test: manual on small and large screen
Change-Id: I7b5c0019c1d4d36c3c7ca4ec79e38e4eb09c32ca
2022-04-22 16:27:25 +01:00
Vadim Tryshev
70dffbe896 Merge "Sampling too long Launcher tests" into tm-dev 2022-04-20 17:09:26 +00:00
vadimt
25fbd5b0bb Sampling too long Launcher tests
A test that takes > 3 min will generate an artifact file containing stacks of all threads of the test process taken every 3 sec. This artifact will be also generated if the test process is killed, for example, by timeout.

This artifact should help EngProd's effort to speed up presubmits.

Bug: 225186335
Test: local runs
Change-Id: I721779bfbe5bc6289315998ed2660f5f46165611
2022-04-19 18:02:56 -07:00
Sunny Goyal
cd2ac0f3e9 Updating target SDK for Launcher
Bug: 229173942
Bug: 226461147
Test: Presubmit
Change-Id: Id9e303f113cba87adf26442f1417ed2814555c54
2022-04-18 13:55:01 -07:00
Benno Lin
edb576fba8 Merge "Enable pressback tests" into tm-dev 2022-04-07 23:39:20 +00:00
Alex Chau
bfa953b230 Merge "Allow 5 hotseat icons in tablet 3 button" into tm-dev 2022-04-01 10:11:59 +00:00
Alex Chau
72c4de8c13 Use Chrome instead of Camera for TwoPanelWorkspaceTest
Fix: 227540753
Test: atest -c NexusLauncherTests:com.android.launcher3.ui.workspace.TwoPanelWorkspaceTest#testEmptyPagesGetRemovedIfBothPagesAreEmpty
Change-Id: Ia00e243ef9d56e094da0e23511cc8d62fa606df6
2022-03-31 14:40:20 +00:00
Alex Chau
8a7451a565 Allow 5 hotseat icons in tablet 3 button
Fix: 223756731
Test: manual
Change-Id: Iacde8b9506c09a20d6b2b917da8f6589009aadc7
2022-03-31 15:27:35 +01:00
Thales Lima
c1ea50a43d Merge "Make inline qsb part of grid attrs" into tm-dev 2022-03-31 08:30:10 +00:00