kopia lustrzana https://github.com/ryukoposting/Signal-Android
rodzic
2a9eb1bae0
commit
dc22b27cd8
|
@ -9,6 +9,7 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsIcon
|
||||||
import org.thoughtcrime.securesms.components.settings.PreferenceModel
|
import org.thoughtcrime.securesms.components.settings.PreferenceModel
|
||||||
import org.thoughtcrime.securesms.util.MappingAdapter
|
import org.thoughtcrime.securesms.util.MappingAdapter
|
||||||
import org.thoughtcrime.securesms.util.MappingViewHolder
|
import org.thoughtcrime.securesms.util.MappingViewHolder
|
||||||
|
import org.thoughtcrime.securesms.util.ViewUtil
|
||||||
import org.thoughtcrime.securesms.util.visible
|
import org.thoughtcrime.securesms.util.visible
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -41,27 +42,24 @@ object ButtonStripPreference {
|
||||||
class ViewHolder(itemView: View) : MappingViewHolder<Model>(itemView) {
|
class ViewHolder(itemView: View) : MappingViewHolder<Model>(itemView) {
|
||||||
|
|
||||||
private val message: View = itemView.findViewById(R.id.message)
|
private val message: View = itemView.findViewById(R.id.message)
|
||||||
private val messageLabel: View = itemView.findViewById(R.id.message_label)
|
private val messageContainer: View = itemView.findViewById(R.id.button_strip_message_container)
|
||||||
private val videoCall: View = itemView.findViewById(R.id.start_video)
|
private val videoCall: View = itemView.findViewById(R.id.start_video)
|
||||||
private val videoLabel: View = itemView.findViewById(R.id.start_video_label)
|
private val videoContainer: View = itemView.findViewById(R.id.button_strip_video_container)
|
||||||
private val audioCall: ImageView = itemView.findViewById(R.id.start_audio)
|
private val audioCall: ImageView = itemView.findViewById(R.id.start_audio)
|
||||||
private val audioLabel: TextView = itemView.findViewById(R.id.start_audio_label)
|
private val audioLabel: TextView = itemView.findViewById(R.id.start_audio_label)
|
||||||
|
private val audioContainer: View = itemView.findViewById(R.id.button_strip_audio_container)
|
||||||
private val mute: ImageView = itemView.findViewById(R.id.mute)
|
private val mute: ImageView = itemView.findViewById(R.id.mute)
|
||||||
private val muteLabel: TextView = itemView.findViewById(R.id.mute_label)
|
private val muteLabel: TextView = itemView.findViewById(R.id.mute_label)
|
||||||
|
private val muteContainer: View = itemView.findViewById(R.id.button_strip_mute_container)
|
||||||
private val search: View = itemView.findViewById(R.id.search)
|
private val search: View = itemView.findViewById(R.id.search)
|
||||||
private val searchLabel: View = itemView.findViewById(R.id.search_label)
|
private val searchContainer: View = itemView.findViewById(R.id.button_strip_search_container)
|
||||||
|
|
||||||
override fun bind(model: Model) {
|
override fun bind(model: Model) {
|
||||||
message.visible = model.state.isMessageAvailable
|
messageContainer.visible = model.state.isMessageAvailable
|
||||||
messageLabel.visible = model.state.isMessageAvailable
|
videoContainer.visible = model.state.isVideoAvailable
|
||||||
videoCall.visible = model.state.isVideoAvailable
|
audioContainer.visible = model.state.isAudioAvailable
|
||||||
videoLabel.visible = model.state.isVideoAvailable
|
muteContainer.visible = model.state.isMuteAvailable
|
||||||
audioCall.visible = model.state.isAudioAvailable
|
searchContainer.visible = model.state.isSearchAvailable
|
||||||
audioLabel.visible = model.state.isAudioAvailable
|
|
||||||
mute.visible = model.state.isMuteAvailable
|
|
||||||
muteLabel.visible = model.state.isMuteAvailable
|
|
||||||
search.visible = model.state.isSearchAvailable
|
|
||||||
searchLabel.visible = model.state.isSearchAvailable
|
|
||||||
|
|
||||||
if (model.state.isAudioSecure) {
|
if (model.state.isAudioSecure) {
|
||||||
audioLabel.setText(R.string.ConversationSettingsFragment__audio)
|
audioLabel.setText(R.string.ConversationSettingsFragment__audio)
|
||||||
|
@ -90,6 +88,11 @@ object ButtonStripPreference {
|
||||||
audioCall.setOnClickListener { model.onAudioClick() }
|
audioCall.setOnClickListener { model.onAudioClick() }
|
||||||
mute.setOnClickListener { model.onMuteClick() }
|
mute.setOnClickListener { model.onMuteClick() }
|
||||||
search.setOnClickListener { model.onSearchClick() }
|
search.setOnClickListener { model.onSearchClick() }
|
||||||
|
|
||||||
|
val firstButton: View? = listOf(messageContainer, videoContainer, audioContainer, muteContainer, searchContainer).firstOrNull { it.visible }
|
||||||
|
if (firstButton != null) {
|
||||||
|
ViewUtil.setLeftMargin(firstButton, context.resources.getDimensionPixelSize(R.dimen.conversation_settings_button_strip_spacing))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,137 +1,167 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/button_strip"
|
android:id="@+id/button_strip"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
android:paddingTop="24dp"
|
android:paddingTop="24dp"
|
||||||
android:paddingBottom="16dp">
|
android:paddingBottom="16dp"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:baselineAligned="false">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<LinearLayout
|
||||||
android:id="@+id/message"
|
android:id="@+id/button_strip_message_container"
|
||||||
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
||||||
android:background="@drawable/selectable_icon_button"
|
android:orientation="vertical"
|
||||||
android:contentDescription="@string/ConversationSettingsFragment__message"
|
android:gravity="center_horizontal">
|
||||||
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/start_video"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:srcCompat="@drawable/ic_message_24"
|
|
||||||
app:tint="@color/signal_icon_tint_primary" />
|
|
||||||
|
|
||||||
<TextView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/message_label"
|
android:id="@+id/message"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_marginTop="12dp"
|
android:background="@drawable/selectable_icon_button"
|
||||||
android:text="@string/ConversationSettingsFragment__message"
|
android:contentDescription="@string/ConversationSettingsFragment__message"
|
||||||
android:textAppearance="@style/Signal.Text.Caption"
|
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
||||||
app:layout_constraintEnd_toEndOf="@id/message"
|
app:srcCompat="@drawable/ic_message_24"
|
||||||
app:layout_constraintStart_toStartOf="@id/message"
|
app:tint="@color/signal_icon_tint_primary" />
|
||||||
app:layout_constraintTop_toBottomOf="@id/message" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<TextView
|
||||||
android:id="@+id/start_video"
|
android:id="@+id/message_label"
|
||||||
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:text="@string/ConversationSettingsFragment__message"
|
||||||
|
android:textAppearance="@style/Signal.Text.Caption"
|
||||||
|
android:gravity="center_horizontal" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/button_strip_video_container"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
||||||
android:background="@drawable/selectable_icon_button"
|
android:orientation="vertical"
|
||||||
android:contentDescription="@string/ConversationSettingsFragment__start_video_call"
|
android:gravity="center_horizontal">
|
||||||
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/start_audio"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/message"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:srcCompat="@drawable/ic_video_call_24"
|
|
||||||
app:tint="@color/signal_icon_tint_primary" />
|
|
||||||
|
|
||||||
<TextView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/start_video_label"
|
android:id="@+id/start_video"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_marginTop="12dp"
|
android:background="@drawable/selectable_icon_button"
|
||||||
android:text="@string/ConversationSettingsFragment__video"
|
android:contentDescription="@string/ConversationSettingsFragment__start_video_call"
|
||||||
android:textAppearance="@style/Signal.Text.Caption"
|
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
||||||
app:layout_constraintEnd_toEndOf="@id/start_video"
|
app:srcCompat="@drawable/ic_video_call_24"
|
||||||
app:layout_constraintStart_toStartOf="@id/start_video"
|
app:tint="@color/signal_icon_tint_primary" />
|
||||||
app:layout_constraintTop_toBottomOf="@id/start_video" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<TextView
|
||||||
android:id="@+id/start_audio"
|
android:id="@+id/start_video_label"
|
||||||
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:text="@string/ConversationSettingsFragment__video"
|
||||||
|
android:textAppearance="@style/Signal.Text.Caption"
|
||||||
|
android:gravity="center_horizontal" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/button_strip_audio_container"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
||||||
android:background="@drawable/selectable_icon_button"
|
android:orientation="vertical"
|
||||||
android:contentDescription="@string/ConversationSettingsFragment__start_audio_call"
|
android:gravity="center_horizontal">
|
||||||
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/mute"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/start_video"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_goneMarginEnd="0dp"
|
|
||||||
app:srcCompat="@drawable/ic_phone_right_24"
|
|
||||||
app:tint="@color/signal_icon_tint_primary" />
|
|
||||||
|
|
||||||
<TextView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/start_audio_label"
|
android:id="@+id/start_audio"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_marginTop="12dp"
|
android:background="@drawable/selectable_icon_button"
|
||||||
android:text="@string/ConversationSettingsFragment__audio"
|
android:contentDescription="@string/ConversationSettingsFragment__start_audio_call"
|
||||||
android:textAppearance="@style/Signal.Text.Caption"
|
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
||||||
app:layout_constraintEnd_toEndOf="@id/start_audio"
|
app:srcCompat="@drawable/ic_phone_right_24"
|
||||||
app:layout_constraintStart_toStartOf="@id/start_audio"
|
app:tint="@color/signal_icon_tint_primary" />
|
||||||
app:layout_constraintTop_toBottomOf="@id/start_audio" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<TextView
|
||||||
android:id="@+id/mute"
|
android:id="@+id/start_audio_label"
|
||||||
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:text="@string/ConversationSettingsFragment__audio"
|
||||||
|
android:textAppearance="@style/Signal.Text.Caption"
|
||||||
|
android:gravity="center_horizontal" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/button_strip_mute_container"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
||||||
android:background="@drawable/selectable_icon_button"
|
android:orientation="vertical"
|
||||||
android:contentDescription="@string/ConversationSettingsFragment__mute"
|
android:gravity="center_horizontal">
|
||||||
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/search"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/start_audio"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:srcCompat="@drawable/ic_bell_24"
|
|
||||||
app:tint="@color/signal_icon_tint_primary" />
|
|
||||||
|
|
||||||
<TextView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/mute_label"
|
android:id="@+id/mute"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
||||||
android:layout_marginTop="12dp"
|
android:background="@drawable/selectable_icon_button"
|
||||||
android:text="@string/ConversationSettingsFragment__mute"
|
android:contentDescription="@string/ConversationSettingsFragment__mute"
|
||||||
android:textAppearance="@style/Signal.Text.Caption"
|
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
||||||
app:layout_constraintEnd_toEndOf="@id/mute"
|
app:layout_constraintEnd_toStartOf="@id/search"
|
||||||
app:layout_constraintStart_toStartOf="@id/mute"
|
app:layout_constraintStart_toEndOf="@id/start_audio"
|
||||||
app:layout_constraintTop_toBottomOf="@id/mute" />
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@drawable/ic_bell_24"
|
||||||
|
app:tint="@color/signal_icon_tint_primary" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<TextView
|
||||||
android:id="@+id/search"
|
android:id="@+id/mute_label"
|
||||||
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/selectable_icon_button"
|
android:layout_marginTop="12dp"
|
||||||
android:contentDescription="@string/ConversationSettingsFragment__search"
|
android:text="@string/ConversationSettingsFragment__mute"
|
||||||
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
android:textAppearance="@style/Signal.Text.Caption"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:gravity="center_horizontal" />
|
||||||
app:layout_constraintStart_toEndOf="@id/mute"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:srcCompat="@drawable/ic_search_24"
|
|
||||||
app:tint="@color/signal_icon_tint_primary" />
|
|
||||||
|
|
||||||
<TextView
|
</LinearLayout>
|
||||||
android:id="@+id/search_label"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="12dp"
|
|
||||||
android:text="@string/ConversationSettingsFragment__search"
|
|
||||||
android:textAppearance="@style/Signal.Text.Caption"
|
|
||||||
app:layout_constraintEnd_toEndOf="@id/search"
|
|
||||||
app:layout_constraintStart_toStartOf="@id/search"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/search" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<LinearLayout
|
||||||
|
android:id="@+id/button_strip_search_container"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_marginEnd="@dimen/conversation_settings_button_strip_spacing"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:gravity="center_horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/search"
|
||||||
|
android:layout_width="@dimen/conversation_settings_button_strip_button_size"
|
||||||
|
android:layout_height="@dimen/conversation_settings_button_strip_button_size"
|
||||||
|
android:background="@drawable/selectable_icon_button"
|
||||||
|
android:contentDescription="@string/ConversationSettingsFragment__search"
|
||||||
|
android:padding="@dimen/conversation_settings_button_strip_button_padding"
|
||||||
|
app:srcCompat="@drawable/ic_search_24"
|
||||||
|
app:tint="@color/signal_icon_tint_primary" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/search_label"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:text="@string/ConversationSettingsFragment__search"
|
||||||
|
android:textAppearance="@style/Signal.Text.Caption"
|
||||||
|
android:gravity="center_horizontal" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
Ładowanie…
Reference in New Issue