Commit Graph

73 Commits

Author SHA1 Message Date
Rachel Lee
a52e963d38 Merge "Rename to VsyncCallback & presentation time." 2022-02-17 19:49:55 +00:00
Rachel Lee
1a44c62b74 Rename to VsyncCallback & presentation time.
Bug: 217370454
Test: atest ChoreographerNativeTest
Change-Id: Icf460a82c1f59e930bdfc456e4a75ae341ce4394
2022-02-15 18:25:11 -08:00
Vaibhav
e85c348731 Add implementation for new NDK functions added to input.h
Added new methods for getActionButton and getClassification in input.h.
In this CL we are adding implementations for the corresponding functions

Test: atest android.view.cts.MotionEventTest

Bug: 213266814

Change-Id: Ia7c7b83fe19bac7d5e5c7c107e86328e160ba2b5
2022-02-14 16:19:45 +00:00
Erik Staats
13ca5df169 Add ASensorManager_getDynamicSensorList.
Bug: 217890463
Test: Used uhid-sample to add a dynamic sensor and verified it can be
 used with sensor_test.
Change-Id: Ia930c6993c97527381d30e33f817f37632cb8396
2022-02-08 14:20:32 -08:00
Treehugger Robot
7096d45f59 Merge "Really expose the new NDK socket tagging functions added in T." am: cba72fc987 am: fd5bb81c8a am: f30f967e5a am: 4bc8cb7628
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1967301

Change-Id: Ia93a3556b209aa214233952b838c2e0ca3aeaddb
2022-02-02 16:45:01 +00:00
Lorenzo Colitti
2b9e8860ec Really expose the new NDK socket tagging functions added in T.
These functions were already exposed as part of libandroid_net,
but that is not really part of the NDK.

Expose them in libandroid as well, so apps can actually use them.
This is consistent with all the other native networking APIs,
which are exposed in both libandroid_net and libandroid.

Test: atest CtsNativeNetPlatformTestCases
Test: strings out/target/product/bramble/system/lib64/libandroid.so | grep android_tag
Change-Id: I2273cdd48b30a88b82eb3af838031d9fe8897442
2022-02-02 11:59:41 +00:00
Bo Liu
77f35083d1 Merge "Performance hint ndk APIs" 2022-01-28 18:57:27 +00:00
Rachel Lee
545adcd1f7 Update libandroid renamed AChoreographer methods.
Test: atest ChoreographerNativeTest
Bug: 214303753
Change-Id: I32d9703c669b2408dddd199c678fca0564668142
2022-01-13 14:14:25 -08:00
Rachel Lee
e1e77cca8a Implement timeline in libandroid ASurfaceControl.
As part of choreographer project.

Bug: 198192003
Test: atest ASurfaceControlTest
Change-Id: I36fdeae1d2bc07fdbd487fc0a40324fe48baca09
2021-12-09 16:04:06 -08:00
Bo Liu
2b739bbb63 Performance hint ndk APIs
Test: atest PerformanceHintNativeTestCases
Change-Id: I8f410cf5ee8cee90465d1ce48a42c9ff8bbe80c4
2021-11-10 19:22:22 -05:00
Jim Blackler
86df7e4214 Give access to the native InputQueue to all native applications.
Bug: 116830907
Test: atest android.view.cts.InputQueueTest#testNativeInputQueue
Change-Id: Ia7741ac4922afeeca334266caef3331b521f87e4
2021-11-01 13:22:27 +00:00
Rachel Lee
6350ff0b3b Choreographer: new libandroid for CTS.
Bug: 198191651
Test: make, atest ChoreographerNativeTest
Change-Id: I5fd1bbefc77b45ec953e06b0ed5da8521dc08732
2021-09-27 13:25:12 -07:00
Bo Liu
4426772eab Implement native PerformanceHint API
Test: atest PerformanceHintNativeTestCases
Bug: 194204196
Change-Id: Ie26e25e9ecf87046df92346dff54174934a8c73e
2021-07-22 11:31:49 -04:00
Vishnu Nair
beb3b482db Introduce ASurfaceTransaction_setOnCommit api
Introduce a new callback for SurfaceControl transactions that
fire after we commit a transaction in SurfaceFlinger. This
will help some clients pace when they should apply the next
transaction so it get applied on the next vsync. If they wait for
the existing transaction complete callback, there may not be
enough time between when the client applies the transaction
and surface flinger waking up and apply it on the new vsync.
This would mean the update would arrive a frame late.

