Loading vibrator/1.3/example/Android.bp→vibrator/1.x/example/Android.bp +4 −3 Original line number Diff line number Diff line Loading @@ -14,11 +14,11 @@ // limitations under the License. cc_binary { name: "android.hardware.vibrator@1.3-service.example", name: "android.hardware.vibrator@1.x-service.example", vendor: true, relative_install_path: "hw", init_rc: ["android.hardware.vibrator@1.3-service.example.rc"], vintf_fragments: ["android.hardware.vibrator@1.3-service.example.xml"], init_rc: ["android.hardware.vibrator@1.x-service.example.rc"], vintf_fragments: ["android.hardware.vibrator@1.x-service.example.xml"], srcs: ["service.cpp", "Vibrator.cpp"], cflags: ["-Wall", "-Werror"], shared_libs: [ Loading @@ -29,5 +29,6 @@ cc_binary { "android.hardware.vibrator@1.1", "android.hardware.vibrator@1.2", "android.hardware.vibrator@1.3", "android.hardware.vibrator@1.4", ], } vibrator/1.3/example/OWNERS→vibrator/1.x/example/OWNERS +0 −0 File moved. View file vibrator/1.3/example/Vibrator.cpp→vibrator/1.x/example/Vibrator.cpp +29 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ namespace android { namespace hardware { namespace vibrator { namespace V1_3 { namespace V1_4 { namespace implementation { static constexpr uint32_t MS_PER_S = 1000; Loading Loading @@ -100,7 +100,25 @@ Return<Status> Vibrator::setExternalControl(bool enabled) { } } Return<void> Vibrator::perform_1_3(Effect effect, EffectStrength strength, perform_cb _hidl_cb) { Return<void> Vibrator::perform_1_3(V1_3::Effect effect, EffectStrength strength, perform_cb _hidl_cb) { return perform<decltype(effect)>(effect, strength, _hidl_cb); } // Methods from ::android::hardware::vibrator::V1_4::IVibrator follow. Return<hidl_bitfield<Capabilities>> Vibrator::getCapabilities() { return Capabilities::ON_COMPLETION_CALLBACK | Capabilities::PERFORM_COMPLETION_CALLBACK; } Return<Status> Vibrator::on_1_4(uint32_t timeoutMs, const sp<IVibratorCallback>& callback) { mCallback = callback; return on(timeoutMs); } Return<void> Vibrator::perform_1_4(V1_3::Effect effect, EffectStrength strength, const sp<IVibratorCallback>& callback, perform_cb _hidl_cb) { mCallback = callback; return perform<decltype(effect)>(effect, strength, _hidl_cb); } Loading Loading @@ -148,6 +166,14 @@ Status Vibrator::enable(bool enabled) { return Status::UNSUPPORTED_OPERATION; } else { ALOGI("Enabled: %s -> %s\n", mEnabled ? "true" : "false", enabled ? "true" : "false"); if (mEnabled && !enabled) { if (auto callback = mCallback) { mCallback = nullptr; if (auto ret = callback->onComplete(); !ret.isOk()) { ALOGE("Failed completion callback: %s", ret.description().c_str()); } } } mEnabled = enabled; return Status::OK; } Loading Loading @@ -271,7 +297,7 @@ uint8_t Vibrator::strengthToAmplitude(EffectStrength strength, Status* status) { } } // namespace implementation } // namespace V1_3 } // namespace V1_4 } // namespace vibrator } // namespace hardware } // namespace android vibrator/1.3/example/Vibrator.h→vibrator/1.x/example/Vibrator.h +16 −7 Original line number Diff line number Diff line Loading @@ -13,20 +13,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H #define ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H #ifndef ANDROID_HARDWARE_VIBRATOR_V1_x_VIBRATOR_H #define ANDROID_HARDWARE_VIBRATOR_V1_x_VIBRATOR_H #include <android/hardware/vibrator/1.3/IVibrator.h> #include <android/hardware/vibrator/1.4/IVibrator.h> #include <hidl/Status.h> namespace android { namespace hardware { namespace vibrator { namespace V1_3 { namespace V1_4 { namespace implementation { using android::hardware::vibrator::V1_0::EffectStrength; using android::hardware::vibrator::V1_0::Status; using android::hardware::vibrator::V1_3::Effect; class Vibrator : public IVibrator { public: Loading @@ -51,7 +52,14 @@ class Vibrator : public IVibrator { // Methods from ::android::hardware::vibrator::V1_3::IVibrator follow. Return<bool> supportsExternalControl() override; Return<Status> setExternalControl(bool enabled) override; Return<void> perform_1_3(Effect effect, EffectStrength strength, perform_cb _hidl_cb) override; Return<void> perform_1_3(V1_3::Effect effect, EffectStrength strength, perform_cb _hidl_cb) override; // Methods from ::android::hardware::vibrator::V1_4::IVibrator follow. Return<hidl_bitfield<Capabilities>> getCapabilities() override; Return<Status> on_1_4(uint32_t timeoutMs, const sp<IVibratorCallback>& callback) override; Return<void> perform_1_4(V1_3::Effect effect, EffectStrength strength, const sp<IVibratorCallback>& callback, perform_cb _hidl_cb) override; private: Return<void> perform(Effect effect, EffectStrength strength, perform_cb _hidl_cb); Loading @@ -72,11 +80,12 @@ class Vibrator : public IVibrator { bool mExternalControl{false}; std::mutex mMutex; timer_t mTimer{nullptr}; sp<IVibratorCallback> mCallback{nullptr}; }; } // namespace implementation } // namespace V1_3 } // namespace V1_4 } // namespace vibrator } // namespace hardware } // namespace android #endif // ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H #endif // ANDROID_HARDWARE_VIBRATOR_V1_x_VIBRATOR_H vibrator/1.3/example/android.hardware.vibrator@1.3-service.example.rc→vibrator/1.x/example/android.hardware.vibrator@1.x-service.example.rc +4 −0 Original line number Diff line number Diff line service vendor.vibrator-1-3 /vendor/bin/hw/android.hardware.vibrator@1.3-service.example service vendor.vibrator-1-x /vendor/bin/hw/android.hardware.vibrator@1.x-service.example class hal user system group system Loading
vibrator/1.3/example/Android.bp→vibrator/1.x/example/Android.bp +4 −3 Original line number Diff line number Diff line Loading @@ -14,11 +14,11 @@ // limitations under the License. cc_binary { name: "android.hardware.vibrator@1.3-service.example", name: "android.hardware.vibrator@1.x-service.example", vendor: true, relative_install_path: "hw", init_rc: ["android.hardware.vibrator@1.3-service.example.rc"], vintf_fragments: ["android.hardware.vibrator@1.3-service.example.xml"], init_rc: ["android.hardware.vibrator@1.x-service.example.rc"], vintf_fragments: ["android.hardware.vibrator@1.x-service.example.xml"], srcs: ["service.cpp", "Vibrator.cpp"], cflags: ["-Wall", "-Werror"], shared_libs: [ Loading @@ -29,5 +29,6 @@ cc_binary { "android.hardware.vibrator@1.1", "android.hardware.vibrator@1.2", "android.hardware.vibrator@1.3", "android.hardware.vibrator@1.4", ], }
vibrator/1.3/example/Vibrator.cpp→vibrator/1.x/example/Vibrator.cpp +29 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ namespace android { namespace hardware { namespace vibrator { namespace V1_3 { namespace V1_4 { namespace implementation { static constexpr uint32_t MS_PER_S = 1000; Loading Loading @@ -100,7 +100,25 @@ Return<Status> Vibrator::setExternalControl(bool enabled) { } } Return<void> Vibrator::perform_1_3(Effect effect, EffectStrength strength, perform_cb _hidl_cb) { Return<void> Vibrator::perform_1_3(V1_3::Effect effect, EffectStrength strength, perform_cb _hidl_cb) { return perform<decltype(effect)>(effect, strength, _hidl_cb); } // Methods from ::android::hardware::vibrator::V1_4::IVibrator follow. Return<hidl_bitfield<Capabilities>> Vibrator::getCapabilities() { return Capabilities::ON_COMPLETION_CALLBACK | Capabilities::PERFORM_COMPLETION_CALLBACK; } Return<Status> Vibrator::on_1_4(uint32_t timeoutMs, const sp<IVibratorCallback>& callback) { mCallback = callback; return on(timeoutMs); } Return<void> Vibrator::perform_1_4(V1_3::Effect effect, EffectStrength strength, const sp<IVibratorCallback>& callback, perform_cb _hidl_cb) { mCallback = callback; return perform<decltype(effect)>(effect, strength, _hidl_cb); } Loading Loading @@ -148,6 +166,14 @@ Status Vibrator::enable(bool enabled) { return Status::UNSUPPORTED_OPERATION; } else { ALOGI("Enabled: %s -> %s\n", mEnabled ? "true" : "false", enabled ? "true" : "false"); if (mEnabled && !enabled) { if (auto callback = mCallback) { mCallback = nullptr; if (auto ret = callback->onComplete(); !ret.isOk()) { ALOGE("Failed completion callback: %s", ret.description().c_str()); } } } mEnabled = enabled; return Status::OK; } Loading Loading @@ -271,7 +297,7 @@ uint8_t Vibrator::strengthToAmplitude(EffectStrength strength, Status* status) { } } // namespace implementation } // namespace V1_3 } // namespace V1_4 } // namespace vibrator } // namespace hardware } // namespace android
vibrator/1.3/example/Vibrator.h→vibrator/1.x/example/Vibrator.h +16 −7 Original line number Diff line number Diff line Loading @@ -13,20 +13,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H #define ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H #ifndef ANDROID_HARDWARE_VIBRATOR_V1_x_VIBRATOR_H #define ANDROID_HARDWARE_VIBRATOR_V1_x_VIBRATOR_H #include <android/hardware/vibrator/1.3/IVibrator.h> #include <android/hardware/vibrator/1.4/IVibrator.h> #include <hidl/Status.h> namespace android { namespace hardware { namespace vibrator { namespace V1_3 { namespace V1_4 { namespace implementation { using android::hardware::vibrator::V1_0::EffectStrength; using android::hardware::vibrator::V1_0::Status; using android::hardware::vibrator::V1_3::Effect; class Vibrator : public IVibrator { public: Loading @@ -51,7 +52,14 @@ class Vibrator : public IVibrator { // Methods from ::android::hardware::vibrator::V1_3::IVibrator follow. Return<bool> supportsExternalControl() override; Return<Status> setExternalControl(bool enabled) override; Return<void> perform_1_3(Effect effect, EffectStrength strength, perform_cb _hidl_cb) override; Return<void> perform_1_3(V1_3::Effect effect, EffectStrength strength, perform_cb _hidl_cb) override; // Methods from ::android::hardware::vibrator::V1_4::IVibrator follow. Return<hidl_bitfield<Capabilities>> getCapabilities() override; Return<Status> on_1_4(uint32_t timeoutMs, const sp<IVibratorCallback>& callback) override; Return<void> perform_1_4(V1_3::Effect effect, EffectStrength strength, const sp<IVibratorCallback>& callback, perform_cb _hidl_cb) override; private: Return<void> perform(Effect effect, EffectStrength strength, perform_cb _hidl_cb); Loading @@ -72,11 +80,12 @@ class Vibrator : public IVibrator { bool mExternalControl{false}; std::mutex mMutex; timer_t mTimer{nullptr}; sp<IVibratorCallback> mCallback{nullptr}; }; } // namespace implementation } // namespace V1_3 } // namespace V1_4 } // namespace vibrator } // namespace hardware } // namespace android #endif // ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H #endif // ANDROID_HARDWARE_VIBRATOR_V1_x_VIBRATOR_H
vibrator/1.3/example/android.hardware.vibrator@1.3-service.example.rc→vibrator/1.x/example/android.hardware.vibrator@1.x-service.example.rc +4 −0 Original line number Diff line number Diff line service vendor.vibrator-1-3 /vendor/bin/hw/android.hardware.vibrator@1.3-service.example service vendor.vibrator-1-x /vendor/bin/hw/android.hardware.vibrator@1.x-service.example class hal user system group system