Commit Graph

51 Commits

Author SHA1 Message Date
Winson Chung
c1674270b5 1/ Fixing docked task animation when entering split screen from home
- Update the minimized state when docking an app from home to ensure that
  the animation of the docked task goes to the right bounds
- Temporarily block the invocation of the old recents activity when showing
  recents as a part of setting the windowing mode of another task (this is
  fine right now because quickstep only allows docking via the UI and not
  from the nav bar while another task is open).
- Add proto field so we can determine whether to check the recents activity
  from the split screen CTS tests
- Also fix issue with invisible docked task due to wrong bounds calculated
  due to launcher not notifying the divider of the first docked frame

Bug: 73118672
Test: go/wm-smoke
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerSplitScreenTests
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerTransitionSelectionTests

Change-Id: Ib1208501c311de009a9e706103134865c521cb63
2018-02-27 16:49:30 -08:00
Sunny Goyal
af42c8427a Extrating out icon generation logic so that it can customized
Test: Created jar and varified launcher is works properly
Change-Id: Ic07083d6394bb65d857b665fd86fa67f6323ed7b
2018-02-23 12:41:36 -08:00
Jason Monk
1fc931a38a Switch to inline mockito for a bunch of tests
So we can mock final stuff

Test: The tests
Change-Id: Ia3a47c6655c4b0b9af0aea0ee6f8f6cb9ebaab09
2018-02-18 13:02:25 -05:00
Matthew Ng
8f25fb96e2 Add more controls for launcher to control sysui
Added a 4 flags to control the state of system ui:
1. Disable swipe up navigation (prevents motion events going through)
2. Disable quick scrub (& step)
3. Show overview button (hidden by default)
4. Hide back button (shown by default)

Test: manual
Bug: 67957962
Bug: 70180755
Change-Id: Ibc44af9bbdfa9611688fe12285a999d81b8287e9
2018-02-14 15:27:37 -08:00
Winson Chung
c4e062015d Adding hit target hint from SysUI to launcher to defer recents animation
Bug: 73242451
Test: Swipe up over back with suitable launcher build and ensure that we
      don't start the recents animation on touch down

Change-Id: I3022ced8803caf9555efdbd9681c8ee2e627a216
2018-02-13 18:36:50 -08:00
Winson Chung
f64d2ec247 Merge "Fix several issues with RecentsAnimation" 2018-02-13 23:23:04 +00:00
Winson Chung
ddf6297579 Fix several issues with RecentsAnimation
- Prevent starting the recents animation while an app transition is already
  set, if the animation was canceled before the pending start animation
  could be processed, or if there are truly no visible tasks to animate
- Fix case where we were improperly cleaning up the recents animation if it
  was canceled while initializing. In particular we need to move the
  initialization out of the constructor for the cancel logic to work
  (which checks for a non-null controller before cleaning up). Similarly
  we were posting the timeout runnable after the initialization of the
  recents animation, even if that resulted in the animation being canceled.
  Instead, post it before initialization to ensure that canceling the
  animation will also remove the timeout.

Bug: 72953248
Test: Introduce artificial delay when starting recents animation such that
      it happens after starting an activity

Change-Id: Ie0ec37038822f28327e789e7e5a3c4c36f945ff9
Signed-off-by: Winson Chung <winsonc@google.com>
2018-02-13 10:54:41 -08:00
Sunny Goyal
2f1f06cbf2 Merge "Adding utility method to check the current home app" 2018-02-13 17:46:56 +00:00
Sunny Goyal
8b361d918e Adding utility method to check the current home app
Test: Verified the libary with Launcher
Change-Id: I37c0c0a6c74484e6a34497168d841e4a92207b5b
2018-02-12 10:16:13 -08:00
Winson Chung
58bd439042 Fix issue with quick switch animation not running.
- We were intercepting touch before the quickscrub controller had a chance
  to handle the touch, which meant that we canceled the recents animation
  before passing the quick switch event to launcher.  Instead, just move
  the cancel recents animation logic to the key button view (before
  handling up) and ensure that we intercept from the button only in the
  cases we desire (a quick switch/scrub, recents animation start, or if
  it's a dock drag (not currently enabled).

Test: Fling on the nav button to quickswitch, ensure recents animation
      runs

Change-Id: Id89fda56f2996a38a9aea99179b5e2870b531003
2018-02-09 12:35:49 -08:00
Winson Chung
4965884784 Fix issue with quickswitch happening after recents animation starting
- When the animation starts, prevent quickswitch until the next gesture
  starts
- Refactor recents animation started signal into the gesture helper to
  simplify the code in the nav bar view

Bug: 67957962
Bug: 70180755
Bug: 73080940
Test: Quick scrub on nav bar

Change-Id: I718d3e64c14569e5df2e6a0ffc1aecdb0125f54f
Signed-off-by: Winson Chung <winsonc@google.com>
2018-02-08 13:39:19 -08:00
Winson Chung
bc88614abe Merge "Revert "Revert "Exposing content insets and minimized home bounds for recents transition""" 2018-02-08 17:06:48 +00:00
Narayan Kamath
945356ac0f Merge "SystemUI: Remove obsolete dependency on android.car." 2018-02-08 12:40:53 +00:00
Winson Chung
584d652a1d Revert "Revert "Exposing content insets and minimized home bounds for recents transition""
This reverts commit bb5d97f00f.

Reason for revert: Launcher APK is landing shortly.

Test: Manual, swipe up to home in multi-window

Change-Id: I5d9050e51265bd4ca5ea2c28b7533571d03990f7
2018-02-07 17:51:29 -08:00
Winson Chung
0ee9c0db54 Merge "Revert "Exposing content insets and minimized home bounds for recents transition"" 2018-02-07 18:39:20 +00:00
Winson Chung
bb5d97f00f Revert "Exposing content insets and minimized home bounds for recents transition"
This reverts commit 67f31199fb.

Reason for revert: Need to wait for the Launcher drop at EOD today

Change-Id: I039cd3092d786c62a88f599eb79c0704c6257981
2018-02-07 18:30:40 +00:00
Winson Chung
bcaeb104c2 Merge "Exposing content insets and minimized home bounds for recents transition" 2018-02-07 17:34:50 +00:00
Tony Wickham
05c1f854ad Get swipe up onboarding text from launcher
Launcher sends the text when binding to the overview service,
which stores the text for when it needs to be shown.

Also renamed some files and strings to be more generic

Test: install launcher with updated text and ensure it is shown

Bug: 72999860
Change-Id: I5998ab8867754d877f954673e03e5faf44b606ed
2018-02-06 17:28:44 -08:00
Winson Chung
67f31199fb Exposing content insets and minimized home bounds for recents transition
- In order to calculate the final target rect and window clip for the
  app currently transitioning into the task view in launcher (similar to
  how we did in SysUI), we need to provide the content insets and bounds
  for both the app and launcher (whose activity may not yet have been
  shown).  For the existing recents transition, this was calculated
  internally in the AppTransition aspect-scaled transition, but now that
  we are implementing this via remote animations, the same information is
  needed in the implementation of the recents animation runner.

Bug: 70294936
Test: Swipe up from launcher with window transitions when in multi window
Change-Id: I2afc6bdfe112cc7bb1b07ba65213653f6f0634f9
2018-02-06 16:15:41 -08:00
Narayan Kamath
fdbc611502 SystemUI: Remove obsolete dependency on android.car.
Car related functionality was removed in efa42d2cc5.

Test: make
Change-Id: Ieb54aa23a3d028705bf70a707406041fa2a6a0d4
2018-02-06 16:10:02 +00:00
Winson Chung
b68213bede Move lock task check to shared lib.
Bug: 70294936
Test: Ensure that launcher can check screen pinning state
Change-Id: I2951fb3605525c5cdb7b27b099c95a762322971c
2018-02-01 15:38:38 -08:00
Dan Willemsen
591cd60426 Merge "Differentiate SystemUISharedLib library vs apk" 2018-01-29 21:40:13 +00:00
Dan Willemsen
c355730e34 Differentiate SystemUISharedLib library vs apk
The build system doesn't particularly like a java library and an apk
with the same name, so rename the apk that doesn't seem to be used.

Test: m SysUISharedLib
Test: m SystemUISharedLib
Change-Id: Ib3fc80e420285f667209f729906802e5217cdf25
2018-01-26 17:43:38 -08:00
Winson Chung
caf2b81186 Expose call to start screen pinning on a task.
Bug: 70294936
Test: Manual
Change-Id: I7b8a079b928a9a8bf887aab7ae0bd6f93ac9d7e4
2018-01-26 11:22:09 -08:00
Winson Chung
cbb15a9963 Revert "Revert "4/ Update SysUI shared lib for Recents transition""
This reverts commit f6401c0284.

Reason for revert: Testing relanding changes with ag/3515280

Change-Id: Ibb8d4868fe2cc1053b528ed757bd3ec1f9c10355
2018-01-25 13:45:22 -08:00
Jorim Jaggi
f6401c0284 Revert "4/ Update SysUI shared lib for Recents transition"
This reverts commit 9f6ba8df3b.

Breaks presubmits
2018-01-25 15:21:18 +01:00
Winson Chung
9f6ba8df3b 4/ Update SysUI shared lib for Recents transition
- Ensures that we cancel the recents animation when handling touch
- Moving InputConsumerController to shared lib
- Add compat classes for recents controller/listener

Bug: 70180552
Test: Manual, swipe up with suitable launcher build
Change-Id: Ib57ea73ff75545b91922df188ffb7152e9d4cebd
2018-01-24 19:20:21 -08:00
TreeHugger Robot
dbcb0a355e Merge changes I204d0ba7,Ifc51143b,I4b15fac9
* changes:
  Show swipe up onboarding after 2 apps instead of 3
  Change swipe up onboarding color based on nav bar color
  Add swipe up onboarding from apps
2018-01-24 20:02:47 +00:00
Tony Wickham
fb63fe85f2 Add swipe up onboarding from apps
After launching 3 apps, we create a window at the bottom
attached to the nav bar to teach users to swipe for recents.
There is an X on this window to dismiss it, but we will keep
showing the onboarding every time they open apps until they
perform the swipe up action.

Test: manual

Bug: 70180942
Change-Id: I4b15fac918b7b1633a3c09ab0819f2acb1dce697
2018-01-23 16:02:27 -08:00
Jorim Jaggi
388090fbdd Check for surface validity to avoid native crash
If the surface gets destroyed, return -1 to indicate such that
the client can abort the animation, instead of crashing.

Test: With Launcher in multi-window
Change-Id: I4ab11557c40ed843a4c2e985a53cc2247b18b5fd
2018-01-22 20:08:41 +00:00
Jorim Jaggi
75c5501f47 Add ability to post a message at the front of the queue
Used for remote animations to minimize latency.

Test: Boots
Bug: 64674361
Change-Id: Id07295a852edf4fbc308a4e4616077275f35f0f7
2018-01-17 22:59:33 +01:00
Winson Chung
2776b068bd Wrapping remote app animations
For use by launcher.

Test: Use it in launcher.

Bug: 64674361
Change-Id: Iaa67b349fc62ee2c636e27c270e336a767bec030
2018-01-17 22:30:19 +01:00
Matthew Ng
a8f2426df6 Beginning implementation of quickscrub (1/3)
When enabled via launcher, the home button is able to be be pulled to
the right side to send events to launcher via binder calls of when the
quick scrub operation starts, ends and progress changes between each
interval. Launcher will use this information to determine how the
recents apps are laid out with vibration feedback.

When the home button is pulled and released under 150ms, quick switch
will occur. A binder call will tell launcher to switch to the previous
app used.

While quick scrub or switch is active, launcher will not get any nav
bar motion events, only events for quick scrub and switch.

Bug: 67957962
Bug: 70180755
Test: enable new experience via launcher settings
Change-Id: I344f5d67f259ff454205ea4d2e95140f783d3b5c
2018-01-12 12:24:03 -08:00
Jorim Jaggi
988f66885c Lock free app animations (4/n): Implement thubmnail
Bug: 64674361
Test: go/wm-smoke
Change-Id: I8f25dae04b69613c93ccb5416c2cda2df6373103
2017-12-27 15:49:55 +01:00
Paul Duffin
57e4f25f09 Merge "Stop statically including legacy-android-test" 2017-12-08 18:02:27 +00:00
Paul Duffin
b866307f99 Stop statically including legacy-android-test
Statically including legacy-android-test leads to duplicate classes
which causes build time problems (with Proguard) and runtime problems on
older SDK versions. This change:
* Stops statically including legacy-android-test.
* Adds compile time dependencies on andoid.test.base, android.test.mock
  and android.test.runner where necessary.
* Adds <uses-library android:name="android.test.runner"/> to any
  affected package to ensure that the classes that were included by
  legacy-android-test are still available at runtime. That also adds a
  dependency on android.test.base and android.test.mock.

The following change descriptions were generated automatically and so
may be a little repetitive. They are provided to give the reviewer
enough information to check the comments match what has actually been
changed and check the reasoning behind the changes.

* apct-tests/perftests/core/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CorePerfTests results
    in duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CorePerfTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

* core/tests/ConnectivityManagerTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    ConnectivityManagerTest's source depends on its classes and because
    of these changes they are no longer present on the compilation
    path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ConnectivityManagerTest
    results in duplicate classes which leads to build time and compile
    time issues.

* core/tests/bandwidthtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    BandwidthTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in BandwidthTests results
    in duplicate classes which leads to build time and compile time
    issues.

* core/tests/bluetoothtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    BluetoothTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in BluetoothTests results
    in duplicate classes which leads to build time and compile time
    issues.

* core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in DownloadManagerTestApp
    results in duplicate classes which leads to build time and compile
    time issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    DownloadManagerTestApp's source depends on its classes and because
    of these changes they are no longer present on the compilation
    path.

* core/tests/hosttests/test-apps/ExternalSharedPerms/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsTestApp results in duplicate classes which leads
    to build time and compile time issues.

* core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsBTTestApp results in duplicate classes which
    leads to build time and compile time issues.

* core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsDiffKeyTestApp results in duplicate classes
    which leads to build time and compile time issues.

* core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    ExternalSharedPermsFLTestApp results in duplicate classes which
    leads to build time and compile time issues.

* core/tests/notificationtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    NotificationStressTests's source depends on its classes and because
    of these changes they are no longer present on the compilation
    path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in NotificationStressTests
    results in duplicate classes which leads to build time and compile
    time issues.

* keystore/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in KeystoreTests results
    in duplicate classes which leads to build time and compile time
    issues.

* media/mca/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CameraEffectsTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CameraEffectsTests
    results in duplicate classes which leads to build time and compile
    time issues.

* media/tests/MediaFrameworkTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    mediaframeworktest's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in mediaframeworktest
    results in duplicate classes which leads to build time and compile
    time issues.

* nfc-extras/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in NfcExtrasTests results
    in duplicate classes which leads to build time and compile time
    issues.

* packages/CarrierDefaultApp/tests/unit/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CarrierDefaultAppUnitTests's source depends on its classes and
    because of these changes they are no longer present on the
    compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    CarrierDefaultAppUnitTests results in duplicate classes which leads
    to build time and compile time issues.

* packages/ExtServices/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    ExtServicesUnitTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ExtServicesUnitTests
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/MtpDocumentsProvider/tests/Android.mk
    Added 'android.test.base' and 'android.test.mock' to
    LOCAL_JAVA_LIBRARIES because MtpDocumentsProviderTests's source
    depends on their classes and because of these changes they are no
    longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    MtpDocumentsProviderTests results in duplicate classes which leads
    to build time and compile time issues.

* packages/SettingsLib/tests/integ/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    SettingsLibTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SettingsLibTests
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/SettingsProvider/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SettingsProvider
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/SettingsProvider/AndroidManifest.xml
    Add uses-library for android.test.runner because otherwise this
    change would change the set of files available to SettingsProvider
    at runtime.

* packages/Shell/tests/Android.mk
    Added 'android.test.base' and 'android.test.mock' to
    LOCAL_JAVA_LIBRARIES because ShellTests's source depends on their
    classes and because of these changes they are no longer present on
    the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ShellTests results in
    duplicate classes which leads to build time and compile time
    issues.

* packages/SystemUI/shared/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SystemUISharedLibTests
    results in duplicate classes which leads to build time and compile
    time issues.

* packages/SystemUI/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SystemUITests results
    in duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    SystemUITests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

* packages/WAPPushManager/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    WAPPushManagerTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in WAPPushManagerTests
    results in duplicate classes which leads to build time and compile
    time issues.

* sax/tests/saxtests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    FrameworksSaxTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in FrameworksSaxTests
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/BrowserPowerTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    BrowserPowerTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in BrowserPowerTests
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/CanvasCompare/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CanvasCompare's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CanvasCompare results
    in duplicate classes which leads to build time and compile time
    issues.

* tests/CoreTests/android/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CoreTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in CoreTests results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/DataIdleTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    DataIdleTest's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in DataIdleTest results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/FrameworkPerf/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    FrameworkPerf's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in FrameworkPerf results
    in duplicate classes which leads to build time and compile time
    issues.

* tests/HierarchyViewerTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    HierarchyViewerTest's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in HierarchyViewerTest
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/ImfTest/tests/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    ImfTestTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in ImfTestTests results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/Internal/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in InternalTests results
    in duplicate classes which leads to build time and compile time
    issues.

* tests/MemoryUsage/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    MemoryUsage's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in MemoryUsage results in
    duplicate classes which leads to build time and compile time
    issues.

* tests/NetworkSecurityConfigTest/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    NetworkSecurityConfigTests's source depends on its classes and
    because of these changes they are no longer present on the
    compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    NetworkSecurityConfigTests results in duplicate classes which leads
    to build time and compile time issues.

* tests/SoundTriggerTests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SoundTriggerTests
    results in duplicate classes which leads to build time and compile
    time issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    SoundTriggerTests's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

* tests/SurfaceComposition/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in SurfaceComposition
    results in duplicate classes which leads to build time and compile
    time issues.

    Added 'android.test.runner.stubs' to LOCAL_JAVA_LIBRARIES because
    SurfaceComposition's source depends on its classes and because of
    these changes they are no longer present on the compilation path.

* tests/TtsTests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in TtsTests results in
    duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    TtsTests's source depends on its classes and because of these
    changes they are no longer present on the compilation path.

* tests/WindowAnimationJank/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in WindowAnimationJank
    results in duplicate classes which leads to build time and compile
    time issues.

* tests/permission/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    FrameworkPermissionTests's source depends on its classes and
    because of these changes they are no longer present on the
    compilation path.

    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in
    FrameworkPermissionTests results in duplicate classes which leads
    to build time and compile time issues.

* tests/testables/tests/Android.mk
    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES
    because statically including the classes in TestablesTests results
    in duplicate classes which leads to build time and compile time
    issues.

    Added 'android.test.base' and 'android.test.mock' to
    LOCAL_JAVA_LIBRARIES because TestablesTests's source depends on
    their classes and because of these changes they are no longer
    present on the compilation path.

Bug: 30188076
Test: make checkbuild
Change-Id: Iacfc939c97415314366ed61c5f3b7aa1a40f0ec9
2017-12-08 00:07:17 +00:00
Mike Digman
58900de641 Extend TaskStackListener wrapper to support more methods
Methods needed to know when to hide rotation suggestions
Test: manual

Change-Id: Iaf9ba582d0783ecc62e69641eff3dbc037b6689a
2017-12-07 18:31:42 +00:00
Winson Chung
42ce900d48 Expose methods to invoke split screen.
- Also remove duplicate code in shortcut key dispatcher.

Bug: 67510855
Test: Drag and dock in Recents
Change-Id: I46634ab0585d29edd2068a6149cffa928f729d33
Signed-off-by: Winson Chung <winsonc@google.com>
2017-11-27 19:02:04 +00:00
Sunny Goyal
568d8fdc5d Minor changes in ChoreographerCompat
Test: N/A
Change-Id: I2569f9b05d56caa668962d28ec818411bccdbbc5
2017-11-16 13:09:13 -08:00
Winson Chung
11f53e9683 Minor optimizations to task loading/screenshot
- Pass graphic buffer instead of bitmap for current screenshot
- Add option to skip preloading titles
- Adding some more compat classes

Bug: 67510855
Test: Build quickstep

Change-Id: Idf4642683d3121e69f0854ac909a8c22c7238b9a
2017-11-16 09:41:46 -08:00
Winson Chung
2cf6ad832d Removing references to hidden classes in shared lib.
- Restructure assist data receiver to not extend hidden interface
- Restructure animation spec to not use hidden spec class
- Restructure transitions apis to not use graphic buffers
- Remove direct arguments which use hidden animation start listener
- Renaming some methods to be a bit more clear
- Expose AnimateableViewBounds and task stack listener

Bug: 67510855
Test: Sysui and quickstep still build and work
Change-Id: Ibc471c34a725daa3149765960ae0731996ceb854
2017-11-14 12:39:21 -08:00
Winson Chung
1c5aefff53 Exposing a few more methods in the lib
Bug: 67510855
Test: Quickstep builds
Change-Id: I4b46dc2f8494581175971f14d2aef8e396e41cdb
2017-11-14 12:39:21 -08:00
Winson Chung
38d31c211b Provide interface to temporarily fetch screenshot.
Bug: 68774229
Test: Build nexus launcher and verify we can call to get the screenshot
Change-Id: I6a5456efca94f45cda000fe9e097ec524540592b
2017-11-08 15:03:19 -08:00
TreeHugger Robot
7eb5d27adc Merge "Started code to pipe overview events and info to launcher" 2017-11-03 20:31:11 +00:00
Sunny Goyal
bbc9b6fb50 Changing some lambda to java 1.7 compatible code to allow
using the lib without the system classes

Test: Launcher3 compiles
Change-Id: I2f01cb887ae1f6a3291fde24ff7593cedd6fb5ba
2017-11-03 11:10:10 -07:00
Matthew Ng
13dbf878bd Started code to pipe overview events and info to launcher
The first event will have navigationbar send its x and y touch events
with no delay (upon vsync) to launcher so that launcher can detect and
animate a drag gesture.

If the user has provisioned setup, the connection between overview to
launcher service will be establish to send any information as a proxy
through binder calls. Connection will be reattached if device switches
between users. Each failure to connect to launcher service will have an
exponential backoff timeout to reconnect.

To implement call Dependency.get(OverviewProxyService.class) and then
getProxy() to get the proxy to pipe events or other information across
to launcher.

Test: manual
Bug: 67957962
Change-Id: I3828474147c37b2c514a682f9124e29a5e142736
2017-11-02 15:45:45 -07:00
Winson Chung
b05b398cf2 Expose some methods in the recents lib.
- Make some methods public
- Allow load plan to take current user id when preloading
- Add methods to start activity from recents and get the running task
- Removing some unused methods

Bug: 67510855
Test: Launch Overview
Change-Id: Iabc45763214e82e968a4c872e22fd50ff7c2ba2e
2017-11-01 18:09:05 -07:00
Winson Chung
aa35745690 Move more calls to the lib.
- Move the task stack listener wrapper into the shared lib, along with some
  other AM calls.

Bug: 67510855
Test: Launch recents

Change-Id: Icb5ea78ec42d4b76a1c531ce336dd9a3f07a9629
2017-10-31 12:19:45 -07:00
Winson Chung
a6ea18334b Migrating some animation spec logic to shared lib
- Used for the current transition to/from Recents and for docking, move the
  async app transition animation spec logic to the lib.  It will be removed
  later once we have app controled surface controls.

Bug: 67510855
Test: Launch recents/app, dock app from dragging

Change-Id: I1cf972991e5ef73906c3bcd8e5ff187ce2e62cd8
2017-10-31 10:18:14 -07:00
Matthew Ng
6acfb654ce Prevent task in recents being empty when activity info in unavailable
When an app is unavailable to get its activity info, it will not have a
color, title or icon and it would look weird in recents. Therefore skip
adding it to the recents list when this occurs.

Test: manual
Change-Id: I1cf2f7f8ea5ce132159f6aabfbfae31df0187660
Fixes: 64236158
2017-10-19 16:04:30 -07:00