From 1eef08628adb324e00086f0bc2c64ebc1477ddb0 Mon Sep 17 00:00:00 2001 From: Jack Rogers Date: Sat, 24 Jan 2015 13:48:40 -1000 Subject: [PATCH] Audio attachments UI --- Podfile | 1 + Podfile.lock | 3 + Pods | 2 +- Signal.xcodeproj/project.pbxproj | 32 ++++ Signal/Images/audio_pause_button.png | Bin 0 -> 1506 bytes Signal/Images/audio_pause_button@2x.png | Bin 0 -> 2034 bytes Signal/Images/audio_pause_button_blue.png | Bin 0 -> 1789 bytes Signal/Images/audio_pause_button_blue@2x.png | Bin 0 -> 2343 bytes Signal/Images/audio_play_button.png | Bin 0 -> 1551 bytes Signal/Images/audio_play_button@2x.png | Bin 0 -> 2296 bytes Signal/Images/audio_play_button_blue.png | Bin 0 -> 1831 bytes Signal/Images/audio_play_button_blue@2x.png | Bin 0 -> 2606 bytes Signal/Signal-Info.plist | 8 +- .../Attachements/TSAttachmentStream.m | 8 +- .../ContactsTableViewController.m | 2 - .../view controllers/MessagesViewController.m | 44 ++---- .../src/view controllers/TSMessageAdapter.m | 2 +- .../TSVideoAttachmentAdapter.h | 4 +- .../TSVideoAttachmentAdapter.m | 138 ++++++++++++------ 19 files changed, 156 insertions(+), 88 deletions(-) create mode 100644 Signal/Images/audio_pause_button.png create mode 100644 Signal/Images/audio_pause_button@2x.png create mode 100644 Signal/Images/audio_pause_button_blue.png create mode 100644 Signal/Images/audio_pause_button_blue@2x.png create mode 100644 Signal/Images/audio_play_button.png create mode 100644 Signal/Images/audio_play_button@2x.png create mode 100644 Signal/Images/audio_play_button_blue.png create mode 100644 Signal/Images/audio_play_button_blue@2x.png diff --git a/Podfile b/Podfile index 1ec8cc11b..49b5d52aa 100644 --- a/Podfile +++ b/Podfile @@ -19,3 +19,4 @@ pod 'DJWActionSheet' pod 'UICKeyChainStore', :podspec => 'Podspecs/UICKeyChainStore.podspec' pod 'APDropDownNavToolbar', :git => 'https://github.com/corbett/APDropDownNavToolbar.git', :branch => 'master' pod 'FFCircularProgressView', '>= 0.1' +pod 'SCWaveformView' diff --git a/Podfile.lock b/Podfile.lock index fb92ed2be..0b42c1c06 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -45,6 +45,7 @@ PODS: - PastelogKit (1.2): - CocoaLumberjack (~> 1.9) - ProtocolBuffers (1.9.3) + - SCWaveformView (1.0.0) - SocketRocket (0.3.1-beta2) - SQLCipher/common (3.1.0) - SQLCipher/fts (3.1.0): @@ -71,6 +72,7 @@ DEPENDENCIES: - Mantle (~> 1.5) - OpenSSL (~> 1.0.200) - PastelogKit (~> 1.2) + - SCWaveformView - SocketRocket (from `https://github.com/square/SocketRocket.git`, commit `954750c018`) - SSKeychain - TwistedOakCollapsingFutures (~> 1.0) @@ -117,6 +119,7 @@ SPEC CHECKSUMS: OpenSSL: 4c7be3eca71139f52984542d8c4c0752154d26c3 PastelogKit: 8bab71b1d187617a83e7124cffe9eb1a600e6695 ProtocolBuffers: e80f9e4fc401aec9d3c30be70db87fcd5f1cb880 + SCWaveformView: 55f0cd6e80df1a46ff70892bc4041f5b7d8ad43c SocketRocket: 9cbe08469513356cddc0afcab1ff160bd190296a SQLCipher: 981110217eb93c2779c34fb59e646a1c1da918d8 SSKeychain: cc48bd3ad24fcd9125adb9e0d23dd50b8bbd08b9 diff --git a/Pods b/Pods index a5b5acb18..19ec30e1b 160000 --- a/Pods +++ b/Pods @@ -1 +1 @@ -Subproject commit a5b5acb189a2f9f5ddb14dd0552199324a9167a3 +Subproject commit 19ec30e1b24355b4115a21b6895a49f378ad40c4 diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 62513eae0..04b4bcd06 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -287,6 +287,14 @@ AA0C8E498E2046B0B81EEE6E /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8313AE91B4954215858A5662 /* libPods.a */; }; AD41D7B51A6F6F0600241130 /* play_button.png in Resources */ = {isa = PBXBuildFile; fileRef = AD41D7B31A6F6F0600241130 /* play_button.png */; }; AD41D7B61A6F6F0600241130 /* play_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AD41D7B41A6F6F0600241130 /* play_button@2x.png */; }; + AD83FF3F1A73426500B5C81A /* audio_pause_button_blue.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF381A73426500B5C81A /* audio_pause_button_blue.png */; }; + AD83FF401A73426500B5C81A /* audio_pause_button_blue@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF391A73426500B5C81A /* audio_pause_button_blue@2x.png */; }; + AD83FF411A73426500B5C81A /* audio_play_button_blue@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF3A1A73426500B5C81A /* audio_play_button_blue@2x.png */; }; + AD83FF421A73426500B5C81A /* audio_play_button.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF3B1A73426500B5C81A /* audio_play_button.png */; }; + AD83FF431A73426500B5C81A /* audio_play_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF3C1A73426500B5C81A /* audio_play_button@2x.png */; }; + AD83FF441A73426500B5C81A /* audio_pause_button.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF3D1A73426500B5C81A /* audio_pause_button.png */; }; + AD83FF451A73426500B5C81A /* audio_pause_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF3E1A73426500B5C81A /* audio_pause_button@2x.png */; }; + AD83FF471A73428300B5C81A /* audio_play_button_blue.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF461A73428300B5C81A /* audio_play_button_blue.png */; }; B10C9B5F1A7049EC00ECA2BF /* pause_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = B10C9B5B1A7049EC00ECA2BF /* pause_icon.png */; }; B10C9B601A7049EC00ECA2BF /* pause_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B10C9B5C1A7049EC00ECA2BF /* pause_icon@2x.png */; }; B10C9B611A7049EC00ECA2BF /* play_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = B10C9B5D1A7049EC00ECA2BF /* play_icon.png */; }; @@ -885,6 +893,14 @@ A5E9D4BA1A65FAD800E4481C /* TSVideoAttachmentAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TSVideoAttachmentAdapter.h; sourceTree = ""; }; AD41D7B31A6F6F0600241130 /* play_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = play_button.png; sourceTree = ""; }; AD41D7B41A6F6F0600241130 /* play_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "play_button@2x.png"; sourceTree = ""; }; + AD83FF381A73426500B5C81A /* audio_pause_button_blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = audio_pause_button_blue.png; sourceTree = ""; }; + AD83FF391A73426500B5C81A /* audio_pause_button_blue@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "audio_pause_button_blue@2x.png"; sourceTree = ""; }; + AD83FF3A1A73426500B5C81A /* audio_play_button_blue@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "audio_play_button_blue@2x.png"; sourceTree = ""; }; + AD83FF3B1A73426500B5C81A /* audio_play_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = audio_play_button.png; sourceTree = ""; }; + AD83FF3C1A73426500B5C81A /* audio_play_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "audio_play_button@2x.png"; sourceTree = ""; }; + AD83FF3D1A73426500B5C81A /* audio_pause_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = audio_pause_button.png; sourceTree = ""; }; + AD83FF3E1A73426500B5C81A /* audio_pause_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "audio_pause_button@2x.png"; sourceTree = ""; }; + AD83FF461A73428300B5C81A /* audio_play_button_blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = audio_play_button_blue.png; sourceTree = ""; }; B10C9B5B1A7049EC00ECA2BF /* pause_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_icon.png; sourceTree = ""; }; B10C9B5C1A7049EC00ECA2BF /* pause_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pause_icon@2x.png"; sourceTree = ""; }; B10C9B5D1A7049EC00ECA2BF /* play_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = play_icon.png; sourceTree = ""; }; @@ -2136,6 +2152,14 @@ B633C4FD1A1D190B0059AC12 /* Images */ = { isa = PBXGroup; children = ( + AD83FF461A73428300B5C81A /* audio_play_button_blue.png */, + AD83FF381A73426500B5C81A /* audio_pause_button_blue.png */, + AD83FF391A73426500B5C81A /* audio_pause_button_blue@2x.png */, + AD83FF3A1A73426500B5C81A /* audio_play_button_blue@2x.png */, + AD83FF3B1A73426500B5C81A /* audio_play_button.png */, + AD83FF3C1A73426500B5C81A /* audio_play_button@2x.png */, + AD83FF3D1A73426500B5C81A /* audio_pause_button.png */, + AD83FF3E1A73426500B5C81A /* audio_pause_button@2x.png */, B10C9B5B1A7049EC00ECA2BF /* pause_icon.png */, B10C9B5C1A7049EC00ECA2BF /* pause_icon@2x.png */, B10C9B5D1A7049EC00ECA2BF /* play_icon.png */, @@ -2906,17 +2930,20 @@ AD41D7B61A6F6F0600241130 /* play_button@2x.png in Resources */, B633C5DC1A1D190B0059AC12 /* shred@2x.png in Resources */, B633C5E61A1D190B0059AC12 /* speaker_on@2x.png in Resources */, + AD83FF3F1A73426500B5C81A /* audio_pause_button_blue.png in Resources */, B633C5BB1A1D190B0059AC12 /* message_bubble.png in Resources */, B633C5B51A1D190B0059AC12 /* lock@2x.png in Resources */, A5509ECA1A69AB8B00ABA4BC /* Storyboard.storyboard in Resources */, A507A3B11A6C60E300BEED0D /* InboxTableViewCell.xib in Resources */, FCA52AE81A2B676C00CCADFA /* call_incoming@2x.png in Resources */, + AD83FF421A73426500B5C81A /* audio_play_button.png in Resources */, FC1F90C01A22342B004F8253 /* group_photo@2x.png in Resources */, FCA52AE91A2B676C00CCADFA /* call_missed@2x.png in Resources */, B633C5C41A1D190B0059AC12 /* mute_on@2x.png in Resources */, B633C5CE1A1D190B0059AC12 /* quit@2x.png in Resources */, FCA52AEB1A2B676C00CCADFA /* checkmark_light@2x.png in Resources */, B633C5D01A1D190B0059AC12 /* red-delete@2x.png in Resources */, + AD83FF441A73426500B5C81A /* audio_pause_button.png in Resources */, AD41D7B51A6F6F0600241130 /* play_button.png in Resources */, B633C59D1A1D190B0059AC12 /* endcall@2x.png in Resources */, B633C5B41A1D190B0059AC12 /* keypad@2x.png in Resources */, @@ -2935,13 +2962,16 @@ FCB626A51A3B00FA00FDB504 /* info@2x.png in Resources */, B633C5971A1D190B0059AC12 /* delete@2x.png in Resources */, FC9120431A39F9E00074545C /* qr_scan_fingerprint@2x.png in Resources */, + AD83FF401A73426500B5C81A /* audio_pause_button_blue@2x.png in Resources */, B66DBF4A19D5BBC8006EA940 /* Images.xcassets in Resources */, FCA52AE71A2B676C00CCADFA /* call_failed@2x.png in Resources */, 70B8FEE21909FE360042E3F0 /* 171756__nenadsimic__picked-coin-echo-2.wav in Resources */, B633C5801A1D190B0059AC12 /* archive@2x.png in Resources */, + AD83FF431A73426500B5C81A /* audio_play_button@2x.png in Resources */, FC1F90C71A223991004F8253 /* signals_tab@2x.png in Resources */, FCB626B51A3B067900FDB504 /* ArrowBottom@2x.png in Resources */, B633C5C31A1D190B0059AC12 /* mute_off@2x.png in Resources */, + AD83FF411A73426500B5C81A /* audio_play_button_blue@2x.png in Resources */, FCB626B71A3B067900FDB504 /* ArrowTop@3x.png in Resources */, FC1F90C61A223991004F8253 /* settings_tab@2x.png in Resources */, FCA52AEA1A2B676C00CCADFA /* call_outgoing@2x.png in Resources */, @@ -2979,8 +3009,10 @@ B633C5961A1D190B0059AC12 /* DefaultContactImage.png in Resources */, B10C9B5F1A7049EC00ECA2BF /* pause_icon.png in Resources */, E148751218A06AFD002CC4F3 /* HelveticaNeueLTStd-Bd.otf in Resources */, + AD83FF471A73428300B5C81A /* audio_play_button_blue.png in Resources */, FCA52AE61A2B676C00CCADFA /* call_canceled@2x.png in Resources */, FC3BD9861A30A62D005B96BB /* twitter@2x.png in Resources */, + AD83FF451A73426500B5C81A /* audio_pause_button@2x.png in Resources */, E148751318A06AFD002CC4F3 /* HelveticaNeueLTStd-Th.otf in Resources */, FC3BD9841A306483005B96BB /* signals_error@2x.png in Resources */, E148751418A06AFD002CC4F3 /* HelveticaNeueLTStd-Lt.otf in Resources */, diff --git a/Signal/Images/audio_pause_button.png b/Signal/Images/audio_pause_button.png new file mode 100644 index 0000000000000000000000000000000000000000..47118938dc2e42bb37b5827659f60fb547f42b0c GIT binary patch literal 1506 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 literal 0 HcmV?d00001 diff --git a/Signal/Images/audio_pause_button_blue.png b/Signal/Images/audio_pause_button_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb97f4b1bce01b767546193e906dfc2a61dfa09 GIT binary patch literal 1789 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 yoY!w}ijc>4&t;3`C+RW(y literal 0 HcmV?d00001 diff --git a/Signal/Images/audio_play_button_blue@2x.png b/Signal/Images/audio_play_button_blue@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c77815bdf20d0ad9fa8b6dc218ee7b958444b6 GIT binary patch literal 2606 zcmaJ@eLRzEA72qtrbMaG8Y!s06YL!0Azz=9ufhA84HMEyMbsn&kg>%=>{CeX1T#b&{PMiz!QjJ z`y>g0z$E`5W>PE@$AWvf!(1hJP=E`F888W#!xP~pZtyR&M!;cTAmUgz_}@W= zQn$i9`9c7Owny199gs*E24jzOLSryUTbQE*(h=bRz8E{C6CRDhJ37O@K5)>RkQIfe zk-Wb80#9!67_nG@M<5as66_OD_IzP90*S-n<~1B0?LdT`D3K>-NbGnb^KS|yK*SWX z1!6Xz2b))9?B>Ub-QZxPf2Y6|e3#{kzLp6r7(&7jAdvPB^C^7;QmOwR%H@7Xi^MeG zpLqYLuqY@|03c|9h#x0pf{lwZpLZp|dkO)Dm@f?C^EuzDxHX0^=8IzZ0+?qY2DXXH zV6u7h2CFX&Diu%RiNp*Z6QGdX;Gl**o6W*|BAqcLM*yH-1%YP3P8^!K*){cPqz@r@x@Oa&55roCPuecD%%ta`|bzf`45LLFB3daD#cgI1}3&; z>|S{e+laFXqa&>>JMDa*m%kWJl$lXf9xpuV=Z1?4=N$fed;RWQ%9FhxTUMYOem^Uu z?1!vKt!a&c85u(h^hj@i!l$lOK_+dgwa+d%pQhZZH5Pht2krcgc8g=FLz^+#(0Ajb zbEg;2j!5o5>Ckma)!U4lJQ=8qCrcc+>V!wbt$bf=wm@1m-Y?L*9KLpL;|UZ&XO~X6 z77G%xa79LR+Tk>#&BvceD;C~4Tc%*BxOBH_oRmG}^{JQ5iG3en z8!0&{h~=T$ob^Ld^u>d}oA`Gq9a0p*?o8;ZYf>gl&>c5$b46Rd#@;lSRDU`$o9O4< zr23RU`_fSMpsQwvw#v@{xap@4iG-}2{3}_NLcj4Q_-LAe%5vn+3vX4Wz6<-QvC91D zXE`Z)c5`qa^RD96TO9>N4$z>zj2O^1FzZ_sSMp z!-jv|Fu1ueWXA^E3HMVO(p|k>*6jAYjNaL5q5oOwhI=>K?&>e%^t>lGp1@}|FYTw4 zEQ{HCF ziT9+?^cjoimpZK9l;?(9-n@M*z`G%PQ2sDO$9v+bEoG|jwy9;iQT)aNNVjHVDjJ%V zU|D?t>R>MI{Uwa%<&R>hHBnEmakPA*pB8IqP~1N1XTJA+K0UQ6=wc?Gwr?>QdghXN0?>Jt@Cb zR2r?;d0hN%SbI-Q70%FXyECsH9c%=*1C<^>pLv$2aR=JY(Vm{o91LC0;c%`j+N9qi z-SOycYlGlA&Na@(qcg_3!Qk$_4gPj+1=@K@;Su>(?>jZKFPByD^V$w_d-vC%?>{nK z<50W3yJLxo&w-`PtFdQ@a|;iT3Ig6}Pv-U~=-HU|Z_FF?*e5XMd(9f3AhC}5UENuw zT@;V~m+|92q?7v1*A%y^EnKwUriH8hc$MO}rGRk#d7iXI01^631X1D^CZnwsXf!0wWy|fSK8WVqY zj%@k~e?hx(kITME4Be$dOvoKg)(^k%PR5W2oI6+WIos;Gsd89(%sJxrI6RQqDtj5^ zK0&?NSo-mFb8>0@WKCWPQKos~yyCcl@S)Cl%1B7FE#1tf>to@OPD7Xk&1`UyEyG`sM2M$=pKRE|NDdFk6V*%5s7qMXUg+s97Q zX>v==+>3i8_8EOqC4~j`ne1YzF^KOQ&Vd}IuJ2ktfL^P7RqGi_iob`-!)CF7<11k; z>;bl6S5!KuZuq=cUVpDufn$aVod8jcct;rEKAu@K#%z$1ALUBrj@JbrH~KoY3!;4ol`^8CVq;RuDCGXG$TI2tV|+j{&|1PBJbsMEtIjQ)EY*1mKueb z$|IYM`jxLUD~zpATc*C3x%1gT)}SP7-8Qr4lTdY7`MTF!dgcp$IY0f5({a62#!{Qk zSl9la9eXo;4u?U{DBSPQMUGC5lPj%>Cce;0)QIK - UIStatusBarStyle - UIStatusBarStyleLightContent - UIViewControllerBasedStatusBarAppearance - CFBundleDevelopmentRegion en CFBundleDisplayName @@ -69,9 +65,13 @@ armv7 + UIStatusBarStyle + UIStatusBarStyleLightContent UISupportedInterfaceOrientations UIInterfaceOrientationPortrait + UIViewControllerBasedStatusBarAppearance + diff --git a/Signal/src/textsecure/Messages/Attachements/TSAttachmentStream.m b/Signal/src/textsecure/Messages/Attachements/TSAttachmentStream.m index 3b67d7c1f..257dfc819 100644 --- a/Signal/src/textsecure/Messages/Attachements/TSAttachmentStream.m +++ b/Signal/src/textsecure/Messages/Attachements/TSAttachmentStream.m @@ -54,8 +54,12 @@ NSString * const TSAttachementFileRelationshipEdge = @"TSAttachementFileEdge"; - (NSString*)filePath { if ([self isVideo] || [self isAudio]) { - return [[[[self class] attachmentsFolder] stringByAppendingFormat:@"/%@", self.uniqueId] stringByAppendingPathExtension:[self mediaExtension]]; - + NSString *path = [[[[self class] attachmentsFolder] stringByAppendingFormat:@"/%@", self.uniqueId] stringByAppendingPathExtension:[self mediaExtension]]; + NSURL *pathURL = [NSURL URLWithString:path]; + NSString *mp3String = [NSString stringWithFormat:@"%@.mp3", [[pathURL URLByDeletingPathExtension] absoluteString]]; + if ([[NSFileManager defaultManager] fileExistsAtPath:mp3String]) { + return mp3String; + } else return path; } else { return [[[self class] attachmentsFolder] stringByAppendingFormat:@"/%@", self.uniqueId]; diff --git a/Signal/src/view controllers/ContactsTableViewController.m b/Signal/src/view controllers/ContactsTableViewController.m index 2512c38fc..23f782868 100644 --- a/Signal/src/view controllers/ContactsTableViewController.m +++ b/Signal/src/view controllers/ContactsTableViewController.m @@ -147,7 +147,6 @@ static NSString *const CONTACT_BROWSE_TABLE_CELL_IDENTIFIER = @"ContactTableView return [latestAlphabeticalContacts valueForKey:self.latestSortedAlphabeticalContactKeys[index]]; } - -(NSMutableDictionary*)alphabetDictionaryInit { NSDictionary * dic; @@ -167,7 +166,6 @@ static NSString *const CONTACT_BROWSE_TABLE_CELL_IDENTIFIER = @"ContactTableView return [dic mutableCopy]; } - #pragma mark - Table view data source - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index 0e93d2def..ffbd64f03 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -86,6 +86,7 @@ typedef enum : NSUInteger { @property (nonatomic, retain) JSQMessagesBubbleImage *incomingBubbleImageData; @property (nonatomic, retain) JSQMessagesBubbleImage *outgoingMessageFailedImageData; @property (nonatomic, strong) NSTimer *audioPlayerPoller; +@property (nonatomic, strong) TSVideoAttachmentAdapter *currentMediaAdapter; @property (nonatomic, retain) NSTimer *readTimer; @@ -645,7 +646,7 @@ typedef enum : NSUInteger { // fileurl disappeared should look up in db as before. will do refactor // full screen, check this setup with a .mov TSVideoAttachmentAdapter* messageMedia = (TSVideoAttachmentAdapter*)[messageItem media]; - + _currentMediaAdapter = messageMedia; __block TSAttachment *attachment = nil; [self.uiDatabaseConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { attachment = [TSAttachment fetchObjectWithUniqueID:messageMedia.attachmentId transaction:transaction]; @@ -682,7 +683,7 @@ typedef enum : NSUInteger { } else { BOOL isResuming = NO; [_audioPlayerPoller invalidate]; - + // loop through all the other bubbles and set their isPlaying to false NSInteger num_bubbles = [self collectionView:collectionView numberOfItemsInSection:0]; for (NSInteger i=0; i= 1) { _maskLayer.hidden = YES; _progressView.hidden = YES; - _playButton.hidden = NO; + _videoPlayButton.hidden = NO; _attachment.isDownloaded = YES; [[TSMessagesManager sharedManager].dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { [_attachment saveWithTransaction:transaction];