Add transfer initiation data to equals/hash

Also simplify the content checking function.

Bug: b/319645714
Test: Manually using the app, a bluetooth device, and the output switcher to change the selected route.
Change-Id: I9dfb20430c908ca64d132ddb4a4967414c2d24e0
diff --git a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRouteItem.java b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRouteItem.java
index 9d41f40..20f9498 100644
--- a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRouteItem.java
+++ b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRouteItem.java
@@ -55,14 +55,25 @@
         if (this == o) return true;
         if (o == null || getClass() != o.getClass()) return false;
         SystemRouteItem that = (SystemRouteItem) o;
-        return mId.equals(that.mId) && mName.equals(that.mName)
-                && Objects.equals(mAddress, that.mAddress) && Objects.equals(
-                mDescription, that.mDescription);
+        return mId.equals(that.mId)
+                && mName.equals(that.mName)
+                && Objects.equals(mAddress, that.mAddress)
+                && Objects.equals(mDescription, that.mDescription)
+                && Objects.equals(mSuitabilityStatus, that.mSuitabilityStatus)
+                && Objects.equals(mTransferInitiatedBySelf, that.mTransferInitiatedBySelf)
+                && Objects.equals(mTransferReason, that.mTransferReason);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(mId, mName, mAddress, mDescription);
+        return Objects.hash(
+                mId,
+                mName,
+                mAddress,
+                mDescription,
+                mSuitabilityStatus,
+                mTransferInitiatedBySelf,
+                mTransferReason);
     }
 
     /**
diff --git a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRoutesAdapter.java b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRoutesAdapter.java
index 4e03246..0c489f2 100644
--- a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRoutesAdapter.java
+++ b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRoutesAdapter.java
@@ -16,6 +16,7 @@
 
 package com.example.androidx.mediarouting.activities.systemrouting;
 
+import android.annotation.SuppressLint;
 import android.content.Context;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -165,17 +166,12 @@
             }
         }
 
+        @SuppressLint("DiffUtilEquals")
         @Override
-        public boolean areContentsTheSame(@NonNull SystemRoutesAdapterItem oldItem,
+        public boolean areContentsTheSame(
+                @NonNull SystemRoutesAdapterItem oldItem,
                 @NonNull SystemRoutesAdapterItem newItem) {
-            if (oldItem instanceof SystemRouteItem && newItem instanceof SystemRouteItem) {
-                return oldItem.equals(newItem);
-            } else if (oldItem instanceof SystemRoutesSourceItem
-                    && newItem instanceof SystemRoutesSourceItem) {
-                return oldItem.equals(newItem);
-            } else {
-                return false;
-            }
+            return oldItem.equals(newItem);
         }
     }