@ -9,6 +9,16 @@
#pragma mark - Initialzation
#pragma mark - Initialzation
- ( id ) init
{
NSAssert ( NO ,
@ "%s is not a valid initializer for %@. Use %@ instead",
__PRETTY_FUNCTION__ ,
[ self class ] ,
NSStringFromSelector ( @ selector ( initWithCallerId : callerDisplayName : date : status : displayString : ) ) ) ;
return [ self initWithCallerId : nil callerDisplayName : nil date : nil status : 0 displayString : nil ] ;
}
- ( instancetype ) initWithCallerId : ( NSString * ) senderId
- ( instancetype ) initWithCallerId : ( NSString * ) senderId
callerDisplayName : ( NSString * ) senderDisplayName
callerDisplayName : ( NSString * ) senderDisplayName
date : ( NSDate * ) date
date : ( NSDate * ) date
@ -19,32 +29,21 @@
NSParameterAssert ( senderDisplayName != nil ) ;
NSParameterAssert ( senderDisplayName != nil ) ;
self = [ super init ] ;
self = [ super init ] ;
if ( self ) {
if ( !self ) {
_senderId = [ senderId copy ] ;
return self ;
_senderDisplayName = [ senderDisplayName copy ] ;
_date = [ date copy ] ;
_status = status ;
_messageType = TSCallAdapter ;
_detailString = [ detailString stringByAppendingFormat : @ " "] ;
}
}
return self ;
}
- ( id ) init
_senderId = [ senderId copy ] ;
{
_senderDisplayName = [ senderDisplayName copy ] ;
NSAssert ( NO ,
_date = [ date copy ] ;
@ "%s is not a valid initializer for %@. Use %@ instead",
_status = status ;
__PRETTY_FUNCTION__ ,
_messageType = TSCallAdapter ;
[ self class ] ,
NSStringFromSelector ( @ selector ( initWithCallerId : callerDisplayName : date : status : displayString : ) ) ) ;
return nil ;
}
- ( void ) dealloc
/ / TODO interpret detailString from status . make sure it works for calls and
{
/ / our re - use of calls as group update display
_ senderId = nil ;
_detailString = [ detailString stringByAppendingFormat : @ " "] ;
_senderDisplayName = nil ;
_date = nil ;
return self ;
}
}
- ( NSString * ) dateText
- ( NSString * ) dateText
@ -98,14 +97,17 @@
- ( instancetype ) initWithCoder : ( NSCoder * ) aDecoder
- ( instancetype ) initWithCoder : ( NSCoder * ) aDecoder
{
{
self = [ super init ] ;
NSString * senderId = [ aDecoder decodeObjectForKey : NSStringFromSelector ( @ selector ( senderId ) ) ] ;
if ( self ) {
NSString * senderDisplayName = [ aDecoder decodeObjectForKey : NSStringFromSelector ( @ selector ( senderDisplayName ) ) ] ;
_senderId = [ aDecoder decodeObjectForKey : NSStringFromSelector ( @ selector ( senderId ) ) ] ;
NSDate * date = [ aDecoder decodeObjectForKey : NSStringFromSelector ( @ selector ( date ) ) ] ;
_senderDisplayName = [ aDecoder decodeObjectForKey : NSStringFromSelector ( @ selector ( senderDisplayName ) ) ] ;
CallStatus status = ( CallStatus ) [ aDecoder decodeIntegerForKey : NSStringFromSelector ( @ selector ( status ) ) ] ;
_date = [ aDecoder decodeObjectForKey : NSStringFromSelector ( @ selector ( date ) ) ] ;
NSString * displayString = @ ""; / / FIXME what should this be ?
_status = ( CallStatus ) [ aDecoder decodeIntegerForKey : NSStringFromSelector ( @ selector ( status ) ) ] ;
}
return [ self initWithCallerId : senderId
return self ;
callerDisplayName : senderDisplayName
date : date
status : status
displayString : displayString ] ;
}
}
- ( void ) encodeWithCoder : ( NSCoder * ) aCoder
- ( void ) encodeWithCoder : ( NSCoder * ) aCoder