Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 284a5461 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Improve ContactPhotoView"

parents 06b52c2f 51789e72
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -26,14 +26,14 @@
      android:id="@+id/contact_photo_view"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginStart="10dp"
      android:layout_marginEnd="10dp"
      android:layout_marginStart="8dp"
      android:layout_marginEnd="8dp"
      android:layout_centerVertical="true"/>

  <LinearLayout
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginTop="14dp"
      android:layout_centerVertical="true"
      android:layout_toEndOf="@+id/contact_photo_view"
      android:layout_toStartOf="@+id/menu_button"
      android:orientation="vertical">
+3 −4
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@
    android:layout_height="match_parent"
    android:paddingTop="12dp"
    android:paddingBottom="12dp"
    android:paddingStart="10dp"
    android:paddingEnd="10dp"
    android:paddingStart="8dp"
    android:paddingEnd="8dp"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:background="#FFFFFF">
@@ -30,8 +30,7 @@
      android:id="@+id/contact_photo_view"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginEnd="10dp"
      android:minHeight="@dimen/contact_actions_image_size"/>
      android:layout_marginEnd="8dp"/>

  <LinearLayout
      android:layout_width="wrap_content"
+4 −4
Original line number Diff line number Diff line
@@ -23,10 +23,10 @@

  <com.android.dialer.widget.ContactPhotoView
      android:id="@+id/avatar"
      android:layout_width="48dp"
      android:layout_height="48dp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerVertical="true"
      android:layout_marginStart="16dp"/>
      android:layout_marginStart="12dp"/>

  <LinearLayout
      android:orientation="vertical"
@@ -35,7 +35,7 @@
      android:layout_centerVertical="true"
      android:layout_toEndOf="@+id/avatar"
      android:layout_toStartOf="@+id/overflow"
      android:layout_marginStart="8dp">
      android:layout_marginStart="4dp">

    <TextView
        android:id="@+id/name"
+16 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.QuickContactBadge;
@@ -69,6 +70,21 @@ public final class ContactPhotoView extends FrameLayout {
    hideBadge(); // Hide badges by default.
  }

  @Override
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    // We require both the height and the width to be WRAP_CONTENT to prevent users of
    // this widget from clipping the view (by setting a size that is too small) or altering the
    // relative position of the contact photo and its badge (by setting a size that is too large).
    ViewGroup.LayoutParams layoutParams = Assert.isNotNull(getLayoutParams());
    Assert.checkState(
        layoutParams.height == LayoutParams.WRAP_CONTENT,
        "The layout height must be WRAP_CONTENT!");
    Assert.checkState(
        layoutParams.width == LayoutParams.WRAP_CONTENT, "The layout width must be WRAP_CONTENT!");
  }

  private void inflateLayout() {
    LayoutInflater inflater = Assert.isNotNull(getContext().getSystemService(LayoutInflater.class));
    inflater.inflate(R.layout.contact_photo_view, /* root = */ this);
+27 −8
Original line number Diff line number Diff line
@@ -17,36 +17,53 @@
<!-- A FrameLayout for displaying a contact photo and its optional badge -->
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="52dp"
    android:layout_height="44dp"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="56dp"
    android:layout_height="48dp"
    android:layout_gravity="center"
    android:focusable="false">

  <QuickContactBadge
      android:id="@+id/quick_contact_photo"
      android:layout_width="40dp"
      android:layout_height="40dp"
      android:layout_width="48dp"
      android:layout_height="48dp"
      android:layout_gravity="center"
      android:padding="4dp"
      android:focusable="true"/>

  <!--
      A container layout that contains a background and badges
      (video call badge, RTT call badge, etc)

      The container and its children are too small to meet the accessibility requirement that the
      touchable area of focusable items should be at least 48dp x 48dp. We have to set all of them
      to be not focusable.
  -->
  <FrameLayout
      android:id="@+id/contact_badge_container"
      android:layout_width="22dp"
      android:layout_height="22dp"
      android:layout_gravity="bottom|end">
      android:layout_gravity="bottom|end"
      android:layout_marginEnd="2dp"
      android:layout_marginBottom="2dp"
      android:focusable="false">

    <ImageView
        android:id="@+id/contact_badge_background"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/contact_photo_badge_background"/>
        android:src="@drawable/contact_photo_badge_background"
        android:focusable="false"
        tools:ignore="ContentDescription"/>

    <ImageView
        android:id="@+id/video_call_badge"
        android:layout_width="13dp"
        android:layout_height="13dp"
        android:layout_gravity="center"
        android:src="@drawable/quantum_ic_videocam_vd_white_24"/>
        android:src="@drawable/quantum_ic_videocam_vd_white_24"
        android:focusable="false"
        tools:ignore="ContentDescription"/>

    <ImageView
        android:id="@+id/rtt_call_badge"
@@ -54,6 +71,8 @@
        android:layout_height="13dp"
        android:layout_gravity="center"
        android:tint="@android:color/white"
        android:src="@drawable/quantum_ic_rtt_vd_theme_24"/>
        android:src="@drawable/quantum_ic_rtt_vd_theme_24"
        android:focusable="false"
        tools:ignore="ContentDescription"/>
  </FrameLayout>
</FrameLayout>
 No newline at end of file