Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5975c10 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Convert validatekeymaps to enum class"

parents 6dd4d311 781b1294
Loading
Loading
Loading
Loading
+52 −52
Original line number Diff line number Diff line
@@ -26,15 +26,15 @@

using namespace android;

static const char* kProgName = "validatekeymaps";
static const char* PROG_NAME = "validatekeymaps";
static bool gQuiet = false;

enum FileType {
    FILETYPE_UNKNOWN,
    FILETYPE_KEYLAYOUT,
    FILETYPE_KEYCHARACTERMAP,
    FILETYPE_VIRTUALKEYDEFINITION,
    FILETYPE_INPUTDEVICECONFIGURATION,
enum class FileType {
    UNKNOWN,
    KEY_LAYOUT,
    KEY_CHARACTER_MAP,
    VIRTUAL_KEY_DEFINITION,
    INPUT_DEVICE_CONFIGURATION,
};

static void log(const char* fmt, ...) {
@@ -57,33 +57,32 @@ static void error(const char* fmt, ...) {
static void usage() {
    error("Keymap Validation Tool\n\n");
    error("Usage:\n");
    error(
        " %s [-q] [*.kl] [*.kcm] [*.idc] [virtualkeys.*] [...]\n"
    error(" %s [-q] [*.kl] [*.kcm] [*.idc] [virtualkeys.*] [...]\n"
          "   Validates the specified key layouts, key character maps, \n"
          "   input device configurations, or virtual key definitions.\n\n"
          "   -q Quiet; do not write anything to standard out.\n",
        kProgName);
          PROG_NAME);
}

static FileType getFileType(const char* filename) {
    const char *extension = strrchr(filename, '.');
    if (extension) {
        if (strcmp(extension, ".kl") == 0) {
            return FILETYPE_KEYLAYOUT;
            return FileType::KEY_LAYOUT;
        }
        if (strcmp(extension, ".kcm") == 0) {
            return FILETYPE_KEYCHARACTERMAP;
            return FileType::KEY_CHARACTER_MAP;
        }
        if (strcmp(extension, ".idc") == 0) {
            return FILETYPE_INPUTDEVICECONFIGURATION;
            return FileType::INPUT_DEVICE_CONFIGURATION;
        }
    }

    if (strstr(filename, "virtualkeys.")) {
        return FILETYPE_VIRTUALKEYDEFINITION;
        return FileType::VIRTUAL_KEY_DEFINITION;
    }

    return FILETYPE_UNKNOWN;
    return FileType::UNKNOWN;
}

static bool validateFile(const char* filename) {
@@ -91,11 +90,11 @@ static bool validateFile(const char* filename) {

    FileType fileType = getFileType(filename);
    switch (fileType) {
    case FILETYPE_UNKNOWN:
        case FileType::UNKNOWN:
            error("Supported file types: *.kl, *.kcm, virtualkeys.*\n\n");
            return false;

    case FILETYPE_KEYLAYOUT: {
        case FileType::KEY_LAYOUT: {
            base::Result<std::shared_ptr<KeyLayoutMap>> ret = KeyLayoutMap::load(filename);
            if (!ret) {
                error("Error %s parsing key layout file.\n\n", ret.error().message().c_str());
@@ -104,17 +103,18 @@ static bool validateFile(const char* filename) {
            break;
        }

    case FILETYPE_KEYCHARACTERMAP: {
        case FileType::KEY_CHARACTER_MAP: {
            base::Result<std::shared_ptr<KeyCharacterMap>> ret =
                    KeyCharacterMap::load(filename, KeyCharacterMap::Format::ANY);
            if (!ret) {
            error("Error %s parsing key character map file.\n\n", ret.error().message().c_str());
                error("Error %s parsing key character map file.\n\n",
                      ret.error().message().c_str());
                return false;
            }
            break;
        }

    case FILETYPE_INPUTDEVICECONFIGURATION: {
        case FileType::INPUT_DEVICE_CONFIGURATION: {
            android::base::Result<std::unique_ptr<PropertyMap>> propertyMap =
                    PropertyMap::load(String8(filename));
            if (!propertyMap.ok()) {
@@ -125,7 +125,7 @@ static bool validateFile(const char* filename) {
            break;
        }

    case FILETYPE_VIRTUALKEYDEFINITION: {
        case FileType::VIRTUAL_KEY_DEFINITION: {
            std::unique_ptr<VirtualKeyMap> map = VirtualKeyMap::load(filename);
            if (!map) {
                error("Error while parsing virtual key definition file.\n\n");