Add StatsUtils.onSettingsActivity to collect the settings page stats.

Bug:19214944
Change-Id: I113f47c49d638790d770fe2781afe7cd1565619d
diff --git a/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
index 3ae277a..21a8068 100644
--- a/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
+++ b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
@@ -95,4 +95,7 @@
     public static void onSubtypeChanged(final InputMethodSubtype oldSubtype,
             final InputMethodSubtype newSubtype) {
     }
+
+    public static void onSettingsActivity(final String entryPoint) {
+    }
 }
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index a0e55c6..9fab6b4 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -94,7 +94,6 @@
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.TimeUnit;
@@ -1255,7 +1254,7 @@
     // Implement {@link ImportantNoticeDialog.ImportantNoticeDialogListener}
     @Override
     public void onClickSettingsOfImportantNoticeDialog(final int nextVersion) {
-        launchSettings();
+        launchSettings(SettingsActivity.EXTRA_ENTRY_VALUE_NOTICE_DIALOG);
     }
 
     // Implement {@link ImportantNoticeDialog.ImportantNoticeDialogListener}
@@ -1692,7 +1691,7 @@
         }
     };
 
-    void launchSettings() {
+    void launchSettings(final String extraEntryValue) {
         mInputLogic.commitTyped(mSettings.getCurrent(), LastComposedWord.NOT_A_SEPARATOR);
         requestHideSelf(0);
         final MainKeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
@@ -1705,6 +1704,7 @@
                 | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
                 | Intent.FLAG_ACTIVITY_CLEAR_TOP);
         intent.putExtra(SettingsActivity.EXTRA_SHOW_HOME_AS_UP, false);
+        intent.putExtra(SettingsActivity.EXTRA_ENTRY_KEY, extraEntryValue);
         startActivity(intent);
     }
 
@@ -1732,7 +1732,7 @@
                     startActivity(intent);
                     break;
                 case 1:
-                    launchSettings();
+                    launchSettings(SettingsActivity.EXTRA_ENTRY_VALUE_LONG_PRESS_COMMA);
                     break;
                 }
             }
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java b/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java
index b0c4940..dee4811 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java
@@ -17,6 +17,8 @@
 package com.android.inputmethod.latin.settings;
 
 import com.android.inputmethod.latin.utils.FragmentUtils;
+import com.android.inputmethod.latin.utils.StatsUtils;
+import com.android.inputmethod.latin.utils.StatsUtilsManager;
 
 import android.app.ActionBar;
 import android.content.Intent;
@@ -25,19 +27,30 @@
 import android.view.MenuItem;
 
 public final class SettingsActivity extends PreferenceActivity {
-    public static final String EXTRA_SHOW_HOME_AS_UP = "show_home_as_up";
     private static final String DEFAULT_FRAGMENT = SettingsFragment.class.getName();
+
+    public static final String EXTRA_SHOW_HOME_AS_UP = "show_home_as_up";
+    public static final String EXTRA_ENTRY_KEY = "entry";
+    public static final String EXTRA_ENTRY_VALUE_LONG_PRESS_COMMA = "long_press_comma";
+    public static final String EXTRA_ENTRY_VALUE_APP_ICON = "app_icon";
+    public static final String EXTRA_ENTRY_VALUE_NOTICE_DIALOG = "important_notice";
+    public static final String EXTRA_ENTRY_VALUE_SYSTEM_SETTINGS = "system_settings";
+
     private boolean mShowHomeAsUp;
 
     @Override
     protected void onCreate(final Bundle savedState) {
         super.onCreate(savedState);
         final ActionBar actionBar = getActionBar();
+        final Intent intent = getIntent();
         if (actionBar != null) {
-            mShowHomeAsUp = getIntent().getBooleanExtra(EXTRA_SHOW_HOME_AS_UP, true);
+            mShowHomeAsUp = intent.getBooleanExtra(EXTRA_SHOW_HOME_AS_UP, true);
             actionBar.setDisplayHomeAsUpEnabled(mShowHomeAsUp);
             actionBar.setHomeButtonEnabled(mShowHomeAsUp);
         }
+        StatsUtils.onSettingsActivity(
+                intent.hasExtra(EXTRA_ENTRY_KEY) ? intent.getStringExtra(EXTRA_ENTRY_KEY)
+                        : intent.getStringExtra(EXTRA_ENTRY_VALUE_SYSTEM_SETTINGS));
     }
 
     @Override
diff --git a/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java b/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java
index c3b30dc..bee22af 100644
--- a/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java
+++ b/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java
@@ -265,6 +265,8 @@
         intent.setClass(this, SettingsActivity.class);
         intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
                 | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+        intent.putExtra(SettingsActivity.EXTRA_ENTRY_KEY,
+                SettingsActivity.EXTRA_ENTRY_VALUE_APP_ICON);
         startActivity(intent);
     }