From 72d561178e62b74923cfe3bc0faa59bcb07c57c3 Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Thu, 11 Aug 2011 18:47:27 -0700 Subject: Revert "Revert "Merge c80340 from master to r13: Move charmap to hardware properties"..." This reverts commit cccd28ca5064a7bd14282cd774ee5bb7126d5845. c80340 add a CL to tools_r13 that broken the build. It was therefore reverted with cccd28. This revert was merged into tools_r13 but shouldn't have been. This reverts the revert to put back the CL in master. Change-Id: I95fcefedb77596cfdf76269f248b2ae80c85c830 --- android/main.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'android/main.c') diff --git a/android/main.c b/android/main.c index 814d2ec..f20ea7b 100644 --- a/android/main.c +++ b/android/main.c @@ -1032,9 +1032,30 @@ int main(int argc, char **argv) args[n++] = opts->http_proxy; } + if (!opts->charmap) { + /* Try to find a valid charmap name */ + char* charmap = avdInfo_getCharmapFile(avd, hw->hw_keyboard_charmap); + if (charmap != NULL) { + D("autoconfig: -charmap %s", charmap); + opts->charmap = charmap; + } + } + if (opts->charmap) { - args[n++] = "-charmap"; - args[n++] = opts->charmap; + char charmap_name[AKEYCHARMAP_NAME_SIZE]; + + if (!path_exists(opts->charmap)) { + derror("Charmap file does not exist: %s", opts->charmap); + exit(1); + } + /* We need to store the charmap name in the hardware configuration. + * However, the charmap file itself is only used by the UI component + * and doesn't need to be set to the emulation engine. + */ + kcm_extract_charmap_name(opts->charmap, charmap_name, + sizeof(charmap_name)); + AFREE(hw->hw_keyboard_charmap); + hw->hw_keyboard_charmap = ASTRDUP(charmap_name); } if (opts->memcheck) { -- cgit v1.1