Unverified Commit b0816e63 authored by Zachary Anderson's avatar Zachary Anderson Committed by GitHub

Revert "Implement operator = and hashcode for CupertinoThemeData (#89604)" (#89670)

This reverts commit bf8e1270.
parent bf8e1270
...@@ -247,44 +247,6 @@ class CupertinoTextThemeData with Diagnosticable { ...@@ -247,44 +247,6 @@ class CupertinoTextThemeData with Diagnosticable {
); );
} }
@override
bool operator ==(Object other) {
if (other.runtimeType != runtimeType) {
return false;
}
// Warning: make sure these properties are in the exact same order as in
// hashValues() and in the raw constructor and in the order of fields in
// the class and in the lerp() method.
return other is CupertinoTextThemeData &&
other.textStyle == textStyle &&
other.actionTextStyle == actionTextStyle &&
other.tabLabelTextStyle == tabLabelTextStyle &&
other.navTitleTextStyle == navTitleTextStyle &&
other.navLargeTitleTextStyle == navLargeTitleTextStyle &&
other.navActionTextStyle == navActionTextStyle &&
other.pickerTextStyle == pickerTextStyle &&
other.dateTimePickerTextStyle == dateTimePickerTextStyle;
}
@override
int get hashCode {
// Warning: For the sanity of the reader, please make sure these properties
// are in the exact same order as in operator == and in the raw constructor
// and in the order of fields in the class and in the lerp() method.
final List<Object?> values = <Object?>[
textStyle,
actionTextStyle,
tabLabelTextStyle,
navTitleTextStyle,
navLargeTitleTextStyle,
navActionTextStyle,
pickerTextStyle,
dateTimePickerTextStyle,
];
return hashList(values);
}
@override @override
void debugFillProperties(DiagnosticPropertiesBuilder properties) { void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties); super.debugFillProperties(properties);
......
...@@ -290,38 +290,6 @@ class CupertinoThemeData extends NoDefaultCupertinoThemeData with Diagnosticable ...@@ -290,38 +290,6 @@ class CupertinoThemeData extends NoDefaultCupertinoThemeData with Diagnosticable
); );
} }
@override
bool operator ==(Object other) {
if (other.runtimeType != runtimeType)
return false;
// Warning: make sure these properties are in the exact same order as in
// hashValues() and in the raw constructor and in the order of fields in
// the class and in the lerp() method.
return other is CupertinoThemeData &&
other.brightness == brightness &&
other.primaryColor == primaryColor &&
other.primaryContrastingColor == primaryContrastingColor &&
other.textTheme == textTheme &&
other.barBackgroundColor == barBackgroundColor &&
other.scaffoldBackgroundColor == scaffoldBackgroundColor;
}
@override
int get hashCode {
// Warning: For the sanity of the reader, please make sure these properties
// are in the exact same order as in operator == and in the raw constructor
// and in the order of fields in the class and in the lerp() method.
final List<Object?> values = <Object?>[
brightness,
primaryColor,
primaryContrastingColor,
textTheme,
barBackgroundColor,
scaffoldBackgroundColor,
];
return hashList(values);
}
@override @override
void debugFillProperties(DiagnosticPropertiesBuilder properties) { void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties); super.debugFillProperties(properties);
...@@ -347,7 +315,6 @@ class CupertinoThemeData extends NoDefaultCupertinoThemeData with Diagnosticable ...@@ -347,7 +315,6 @@ class CupertinoThemeData extends NoDefaultCupertinoThemeData with Diagnosticable
/// ///
/// * [CupertinoThemeData], which uses reasonable default values for /// * [CupertinoThemeData], which uses reasonable default values for
/// unspecified theme properties. /// unspecified theme properties.
@immutable
class NoDefaultCupertinoThemeData { class NoDefaultCupertinoThemeData {
/// Creates a [NoDefaultCupertinoThemeData] styling specification. /// Creates a [NoDefaultCupertinoThemeData] styling specification.
/// ///
...@@ -475,38 +442,6 @@ class NoDefaultCupertinoThemeData { ...@@ -475,38 +442,6 @@ class NoDefaultCupertinoThemeData {
scaffoldBackgroundColor: scaffoldBackgroundColor ?? this.scaffoldBackgroundColor, scaffoldBackgroundColor: scaffoldBackgroundColor ?? this.scaffoldBackgroundColor,
); );
} }
@override
bool operator ==(Object other) {
if (other.runtimeType != runtimeType)
return false;
// Warning: make sure these properties are in the exact same order as in
// hashValues() and in the raw constructor and in the order of fields in
// the class and in the lerp() method.
return other is NoDefaultCupertinoThemeData &&
other.brightness == brightness &&
other.primaryColor == primaryColor &&
other.primaryContrastingColor == primaryContrastingColor &&
other.textTheme == textTheme &&
other.barBackgroundColor == barBackgroundColor &&
other.scaffoldBackgroundColor == scaffoldBackgroundColor;
}
@override
int get hashCode {
// Warning: For the sanity of the reader, please make sure these properties
// are in the exact same order as in operator == and in the raw constructor
// and in the order of fields in the class and in the lerp() method.
final List<Object?> values = <Object?>[
brightness,
primaryColor,
primaryContrastingColor,
textTheme,
barBackgroundColor,
scaffoldBackgroundColor,
];
return hashList(values);
}
} }
@immutable @immutable
......
...@@ -206,41 +206,6 @@ void main() { ...@@ -206,41 +206,6 @@ void main() {
); );
}); });
test('Theme operator == returns correct value for simple cases', () {
expect(const CupertinoThemeData(), equals(const CupertinoThemeData()));
expect(const CupertinoThemeData(brightness: Brightness.light),
isNot(equals(const CupertinoThemeData(brightness: Brightness.dark))));
expect(
const CupertinoThemeData(
textTheme: CupertinoTextThemeData(
primaryColor: CupertinoColors.activeGreen)),
isNot(equals(const CupertinoThemeData(
textTheme: CupertinoTextThemeData(
primaryColor: CupertinoColors.activeOrange)))));
});
test('hashCode behaves correctly for simple cases', () {
expect(const CupertinoThemeData().hashCode,
equals(const CupertinoThemeData().hashCode));
expect(
const CupertinoThemeData(brightness: Brightness.light).hashCode,
isNot(equals(const CupertinoThemeData(brightness: Brightness.dark))
.hashCode));
expect(
const CupertinoThemeData(
textTheme: CupertinoTextThemeData(
primaryColor: CupertinoColors.activeGreen))
.hashCode,
isNot(equals(const CupertinoThemeData(
textTheme: CupertinoTextThemeData(
primaryColor: CupertinoColors.activeOrange))
.hashCode)));
});
late Brightness currentBrightness; late Brightness currentBrightness;
void colorMatches(Color? componentColor, CupertinoDynamicColor expectedDynamicColor) { void colorMatches(Color? componentColor, CupertinoDynamicColor expectedDynamicColor) {
switch (currentBrightness) { switch (currentBrightness) {
......
...@@ -591,8 +591,7 @@ void main() { ...@@ -591,8 +591,7 @@ void main() {
), ),
)); ));
// Widget does not rebuild as theme color remains overriden. expect(buildCount, 2);
expect(buildCount, 1);
expect(theme.primaryColor, CupertinoColors.activeOrange); expect(theme.primaryColor, CupertinoColors.activeOrange);
}, },
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment