android_device_samsung_a20/universal7885-common/apps/SamsungParts/jni/FlashlightBridge.cpp
roynatech2544 098179eabb
universal7885: run clang-format based on system-clang-format
* On every *.cpp *.h files

Signed-off-by: roynatech2544 <whiteshell2544@naver.com>
2022-03-22 19:02:50 +09:00

63 lines
2.1 KiB
C++

#include <hardware/hardware.h>
#include <hidl/HidlSupport.h>
#include <hidl/LegacySupport.h>
#include <hidl/Status.h>
#include <vendor/eureka/hardware/flashlight/1.0/IFlashlight.h>
#include "jni.h"
using android::sp;
using vendor::eureka::hardware::flashlight::V1_0::Device;
using vendor::eureka::hardware::flashlight::V1_0::Enable;
using vendor::eureka::hardware::flashlight::V1_0::IFlashlight;
using vendor::eureka::hardware::flashlight::V1_0::Number;
extern "C" JNIEXPORT void JNICALL Java_com_eurekateam_samsungextras_interfaces_Flashlight_setFlash(
JNIEnv* env, __unused jobject obj, jint value) {
android::sp<IFlashlight> service = IFlashlight::getService();
service->setFlashlightEnable(Enable::ENABLE);
switch (value) {
case 1:
service->setFlashlightWritable(Number::ONEUI);
break;
case 2:
service->setFlashlightWritable(Number::TWOUI);
break;
case 3:
service->setFlashlightWritable(Number::THREEUI);
break;
case 4:
service->setFlashlightWritable(Number::FOURUI);
break;
case 5:
service->setFlashlightWritable(Number::FIVEUI);
break;
case 6:
service->setFlashlightWritable(Number::SIXUI);
break;
case 7:
service->setFlashlightWritable(Number::SEVENUI);
break;
case 8:
service->setFlashlightWritable(Number::EIGHTUI);
break;
case 9:
service->setFlashlightWritable(Number::NINEUI);
break;
case 10:
service->setFlashlightWritable(Number::TENUI);
break;
default:
break;
}
}
extern "C" JNIEXPORT jint JNICALL Java_com_eurekateam_samsungextras_interfaces_Flashlight_getFlash(
JNIEnv* env, jobject clazz, jint isA10) {
android::sp<IFlashlight> service = IFlashlight::getService();
int ret;
if (isA10 == 1) {
ret = service->readFlashlightstats(Device::A10);
} else {
ret = service->readFlashlightstats(Device::NOTA10);
}
return ret;
}