You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | // | 
					
						
							|  |  |  | //  Copyright (c) 2018 Open Whisper Systems. All rights reserved. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #import "NSAttributedString+OWS.h" | 
					
						
							|  |  |  | #import "UIView+OWS.h" | 
					
						
							|  |  |  | #import <SignalServiceKit/AppContext.h> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NS_ASSUME_NONNULL_BEGIN | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @implementation NSAttributedString (OWS) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (NSAttributedString *)rtlSafeAppend:(NSString *)text | 
					
						
							|  |  |  |                            attributes:(NSDictionary *)attributes | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     OWSAssert(text); | 
					
						
							|  |  |  |     OWSAssert(attributes); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     NSAttributedString *substring = [[NSAttributedString alloc] initWithString:text attributes:attributes]; | 
					
						
							|  |  |  |     return [self rtlSafeAppend:substring]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (NSAttributedString *)rtlSafeAppend:(NSAttributedString *)string | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     OWSAssert(string); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     NSMutableAttributedString *result = [NSMutableAttributedString new]; | 
					
						
							|  |  |  |     if (CurrentAppContext().isRTL) { | 
					
						
							|  |  |  |         [result appendAttributedString:string]; | 
					
						
							|  |  |  |         [result appendAttributedString:self]; | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         [result appendAttributedString:self]; | 
					
						
							|  |  |  |         [result appendAttributedString:string]; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     return [result copy]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NS_ASSUME_NONNULL_END |