Commit graph

51 commits

Author SHA1 Message Date
Matthew Chen
b28c4b74b2 Pull out TSMessageDecrypter class.
// FREEBIE
2017-09-21 14:38:30 -04:00
Matthew Chen
9dfebb2d4b Apply OWSFail() in more places.
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
a825fad47b Start reworking the contact offers.
// FREEBIE
2017-08-21 17:05:42 -04:00
Michael Kirk
8a4712bf4c Only access localNumber on AccountManager and cache it
// FREEBIE
2017-08-03 13:27:09 -04:00
Matthew Chen
119f1f3429 Respond to CR.
// FREEBIE
2017-06-17 13:51:26 -04:00
Matthew Chen
6276dcb34c Fix “Invalid media attachments” crash.
// FREEBIE
2017-06-17 13:49:30 -04:00
Matthew Chen
1d792d1878 Rename audio duration and image size methods in TSAttachmentStream.
// FREEBIE
2017-05-26 11:19:45 -04:00
Matthew Chen
78f443374f Respond to CR.
// FREEBIE
2017-05-24 10:02:24 -04:00
Matthew Chen
964e6f1adf Improve asserts and logging in attachment adapters.
// FREEBIE
2017-05-24 10:02:24 -04:00
Matthew Chen
b1f7cf0d62 Cache image size and audio duration on attachments.
// FREEBIE
2017-05-24 10:02:24 -04:00
Matthew Chen
7db19df742 Respond to CR.
// FREEBIE
2017-05-19 17:33:24 -04:00
Matthew Chen
c70487be80 Respond to CR.
// FREEBIE
2017-05-19 17:21:31 -04:00
Matthew Chen
db07ea8a8e Persist attachment file paths.
// FREEBIE
2017-05-19 17:21:31 -04:00
Matthew Chen
6704396998 Lazy load attachments in messages view, etc.
// FREEBIE
2017-05-19 13:27:31 -04:00
Matthew Chen
00d972db48 Rework appearance of audio and generic attachment messages.
// FREEBIE
2017-05-12 16:39:39 -04:00
Matthew Chen
b8b2ae10a2 Rework appearance of generic attachment messages.
// FREEBIE
2017-05-12 16:39:39 -04:00
Matthew Chen
2c31a0bdb5 Rework appearance of audio messages.
// FREEBIE
2017-05-12 16:39:39 -04:00
Matthew Chen
02843958f7 Rework appearance of audio messages.
// FREEBIE
2017-05-12 15:42:32 -04:00
Matthew Chen
bcc7007812 Respond to CR.
// FREEBIE
2017-05-12 15:39:57 -04:00
Matthew Chen
e1fba208ae Align photo and audio bubble widths.
// FREEBIE
2017-05-12 15:30:51 -04:00
Matthew Chen
3e8b4225b3 Show alert when user tries to play an invalid audio file.
// FREEBIE
2017-05-12 10:39:40 -04:00
Matthew Chen
1b99fd1df4 Respond to CR.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen
46b6a59d6d Clean up ahead of PR.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen
ea34cec0d9 Clean up ahead of PR.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen
96e155c75e Rework appearance of voice messages and audio attachments.
// FREEBIE
2017-05-12 09:46:54 -04:00
Matthew Chen
0137e01aff Try to deduce attachment MIME type from the file extension if possible.
// FREEBIE
2017-05-09 11:29:33 -04:00
Matthew Chen
7f92b5a96b Respond to CR.
// FREEBIE
2017-05-08 14:22:28 -04:00
Matthew Chen
33415eaa0f Respond to CR.
// FREEBIE
2017-05-03 17:05:27 -04:00
Matthew Chen
ae7934c117 Update appearance of audio and generic attachment adapters.
// FREEBIE
2017-05-03 17:05:27 -04:00
Matthew Chen
800715a5e0 Remove waveform from audio message bubbles.
// FREEBIE
2017-05-03 17:05:27 -04:00
Matthew Chen
210802994e Respond to CR.
// FREEBIE
2017-04-21 14:19:30 -04:00
Matthew Chen
03a97cdd70 Only the last cell associated with a media adapter should clear its views.
// FREEBIE
2017-04-21 14:17:44 -04:00
Matthew Chen
ef92d5e3bc Fix distorted images in messages view.
// FREEBIE
2017-04-21 13:06:40 -04:00
Matthew Chen
041badd295 Decouple the audio attachment player from the video attachment adapter.
// FREEBIE
2017-04-20 11:15:19 -04:00
Matthew Chen
980d726a48 Add audio attachment player.
* Fix two bugs around play/pause button appearance.
* Fix bugs around stopping playback when leaving view/entering background.
* Fix bugs around cleaning up playback state  when leaving view/entering background.
* Fix audio playback vs. hardware mute button.
* Improve handling of invalid audio attachments.

