summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/widget/ContactPhotoView.java
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2018-05-16 10:09:53 -0700
committerCopybara-Service <copybara-piper@google.com>2018-05-16 10:10:52 -0700
commit51789e7254fde5685c1a833172283d0dd74d7b33 (patch)
tree5793cf6b46840e93e40b586b8adb4dc01ab8767d /java/com/android/dialer/widget/ContactPhotoView.java
parent06b52c2f746699ebc0ac21bc52855526c8761607 (diff)
Improve ContactPhotoView
Bug: 70989658 Test: NewCallLogIntegrationTest + Manual PiperOrigin-RevId: 196845473 Change-Id: Ic0cbcf668ea1921c88fb6b080308884fa1113e61
Diffstat (limited to 'java/com/android/dialer/widget/ContactPhotoView.java')
-rw-r--r--java/com/android/dialer/widget/ContactPhotoView.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/java/com/android/dialer/widget/ContactPhotoView.java b/java/com/android/dialer/widget/ContactPhotoView.java
index a84111f95..c0c9be7a4 100644
--- a/java/com/android/dialer/widget/ContactPhotoView.java
+++ b/java/com/android/dialer/widget/ContactPhotoView.java
@@ -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);