This code will also be migrated to VibratorManagerService, to give
preference to input devices over the devices vibrators when the user
setting enables it.
This need to remain a server-side code so permissions/setting will be
applied to system vibrations even when they are redirected to input
devices (including vibration scaling).
Bug: 167946816
Bug: 131311651
Test: atest FrameworksServiceTests:VibratorServiceTest
atest FrameworksServiceTests:InputDeviceVibratorsTest
Change-Id: I6c61c3f20e4d82d44af136917d3755d9f6edd31f
When getting DISPLAY_EVENT_FRAME_RATE_OVERRIDE from SurfaceFlinger,
expose the overridden frame rate to the relevant application
if the current refresh rate allows that.
Bug: 169271059
Bug: 169271062
Bug: 170503758
Test: manual test using SF backdoor
adb shell service call SurfaceFlinger 1039 i32 <uid> f <refresh rate>
Change-Id: I6ae1a98e6ca13e9d3d095a5713a6b0ca99652256
DisplayPowerRequestManager listens for the addition, removal, and change
of Displays and will appropriately create DisplayPowerRequests to manage
their power states.
At this stage the DisplayPowerRequests are simply created; only the
DisplayPowerRequest associated with the default display is interacted
with.
Test: manual
Bug: 138328918
Change-Id: I03f0c95aa23fc711d8d66150f315eed52bc57b2c
Introduce camera system health atoms, including:
- Camera open, close, and session creation time
- Camera session and stream combination information,
- Stream statistics:
- stream width, height, format, dataspace, usage flag,
- max buffer count
- buffer loss
- first frame latency.
Test: ./out/host/linux-x86/bin/statsd_testdrive 227
Test: CTS PerformanceTest
Bug: 154159000
Change-Id: I858d64f3324bb9652a59e5857f2730c92c616a8e
For source devices, toggleAndFollowTvPower() will result in
1. Toggling of the HDMI-connected display (=TV) power state over CEC
2. The source device following the TV power state
Bug: 167962015
Test: atest HdmiCecLocalDevicePlaybackTest
Change-Id: I1881c279143075629e590501de82fadc3e1d56d6
1) Finishes Face10 test implementation
2) Adds createTestSession and getSensorProperties to
IBiometricAuthenticator. This way, BiometricService, which
is the source of truth for all sensors is able to implement or
forward TestApi requests as appropriate.
3) Removes a few unused parameters (callingUid, callingPid,
callingUserId)
4) Moves proto def to a biometric proto. This is basically the
common TestApi equivalent for getting states of _any_ sensor
service (FingerprintService, FaceService, etc)
5) Moves AuthSession states to biometric.proto
6) Updates SysUI components to use separate positive buttons
for better readability and testing
Bug: 171357779
Test: atest CtsBiometricsTestCases on fingerprint/face devices
Test: atest com.android.server.biometrics
Change-Id: I5d884d4a9f4afa3f947eb4587e869bacd6b2f805
Since UDFPS sensors have a UI affordance, and the affordance is
controlled by FingerprintAuthenticationClient, start the prepared
sensor only after the BiometricPrompt dialog is done animating.
Plumbing-wise, adds:
1) Adds AuthSession.STATE_AUTH_STARTED_UI_SHOWING
2) Adds IBiometricSysuiReceiver#onDialogAnimatedIn
Since not all sensors are started immediately anymore, adds
logic in BiometricScheduler when attempting to cancel auth
for a sensor that's waiting for cookie (HAL still idle).
Fixes: 171931476
Test: atest com.android.server.biometrics
Test: atest com.android.systemui.biometrics
Change-Id: Iaedc26c51e274614ac2af6ebd98afe26263dad81
@SuppressLint("Doclava125") is a legacy way of suppressing
RequiresPermission check. Updating to the new style of suppression
so metalava no longer has to support the legacy mode.
sed -i "s/@SuppressLint(\"Doclava125/@SuppressLint(\"RequiresPermission/" \
core/java/android/app/admin/DevicePolicyManager.java \
core/java/android/hardware/hdmi/HdmiControlManager.java \
core/java/android/hardware/location/ContextHubManager.java \
core/java/android/hardware/usb/UsbDeviceConnection.java \
core/java/android/net/TrafficStats.java \
core/java/android/os/RecoverySystem.java \
core/java/android/os/storage/StorageManager.java \
core/java/android/service/persistentdata/PersistentDataBlockManager.java \
location/java/android/location/LocationManager.java \
media/java/android/media/AudioManager.java \
telecomm/java/android/telecom/TelecomManager.java \
telephony/java/android/telephony/CarrierConfigManager.java \
telephony/java/android/telephony/TelephonyManager.java \
wifi/java/android/net/wifi/RttManager.java \
wifi/java/android/net/wifi/WifiScanner.java
Test: make
Exempt-From-Owner-Approval: No-op change
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
USB Gadget V1.2 HAL include:
1. support NCM function
2. add api to inquiry USB speed
3. add api to inquiry HAL version
Bug: 168282708
Test: build pass and functions are working normally
Change-Id: Idd07c55f4610740c0cf9023391125a86ba39ddee
Having a hidden abstract method for a class that can be extended
means that public implementors cannot implement these hidden methods
posing a risk that custom implementations will not have required
abstract methods resulting in an exception.
Bug: 151134792
Test: make update-api
Change-Id: I758d12465fabc671be19bedeeceb16885de23c87
Exempt-From-Owner-Approval: large scale suppression of existing issues,
no-op in terms of behavior
Expose getter/setter for CEC version including new constants and change
internal usages to rely on HdmiCecConfig.
Bug: 170297951
Test: atest HdmiControlServiceTest
Change-Id: I6237d83078874f266e12bdd43f77ed644569180b
Adds AuthDialog.LayoutParams which should be used to hold any
layout or measurement related information.
Adds onMeasureInternal which returns AuthDialog.LayoutParams
so that subclasses can return custom layout parameters while
keeping common things like setMeasuredDimension in the
base class.
The AuthBiometricUdfpsView in portrait mode includes a
spacer whose height is calculated based on the sizes of
everything that's below the physical sensor, including
1) Text indicator area (for error messages)
2) Footer button bar
3) BiometricPrompt distance to navigation bar
4) Height of navigation bar
The indicator text is the only non-static element below the
icon. Changes it to marquee on a single line for now.
AuthBiometricView animates the icon's holder instead of the
icon itself. Otherwise, the holder would need to allow drawing
outside of its bounds.
Test: No effect on existing devices
Test: atest com.android.systemui.biometrics
Fixes: 171071087
Change-Id: I3b62f02a44f4d3cf6925d7782451596fbf8db0e1
IBiometricAuthenticator is the interface that BiometricService
uses to do BiometricManager/BiometricPrompt-related stuff. This
change updates the implementations to pass sensorId as a parameter,
since the current design allows for FingerprintService, FaceService
etc to host multiple HALs and/or sensors.
Maintains functionality of deprecated FingerprintManager APIs.
Since getSensorProperties() requires internal or test permission,
use different binder calls for FingerprintManager invocations
vs BiometricService invocations of methods such as
isHardwareDetected and hasEnrolledFingerprints.
Moves HIDL HAL registration out of *Authenticator class and up
one layer (into AuthService), since *Authenticator code is to
be shared with AIDL HALs, which provide sensorId, strength,
and other configuration via the HAL interface.
Bug: 172291793
Test: Enroll, auth (BiometricPrompt and Lockscreen) on face and
fingerprint devices
Change-Id: Ib2d8b792f0afde49550f320c4041ff1b1b3d5a50
This change introduces the DeviceStateCallback API to DeviceStateManager
which allows processes outside system_server (as well as system_server)
to receive notifications about changes in the system's device state.
Test: atest DeviceStateManagerServiceTest
Bug: 159401801
Change-Id: I9ccdbd8c4a51858a13b0152ed39a8bf20e41e64f
Annotation processor seens annotation args with constants already inlined,
making it challenging to compare to the souce-generated metadata that contains
initial expressions.
For now just ignoring args for all non-DataClass annotations to prevent false positives
Test: . frameworks/base/tests/Codegen/runTest.sh
Exempt-From-Owner-Approval: changing metadata on multiple files
Change-Id: I640816ae0f20f36b1b828bc2161f53788c4a4dae
Change type of 'hdmi_cec_enabled' and 'system_audio_mode_muting' to integer.
Bug: 168020131
Test: atest HdmiCecConfig
Change-Id: Idc7056fbb7ff01459106bd292553f1ad2f0c4154
Bug: 171335732
Test: atest com.android.server.biometrics
Test: enrolled and authenticated face on device
Change-Id: I7dc7dfd666c488b7d5ce8767d88888264cbf1f9f
As UsbAccessory#getVersion is nullable, a NPE can occur if the manufacturer/model match.
Bug: 172002066
Change-Id: I751a01e3d182e01e5a9dbc011b60535997f9bc15
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.
APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I
Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7