sm7125-common: fingerprint: prevent unnwanted onFingerUp() calls

* onFingerUp() would also be called during unlocking with Pin/Password/etc, always resetting the brightness to the previous value

Change-Id: I5319a8a50a4ad3308e787322c6c2a417b9169b23
urubino-microg
Simon1511 1 year ago committed by Ruchit
parent 7ddabe2aa7
commit e9214cb4bc
  1. 16
      fingerprint/BiometricsFingerprint.cpp

@ -28,6 +28,7 @@
#include <inttypes.h> #include <inttypes.h>
#include <unistd.h> #include <unistd.h>
#include <cutils/properties.h> #include <cutils/properties.h>
#include <string.h>
#ifdef HAS_FINGERPRINT_GESTURES #ifdef HAS_FINGERPRINT_GESTURES
#include <fcntl.h> #include <fcntl.h>
@ -35,6 +36,7 @@
#define TSP_CMD_PATH "/sys/class/sec/tsp/cmd" #define TSP_CMD_PATH "/sys/class/sec/tsp/cmd"
#define HBM_PATH "/sys/class/lcd/panel/mask_brightness" #define HBM_PATH "/sys/class/lcd/panel/mask_brightness"
#define MASK_BRIGHTNESS_PATH "/sys/class/lcd/panel/actual_mask_brightness"
namespace android { namespace android {
namespace hardware { namespace hardware {
@ -53,6 +55,14 @@ static void set(const std::string& path, const T& value) {
file << value; file << value;
} }
template <typename T>
static T get(const std::string& path, const T& def) {
std::ifstream file(path);
T result;
file >> result;
return file.fail() ? def : result;
}
std::string getBootloader() { std::string getBootloader() {
return android::base::GetProperty("ro.boot.bootloader", ""); return android::base::GetProperty("ro.boot.bootloader", "");
} }
@ -139,9 +149,11 @@ Return<void> BiometricsFingerprint::onFingerDown(uint32_t, uint32_t, float, floa
} }
Return<void> BiometricsFingerprint::onFingerUp() { Return<void> BiometricsFingerprint::onFingerUp() {
request(SEM_REQUEST_TOUCH_EVENT, FINGERPRINT_REQUEST_RESUME); if (strcmp(get<std::string>(MASK_BRIGHTNESS_PATH, "0").c_str(), "0") != 0) {
request(SEM_REQUEST_TOUCH_EVENT, FINGERPRINT_REQUEST_RESUME);
set(HBM_PATH, "0"); set(HBM_PATH, "0");
}
return Void(); return Void();
} }

Loading…
Cancel
Save