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