Merge "Fix AudioProductStrategy.equals implementation" into udc-dev am: c4f7591217
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23051408 Change-Id: Ia3dddf0985bb3bfaac6331cf01306436a60161bb Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -203,10 +203,16 @@ public final class AudioProductStrategy implements Parcelable {
|
||||
|
||||
AudioProductStrategy thatStrategy = (AudioProductStrategy) o;
|
||||
|
||||
return mName == thatStrategy.mName && mId == thatStrategy.mId
|
||||
return mId == thatStrategy.mId
|
||||
&& Objects.equals(mName, thatStrategy.mName)
|
||||
&& Arrays.equals(mAudioAttributesGroups, thatStrategy.mAudioAttributesGroups);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(mId, mName, Arrays.hashCode(mAudioAttributesGroups));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param name of the product strategy
|
||||
* @param id of the product strategy
|
||||
@@ -460,6 +466,12 @@ public final class AudioProductStrategy implements Parcelable {
|
||||
&& Arrays.equals(mAudioAttributes, thatAag.mAudioAttributes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(mVolumeGroupId, mLegacyStreamType,
|
||||
Arrays.hashCode(mAudioAttributes));
|
||||
}
|
||||
|
||||
public int getStreamType() {
|
||||
return mLegacyStreamType;
|
||||
}
|
||||
|
||||
@@ -29,11 +29,14 @@ import android.media.AudioManager;
|
||||
import android.media.AudioSystem;
|
||||
import android.media.audiopolicy.AudioProductStrategy;
|
||||
import android.media.audiopolicy.AudioVolumeGroup;
|
||||
import android.os.Parcel;
|
||||
import android.platform.test.annotations.Presubmit;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.google.common.testing.EqualsTester;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -231,4 +234,26 @@ public class AudioProductStrategyTest {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEquals() {
|
||||
final EqualsTester equalsTester = new EqualsTester();
|
||||
|
||||
AudioProductStrategy.getAudioProductStrategies().forEach(
|
||||
strategy -> equalsTester.addEqualityGroup(strategy,
|
||||
writeToAndFromParcel(strategy)));
|
||||
|
||||
equalsTester.testEquals();
|
||||
}
|
||||
|
||||
private static AudioProductStrategy writeToAndFromParcel(
|
||||
AudioProductStrategy audioProductStrategy) {
|
||||
Parcel parcel = Parcel.obtain();
|
||||
audioProductStrategy.writeToParcel(parcel, /*flags=*/0);
|
||||
parcel.setDataPosition(0);
|
||||
AudioProductStrategy unmarshalledAudioProductStrategy =
|
||||
AudioProductStrategy.CREATOR.createFromParcel(parcel);
|
||||
parcel.recycle();
|
||||
return unmarshalledAudioProductStrategy;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user