Rewrite ContactSelectionListItem to utilize ConstraintLayout.

fork-5.53.8
Alex Hart 2021-08-05 15:37:20 -03:00
rodzic b9c6c6b0f4
commit f25e8d602b
2 zmienionych plików z 74 dodań i 79 usunięć

Wyświetl plik

@ -10,6 +10,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import org.signal.core.util.logging.Log; import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.R;
@ -25,7 +26,7 @@ import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.ViewUtil;
import org.whispersystems.libsignal.util.guava.Optional; import org.whispersystems.libsignal.util.guava.Optional;
public class ContactSelectionListItem extends LinearLayout implements RecipientForeverObserver { public class ContactSelectionListItem extends ConstraintLayout implements RecipientForeverObserver {
@SuppressWarnings("unused") @SuppressWarnings("unused")
private static final String TAG = Log.tag(ContactSelectionListItem.class); private static final String TAG = Log.tag(ContactSelectionListItem.class);

Wyświetl plik

@ -6,102 +6,96 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/conversation_item_background" android:background="@drawable/conversation_item_background"
android:focusable="true" android:focusable="true"
android:gravity="center_vertical"
android:minHeight="@dimen/contact_selection_item_height" android:minHeight="@dimen/contact_selection_item_height"
android:orientation="horizontal"
android:paddingStart="@dimen/dsl_settings_gutter" android:paddingStart="@dimen/dsl_settings_gutter"
android:paddingEnd="@dimen/dsl_settings_gutter"> android:paddingEnd="@dimen/dsl_settings_gutter">
<FrameLayout <org.thoughtcrime.securesms.components.AvatarImageView
android:layout_width="44dp" android:id="@+id/contact_photo_image"
android:layout_height="44dp" android:layout_width="40dp"
android:layout_marginTop="2dp"> android:layout_height="40dp"
android:contentDescription="@string/SingleContactSelectionActivity_contact_photo"
android:cropToPadding="true"
android:foreground="@drawable/contact_photo_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="UnusedAttribute"
tools:src="@color/blue_600" />
<org.thoughtcrime.securesms.components.AvatarImageView <androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/contact_photo_image" android:id="@+id/check_box"
android:layout_width="40dp" android:layout_width="22dp"
android:layout_height="40dp" android:layout_height="22dp"
android:layout_gravity="center_vertical" android:layout_marginStart="20dp"
android:contentDescription="@string/SingleContactSelectionActivity_contact_photo" android:layout_marginTop="20dp"
android:cropToPadding="true" android:alpha="0"
android:foreground="@drawable/contact_photo_background" android:background="@drawable/contact_selection_checkbox"
tools:ignore="UnusedAttribute" android:button="@null"
tools:src="@color/blue_600" /> android:clickable="false"
android:focusable="false"
app:layout_constraintStart_toStartOf="@id/contact_photo_image"
app:layout_constraintTop_toTopOf="@id/contact_photo_image" />
<androidx.appcompat.widget.AppCompatCheckBox <org.thoughtcrime.securesms.components.FromTextView
android:id="@+id/check_box" android:id="@+id/name"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_gravity="bottom|end"
android:background="@drawable/contact_selection_checkbox"
android:button="@null"
android:alpha="0"
android:clickable="false"
android:focusable="false" />
</FrameLayout>
<LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="12dp" android:layout_marginStart="16dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:layout_weight="1" android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:orientation="vertical"> android:ellipsize="marquee"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.Signal.Body1"
android:textColor="@color/signal_text_primary"
app:layout_constraintBottom_toTopOf="@id/number"
app:layout_constraintEnd_toStartOf="@id/sms_tag"
app:layout_constraintStart_toEndOf="@id/contact_photo_image"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="@sample/contacts.json/data/name" />
<org.thoughtcrime.securesms.components.FromTextView <org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/name" android:id="@+id/number"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple" android:layout_marginStart="16dp"
android:ellipsize="marquee" android:ellipsize="marquee"
android:singleLine="true" android:singleLine="true"
android:textAppearance="@style/TextAppearance.Signal.Body1" android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textColor="@color/signal_text_primary" android:textColor="@color/signal_text_secondary"
tools:text="@sample/contacts.json/data/name" /> android:textDirection="ltr"
app:emoji_forceCustom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/contact_photo_image"
app:layout_constraintTop_toBottomOf="@id/name"
tools:text="@sample/contacts.json/data/number" />
<LinearLayout <TextView
android:id="@+id/number_container" android:id="@+id/label"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:ellipsize="end"
android:paddingStart="4dp"
<org.thoughtcrime.securesms.components.emoji.EmojiTextView android:singleLine="true"
android:id="@+id/number" android:textAppearance="@style/TextAppearance.Signal.Body2"
android:layout_width="wrap_content" android:textColor="@color/signal_text_secondary"
android:layout_height="wrap_content" app:layout_constraintStart_toEndOf="@id/number"
android:ellipsize="marquee" app:layout_constraintTop_toTopOf="@id/number"
android:singleLine="true" tools:ignore="RtlSymmetry"
android:textAppearance="@style/TextAppearance.Signal.Body2" tools:text="· Mobile" />
android:textColor="@color/signal_text_secondary"
android:textDirection="ltr"
app:emoji_forceCustom="true"
tools:text="@sample/contacts.json/data/number" />
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:paddingStart="4dp"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textColor="@color/signal_text_secondary"
tools:ignore="RtlSymmetry"
tools:text="· Mobile" />
</LinearLayout>
</LinearLayout>
<TextView <TextView
android:id="@+id/sms_tag" android:id="@+id/sms_tag"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center"
android:text="@string/ContactSelectionListItem__sms" android:text="@string/ContactSelectionListItem__sms"
android:textAppearance="@style/TextAppearance.Signal.Body2" android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textColor="@color/signal_text_secondary" android:textColor="@color/signal_text_secondary"
android:visibility="gone" /> android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</org.thoughtcrime.securesms.contacts.ContactSelectionListItem> </org.thoughtcrime.securesms.contacts.ContactSelectionListItem>