android_device_samsung_a20/universal7885-common/apps/SamsungParts/jni/FlashlightBridge.cpp
roynatech2544 15f84d5a7b
universal7885: parts: implement display controls
Signed-off-by: roynatech2544 <whiteshell2544@naver.com>
2022-04-12 16:45:48 +09:00

63 lines
2 KiB
C++

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