Bug: 185843251
Test: atest ASurfaceControlTest
Change-Id: If0d5d01a1d5c2029eb81667356e666d7297376d4
2021-04-21 15:06:19 -07:00
chaviw
ccf3e8b9f9 Updated native SurfaceControl APIs to reflect their behavior.
Updated setPosition, setCrop, setBufferTransform, and added setScale
to native SurfaceControl API. The new functions should be pass through
calls to SurfaceComposerClient that sends it to SurfaceFlinger.

Test: ASurfaceControlTest
Bug: 170765639
Change-Id: I214c5ae998d8f896200f3010cf2de6754d1e8510
2021-04-14 16:40:33 -05:00
Rob Carr
782102ccd5 Merge "ASurfaceTransaction: Add setEnableBackpressure" into sc-dev 2021-04-02 19:03:09 +00:00
Robert Carr
f57c0163f9 ASurfaceTransaction: Add setEnableBackpressure
Expose the backpressure flag to NDK. See comment in
header file for extensive discussion.

Bug: 177458703
Test: Need new CTS
Change-Id: I97cdaef5d499f57a270972f001517b8a520aa2fe
2021-04-01 19:41:40 +00:00
Marin Shalamanov
d15b4b5473 Merge "setFrameRate: Make shouldBeSeamless an enum" into sc-dev 2021-03-31 14:30:23 +00:00
Marin Shalamanov
511f9145ba setFrameRate: Make shouldBeSeamless an enum
Change the shouldBeSeamless parameter to an enum
in order to make the API easier to understand.

This changes
 - SurfaceControl.setFrameRate
 - Surface.setFrameRate
 - ANativeWindow_setFrameRateWithChangeStrategy
 - ASurfaceTransaction_setFrameRateWithChangeStrategy

Bug: 179116474
Test: atest SetFrameRateTest
Change-Id: I55265399238e2c95fbb90fd33a4c2513d1fc5cec
2021-03-24 21:34:04 +01:00
Vasiliy Telezhnikov
647da08b1d Merge "Split ASurfaceTransaction_setGeometry api" into sc-dev 2021-03-24 13:26:03 +00:00
Remi NGUYEN VAN
86ae725fb9 Add NDK API for getprocdns,setprocdns
The API allows callers to control the default network that is used for
DNS hostname resolution.

Test: atest CtsNetTestCases
      Tests in change I00143cafcd3eb1d71e8d5c7ea9c839a99dc6f4ce
Bug: 171540887
Change-Id: I42f0d9b17b3058f6e10fd2e651278b290f26667f
2021-03-23 11:21:21 +00:00
Remi NGUYEN VAN
3d50059bbc Add NDK API for getprocnetwork
The API is the getter couterpart for setprocnetwork.
Use it in NetworkUtils so that the NDK API can be the source of truth
for the process network.

Bug: 171540887
Test: atest CtsNetTestCases
      Tests in change I311b58585033c2ca50ce5477ea9cd94b6f127507
Change-Id: Ie8f68cf1fa57deddb63324c1abf3d6fd5b0ef500
2021-03-23 01:01:06 +00:00
Vasiliy Telezhnikov
5ead3aa5f2 Split ASurfaceTransaction_setGeometry api
This CL adds three new methods: setSourceRect, setPosition and
setTransform.

Test: ASurfaceControlTest
Bug: 173671170
Change-Id: I00f05a45bfa2b6e53735d95977d32bdecbce3df1
2021-03-17 18:14:55 +00:00
Jorim Jaggi
71db8892ac Add GPU completion to FrameMetrics (1/3)
- Add SurfaceStatsCallback to TransactionCompletedListener
- Register a callback in RenderProxy to be called when we have
surface stats from SF via the BLAST callback.
- Instead of finishing a frame for frame metrics reporting
immediately, wait until BLAST callback fires, note GPU completion
time and finish frame.
- Expose GPU_COMPLETION in FrameMetrics
- Modify TOTAL_DURATION to also include GPU_COMPLETION

