diff --git a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/fragments/BufferFragment.java b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/fragments/BufferFragment.java
index 4b849e213..ad667534e 100644
--- a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/fragments/BufferFragment.java
+++ b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/fragments/BufferFragment.java
@@ -1,16 +1,12 @@
package com.ubergeek42.WeechatAndroid.fragments;
-import java.util.Vector;
-
import android.annotation.SuppressLint;
-import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import android.content.Context;
import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.Fragment;
import android.text.Editable;
+import android.text.InputType;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -26,9 +22,9 @@
import android.widget.TextView;
import android.widget.Toast;
-import com.ubergeek42.WeechatAndroid.adapters.ChatLinesAdapter;
import com.ubergeek42.WeechatAndroid.R;
import com.ubergeek42.WeechatAndroid.WeechatActivity;
+import com.ubergeek42.WeechatAndroid.adapters.ChatLinesAdapter;
import com.ubergeek42.WeechatAndroid.relay.Buffer;
import com.ubergeek42.WeechatAndroid.relay.Buffer.LINES;
import com.ubergeek42.WeechatAndroid.relay.BufferEye;
@@ -38,11 +34,17 @@
import com.ubergeek42.WeechatAndroid.utils.CopyPaste;
import com.ubergeek42.weechat.ColorScheme;
-import static com.ubergeek42.WeechatAndroid.service.Events.*;
-import static com.ubergeek42.WeechatAndroid.service.RelayService.STATE.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Vector;
import de.greenrobot.event.EventBus;
+import static com.ubergeek42.WeechatAndroid.service.Events.SendMessageEvent;
+import static com.ubergeek42.WeechatAndroid.service.Events.StateChangedEvent;
+import static com.ubergeek42.WeechatAndroid.service.RelayService.STATE.LISTED;
+
public class BufferFragment extends Fragment implements BufferEye, OnKeyListener,
OnClickListener, TextWatcher, TextView.OnEditorActionListener {
@@ -138,6 +140,17 @@ public void onStart() {
started = true;
uiSend.setVisibility(P.showSend ? View.VISIBLE : View.GONE);
uiTab.setVisibility(P.showTab ? View.VISIBLE : View.GONE);
+ int inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE;
+
+ if(P.enableAutoCorrect) {
+ inputType |= InputType.TYPE_TEXT_FLAG_AUTO_CORRECT;
+ } else {
+ inputType |= InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
+ }
+ if(P.enableAutoCapitalize) {
+ inputType |= InputType.TYPE_TEXT_FLAG_CAP_SENTENCES;
+ }
+ uiInput.setInputType(inputType);
uiLines.setBackgroundColor(0xFF000000 | ColorScheme.get().defaul[ColorScheme.OPT_BG]);
EventBus.getDefault().registerSticky(this);
}
diff --git a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/service/P.java b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/service/P.java
index dfe6be4fb..86b84affe 100644
--- a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/service/P.java
+++ b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/service/P.java
@@ -71,7 +71,8 @@ public static void init(@NonNull Context context) {
public static boolean notificationEnable, notificationTicker, notificationLight, notificationVibrate;
public static String notificationSound;
- public static boolean showSend, showTab, hotlistSync, volumeBtnSize;
+ public static boolean showSend, showTab, enableAutoCapitalize, enableAutoCorrect, hotlistSync;
+ public static boolean volumeBtnSize;
public static String bufferFont;
public static boolean showBufferFilter;
@@ -104,6 +105,8 @@ public static void loadUIPreferences() {
// buffer fragment
showSend = p.getBoolean(PREF_SHOW_SEND, PREF_SHOW_SEND_D);
showTab = p.getBoolean(PREF_SHOW_TAB, PREF_SHOW_TAB_D);
+ enableAutoCapitalize = p.getBoolean(PREF_ENABLE_AUTO_CAPITALIZE, PREF_ENABLE_AUTO_CAPITALIZE_D);
+ enableAutoCorrect = p.getBoolean(PREF_ENABLE_AUTO_CORRECT, PREF_ENABLE_AUTO_CORRECT_D);
hotlistSync = p.getBoolean(PREF_HOTLIST_SYNC, PREF_HOTLIST_SYNC_D);
volumeBtnSize = p.getBoolean(PREF_VOLUME_BTN_SIZE, PREF_VOLUME_BTN_SIZE_D);
@@ -223,6 +226,8 @@ public static void loadConnectionPreferences() {
// buffer fragment
case PREF_SHOW_SEND: showSend = p.getBoolean(key, PREF_SHOW_SEND_D); break;
case PREF_SHOW_TAB: showTab = p.getBoolean(key, PREF_SHOW_TAB_D); break;
+ case PREF_ENABLE_AUTO_CAPITALIZE: enableAutoCapitalize = p.getBoolean(key, PREF_ENABLE_AUTO_CAPITALIZE_D); break;
+ case PREF_ENABLE_AUTO_CORRECT: enableAutoCorrect = p.getBoolean(key, PREF_ENABLE_AUTO_CORRECT_D); break;
case PREF_HOTLIST_SYNC: hotlistSync = p.getBoolean(key, PREF_HOTLIST_SYNC_D); break;
case PREF_VOLUME_BTN_SIZE: volumeBtnSize = p.getBoolean(key, PREF_VOLUME_BTN_SIZE_D); break;
diff --git a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/ActionEditText.java b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/ActionEditText.java
index 133f14311..16ddde055 100644
--- a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/ActionEditText.java
+++ b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/ActionEditText.java
@@ -2,6 +2,7 @@
import android.content.Context;
import android.support.v7.widget.AppCompatEditText;
+import android.text.InputType;
import android.util.AttributeSet;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
@@ -23,6 +24,7 @@ public ActionEditText(Context context, AttributeSet attrs, int defStyle) {
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection conn = super.onCreateInputConnection(outAttrs);
outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;
+ outAttrs.inputType &= ~InputType.TYPE_TEXT_FLAG_MULTI_LINE;
return conn;
}
}
diff --git a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/Constants.java b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/Constants.java
index b4b12aa52..ef0bf2883 100644
--- a/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/Constants.java
+++ b/weechat-android/src/main/java/com/ubergeek42/WeechatAndroid/utils/Constants.java
@@ -66,6 +66,8 @@ public class Constants {
// buttons
public final static String PREF_SHOW_SEND = "sendbtn_show"; final public static boolean PREF_SHOW_SEND_D = true;
public final static String PREF_SHOW_TAB = "tabbtn_show"; final public static boolean PREF_SHOW_TAB_D = true;
+ public final static String PREF_ENABLE_AUTO_CORRECT = "autocorrect_input"; final public static boolean PREF_ENABLE_AUTO_CORRECT_D = true;
+ public final static String PREF_ENABLE_AUTO_CAPITALIZE = "autocapitalize_input"; final public static boolean PREF_ENABLE_AUTO_CAPITALIZE_D = true;
public final static String PREF_VOLUME_BTN_SIZE = "volumebtn_size"; final public static boolean PREF_VOLUME_BTN_SIZE_D = true;
// notifications
diff --git a/weechat-android/src/main/res/layout/chatview_main.xml b/weechat-android/src/main/res/layout/chatview_main.xml
index 6d6747d3c..0f45e0e6f 100644
--- a/weechat-android/src/main/res/layout/chatview_main.xml
+++ b/weechat-android/src/main/res/layout/chatview_main.xml
@@ -19,7 +19,6 @@
android:layout_weight="1.0"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:inputType="textCapSentences|textMultiLine|textAutoCorrect"
android:imeOptions="flagNoFullscreen|flagNoExtractUi|actionSend"
android:maxLines="4"
android:minLines="1"
diff --git a/weechat-android/src/main/res/values/strings.xml b/weechat-android/src/main/res/values/strings.xml
index e6ea3afc5..3b066e44f 100644
--- a/weechat-android/src/main/res/values/strings.xml
+++ b/weechat-android/src/main/res/values/strings.xml
@@ -234,9 +234,11 @@
- Buttons
+ Buttons & input
Show tab button
Show send button
+ Enable keyboard auto-capitalization
+ Enable keyboard auto-correct
Volume buttons change text size
If set, volume buttons will change text size instead of volume
diff --git a/weechat-android/src/main/res/xml/preferences.xml b/weechat-android/src/main/res/xml/preferences.xml
index 7cb996b10..07e01c1bb 100644
--- a/weechat-android/src/main/res/xml/preferences.xml
+++ b/weechat-android/src/main/res/xml/preferences.xml
@@ -74,6 +74,8 @@
+
+