Merge "vibrator: Support Async Callback APIs" am: 21f3eeb2fe

am: d7d06bbbd9

Change-Id: Ic9380eebfc2260009efa099ba4a46678ebaf70c5
This commit is contained in:
Harpreet "Eli" Sangha
2019-10-10 17:49:20 -07:00
committed by android-build-merger
5 changed files with 123 additions and 1 deletions

View File

@@ -467,7 +467,7 @@
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.vibrator</name>
<version>1.0-3</version>
<version>1.0-4</version>
<interface>
<name>IVibrator</name>
<instance>default</instance>

22
vibrator/1.4/Android.bp Normal file
View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "android.hardware.vibrator@1.4",
root: "android.hardware",
vndk: {
enabled: true,
},
srcs: [
"types.hal",
"IVibrator.hal",
"IVibratorCallback.hal",
],
interfaces: [
"android.hardware.vibrator@1.0",
"android.hardware.vibrator@1.1",
"android.hardware.vibrator@1.2",
"android.hardware.vibrator@1.3",
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,57 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.vibrator@1.4;
import @1.0::EffectStrength;
import @1.3::Effect;
import @1.0::Status;
import @1.3::IVibrator;
import IVibratorCallback;
interface IVibrator extends @1.3::IVibrator {
/**
* Determine capabilities of the vibrator HAL.
*/
getCapabilities() generates (bitfield<Capabilities> capabilities);
/**
* Turn on vibrator
*
* This function must only be called after the previous timeout has expired or
* was canceled (through off()).
* @param timeoutMs number of milliseconds to vibrate.
* @param callback A callback used to inform Frameworks of state change, if supported.
* @return vibratorOnRet whether vibrator command was successful or not.
*/
on_1_4(uint32_t timeoutMs, IVibratorCallback callback) generates (Status vibratorOnRet);
/**
* Fire off a predefined haptic event.
*
* @param effect The type of haptic event to trigger.
* @param strength The intensity of haptic event to trigger.
* @param callback A callback used to inform Frameworks of state change, if supported.
* @return status Whether the effect was successfully performed or not. Must
* return Status::UNSUPPORTED_OPERATION if the effect is not supported.
* @return lengthMs The length of time the event is expected to take in
* milliseconds. This doesn't need to be perfectly accurate, but should be a reasonable
* approximation. Should be a positive, non-zero value if the returned status is Status::OK,
* and set to 0 otherwise.
*/
perform_1_4(Effect effect, EffectStrength strength, IVibratorCallback callback)
generates (Status status, uint32_t lengthMs);
};

View File

@@ -0,0 +1,21 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.vibrator@1.4;
interface IVibratorCallback {
oneway onComplete();
};

22
vibrator/1.4/types.hal Normal file
View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.vibrator@1.4;
enum Capabilities : uint32_t {
ON_COMPLETION_CALLBACK = 1 << 0,
PERFORM_COMPLETION_CALLBACK = 1 << 1,
};