android_device_peter_gsi/init/quirks/device/unihertz_keylayout.cpp
Peter Cai 6870114c33 init: implement folder replacement quirks
* As a test, we import Unihertz keylayout hacks from phh GSI
2021-10-17 21:33:20 -04:00

27 lines
991 B
C++

#include "../../quirks.h"
#include <android-base/properties.h>
#include <filesystem>
using namespace std;
class UnihertzKeylayoutQuirk : DeviceQuirk {
public:
bool ShouldRun() {
return android::base::GetProperty("ro.vendor.build.fingerprint", "")
.rfind("Unihertz/", 0) == 0;
}
void Run() {
Quirks::OverrideFolderWith("/system/usr/keylayout", [](auto p) {
Quirks::CopyFileKeepPerms("/system/system_ext/quirks/keylayout/unihertz-fingerprint_key.kl", p / "fingerprint_key.kl");
Quirks::CopyFileKeepPerms("/system/system_ext/quirks/keylayout/unihertz-mtk-tpd.kl", p / "mtk-tpd.kl");
Quirks::CopyFileKeepPerms("/system/system_ext/quirks/keylayout/unihertz-mtk-tpd-kpd.kl", p / "mtk-tpd-kpd.kl");
Quirks::CopyFileKeepPerms("/system/system_ext/quirks/keylayout/unihertz-mtk-kpd.kl", p / "mtk-kpd.kl");
});
}
};
static UnihertzKeylayoutQuirk* _ignored = new UnihertzKeylayoutQuirk();