/* * Copyright (c) 2010-2020 Belledonne Communications SARL. * * This file is part of linphone-iphone * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #import "LinphoneManager.h" #define IPAD (LinphoneManager.runningOnIpad) #define ANIMATED ([LinphoneManager.instance lpConfigBoolForKey:@"animations_preference"]) #define LC ([LinphoneManager getLc]) #define UIColorFromRGB(rgbValue) \ [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ green:((float)((rgbValue & 0x00FF00) >> 8))/255.0 \ blue:((float)((rgbValue & 0x0000FF) >> 0))/255.0 \ alpha:1.0] @interface LinphoneUtils : NSObject + (BOOL)findAndResignFirstResponder:(UIView*)view; + (void)adjustFontSize:(UIView*)view mult:(float)mult; + (void)buttonFixStates:(UIButton*)button; + (void)buttonMultiViewAddAttributes:(NSMutableDictionary*)attributes button:(UIButton*)button; + (void)buttonMultiViewApplyAttributes:(NSDictionary*)attributes button:(UIButton*)button; + (NSString *)deviceModelIdentifier; + (UIImage *)resizeImage:(UIImage *)imageToResize newSize:(CGSize)newSize; + (LinphoneAddress *)normalizeSipOrPhoneAddress:(NSString *)addr; + (UIAlertController *)networkErrorView; typedef enum { LinphoneDateHistoryList, LinphoneDateHistoryDetails, LinphoneDateChatList, LinphoneDateChatBubble, } LinphoneDateFormat; + (NSString *)timeToString:(time_t)time withFormat:(LinphoneDateFormat)format; + (BOOL)hasSelfAvatar; + (UIImage *)selfAvatar; + (NSString *)durationToString:(int)duration; + (NSString *)intervalToString:(NSTimeInterval)interval ; + (NSMutableDictionary *)photoAssetsDictionary; + (NSArray *)parseRecordingName:(NSString *)filename; @end @interface NSNumber (HumanReadableSize) - (NSString*)toHumanReadableSize; @end @interface UIImage (systemIcons) + (UIImage *)imageFromSystemBarButton:(UIBarButtonSystemItem)systemItem :(UIColor *) color; @end @interface NSString (linphoneExt) - (NSString *)md5; - (BOOL)containsSubstring:(NSString *)str; @end @interface UIImage (squareCrop) - (UIImage *)squareCrop; - (UIImage *)scaleToSize:(CGSize)size squared:(BOOL)squared; + (UIImage *)resizeImage:(UIImage *)image withMaxWidth:(float)maxWidth andMaxHeight:(float)maxHeight; @end @interface ContactDisplay : NSObject + (void)setDisplayNameLabel:(UILabel *)label forContact:(Contact *)contact; + (void)setDisplayNameLabel:(UILabel *)label forAddress:(const LinphoneAddress *)addr; + (void)setDisplayNameLabel:(UILabel *)label forAddress:(const LinphoneAddress *)addr withAddressLabel:(UILabel*)addressLabel; @end #import #import #define LINPHONE_MAIN_COLOR [UIColor colorWithRed:207.0f / 255.0f green:76.0f / 255.0f blue:41.0f / 255.0f alpha:1.0f] #define LINPHONE_SETTINGS_BG_IOS7 [UIColor colorWithRed:164 / 255. green:175 / 255. blue:183 / 255. alpha:1.0] @interface UIColor (LightAndDark) - (UIColor *)adjustHue:(float)hm saturation:(float)sm brightness:(float)bm alpha:(float)am; - (UIColor *)lumColor:(float)mult; - (UIColor *)lighterColor; - (UIColor *)darkerColor; @end @interface UIImage (ForceDecode) + (UIImage *)decodedImageWithImage:(UIImage *)image; @end @interface UIImage (ResizeAndThumbnail) + (UIImage *)UIImageThumbnail:(UIImage *)image thumbSize:(CGFloat) tbSize; + (UIImage *)UIImageResize:(UIImage *)image toSize:(CGSize) newSize; + (CGImageRef)resizeCGImage:(CGImageRef)image toWidth:(int)width andHeight:(int)height; @end /* Use that macro when you want to invoke a custom initialisation method on your class, whatever is using it (xib, source code, etc., tableview cell) */ #define INIT_WITH_COMMON_C \ -(instancetype)init { \ return [[super init] commonInit]; \ } \ -(instancetype)initWithCoder : (NSCoder *)aDecoder { \ return [[super initWithCoder:aDecoder] commonInit]; \ } \ -(instancetype)commonInit #define INIT_WITH_COMMON_CF \ -(instancetype)initWithFrame : (CGRect)frame { \ return [[super initWithFrame:frame] commonInit]; \ } \ INIT_WITH_COMMON_C