Test: FrameMetricsListenerTest
Fixes: 171046219
Change-Id: I16fa1d80cfc4e7a5527c18fec7e885409f17ee4d
2021-02-17 14:55:22 +01:00
Huihong Luo
91697e13ff Add ASurfaceControl_acquire api
hwui needs this api to hold a reference to a surface control object passed from java layer.

Bug: 173671170
Test: manual
Change-Id: I2b8417c289718bb1b99af47d7828e91b16785123
2021-02-11 17:59:04 +00:00
Chris Forbes
6e73857c79 Merge "thermal: Add AThermal_getThermalHeadroom" 2021-01-07 00:05:41 +00:00
Chris Forbes
1900bef116 thermal: Add AThermal_getThermalHeadroom
Bug: b/168612028
Change-Id: I8f192b50f74b1666beeab3ad546c9e3b25842187
2020-12-16 16:04:43 -08:00
Chong Zhang
cb95b8375b Merge "Add ActivityManager UidImportanceListener to libandroid" 2020-12-04 17:15:45 +00:00
Yiwei Zhang
7d8bb8a465 Adding AHardwareBuffer_getId to libandroid
Bug: 163615119
Test: atest AHardwareBufferTest
Change-Id: I95339f326125183ab4b57c22011bbe034c11a33d
2020-11-19 00:06:46 +00:00
Chong Zhang
8af87925ea Add ActivityManager UidImportanceListener to libandroid
Add UidImportanceListener methods to libandroid for native apex use.

bug: 172942349
bug: 159172726
bug: 146507383

test: updated mediatranscoding's UidPolicy locally to use the new api,
and passed mediatranscodingservice unit tests.

Change-Id: I7ca76f057a83b5bcd634deb2408784d7b93e46fc
2020-11-18 08:57:03 -08:00
Marin Shalamanov
41ffa8dd06 Add shouldBeSeamless param to Surface.setFrameRate
This CL adds a new parameter shouldBeSeamless to the existing
setFrameRate APIs. This parameter indicates whether the desired
refresh rate should be achieved only seamlessly or also switches
with visual interruptions for the user are allowed. The default
value of the new parameter is "true".

Test: atest SetFrameRateTest
Test: atest RefreshRateConfigsTest
Test: atest libsurfaceflinger_unittest
Bug: 161776961
Change-Id: Ic2446d278e4f57fe507d30a0a18ef7b85909da4b
2020-11-17 11:53:14 +01:00
Chong Zhang
06dbe5bf2c Add APermissionManager_checkPermission to libandroid
And allow IActivityManager#checkPermission to be used by native code.

bug: 172283477
bug: 159172726
Change-Id: I582fb918ac3ddc2289ef0040a4391db407673692
2020-11-06 01:49:55 +00:00
Chris Ye
3da1d20bcf Add java-to-native converters for input events.
Add java-to-native converters for android.view.KeyEvent,
android.view.MotionEvent.

Bug: 116830907
Test: atest KeyEventTest, atest MotionEventTest
Change-Id: Ib993afb08ef900d95e21907660f776ad2bd3d50e
2020-04-09 14:18:25 -07:00
Chris Ye
48dbcaae41 Add native Thermal Throttling API to libandroid.
Add native thermal manager API of thermal mananger service into
libandroid. Export Thermal API as NDK library.

Bug: 137151587
Bug: 136285293
Test: build, atest thermalmanager-test atest CtsThermalTestCases

Change-Id: Ia49fb2133624ffcd6168af804ae612ef2bb190f2
2020-02-19 16:25:25 -08:00
Alec Mouri
a8f9a9e85f Merge "[AChoreographer] Lift refresh rate callbacks into NDK" 2020-01-31 19:14:20 +00:00
Steven Thomas
6cf051ef89 Add setFrameRate() api
setFrameRate() is a new api in Android 11 that will enable apps to
specify their intended frame rate.

Bug: 143912624
Bug: 137287430

Test: Added a new CTS test - android.graphics.cts.SetFrameRateTest.

