am a8b7451b: am 027448e0: Remove an unnecessary thread.

* commit 'a8b7451b31872d217cd61b7d0e6fbbf7221781c8':
  Remove an unnecessary thread.
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java
index b3e46ba..4178955 100644
--- a/java/src/com/android/inputmethod/latin/Utils.java
+++ b/java/src/com/android/inputmethod/latin/Utils.java
@@ -126,8 +126,9 @@
         }
         public static RingCharBuffer init(InputMethodService context, boolean enabled,
                 boolean usabilityStudy) {
+            if (!(enabled || usabilityStudy)) return null;
             sRingCharBuffer.mContext = context;
-            sRingCharBuffer.mEnabled = enabled || usabilityStudy;
+            sRingCharBuffer.mEnabled = true;
             UsabilityStudyLogUtils.getInstance().init(context);
             return sRingCharBuffer;
         }
@@ -221,8 +222,6 @@
         // TODO: remove code duplication with ResearchLog class
         private static final String USABILITY_TAG = UsabilityStudyLogUtils.class.getSimpleName();
         private static final String FILENAME = "log.txt";
-        private static final UsabilityStudyLogUtils sInstance =
-                new UsabilityStudyLogUtils();
         private final Handler mLoggingHandler;
         private File mFile;
         private File mDirectory;
@@ -241,8 +240,13 @@
             mLoggingHandler = new Handler(handlerThread.getLooper());
         }
 
+        // Initialization-on-demand holder
+        private static class OnDemandInitializationHolder {
+            public static final UsabilityStudyLogUtils sInstance = new UsabilityStudyLogUtils();
+        }
+
         public static UsabilityStudyLogUtils getInstance() {
-            return sInstance;
+            return OnDemandInitializationHolder.sInstance;
         }
 
         public void init(InputMethodService ims) {