mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-03 10:22:20 +00:00
Implement input bar redesign
This commit is contained in:
@@ -10,6 +10,8 @@ import org.thoughtcrime.securesms.util.CharacterCalculator;
|
||||
import org.thoughtcrime.securesms.util.CharacterCalculator.CharacterState;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
|
||||
public class TransportOption implements Parcelable {
|
||||
|
||||
public enum Type {
|
||||
@@ -84,7 +86,7 @@ public class TransportOption implements Parcelable {
|
||||
}
|
||||
|
||||
public @DrawableRes int getDrawable() {
|
||||
return drawable;
|
||||
return R.drawable.ic_arrow_up;
|
||||
}
|
||||
|
||||
public int getBackgroundColor() {
|
||||
|
||||
@@ -24,7 +24,6 @@ import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiKeyboardProvider;
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiToggle;
|
||||
import org.thoughtcrime.securesms.components.emoji.MediaKeyboard;
|
||||
@@ -48,6 +47,8 @@ import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
|
||||
public class InputPanel extends LinearLayout
|
||||
implements MicrophoneRecorderView.Listener,
|
||||
KeyboardAwareLinearLayout.OnKeyboardShownListener,
|
||||
@@ -108,7 +109,8 @@ public class InputPanel extends LinearLayout
|
||||
this.buttonToggle = findViewById(R.id.button_toggle);
|
||||
this.recordingContainer = findViewById(R.id.recording_container);
|
||||
this.recordLockCancel = findViewById(R.id.record_cancel);
|
||||
this.slideToCancel = new SlideToCancel(findViewById(R.id.slide_to_cancel));
|
||||
View slideToCancelView = findViewById(R.id.slide_to_cancel);
|
||||
this.slideToCancel = new SlideToCancel(slideToCancelView);
|
||||
this.microphoneRecorderView = findViewById(R.id.recorder_view);
|
||||
this.microphoneRecorderView.setListener(this);
|
||||
this.recordTime = new RecordTime(findViewById(R.id.record_time),
|
||||
|
||||
@@ -20,10 +20,11 @@ import android.view.animation.TranslateAnimation;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
|
||||
public final class MicrophoneRecorderView extends FrameLayout implements View.OnTouchListener {
|
||||
|
||||
enum State {
|
||||
@@ -156,7 +157,7 @@ public final class MicrophoneRecorderView extends FrameLayout implements View.On
|
||||
FloatingRecordButton(Context context, ImageView recordButtonFab) {
|
||||
this.recordButtonFab = recordButtonFab;
|
||||
this.recordButtonFab.getBackground().setColorFilter(context.getResources()
|
||||
.getColor(R.color.red_500),
|
||||
.getColor(R.color.destructive),
|
||||
PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
package org.thoughtcrime.securesms.components.emoji;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.AppCompatImageButton;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
import org.thoughtcrime.securesms.stickers.StickerKeyboardProvider;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
|
||||
import network.loki.messenger.R;
|
||||
|
||||
public class EmojiToggle extends AppCompatImageButton implements MediaKeyboard.MediaKeyboardListener {
|
||||
|
||||
private Drawable emojiToggle;
|
||||
@@ -54,6 +56,8 @@ public class EmojiToggle extends AppCompatImageButton implements MediaKeyboard.M
|
||||
this.imeToggle = drawables.getDrawable(2);
|
||||
this.mediaToggle = emojiToggle;
|
||||
|
||||
setImageTintList(ColorStateList.valueOf(getResources().getColor(R.color.text)));
|
||||
|
||||
drawables.recycle();
|
||||
setToMedia();
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ import android.content.res.TypedArray;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff.Mode;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.hardware.Camera;
|
||||
import android.net.Uri;
|
||||
@@ -1604,8 +1603,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
calculateCharactersRemaining();
|
||||
updateLinkPreviewState();
|
||||
composeText.setTransport(newTransport);
|
||||
buttonToggle.getBackground().setColorFilter(newTransport.getBackgroundColor(), Mode.MULTIPLY);
|
||||
buttonToggle.getBackground().invalidateSelf();
|
||||
if (manuallySelected) recordTransportPreference(newTransport);
|
||||
});
|
||||
|
||||
@@ -2237,8 +2234,8 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
private void setInputPanelEnabled(boolean enabled) {
|
||||
Util.runOnMain(() -> {
|
||||
updateToggleButtonState();
|
||||
int hintID = enabled ? R.string.activity_conversation_default_hint : R.string.activity_conversation_pending_friend_request_hint;
|
||||
inputPanel.setHint(getResources().getString(hintID));
|
||||
String hint = enabled ? "Message" : "Pending message request";
|
||||
inputPanel.setHint(hint);
|
||||
inputPanel.setEnabled(enabled);
|
||||
if (enabled) {
|
||||
inputPanel.composeText.requestFocus();
|
||||
|
||||
@@ -111,6 +111,7 @@ class EnterPublicKeyFragment : Fragment() {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
publicKeyTextView.imeOptions = publicKeyTextView.imeOptions or 16777216 // Always use incognito keyboard
|
||||
publicKeyTextView.text = hexEncodedPublicKey
|
||||
copyButton.setOnClickListener { copyPublicKey() }
|
||||
shareButton.setOnClickListener { sharePublicKey() }
|
||||
|
||||
@@ -20,6 +20,7 @@ class DisplayNameActivity : BaseActionBarActivity() {
|
||||
super.onCreate(savedInstanceState)
|
||||
setUpActionBarSessionLogo()
|
||||
setContentView(R.layout.activity_display_name_v2)
|
||||
displayNameEditText.imeOptions = displayNameEditText.imeOptions or 16777216 // Always use incognito keyboard
|
||||
registerButton.setOnClickListener { register() }
|
||||
}
|
||||
|
||||
|
||||
@@ -125,6 +125,7 @@ class EnterChatURLFragment : Fragment() {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
chatURLEditText.imeOptions = chatURLEditText.imeOptions or 16777216 // Always use incognito keyboard
|
||||
joinPublicChatButton.setOnClickListener { joinPublicChatIfPossible() }
|
||||
}
|
||||
|
||||
|
||||
@@ -90,6 +90,7 @@ class EnterSessionIDFragment : Fragment() {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
sessionIDEditText.imeOptions = sessionIDEditText.imeOptions or 16777216 // Always use incognito keyboard
|
||||
requestDeviceLinkButton.setOnClickListener { requestDeviceLinkIfPossible() }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user