Add option to swap enter/emoticon key
This commit is contained in:
parent
a88824bb1d
commit
0a96bec3c1
|
@ -15,6 +15,7 @@ import android.os.SystemClock;
|
|||
import android.provider.MediaStore;
|
||||
import android.support.v4.widget.SlidingPaneLayout;
|
||||
import android.support.v4.widget.SlidingPaneLayout.PanelSlideListener;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
@ -32,6 +33,7 @@ import net.java.otr4j.session.SessionStatus;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import eu.siacs.conversations.Config;
|
||||
import eu.siacs.conversations.R;
|
||||
import eu.siacs.conversations.entities.Account;
|
||||
import eu.siacs.conversations.entities.Blockable;
|
||||
|
@ -133,7 +135,7 @@ public class ConversationActivity extends XmppActivity
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (savedInstanceState != null) {mOpenConverstaion = savedInstanceState.getString(
|
||||
STATE_OPEN_CONVERSATION, null);
|
||||
|
@ -536,25 +538,25 @@ public class ConversationActivity extends XmppActivity
|
|||
}
|
||||
attachFilePopup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.attach_choose_picture:
|
||||
attachFile(ATTACHMENT_CHOICE_CHOOSE_IMAGE);
|
||||
break;
|
||||
case R.id.attach_take_picture:
|
||||
attachFile(ATTACHMENT_CHOICE_TAKE_PHOTO);
|
||||
break;
|
||||
case R.id.attach_choose_file:
|
||||
attachFile(ATTACHMENT_CHOICE_CHOOSE_FILE);
|
||||
break;
|
||||
case R.id.attach_record_voice:
|
||||
attachFile(ATTACHMENT_CHOICE_RECORD_VOICE);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.attach_choose_picture:
|
||||
attachFile(ATTACHMENT_CHOICE_CHOOSE_IMAGE);
|
||||
break;
|
||||
case R.id.attach_take_picture:
|
||||
attachFile(ATTACHMENT_CHOICE_TAKE_PHOTO);
|
||||
break;
|
||||
case R.id.attach_choose_file:
|
||||
attachFile(ATTACHMENT_CHOICE_CHOOSE_FILE);
|
||||
break;
|
||||
case R.id.attach_record_voice:
|
||||
attachFile(ATTACHMENT_CHOICE_RECORD_VOICE);
|
||||
break;
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
attachFilePopup.show();
|
||||
}
|
||||
|
||||
|
@ -750,8 +752,9 @@ public class ConversationActivity extends XmppActivity
|
|||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
int theme = findTheme();
|
||||
if (this.mTheme != theme) {
|
||||
final int theme = findTheme();
|
||||
final boolean usingEnterKey = usingEnterKey();
|
||||
if (this.mTheme != theme || usingEnterKey != mUsingEnterKey) {
|
||||
recreate();
|
||||
}
|
||||
this.mActivityPaused = false;
|
||||
|
|
|
@ -9,6 +9,7 @@ import android.content.Intent;
|
|||
import android.content.IntentSender;
|
||||
import android.content.IntentSender.SendIntentException;
|
||||
import android.os.Bundle;
|
||||
import android.text.InputType;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
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
|
||||
public View onCreateView(final LayoutInflater inflater,
|
||||
ViewGroup container, Bundle savedInstanceState) {
|
||||
final View view = inflater.inflate(R.layout.fragment_conversation,
|
||||
container, false);
|
||||
mEditMessage = (EditMessage) view.findViewById(R.id.textinput);
|
||||
setupIme();
|
||||
mEditMessage.setOnClickListener(new OnClickListener() {
|
||||
|
||||
@Override
|
||||
|
@ -421,24 +431,24 @@ public class ConversationFragment extends Fragment {
|
|||
|| m.getType() == Message.TYPE_PRIVATE
|
||||
|| m.getDownloadable() != null) {
|
||||
shareWith.setVisible(false);
|
||||
}
|
||||
}
|
||||
if (m.getStatus() != Message.STATUS_SEND_FAILED) {
|
||||
sendAgain.setVisible(false);
|
||||
}
|
||||
if ((m.getType() != Message.TYPE_IMAGE && m.getDownloadable() == null)
|
||||
|| m.getImageParams().url == null) {
|
||||
copyUrl.setVisible(false);
|
||||
}
|
||||
}
|
||||
if (m.getType() != Message.TYPE_TEXT
|
||||
|| m.getDownloadable() != null
|
||||
|| !m.bodyContainsDownloadable()) {
|
||||
downloadImage.setVisible(false);
|
||||
}
|
||||
}
|
||||
if (!((m.getDownloadable() != null && !(m.getDownloadable() instanceof DownloadablePlaceholder))
|
||||
|| (m.isFileOrImage() && (m.getStatus() == Message.STATUS_WAITING
|
||||
|| m.getStatus() == Message.STATUS_OFFERED)))) {
|
||||
|| m.getStatus() == Message.STATUS_OFFERED)))) {
|
||||
cancelTransmission.setVisible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -96,6 +96,7 @@ public abstract class XmppActivity extends Activity {
|
|||
|
||||
private DisplayMetrics metrics;
|
||||
protected int mTheme;
|
||||
protected boolean mUsingEnterKey = false;
|
||||
|
||||
protected interface OnValueEdited {
|
||||
public void onValueEdited(String value);
|
||||
|
@ -303,9 +304,14 @@ public abstract class XmppActivity extends Activity {
|
|||
R.color.secondarybackground);
|
||||
this.mTheme = findTheme();
|
||||
setTheme(this.mTheme);
|
||||
this.mUsingEnterKey = usingEnterKey();
|
||||
mUseSubject = getPreferences().getBoolean("use_subject", true);
|
||||
}
|
||||
|
||||
protected boolean usingEnterKey() {
|
||||
return getPreferences().getBoolean("display_enter_key", false);
|
||||
}
|
||||
|
||||
protected SharedPreferences getPreferences() {
|
||||
return PreferenceManager
|
||||
.getDefaultSharedPreferences(getApplicationContext());
|
||||
|
|
|
@ -435,6 +435,8 @@
|
|||
<string name="pref_input_options">Input options</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_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="video">video file</string>
|
||||
<string name="pdf_document">PDF document</string>
|
||||
|
|
|
@ -128,6 +128,11 @@
|
|||
android:key="enter_is_send"
|
||||
android:title="@string/pref_enter_is_send"
|
||||
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 android:title="@string/pref_expert_options_other" >
|
||||
<CheckBoxPreference
|
||||
|
|
Loading…
Reference in New Issue