blob: f0d732fa65af9f4100ef3af4a618449314af5e70 [file] [log] [blame]
//
// Created by Jesse Squires
// http://www.jessesquires.com
//
//
// Documentation
// http://cocoadocs.org/docsets/JSQMessagesViewController
//
//
// GitHub
// https://github.com/jessesquires/JSQMessagesViewController
//
//
// License
// Copyright (c) 2014 Jesse Squires
// Released under an MIT license: http://opensource.org/licenses/MIT
//
#import "JSQAudioMediaViewAttributes.h"
#import "UIImage+JSQMessages.h"
#import "UIColor+JSQMessages.h"
@implementation JSQAudioMediaViewAttributes
- (instancetype)initWithPlayButtonImage:(UIImage *)playButtonImage
pauseButtonImage:(UIImage *)pauseButtonImage
labelFont:(UIFont *)labelFont
showFractionalSecodns:(BOOL)showFractionalSeconds
backgroundColor:(UIColor *)backgroundColor
tintColor:(UIColor *)tintColor
controlInsets:(UIEdgeInsets)controlInsets
controlPadding:(CGFloat)controlPadding
audioCategory:(NSString *)audioCategory
audioCategoryOptions:(AVAudioSessionCategoryOptions)audioCategoryOptions {
NSParameterAssert(playButtonImage != nil);
NSParameterAssert(pauseButtonImage != nil);
NSParameterAssert(labelFont != nil);
NSParameterAssert(backgroundColor != nil);
NSParameterAssert(tintColor != nil);
NSParameterAssert(audioCategory != nil);
self = [super init];
if (self) {
_playButtonImage = playButtonImage;
_pauseButtonImage = pauseButtonImage;
_labelFont = labelFont;
_showFractionalSeconds = showFractionalSeconds;
_backgroundColor = backgroundColor;
_tintColor = tintColor;
_controlInsets = controlInsets;
_controlPadding = controlPadding;
_audioCategory = audioCategory;
_audioCategoryOptions = audioCategoryOptions;
}
return self;
}
- (instancetype)init
{
UIColor *tintColor = [UIColor jsq_messageBubbleBlueColor];
AVAudioSessionCategoryOptions options = AVAudioSessionCategoryOptionDuckOthers
| AVAudioSessionCategoryOptionDefaultToSpeaker
| AVAudioSessionCategoryOptionAllowBluetooth;
return [self initWithPlayButtonImage:[[UIImage jsq_defaultPlayImage] jsq_imageMaskedWithColor:tintColor]
pauseButtonImage:[[UIImage jsq_defaultPauseImage] jsq_imageMaskedWithColor:tintColor]
labelFont:[UIFont systemFontOfSize:12]
showFractionalSecodns:NO
backgroundColor:[UIColor jsq_messageBubbleLightGrayColor]
tintColor:tintColor
controlInsets:UIEdgeInsetsMake(6, 6, 6, 18)
controlPadding:6
audioCategory:@"AVAudioSessionCategoryPlayback"
audioCategoryOptions:options];
}
- (void)setPlayButtonImage:(UIImage *)playButtonImage
{
NSParameterAssert(playButtonImage != nil);
_playButtonImage = playButtonImage;
}
- (void)setPauseButtonImage:(UIImage *)pauseButtonImage
{
NSParameterAssert(pauseButtonImage != nil);
_pauseButtonImage = pauseButtonImage;
}
- (void)setLabelFont:(UIFont *)labelFont
{
NSParameterAssert(labelFont != nil);
_labelFont = labelFont;
}
- (void)setBackgroundColor:(UIColor *)backgroundColor
{
NSParameterAssert(backgroundColor != nil);
_backgroundColor = backgroundColor;
}
- (void)setTintColor:(UIColor *)tintColor
{
NSParameterAssert(tintColor != nil);
_tintColor = tintColor;
}
- (void)setAudioCategory:(NSString *)audioCategory
{
NSParameterAssert(audioCategory != nil);
_audioCategory = audioCategory;
}
@end