// FREEBIE
2017-04-20 09:44:25 -04:00
Matthew Chen
b2664158b1 Pause animated gifs when offscreen; clean up media views more aggressively.
// FREEBIE
2017-04-19 11:45:06 -04:00
Matthew Chen
1cf45a26d0 Merge remote-tracking branch 'origin/hotfix/2.10.1' 2017-04-13 16:13:35 -04:00
Michael Kirk
811a4ac4b5 add some missing asserts
// FREEBIE
2017-04-11 15:40:17 -04:00
Matthew Chen
79a2612dbe Fix audio playback.
// FREEBIE
2017-04-11 09:47:53 -04:00
Matthew Chen
7b84019251 Respond to CR.
// FREEBIE
2017-03-29 14:49:26 -04:00
Matthew Chen
80fbc093d9 Handle oversize text messages and arbitrary attachments.
// FREEBIE
2017-03-29 14:34:21 -04:00
Matthew Chen
7aef297a27 Cleanup copy to pasteboard of video and audio.
// FREEBIE
2017-03-27 11:51:51 -04:00
Matthew Chen
d320cef1a9 Fix play button for incoming video attachments.
// FREEBIE
2017-03-23 17:16:13 -04:00
Matthew Chen
9ae047a1da Add progress & disable media views while uploading attachments.
// FREEBIE
2017-03-20 12:55:35 -04:00
Matthew Douglass
c958c7909c Unifies bubble sizes for media bubbles
Media bubbles (for photo, video and animated) sizes are calculated using shared logic. The bubbles are fixed width and their height is calculated based on the aspect ratio of the underlying image (clamped to a reasonable min/max height).

Fixes #1270

// FREEBIE
2016-10-27 21:47:53 -07:00
Michael Kirk
33f6a95520 Explain send failures for text and media messages
fixes #1231

Motivation
----------
Previously when messages failed to send, there was no reason given.
Furthermore, when media messages failed to send there was no indication
that any attempt to send the message even occurred, nor a retry
dialog.

UX Changes
----------
- Show "uploading" status for media
- Show specific error message in retry-send dialog
- Only scroll to bottom when new message is inserted
- Show specific errors when group creation fails

Code Changes
-----------
- Updated incorrect references to TSMessageAdapters which were actually
  references to OWSMessageData
- MessageSender was extracted from SSK MessagesManager
- access MessagesManager as property
- idiomatic init/properties for Env
- log contact intersections
- Move scroll-to-bottom animation to main thread.

// FREEBIE
2016-10-26 15:22:35 -04:00
Vitali Lovich
547cd9797a Improve audio waveform scrolling performance (#1292)
The object is already cached & the waveform view constructed when scrolling,
so there's no need to re-create the view.

This doesn't fix the problem with the wave-form generation on the first
view of the message.  That is a more critical problem in the underlying
SCWaveformView class which renders on the main thread instead of doing
it asynchronously.

FIXES #1258
2016-08-02 10:52:20 -06:00
Michael Kirk
9db3b0db27 Consistent and efficient media Delete/Copy/Save UX
copy/save/delete is accessed via longpress for all media messages, just
like for simple text messages.

Notes
-----
We don't support saving audio attachments as it's not clear where they should go.
(I don't think users expect them to end up in their iTunes library.)

There is still no UX for "pasting" media into Signal.

Removed the now redundant (and confusing) "share" button interface.

//FREEBIE
2016-07-18 09:20:48 -07:00
Michael Kirk
e930574b1b rename our custom JSQ classes to OWS so it's clear what is/not our code.
This was done as part of unforking JSQMessagesViewController, but is
intentionally a separate commit so we can separate formatting changes
from code changes in git history.

* Import frameworks like:
    #import <FrameworkName/HeaderName.h>
* instead of:
    #import "HeaderName.h"

// FREEBIE
2016-07-14 23:15:06 -07:00
Michael Kirk
b3bb4c745e Set explicit height for all media types. Audio is the only special case. (#1237)
This might FIX #1111, but I think there are actually a handful of things
breaking our layout.

// FREEBIE
2016-06-28 06:50:12 -07:00