From dc0f7ca167df5b49daa4707d4f737f683b052dab Mon Sep 17 00:00:00 2001
From: Yohei Yukawa <yukawa@google.com>
Date: Tue, 8 Apr 2014 18:33:41 +0900
Subject: [PATCH] Add StatsUtils for checking state

BUG: 11746191
Change-Id: I0218dd07dde1d09321009ea1497258fc4235a1e8
---
 .../android/inputmethod/latin/LatinIME.java   |  4 ++
 .../inputmethod/latin/utils/StatsUtils.java   | 53 +++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 java/src/com/android/inputmethod/latin/utils/StatsUtils.java

diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index b4807b01a2..325ef64944 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -87,6 +87,7 @@ import com.android.inputmethod.latin.utils.ImportantNoticeUtils;
 import com.android.inputmethod.latin.utils.IntentUtils;
 import com.android.inputmethod.latin.utils.JniUtils;
 import com.android.inputmethod.latin.utils.LeakGuardHandlerWrapper;
+import com.android.inputmethod.latin.utils.StatsUtils;
 import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
 import com.android.inputmethod.research.ResearchLogger;
 
@@ -508,6 +509,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
         registerReceiver(mDictionaryDumpBroadcastReceiver, dictDumpFilter);
 
         DictionaryDecayBroadcastReciever.setUpIntervalAlarmForDictionaryDecaying(this);
+
+        StatsUtils.onCreateCompleted(this);
     }
 
     // Has to be package-visible for unit tests
@@ -627,6 +630,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
         PersonalizationDictionarySessionRegistrar.close(this);
         LatinImeLogger.commit();
         LatinImeLogger.onDestroy();
+        StatsUtils.onDestroy();
         super.onDestroy();
     }
 
diff --git a/java/src/com/android/inputmethod/latin/utils/StatsUtils.java b/java/src/com/android/inputmethod/latin/utils/StatsUtils.java
new file mode 100644
index 0000000000..f77406dbfd
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/utils/StatsUtils.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.latin.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+import android.util.Log;
+
+import com.android.inputmethod.latin.settings.Settings;
+
+public final class StatsUtils {
+    private static final String TAG = StatsUtils.class.getSimpleName();
+    private static final StatsUtils sInstance = new StatsUtils();
+
+    public static void onCreateCompleted(final Context context) {
+        sInstance.onCreateCompletedInternal(context);
+    }
+
+    private void onCreateCompletedInternal(final Context context) {
+        mContext = context;
+        final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
+        final Boolean usePersonalizedDict =
+                prefs.getBoolean(Settings.PREF_KEY_USE_PERSONALIZED_DICTS, true);
+        Log.d(TAG, "onCreateCompleted. context: " context.toString() + "usePersonalizedDict: "
+                + usePersonalizedDict);
+    }
+
+    public static void onDestroy() {
+        sInstance.onDestroyInternal();
+    }
+
+    private void onDestroyInternal() {
+        Log.d(TAG, "onDestroy. context: " + mContext.toString());
+        mContext = null;
+    }
+
+    private Context mContext;
+}
-- 
GitLab