Merge pull request #885 from SamWhited/display-enter-key

Add option to swap enter/emoticon key
This commit is contained in:
Daniel Gultsch 2015-01-14 22:54:02 +01:00
commit a3f9f30a6c
5 changed files with 52 additions and 26 deletions

View file

@ -15,6 +15,7 @@ import android.os.SystemClock;
import android.provider.MediaStore; import android.provider.MediaStore;
import android.support.v4.widget.SlidingPaneLayout; import android.support.v4.widget.SlidingPaneLayout;
import android.support.v4.widget.SlidingPaneLayout.PanelSlideListener; import android.support.v4.widget.SlidingPaneLayout.PanelSlideListener;
import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
@ -32,6 +33,7 @@ import net.java.otr4j.session.SessionStatus;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import eu.siacs.conversations.Config;
import eu.siacs.conversations.R; import eu.siacs.conversations.R;
import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Account;
import eu.siacs.conversations.entities.Blockable; import eu.siacs.conversations.entities.Blockable;
@ -133,7 +135,7 @@ public class ConversationActivity extends XmppActivity
} }
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (savedInstanceState != null) {mOpenConverstaion = savedInstanceState.getString( if (savedInstanceState != null) {mOpenConverstaion = savedInstanceState.getString(
STATE_OPEN_CONVERSATION, null); STATE_OPEN_CONVERSATION, null);
@ -750,8 +752,9 @@ public class ConversationActivity extends XmppActivity
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
int theme = findTheme(); final int theme = findTheme();
if (this.mTheme != theme) { final boolean usingEnterKey = usingEnterKey();
if (this.mTheme != theme || usingEnterKey != mUsingEnterKey) {
recreate(); recreate();
} }
this.mActivityPaused = false; this.mActivityPaused = false;

View file

@ -9,6 +9,7 @@ import android.content.Intent;
import android.content.IntentSender; import android.content.IntentSender;
import android.content.IntentSender.SendIntentException; import android.content.IntentSender.SendIntentException;
import android.os.Bundle; import android.os.Bundle;
import android.text.InputType;
import android.view.ContextMenu; import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo; import android.view.ContextMenu.ContextMenuInfo;
import android.view.Gravity; import android.view.Gravity;
@ -300,12 +301,21 @@ public class ConversationFragment extends Fragment {
} }
} }
private void setupIme() {
if (((ConversationActivity)getActivity()).usingEnterKey()) {
mEditMessage.setInputType(mEditMessage.getInputType() & (~InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE));
} else {
mEditMessage.setInputType(mEditMessage.getInputType() | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE);
}
}
@Override @Override
public View onCreateView(final LayoutInflater inflater, public View onCreateView(final LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) { ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_conversation, final View view = inflater.inflate(R.layout.fragment_conversation,
container, false); container, false);
mEditMessage = (EditMessage) view.findViewById(R.id.textinput); mEditMessage = (EditMessage) view.findViewById(R.id.textinput);
setupIme();
mEditMessage.setOnClickListener(new OnClickListener() { mEditMessage.setOnClickListener(new OnClickListener() {
@Override @Override

View file

@ -96,6 +96,7 @@ public abstract class XmppActivity extends Activity {
private DisplayMetrics metrics; private DisplayMetrics metrics;
protected int mTheme; protected int mTheme;
protected boolean mUsingEnterKey = false;
protected interface OnValueEdited { protected interface OnValueEdited {
public void onValueEdited(String value); public void onValueEdited(String value);
@ -303,9 +304,14 @@ public abstract class XmppActivity extends Activity {
R.color.secondarybackground); R.color.secondarybackground);
this.mTheme = findTheme(); this.mTheme = findTheme();
setTheme(this.mTheme); setTheme(this.mTheme);
this.mUsingEnterKey = usingEnterKey();
mUseSubject = getPreferences().getBoolean("use_subject", true); mUseSubject = getPreferences().getBoolean("use_subject", true);
} }
protected boolean usingEnterKey() {
return getPreferences().getBoolean("display_enter_key", false);
}
protected SharedPreferences getPreferences() { protected SharedPreferences getPreferences() {
return PreferenceManager return PreferenceManager
.getDefaultSharedPreferences(getApplicationContext()); .getDefaultSharedPreferences(getApplicationContext());

View file

@ -435,6 +435,8 @@
<string name="pref_input_options">Input options</string> <string name="pref_input_options">Input options</string>
<string name="pref_enter_is_send">Enter is send</string> <string name="pref_enter_is_send">Enter is send</string>
<string name="pref_enter_is_send_summary">Use enter key to send message</string> <string name="pref_enter_is_send_summary">Use enter key to send message</string>
<string name="pref_display_enter_key">Show enter key</string>
<string name="pref_display_enter_key_summary">Change the emoticons key to an enter key</string>
<string name="audio">audio file</string> <string name="audio">audio file</string>
<string name="video">video file</string> <string name="video">video file</string>
<string name="pdf_document">PDF document</string> <string name="pdf_document">PDF document</string>

View file

@ -128,6 +128,11 @@
android:key="enter_is_send" android:key="enter_is_send"
android:title="@string/pref_enter_is_send" android:title="@string/pref_enter_is_send"
android:summary="@string/pref_enter_is_send_summary" /> android:summary="@string/pref_enter_is_send_summary" />
<CheckBoxPreference
android:defaultValue="false"
android:key="display_enter_key"
android:title="@string/pref_display_enter_key"
android:summary="@string/pref_display_enter_key_summary" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:title="@string/pref_expert_options_other" > <PreferenceCategory android:title="@string/pref_expert_options_other" >
<CheckBoxPreference <CheckBoxPreference