mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-21 09:48:26 +00:00
Clean up UI
This commit is contained in:
parent
2ea009b05b
commit
2823c0ce5d
@ -104,6 +104,11 @@
|
|||||||
android:indeterminate="false"
|
android:indeterminate="false"
|
||||||
android:progress="80" />
|
android:progress="80" />
|
||||||
|
|
||||||
|
<org.thoughtcrime.securesms.loki.SessionRestoreBannerView
|
||||||
|
android:id="@+id/sessionRestoreBannerView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
<ViewStub
|
<ViewStub
|
||||||
android:id="@+id/group_share_profile_view_stub"
|
android:id="@+id/group_share_profile_view_stub"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -118,11 +123,6 @@
|
|||||||
android:inflatedId="@+id/unverified_banner"
|
android:inflatedId="@+id/unverified_banner"
|
||||||
android:layout="@layout/conversation_activity_unverified_banner_stub" />
|
android:layout="@layout/conversation_activity_unverified_banner_stub" />
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.loki.SessionRestoreBannerView
|
|
||||||
android:id="@+id/sessionRestoreBannerView"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content" />
|
|
||||||
|
|
||||||
<ViewStub
|
<ViewStub
|
||||||
android:id="@+id/reminder_stub"
|
android:id="@+id/reminder_stub"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -1,53 +1,73 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:id="@+id/sessionRestoreBanner"
|
android:id="@+id/sessionRestoreBanner"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/core_grey_60"
|
android:background="@color/dialog_background"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="8dp"
|
android:elevation="10dp">
|
||||||
android:paddingTop="8dp"
|
|
||||||
android:paddingRight="8dp"
|
|
||||||
android:visibility="visible"
|
|
||||||
tools:visibility="visible">
|
|
||||||
|
|
||||||
<TextView
|
<View
|
||||||
android:id="@+id/restoreText"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="1px"
|
||||||
android:layout_marginStart="8dp"
|
android:background="@color/separator" />
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:fontFamily="sans-serif-light"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="16sp"
|
|
||||||
tools:text="@string/session_restore_banner_message" />
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="right"
|
android:orientation="vertical"
|
||||||
android:orientation="horizontal">
|
android:padding="@dimen/medium_spacing"
|
||||||
|
android:gravity="center_horizontal">
|
||||||
|
|
||||||
<Button
|
<TextView
|
||||||
android:id="@+id/dismissButton"
|
|
||||||
style="@style/Widget.AppCompat.Button.Borderless"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:text="Session Out of Sync"
|
||||||
android:text="@string/session_restore_banner_dismiss_button_title" />
|
android:textColor="@color/text"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textSize="@dimen/medium_font_size" />
|
||||||
|
|
||||||
<android.support.v4.widget.Space
|
<TextView
|
||||||
android:layout_width="8dp"
|
android:id="@+id/messageTextView"
|
||||||
android:layout_height="wrap_content" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/restoreButton"
|
|
||||||
style="@style/Button.Borderless"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:layout_marginTop="@dimen/small_spacing"
|
||||||
android:text="@string/session_restore_banner_restore_button_title" />
|
android:text="@string/session_restore_banner_message"
|
||||||
|
android:textColor="@color/text"
|
||||||
|
android:textSize="@dimen/small_font_size"
|
||||||
|
android:textAlignment="center" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/small_spacing"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<Button
|
||||||
|
style="@style/UnimportantDialogButton"
|
||||||
|
android:id="@+id/dismissButton"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="@dimen/small_button_height"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/session_restore_banner_dismiss_button_title" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
style="@style/ProminentDialogButton"
|
||||||
|
android:id="@+id/restoreButton"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="@dimen/small_button_height"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_marginLeft="@dimen/medium_spacing"
|
||||||
|
android:text="@string/session_restore_banner_restore_button_title" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1px"
|
||||||
|
android:background="@color/separator" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@ -735,7 +735,7 @@
|
|||||||
<!-- MessageDisplayHelper -->
|
<!-- MessageDisplayHelper -->
|
||||||
<string name="MessageDisplayHelper_bad_encrypted_message">Bad encrypted message</string>
|
<string name="MessageDisplayHelper_bad_encrypted_message">Bad encrypted message</string>
|
||||||
<string name="MessageDisplayHelper_message_encrypted_for_non_existing_session">Message encrypted for non-existing session</string>
|
<string name="MessageDisplayHelper_message_encrypted_for_non_existing_session">Message encrypted for non-existing session</string>
|
||||||
<string name="MessageRecord_session_restore_sent">You have sent a session restore request to %s</string>
|
<string name="MessageRecord_session_restore_sent">You have sent a session restoration request to %s</string>
|
||||||
|
|
||||||
<!-- MmsMessageRecord -->
|
<!-- MmsMessageRecord -->
|
||||||
<string name="MmsMessageRecord_bad_encrypted_mms_message">Bad encrypted MMS message</string>
|
<string name="MmsMessageRecord_bad_encrypted_mms_message">Bad encrypted MMS message</string>
|
||||||
@ -1653,9 +1653,9 @@
|
|||||||
<string name="dialog_device_unlink_title">Device unlinked</string>
|
<string name="dialog_device_unlink_title">Device unlinked</string>
|
||||||
<string name="dialog_device_unlink_message">This device has been successfully unlinked</string>
|
<string name="dialog_device_unlink_message">This device has been successfully unlinked</string>
|
||||||
<!-- Session restore banner -->
|
<!-- Session restore banner -->
|
||||||
<string name="session_restore_banner_message">Would you like to start a new session with %s?</string>
|
<string name="session_restore_banner_message">Would you like to restore your session with %s?</string>
|
||||||
<string name="session_restore_banner_restore_button_title">Restore session</string>
|
|
||||||
<string name="session_restore_banner_dismiss_button_title">Dismiss</string>
|
<string name="session_restore_banner_dismiss_button_title">Dismiss</string>
|
||||||
|
<string name="session_restore_banner_restore_button_title">Restore</string>
|
||||||
|
|
||||||
<!-- Loki -->
|
<!-- Loki -->
|
||||||
|
|
||||||
|
@ -1563,12 +1563,12 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
|
|
||||||
protected void updateSessionRestoreBanner() {
|
protected void updateSessionRestoreBanner() {
|
||||||
Set<String> devices = DatabaseFactory.getLokiThreadDatabase(this).getSessionRestoreDevices(threadId);
|
Set<String> devices = DatabaseFactory.getLokiThreadDatabase(this).getSessionRestoreDevices(threadId);
|
||||||
if (devices.size() > 0) {
|
// if (devices.size() > 0) {
|
||||||
sessionRestoreBannerView.update(recipient);
|
sessionRestoreBannerView.update(recipient);
|
||||||
sessionRestoreBannerView.show();
|
sessionRestoreBannerView.show();
|
||||||
} else {
|
// } else {
|
||||||
sessionRestoreBannerView.hide();
|
// sessionRestoreBannerView.hide();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateDefaultSubscriptionId(Optional<Integer> defaultSubscriptionId) {
|
private void updateDefaultSubscriptionId(Optional<Integer> defaultSubscriptionId) {
|
||||||
@ -1668,7 +1668,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
searchNav = ViewUtil.findById(this, R.id.conversation_search_nav);
|
searchNav = ViewUtil.findById(this, R.id.conversation_search_nav);
|
||||||
mentionCandidateSelectionViewContainer = ViewUtil.findById(this, R.id.mentionCandidateSelectionViewContainer);
|
mentionCandidateSelectionViewContainer = ViewUtil.findById(this, R.id.mentionCandidateSelectionViewContainer);
|
||||||
mentionCandidateSelectionView = ViewUtil.findById(this, R.id.userSelectionView);
|
mentionCandidateSelectionView = ViewUtil.findById(this, R.id.userSelectionView);
|
||||||
sessionRestoreBannerView = ViewUtil.findById(this, R.id.sessionRestoreBannerView);
|
sessionRestoreBannerView = ViewUtil.findById(this, R.id.sessionRestoreBannerView);
|
||||||
messageStatusProgressBar = ViewUtil.findById(this, R.id.messageStatusProgressBar);
|
messageStatusProgressBar = ViewUtil.findById(this, R.id.messageStatusProgressBar);
|
||||||
muteIndicatorImageView = ViewUtil.findById(this, R.id.muteIndicatorImageView);
|
muteIndicatorImageView = ViewUtil.findById(this, R.id.muteIndicatorImageView);
|
||||||
actionBarSubtitleTextView = ViewUtil.findById(this, R.id.subtitleTextView);
|
actionBarSubtitleTextView = ViewUtil.findById(this, R.id.subtitleTextView);
|
||||||
@ -3302,17 +3302,16 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
|
|
||||||
public void restoreSession() {
|
public void restoreSession() {
|
||||||
// Loki - User clicked restore session
|
// Loki - User clicked restore session
|
||||||
if (!recipient.isGroupRecipient()) {
|
if (recipient.isGroupRecipient()) { return; }
|
||||||
LokiThreadDatabase lokiThreadDatabase = DatabaseFactory.getLokiThreadDatabase(this);
|
LokiThreadDatabase lokiThreadDatabase = DatabaseFactory.getLokiThreadDatabase(this);
|
||||||
SmsDatabase database = DatabaseFactory.getSmsDatabase(this);
|
SmsDatabase smsDatabase = DatabaseFactory.getSmsDatabase(this);
|
||||||
Set<String> devices = lokiThreadDatabase.getSessionRestoreDevices(threadId);
|
Set<String> devices = lokiThreadDatabase.getSessionRestoreDevices(threadId);
|
||||||
for (String device : devices) { MessageSender.sendRestoreSessionMessage(this, device); }
|
for (String device : devices) { MessageSender.sendRestoreSessionMessage(this, device); }
|
||||||
long messageId = database.insertMessageOutbox(threadId, new OutgoingTextMessage(recipient,"", 0, 0), false, System.currentTimeMillis(), null);
|
long messageId = smsDatabase.insertMessageOutbox(threadId, new OutgoingTextMessage(recipient,"", 0, 0), false, System.currentTimeMillis(), null);
|
||||||
if (messageId > -1) {
|
if (messageId > -1) {
|
||||||
database.markAsLokiSessionRestoreSent(messageId);
|
smsDatabase.markAsLokiSessionRestoreSent(messageId);
|
||||||
}
|
|
||||||
lokiThreadDatabase.removeAllSessionRestoreDevices(threadId);
|
|
||||||
updateSessionRestoreBanner();
|
|
||||||
}
|
}
|
||||||
|
lokiThreadDatabase.removeAllSessionRestoreDevices(threadId);
|
||||||
|
updateSessionRestoreBanner();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -206,7 +206,6 @@ public class ConversationAdapter <V extends View & BindableConversationItem>
|
|||||||
if (conversationItem instanceof ConversationItem) {
|
if (conversationItem instanceof ConversationItem) {
|
||||||
((ConversationItem)conversationItem).friendRequestViewDelegate = this.friendRequestViewDelegate;
|
((ConversationItem)conversationItem).friendRequestViewDelegate = this.friendRequestViewDelegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
conversationItem.bind(messageRecord,
|
conversationItem.bind(messageRecord,
|
||||||
Optional.fromNullable(previousRecord),
|
Optional.fromNullable(previousRecord),
|
||||||
Optional.fromNullable(nextRecord),
|
Optional.fromNullable(nextRecord),
|
||||||
|
@ -10,18 +10,14 @@ import kotlinx.android.synthetic.main.session_restore_banner.view.*
|
|||||||
import network.loki.messenger.R
|
import network.loki.messenger.R
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient
|
import org.thoughtcrime.securesms.recipients.Recipient
|
||||||
|
|
||||||
/**
|
class SessionRestoreBannerView : LinearLayout {
|
||||||
* View to display actionable reminders to the user
|
|
||||||
*/
|
|
||||||
class SessionRestoreBannerView(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : LinearLayout(context, attrs, defStyleAttr) {
|
|
||||||
lateinit var recipient: Recipient
|
lateinit var recipient: Recipient
|
||||||
var onDismiss: (() -> Unit)? = null
|
var onDismiss: (() -> Unit)? = null
|
||||||
var onRestore: (() -> Unit)? = null
|
var onRestore: (() -> Unit)? = null
|
||||||
|
|
||||||
// region Initialization
|
constructor(context: Context) : super(context, null)
|
||||||
constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0)
|
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs, 0)
|
||||||
constructor(context: Context) : this(context, null)
|
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
|
||||||
// endregion
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
LayoutInflater.from(context).inflate(R.layout.session_restore_banner, this, true)
|
LayoutInflater.from(context).inflate(R.layout.session_restore_banner, this, true)
|
||||||
@ -31,7 +27,7 @@ class SessionRestoreBannerView(context: Context, attrs: AttributeSet?, defStyleA
|
|||||||
|
|
||||||
fun update(recipient: Recipient) {
|
fun update(recipient: Recipient) {
|
||||||
this.recipient = recipient
|
this.recipient = recipient
|
||||||
restoreText.text = context.getString(R.string.session_restore_banner_message, recipient.toShortString())
|
messageTextView.text = context.getString(R.string.session_restore_banner_message, recipient.toShortString())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun show() {
|
fun show() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user