From 7e3c5ae10731e08daead0052f1b15319fbe0fa16 Mon Sep 17 00:00:00 2001 From: Mohammad Cazi <36271115+mohammadcazig@users.noreply.github.com> Date: Wed, 2 May 2018 11:34:06 -0400 Subject: [PATCH] [TextFields] fixing color mapping for floatingNormal and floatingActive Colors. (#3617) * fixing color mapping for floatingNormal and floatingActive Colors. * fixing the tests. --- .../src/ColorThemer/MDCFilledTextFieldColorThemer.m | 6 +++--- .../ColorThemer/MDCOutlinedTextFieldColorThemer.m | 1 + .../src/ColorThemer/MDCTextFieldColorThemer.m | 13 ++++++------- .../tests/unit/TextFieldColorThemerTests.m | 6 ++++-- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/components/TextFields/src/ColorThemer/MDCFilledTextFieldColorThemer.m b/components/TextFields/src/ColorThemer/MDCFilledTextFieldColorThemer.m index 32f4aad4c72..98b362cfdb9 100644 --- a/components/TextFields/src/ColorThemer/MDCFilledTextFieldColorThemer.m +++ b/components/TextFields/src/ColorThemer/MDCFilledTextFieldColorThemer.m @@ -41,9 +41,9 @@ + (void)applySemanticColorScheme:(nonnull id)colorScheme textInputControllerFilled.errorColor = colorScheme.errorColor; textInputControllerFilled.disabledColor = [colorScheme.onSurfaceColor colorWithAlphaComponent:kFilledTextFieldDisabledAlpha]; - id textInputControllerFloatingPlaceholder = - (id)textInputControllerFilled; - textInputControllerFloatingPlaceholder.floatingPlaceholderActiveColor = + textInputControllerFilled.floatingPlaceholderNormalColor = + [colorScheme.onSurfaceColor colorWithAlphaComponent:kFilledTextFieldOnSurfaceAlpha]; + textInputControllerFilled.floatingPlaceholderActiveColor = [colorScheme.primaryColor colorWithAlphaComponent:kFilledTextFieldActiveAlpha]; } diff --git a/components/TextFields/src/ColorThemer/MDCOutlinedTextFieldColorThemer.m b/components/TextFields/src/ColorThemer/MDCOutlinedTextFieldColorThemer.m index 0c8488081f7..1dc43e14ec9 100644 --- a/components/TextFields/src/ColorThemer/MDCOutlinedTextFieldColorThemer.m +++ b/components/TextFields/src/ColorThemer/MDCOutlinedTextFieldColorThemer.m @@ -43,6 +43,7 @@ + (void)applySemanticColorScheme:(id)colorScheme (id)textInputController; if ([textInputControllerFloatingPlaceholder respondsToSelector:@selector(setFloatingPlaceholderNormalColor:)]) { + textInputControllerFloatingPlaceholder.floatingPlaceholderNormalColor = onSurfaceOpacity; textInputControllerFloatingPlaceholder.floatingPlaceholderActiveColor = [colorScheme.primaryColor colorWithAlphaComponent:kOutlinedTextFieldActiveAlpha]; } diff --git a/components/TextFields/src/ColorThemer/MDCTextFieldColorThemer.m b/components/TextFields/src/ColorThemer/MDCTextFieldColorThemer.m index 1b3311492fd..be79ba339d8 100644 --- a/components/TextFields/src/ColorThemer/MDCTextFieldColorThemer.m +++ b/components/TextFields/src/ColorThemer/MDCTextFieldColorThemer.m @@ -69,12 +69,9 @@ + (void)applySemanticColorScheme:(id)colorScheme conformsToProtocol:@protocol(MDCTextInputControllerFloatingPlaceholder)]) { id textInputControllerFloatingPlaceholder = (id)textInputController; - - if ([textInputControllerFloatingPlaceholder - respondsToSelector:@selector(setFloatingPlaceholderNormalColor:)]) { - UIColor *primary87Opacity = [colorScheme.primaryColor colorWithAlphaComponent:0.87f]; - textInputControllerFloatingPlaceholder.floatingPlaceholderNormalColor = primary87Opacity; - } + UIColor *primary87Opacity = [colorScheme.primaryColor colorWithAlphaComponent:0.87f]; + textInputControllerFloatingPlaceholder.floatingPlaceholderNormalColor = onSurface60Opacity; + textInputControllerFloatingPlaceholder.floatingPlaceholderActiveColor = primary87Opacity; } } @@ -112,7 +109,9 @@ + (void)applySemanticColorScheme:(id)colorScheme (Class)textInputControllerClass; UIColor *primary87Opacity = [colorScheme.primaryColor colorWithAlphaComponent:0.87f]; [textInputControllerFloatingPlaceholderClass - setFloatingPlaceholderNormalColorDefault:primary87Opacity]; + setFloatingPlaceholderNormalColorDefault:onSurface60Opacity]; + [textInputControllerFloatingPlaceholderClass + setFloatingPlaceholderActiveColorDefault:primary87Opacity]; } } #if !defined(__IPHONE_11_0) diff --git a/components/TextFields/tests/unit/TextFieldColorThemerTests.m b/components/TextFields/tests/unit/TextFieldColorThemerTests.m index ad286a3b6fe..2f95f5b2bf1 100644 --- a/components/TextFields/tests/unit/TextFieldColorThemerTests.m +++ b/components/TextFields/tests/unit/TextFieldColorThemerTests.m @@ -48,8 +48,8 @@ + (void)resetDefaultsForClass:(Class)textInputController conformsToProtocol:@protocol(MDCTextInputControllerFloatingPlaceholder)]) { Class textInputControllerFloatingPlaceholderClass = (Class)textInputControllerClass; - [textInputControllerFloatingPlaceholderClass - setFloatingPlaceholderNormalColorDefault:nil]; + [textInputControllerFloatingPlaceholderClass setFloatingPlaceholderActiveColorDefault:nil]; + [textInputControllerFloatingPlaceholderClass setFloatingPlaceholderNormalColorDefault:nil]; } } #if !defined(__IPHONE_11_0) @@ -96,6 +96,8 @@ - (void)testDefaultValuesAreSet { XCTAssertEqualObjects(MDCTextInputControllerBase.leadingUnderlineLabelTextColorDefault, onSurface60Opacity); XCTAssertEqualObjects(MDCTextInputControllerBase.floatingPlaceholderNormalColorDefault, + onSurface60Opacity); + XCTAssertEqualObjects(MDCTextInputControllerBase.floatingPlaceholderActiveColorDefault, primary87Opacity); XCTAssertEqualObjects(MDCTextInputControllerFullWidth.errorColorDefault, colorScheme.errorColor);