Change-Id: I922573c0d704e2e0ce4cfc2a462f14dce8cb7a79
2020-01-22 13:20:42 -08:00
Alec Mouri
26c5fbb065 [AChoreographer] Lift refresh rate callbacks into NDK
Bug: 136262896
Test: ChoreographerNativeTest
Change-Id: Ica2fe31e511045e2007e7d1b3a129e1b8f26f3a7
2020-01-14 08:12:29 -08:00
Elliott Hughes
241393a30b Add AConfiguration_getScreenRound.
This was actually added in M, but because it wasn't in the version map
(and there's no CTS test) it's not actually reliably available until
next year...

Bug: https://issuetracker.google.com/146458518
Change-Id: I5eed970118b627c7e74800f04751a07ce64d86da
2019-12-18 14:30:46 -08:00
Seigo Nonaka
b3a7bcea2a Update the system font implementation for new API change
Bug: 129559385
Test: TEMPORARY_DISABLE_PATH_RESTRICTIONS=true m ndk-docs
Test: atest CtsGraphicsTestCases:android.graphics.fonts
Change-Id: I73fd366762e4923886529a49a682cdc1cdceb1aa
2019-04-02 14:28:45 -07:00
Valerie Hau
5a9151e492 Adding AHardwareBuffer lockAndGetInfo to libandroid
Bug: 123423521
Test: build, boot,
android.hardware.nativehardware.cts.AHardwareBufferNativeTests

Change-Id: I81d7fa7352b7720103975ab0910d57953e0a7ec4
2019-03-21 12:39:04 -07:00
Santos Cordon
458d3df21f Add explicit 64-bit postFrameCallback APIs
Bug: 123660572
Test: atest -a android.view.cts.ChoreographerNativeTest
Change-Id: Idff869a435ddb9b858a95993c1e4c6a5c668322f
2019-03-06 16:24:55 +00:00
Marius Renn
0e636a8b5f Merge "Adds new HardwareBuffer plane-locking functions to NDK" 2019-02-13 01:16:12 +00:00
Marissa Wall
7f24f79bc8 ASurfaceControl: dataspace (1/2)
Allow dataspace to be set on the SurfaceControl.

Test: atest CtsViewTestCases:android.view.cts.ASurfaceControlTest
Bug: 80477568
Change-Id: Idc12d0a4024fc21d570c5190af33559b818b4b08
2019-02-08 10:53:56 -08:00
Valerie Hau
5bbfd51757 Add setColor, setColorAlpha, and setColorDataspace to ASurfaceControl
Bug:122326454
Test: atest CtsViewTestCases:android.view.cts.ASurfaceControlTests

Change-Id: If41f0a6b736315dbdb829cf3f8fefc654ede9bcf
2019-01-23 12:12:27 -08:00
TreeHugger Robot
9ce77e9b7f Merge "ASurfaceControl: add more support to NDK (1/2)" 2019-01-22 22:38:20 +00:00
TreeHugger Robot
d3ea060251 Merge changes from topic "sensors_ndk_filter"
* changes:
  Export ASensorEventQueue_requestAdditionalInfoEvents
  Add ASensorEventQueue_requestAdditionalInfoEvents
2019-01-22 20:47:43 +00:00
TreeHugger Robot
0bec8721ab Merge "Export ASensor_getHandle" 2019-01-22 20:44:07 +00:00
Brian Stack
ea2cb0c72f Export ASensorEventQueue_requestAdditionalInfoEvents
Bug: 77276247
Test: Builds
Change-Id: Ifa65a67aa136dcec884b16241c99a3349d1de2dc
2019-01-18 17:31:05 -08:00
Marissa Wall
1be5a10c39 ASurfaceControl: add more support to NDK (1/2)
Adds several new functions and updates existing functions.
 - release fences
 - desired present time
 - alpha
 - hdr metadata

Test: atest CtsViewTestCases:android.view.cts.ASurfaceControlTest
Bug: 80477568
Change-Id: Iabda5936a51030bebabc4328dbd83108401603c2
2019-01-18 16:35:49 -08:00
Brian Stack
93c25986de Export ASensor_getHandle
Bug: 122366555
Test: Verified ASensor_getHandle is available to NDK clients in
      libandroid and the function returns the correct handle.

Change-Id: Ib08fbcc6862d3d3d4906a457d7708cb600dd161c
2019-01-17 17:01:47 +00:00