Add "conversation color mode" enum.
This commit is contained in:
parent
e5150267c2
commit
26a2d568de
|
@ -110,7 +110,8 @@ class ColorPickerViewController: UIViewController, UIPickerViewDelegate, UIPicke
|
|||
owsFailDebug("color was unexpectedly nil")
|
||||
return ColorView(color: .white)
|
||||
}
|
||||
guard let color = UIColor.ows_conversationThemeColor(colorName: colorName) else {
|
||||
guard let color = UIColor.ows_conversationColor(colorName: colorName,
|
||||
mode: Theme.isDarkThemeEnabled ? .shade : .default) else {
|
||||
owsFailDebug("unknown color name")
|
||||
return ColorView(color: .white)
|
||||
}
|
||||
|
|
|
@ -288,7 +288,11 @@ const CGFloat kIconViewLength = 24;
|
|||
[mainSection addItem:[OWSTableItem
|
||||
itemWithCustomCellBlock:^{
|
||||
NSString *colorName = self.thread.conversationColorName;
|
||||
UIColor *currentColor = [UIColor ows_conversationThemeColorForColorName:colorName];
|
||||
UIColor *currentColor = [UIColor
|
||||
ows_conversationColorForColorName:colorName
|
||||
mode:(Theme.isDarkThemeEnabled
|
||||
? ConversationColorMode_Shade
|
||||
: ConversationColorMode_Default)];
|
||||
NSString *title = NSLocalizedString(@"CONVERSATION_SETTINGS_CONVERSATION_COLOR",
|
||||
@"Label for table cell which leads to picking a new conversation color");
|
||||
return [weakSelf disclosureCellWithName:title iconColor:currentColor];
|
||||
|
|
|
@ -7,6 +7,12 @@
|
|||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef NS_ENUM(NSUInteger, ConversationColorMode) {
|
||||
ConversationColorMode_Default,
|
||||
ConversationColorMode_Shade,
|
||||
ConversationColorMode_Tint,
|
||||
};
|
||||
|
||||
@interface UIColor (OWS)
|
||||
|
||||
#pragma mark -
|
||||
|
@ -96,8 +102,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
#pragma mark - Conversation Colors
|
||||
|
||||
+ (nullable UIColor *)ows_conversationThemeColorForColorName:(NSString *)colorName
|
||||
NS_SWIFT_NAME(ows_conversationThemeColor(colorName:));
|
||||
+ (nullable UIColor *)ows_conversationColorForColorName:(NSString *)colorName
|
||||
mode:(ConversationColorMode)mode
|
||||
NS_SWIFT_NAME(ows_conversationColor(colorName:mode:));
|
||||
|
||||
@property (class, readonly, nonatomic) NSArray<NSString *> *ows_conversationColorNames;
|
||||
|
||||
|
|
|
@ -459,12 +459,18 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
return self.ows_conversationColorMap.allKeys;
|
||||
}
|
||||
|
||||
+ (nullable UIColor *)ows_conversationThemeColorForColorName:(NSString *)colorName
|
||||
+ (nullable UIColor *)ows_conversationColorForColorName:(NSString *)colorName mode:(ConversationColorMode)mode
|
||||
{
|
||||
OWSAssertDebug(colorName.length > 0);
|
||||
|
||||
BOOL isShaded = Theme.isDarkThemeEnabled;
|
||||
return (isShaded ? self.ows_conversationColorMapShade : self.ows_conversationColorMap)[colorName];
|
||||
switch (mode) {
|
||||
case ConversationColorMode_Default:
|
||||
return self.ows_conversationColorMap[colorName];
|
||||
case ConversationColorMode_Shade:
|
||||
return self.ows_conversationColorMapShade[colorName];
|
||||
case ConversationColorMode_Tint:
|
||||
return self.ows_conversationColorMapTint[colorName];
|
||||
}
|
||||
}
|
||||
|
||||
+ (nullable UIColor *)ows_conversationTintColorForColorName:(NSString *)colorName
|
||||
|
|
|
@ -136,7 +136,8 @@ public class ConversationStyle: NSObject {
|
|||
return self.defaultBubbleColorIncoming
|
||||
}
|
||||
|
||||
guard let color = UIColor.ows_conversationThemeColor(colorName: colorName) else {
|
||||
guard let color = UIColor.ows_conversationColor(colorName: colorName,
|
||||
mode: Theme.isDarkThemeEnabled ? .shade : .default) else {
|
||||
return self.defaultBubbleColorIncoming
|
||||
}
|
||||
|
||||
|
|
|
@ -124,7 +124,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
[initials appendString:@"#"];
|
||||
}
|
||||
|
||||
UIColor *color = [UIColor ows_conversationThemeColorForColorName:self.colorName];
|
||||
UIColor *color =
|
||||
[UIColor ows_conversationColorForColorName:self.colorName
|
||||
mode:(Theme.isDarkThemeEnabled ? ConversationColorMode_Shade
|
||||
: ConversationColorMode_Default)];
|
||||
OWSAssertDebug(color);
|
||||
|
||||
UIImage *_Nullable image =
|
||||
|
|
Loading…
Reference in New Issue