Some tweaks for Researcher Mode

Change-Id: I6b16dd2fe6d7356c747ba0ee2da5976738003ded
diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
index 9903209..2041aca 100644
--- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java
+++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
@@ -33,7 +33,7 @@
     public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
     }
 
-    public static void init(Context context, SharedPreferences prefs) {
+    public static void init(LatinIME context, SharedPreferences prefs) {
     }
 
     public static void commit() {
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index ac4f705..87ac464 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -237,6 +237,7 @@
             textCorrectionGroup.removePreference(dictionaryLink);
         }
 
+        // TODO: Following isResearcherPackage can be wrong until LatinImeLogger gets initialized.
         final boolean isResearcherPackage = LatinImeLogger.isResearcherPackage();
         final boolean showUsabilityStudyModeOption =
                 res.getBoolean(R.bool.config_enable_usability_study_mode_option)
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java
index 82f2755..75bc10c 100644
--- a/java/src/com/android/inputmethod/latin/Utils.java
+++ b/java/src/com/android/inputmethod/latin/Utils.java
@@ -537,6 +537,10 @@
             mLoggingHandler.post(new Runnable() {
                 @Override
                 public void run() {
+                    final Date date = new Date();
+                    date.setTime(System.currentTimeMillis());
+                    final String currentDateTimeString =
+                            new SimpleDateFormat("yyyyMMdd-HHmmssZ").format(date);
                     if (mFile == null) {
                         Log.w(TAG, "No internal log file found.");
                         return;
@@ -548,8 +552,8 @@
                         return;
                     }
                     mWriter.flush();
-                    final String destPath =
-                            Environment.getExternalStorageDirectory() + "/" + FILENAME;
+                    final String destPath = Environment.getExternalStorageDirectory()
+                            + "/research-" + currentDateTimeString + ".log";
                     final File destFile = new File(destPath);
                     try {
                         final FileChannel src = (new FileInputStream(mFile)).getChannel();
@@ -575,7 +579,8 @@
                     }
                     intent.setType("text/plain");
                     intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + destPath));
-                    intent.putExtra(Intent.EXTRA_SUBJECT, "[Research Logs]");
+                    intent.putExtra(Intent.EXTRA_SUBJECT,
+                            "[Research Logs] " + currentDateTimeString);
                     mIms.startActivity(intent);
                 }
             });