diff --git a/telecomm/java/android/telecomm/StatusHints.java b/telecomm/java/android/telecomm/StatusHints.java
index 50f525a..496a38c 100644
--- a/telecomm/java/android/telecomm/StatusHints.java
+++ b/telecomm/java/android/telecomm/StatusHints.java
@@ -27,6 +27,7 @@
 import android.util.DisplayMetrics;
 
 import java.util.MissingResourceException;
+import java.util.Objects;
 
 /**
  * Contains status label and icon displayed in the in-call UI.
@@ -127,4 +128,22 @@
             return null;
         }
     }
+
+    @Override
+    public boolean equals(Object other) {
+        if (other != null && other instanceof StatusHints) {
+            StatusHints otherHints = (StatusHints) other;
+            return Objects.equals(otherHints.getComponentName(), getComponentName()) &&
+                    Objects.equals(otherHints.getLabel(), getLabel()) &&
+                    otherHints.getIconId() == getIconId() &&
+                    Objects.equals(otherHints.getExtras(), getExtras());
+        }
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(mComponentName) + Objects.hashCode(mLabel) + mIconId +
+                Objects.hashCode(mExtras);
+    }
 }
