From 6c95f97a932baec9edb9b51a815f67f9bf9e754b Mon Sep 17 00:00:00 2001
From: Kurt Partridge <kep@google.com>
Date: Wed, 8 Aug 2012 20:28:48 -0700
Subject: [PATCH] ResearchLogging fix password field collection

password data collection was too "sticky"; the next field wouldn't be collected either.

Change-Id: I739a956f663cff33216f83ac453b2a89d8c33dde
---
 .../com/android/inputmethod/research/ResearchLogger.java   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index 6295abe8c3..95b76df407 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -60,6 +60,7 @@ import com.android.inputmethod.keyboard.MainKeyboardView;
 import com.android.inputmethod.latin.CollectionUtils;
 import com.android.inputmethod.latin.Constants;
 import com.android.inputmethod.latin.Dictionary;
+import com.android.inputmethod.latin.InputTypeUtils;
 import com.android.inputmethod.latin.LatinIME;
 import com.android.inputmethod.latin.R;
 import com.android.inputmethod.latin.RichInputConnection;
@@ -791,8 +792,11 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
     public static void latinIME_onStartInputViewInternal(final EditorInfo editorInfo,
             final SharedPreferences prefs) {
         final ResearchLogger researchLogger = getInstance();
-        researchLogger.start();
         if (editorInfo != null) {
+            final boolean isPassword = InputTypeUtils.isPasswordInputType(editorInfo.inputType)
+                    || InputTypeUtils.isVisiblePasswordInputType(editorInfo.inputType);
+            getInstance().setIsPasswordView(isPassword);
+            researchLogger.start();
             final Context context = researchLogger.mInputMethodService;
             try {
                 final PackageInfo packageInfo;
@@ -1059,7 +1063,6 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
                 keyboard.mOccupiedHeight,
                 keyboard.mKeys
             };
-            getInstance().setIsPasswordView(isPasswordView);
             getInstance().enqueueEvent(EVENTKEYS_MAINKEYBOARDVIEW_SETKEYBOARD, values);
         }
     }
-- 
GitLab