From 139bd83f0c552e3fdb5f763b5f6fe25ad138802b Mon Sep 17 00:00:00 2001
From: Ken Wakasa <kwakasa@google.com>
Date: Tue, 4 Dec 2012 15:24:55 +0900
Subject: [PATCH] Add a new option for the double-space period functionality

bug: 6934756

Change-Id: I94b2d08cac6533e96031d8e97f347e9b5fd72859
---
 java/res/values/strings.xml                                | 5 +++++
 java/res/xml/prefs.xml                                     | 6 ++++++
 java/src/com/android/inputmethod/latin/LatinIME.java       | 1 +
 java/src/com/android/inputmethod/latin/Settings.java       | 2 ++
 java/src/com/android/inputmethod/latin/SettingsValues.java | 2 ++
 5 files changed, 16 insertions(+)

diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index 13aca717f3..09be9b73fd 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -81,6 +81,11 @@
     <!-- Description for option enabling or disabling the use of names of people in Contacts for suggestion and correction [CHAR LIMIT=65] -->
     <string name="use_contacts_dict_summary">Use names from Contacts for suggestions and corrections</string>
 
+    <!-- Option name for enabling or disabling the double-space period feature that lets double tap on spacebar insert a period followed by a space [CHAR LIMIT=25] -->
+    <string name="use_double_space_period">Double-space period</string>
+    <!-- Description for option enabling or disabling the double-space period feature that lets double tap on spacebar insert a period followed by a space [CHAR LIMIT=65] -->
+    <string name="use_double_space_period_summary">Double tap on spacebar inserts a period followed by a space</string>
+
     <!-- Option to enable auto capitalization of sentences -->
     <string name="auto_cap">Auto-capitalization</string>
     <!-- Description for option to enable auto capitalization of sentences -->
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 9172b24152..4ffbf14d5d 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -118,6 +118,12 @@
                 android:summary="@string/use_contacts_dict_summary"
                 android:persistent="true"
                 android:defaultValue="true" />
+            <CheckBoxPreference
+                android:key="pref_key_use_double_space_period"
+                android:title="@string/use_double_space_period"
+                android:summary="@string/use_double_space_period_summary"
+                android:persistent="true"
+                android:defaultValue="true" />
             <CheckBoxPreference
                 android:key="pref_show_language_switch_key"
                 android:title="@string/show_language_switch_key"
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 8519ad31d1..d8e536745a 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1177,6 +1177,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
 
     private boolean maybeDoubleSpace() {
         if (!mCurrentSettings.mCorrectionEnabled) return false;
+        if (!mCurrentSettings.mUseDoubleSpacePeriod) return false;
         if (!mHandler.isAcceptingDoubleSpaces()) return false;
         final CharSequence lastThree = mConnection.getTextBeforeCursor(3, 0);
         if (lastThree != null && lastThree.length() == 3
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index fdad5430a3..7a73cade31 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -60,6 +60,8 @@ public final class Settings extends InputMethodSettingsFragment
             "last_user_dictionary_write_time";
     public static final String PREF_ADVANCED_SETTINGS = "pref_advanced_settings";
     public static final String PREF_KEY_USE_CONTACTS_DICT = "pref_key_use_contacts_dict";
+    public static final String PREF_KEY_USE_DOUBLE_SPACE_PERIOD =
+            "pref_key_use_double_space_period";
     public static final String PREF_SHOW_LANGUAGE_SWITCH_KEY =
             "pref_show_language_switch_key";
     public static final String PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST =
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 8de64c1c97..a23876722e 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -75,6 +75,7 @@ public final class SettingsValues {
     @SuppressWarnings("unused") // TODO: Use this
     private final String mKeyPreviewPopupDismissDelayRawValue;
     public final boolean mUseContactsDict;
+    public final boolean mUseDoubleSpacePeriod;
     // Use bigrams to predict the next word when there is no input for it yet
     public final boolean mBigramPredictionEnabled;
     @SuppressWarnings("unused") // TODO: Use this
@@ -154,6 +155,7 @@ public final class SettingsValues {
                 Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY,
                 Integer.toString(res.getInteger(R.integer.config_key_preview_linger_timeout)));
         mUseContactsDict = prefs.getBoolean(Settings.PREF_KEY_USE_CONTACTS_DICT, true);
+        mUseDoubleSpacePeriod = prefs.getBoolean(Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, true);
         mAutoCorrectEnabled = isAutoCorrectEnabled(res, mAutoCorrectionThresholdRawValue);
         mBigramPredictionEnabled = isBigramPredictionEnabled(prefs, res);
         mVibrationDurationSettingsRawValue =
-- 
GitLab