Log the current launguage and enabled languages
Change-Id: Ie504961be7c90bdcabe73ca3bddf98cac61f3d3b
diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
index 3ffbe1b..55e8598 100644
--- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java
+++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
@@ -65,6 +65,7 @@
private static final int ID_MANUALSUGGESTIONCOUNT = 11;
private static final int ID_AUTOSUGGESTIONCANCELLEDCOUNT = 12;
private static final int ID_AUTOSUGGESTIONCOUNT = 13;
+ private static final int ID_LANGUAGES = 14;
private static final String PREF_ENABLE_LOG = "enable_logging";
private static final String PREF_DEBUG_MODE = "debug_mode";
@@ -92,6 +93,8 @@
private long mLastTimeCountEntry;
private String mThemeId;
+ private String mSelectedLanguages;
+ private String mCurrentLanguage;
private int mDeleteCount;
private int mInputCount;
private int mWordCount;
@@ -143,6 +146,8 @@
sLogEnabled = prefs.getBoolean(PREF_ENABLE_LOG, DEFAULT_LOG_ENABLED);
mThemeId = prefs.getString(KeyboardSwitcher.PREF_KEYBOARD_LAYOUT,
KeyboardSwitcher.DEFAULT_LAYOUT_ID);
+ mSelectedLanguages = prefs.getString(LatinIME.PREF_SELECTED_LANGUAGES, "");
+ mCurrentLanguage = prefs.getString(LatinIME.PREF_INPUT_LANGUAGE, "");
sLOGPRINT = prefs.getBoolean(PREF_DEBUG_MODE, sLOGPRINT);
sDBG = sLOGPRINT;
prefs.registerOnSharedPreferenceChangeListener(this);
@@ -233,6 +238,19 @@
new String[] {mThemeId}));
}
+ private void addLanguagesEntry(long time) {
+ if (sLOGPRINT) {
+ Log.d(TAG, "Log language settings. (1)");
+ }
+ // CurrentLanguage and SelectedLanguages will be blank if user doesn't use multi-language
+ // switching.
+ if (TextUtils.isEmpty(mCurrentLanguage)) {
+ mCurrentLanguage = mContext.getResources().getConfiguration().locale.toString();
+ }
+ mLogBuffer.add(new LogEntry (time, ID_LANGUAGES,
+ new String[] {mCurrentLanguage , mSelectedLanguages}));
+ }
+
private void addSettingsEntry(long time) {
if (sLOGPRINT) {
Log.d(TAG, "Log settings. (1)");
@@ -363,6 +381,7 @@
long now = System.currentTimeMillis();
addCountEntry(now);
addThemeIdEntry(now);
+ addLanguagesEntry(now);
addSettingsEntry(now);
addVersionNameEntry(now);
addSuggestionCountEntry(now);
@@ -432,6 +451,11 @@
} else if (PREF_DEBUG_MODE.equals(key)) {
sLOGPRINT = sharedPreferences.getBoolean(PREF_DEBUG_MODE, sLOGPRINT);
sDBG = sLOGPRINT;
+ } else if (LatinIME.PREF_INPUT_LANGUAGE.equals(key)) {
+ mCurrentLanguage = sharedPreferences.getString(LatinIME.PREF_INPUT_LANGUAGE, "");
+ addLanguagesEntry(mLastTimeActive);
+ } else if (LatinIME.PREF_INPUT_LANGUAGE.equals(key)) {
+ mSelectedLanguages = sharedPreferences.getString(LatinIME.PREF_SELECTED_LANGUAGES, "");
}
}