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);
}
}