summaryrefslogtreecommitdiffstats
path: root/ui.h
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2017-01-04 20:22:48 +0100
committerandroid-build-merger <android-build-merger@google.com>2017-01-04 20:22:48 +0100
commit3806993e2532704d6569b67352fce9c42650fd74 (patch)
tree2993d4b32a868c0c7d45fc293508f8a25de11b56 /ui.h
parentMerge "updater: Refactor parse_range()." am: 466e1b396a (diff)
parentMerge "recovery: Fix the broken UI text." (diff)
downloadandroid_bootable_recovery-3806993e2532704d6569b67352fce9c42650fd74.tar
android_bootable_recovery-3806993e2532704d6569b67352fce9c42650fd74.tar.gz
android_bootable_recovery-3806993e2532704d6569b67352fce9c42650fd74.tar.bz2
android_bootable_recovery-3806993e2532704d6569b67352fce9c42650fd74.tar.lz
android_bootable_recovery-3806993e2532704d6569b67352fce9c42650fd74.tar.xz
android_bootable_recovery-3806993e2532704d6569b67352fce9c42650fd74.tar.zst
android_bootable_recovery-3806993e2532704d6569b67352fce9c42650fd74.zip
Diffstat (limited to 'ui.h')
-rw-r--r--ui.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/ui.h b/ui.h
index be95a4e23..8493c6f0a 100644
--- a/ui.h
+++ b/ui.h
@@ -21,6 +21,8 @@
#include <pthread.h>
#include <time.h>
+#include <string>
+
// Abstract class for controlling the user interface during recovery.
class RecoveryUI {
public:
@@ -28,14 +30,13 @@ class RecoveryUI {
virtual ~RecoveryUI() { }
- // Initialize the object; called before anything else. Returns true on success.
- virtual bool Init();
+ // Initialize the object; called before anything else. UI texts will be
+ // initialized according to the given locale. Returns true on success.
+ virtual bool Init(const std::string& locale);
+
// Show a stage indicator. Call immediately after Init().
virtual void SetStage(int current, int max) = 0;
- // After calling Init(), you can tell the UI what locale it is operating in.
- virtual void SetLocale(const char* locale) = 0;
-
// Set the overall recovery state ("background image").
enum Icon { NONE, INSTALLING_UPDATE, ERASING, NO_COMMAND, ERROR };
virtual void SetBackground(Icon icon) = 0;
@@ -122,10 +123,14 @@ class RecoveryUI {
// statements will be displayed.
virtual void EndMenu() = 0;
-protected:
+ protected:
void EnqueueKey(int key_code);
-private:
+ // The locale that's used to show the rendered texts.
+ std::string locale_;
+ bool rtl_locale_;
+
+ private:
// Key event input queue
pthread_mutex_t key_queue_mutex;
pthread_cond_t key_queue_cond;
@@ -162,6 +167,8 @@ private:
static void* time_key_helper(void* cookie);
void time_key(int key_code, int count);
+
+ void SetLocale(const std::string&);
};
#endif // RECOVERY_UI_H