Commit Graph

60 Commits

Author SHA1 Message Date
Michael Kirk 5ba5e98260 Show downloaded contact avatar in thread
// FREEBIE
2018-05-07 12:08:41 -04:00
Matthew Chen ba74e3857a Clean up ahead of PR. 2018-05-04 18:13:22 -04:00
Matthew Chen 2738bcbc58 Create contact view. 2018-05-03 14:09:54 -04:00
Matthew Chen 204d379603 Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen 55916e84c2 Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen 9275c67818 Rework outgoing message state. 2018-04-25 10:49:19 -04:00
Matthew Chen a1386eca81 Fix taps in message cells. 2018-04-17 13:28:06 -04:00
Michael Kirk 64ff4cd660 tap-to-retry failed thumbnail downloads
// FREEBIE
2018-04-16 16:06:18 -04:00
Matthew Chen 6caa5b87b6 Add more asserts around thread in SAE. 2018-04-13 14:59:38 -04:00
Matthew Chen 644e78f19d Respond to CR. 2018-04-13 14:32:42 -04:00
Matthew Chen eb400114c2 Fix message details layout in iPhone X. 2018-04-13 14:32:42 -04:00
Michael Kirk 5320536736 remove WIP comments
// FREEBIE
2018-04-11 11:55:30 -04:00
Michael Kirk 1780973e68 fix image, video, audio interactions in message details
// FREEBIE
2018-04-11 11:55:30 -04:00
Matthew Chen ade2ee7216 Use dynamic type everywhere in conversation view. 2018-04-09 14:25:53 -04:00
Matthew Chen 2f2d1f81a8 Clean up ahead of PR. 2018-04-06 12:45:16 -04:00
Matthew Chen cf1a7e01d0 Apply message bubble view to message details view. 2018-04-06 12:35:46 -04:00
Matthew Chen 6830d4e8cb Apply message bubble view to message details view. 2018-04-06 12:35:46 -04:00
Matthew Chen d99a2be005 Apply message bubble view to message details view. 2018-04-06 12:35:46 -04:00
Michael Kirk 6874a9e28e Convert to swift
// FREEBIE
2018-04-04 10:59:04 -04:00
Michael Kirk 6f1608f44b Conventional naming for out custom PureLayout methods.
This moves methods more in line with PureLayout conventions.

- Methods always specify if they pin to an edge vs margin

- `margin` is a reserved word which should only refer to layout margins.
  i.e. do not use it to refer to "inset" and "offset".

// FREEBIE
2018-04-02 17:02:32 -04:00
Matthew Chen 578f40d791 Bubble collapse. 2018-04-02 10:07:15 -04:00
Michael Kirk e4530a51bf Handle "current page view" deleted from tile
// FREEBIE
2018-03-26 18:07:43 -04:00
Michael Kirk 3058cb8733 Batch Delete
// FREEBIE
2018-03-23 15:27:06 -04:00
Michael Kirk 6c877403cf Fix delete from message details
// FREEBIE
2018-03-22 19:54:19 -04:00
Michael Kirk 6e20f5b654 Fix Delete
from conversation settings > tile > tap for details > delete

TODO:

- Don't dismiss pager, show next item
- dismiss pager if deleting last media

// FREEBIE
2018-03-22 19:52:52 -04:00
Michael Kirk 00b5316976 Don't show the "All Media" button when viewing the slider from the
gallery via settings.

In this context it makes more sense for the user to hit the "dismiss"
button to get "back" to "All Media"

// FREEBIE
2018-03-20 11:12:11 -04:00
Michael Kirk ae8dbeb8dd Access Media Gallery from conversation settings
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk dfd628250d Gallery performance
- [x] share uiDatabaseConnection to share cache
- [x] increase cache size
- [x] load less initially
- [x] lazy loading
  - [x] slider view
  - [x] tile view

// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk 985af76d0b WIP: All Media view
TODO

- [ ] label video/gif
- [ ] reasonable load perf
- [ ] reasonable scroll perf
- [ ] select / delete
- [ ] cancel share action from media details returns signal style

NICE TO HAVE

- [ ] fancy in/out animation from All Media <-> tiles
- [ ] label video thumbnail with duration stamp
- [ ] Other perf?
- [ ] dbModified?
- [ ] select / send
- [ ] darken section header a shade once it's "active"

DONE

- [x] tap to refocus on new media
- [x] generate test data
- [x] section headers
- [x] equal spacing around cells

// FREEBIE

WIP WIP extract datasouce to GalleryViewController

- [x] swipe through is broken
- [x] present animation
- [x] dismiss animation

// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk 4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
2018-03-16 15:55:34 -04:00
Michael Kirk 88e1386720 Move frame to presentation logic, out of init
This no longer made sense now that we're using this in a
PageViewController we won't always be zooming from a particular frame.

TODO:

- why is background image all wonky?
- why aren't views created by the time it's presented? Is that a
regression? (how is self.view a MenuView if loadView hasn't been called)

// FREEBIE
2018-03-14 12:50:27 -04:00
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 2018-03-06 17:12:13 -03:00
Michael Kirk e43d0b1b5a Fix "Share" for attachment with caption
// FREEBIE
2018-02-22 10:33:29 -05:00
Michael Kirk 19eb17b469 Fix bubble layout in message details
TextView size depends on the VC.view size, so it must be updated when
view is done laying out.

// FREEBIE
2018-02-14 09:00:46 -08:00
Matthew Chen 48b6c3dafb Refine message date/time formatting. 2018-02-13 15:02:29 -05:00
Michael Kirk 5793211a0a Fix "bubble disappears" when receiving read receipt
We re-create some constraints when `updateContent` is called, so
we need to ensure those constraints are configured by calling
`updateTextLayout`

// FREEBIE
2018-02-09 18:00:29 -08:00
Matthew Chen 43765ef3b5 Respond to CR. 2018-02-09 10:31:29 -05:00
Michael Kirk c646f76335 Garther audio concerns, clean up session when done
- sync speakerphone state manipulated from system call screen
  - Revert audio session after call failure, ensures media plays out of
    speaker after placing a failing call.
  - Replace notification with delegate pattern since we're already using
    delegate pattern here.
- Fixes voiceover accessibility after voice memo
- Avoid audio blip after pressing hangup
- Rename CallAudioSession -> OWSAudioSession
  Going to start using it for other non-call things since we want to
  gather all our audio session concerns.
- Resume background audio when done playing video
  - Extract OWSVideoPlayer which ensures audio is in proper state before
    playback
  - Move recording session logic to shared OWSAudioSession
  - Deactivate audio session when complete

// FREEBIE
2018-02-06 18:45:51 -08:00
Michael Kirk 0c6a42003f clang-format after RI
// FREEBIE
2018-01-16 15:27:53 -05:00
Michael Kirk a423fe8a0e WIP Merge tag '2.19.4.4'
- restore video playback in fullscreen

This was a large merge, so I'm opting to make some changes in separate
commits.
2018-01-16 15:25:58 -05:00
Matthew Chen 15b8e58324 Retain changes from session database branch. 2018-01-12 10:23:54 -05:00
Michael Kirk 8454e512d8 Use FullSreen media VC for message details
// FREEBIE
2018-01-08 01:10:32 -05:00
sdkjfhsdkjhfsdlkjhfsdf 46930b9354 Fix crash when viewing non-attachment message details.
// FREEBIE
2017-12-22 22:41:03 -06:00
sdkjfhsdkjhfsdlkjhfsdf 38d94952f7 Shadow for Send button, clean up color accessors
// FREEBIE
2017-12-20 14:26:53 -06:00
sdkjfhsdkjhfsdlkjhfsdf cf091758a5 Fix oversized text messages
// FREEBIE
2017-12-20 14:26:53 -06:00
sdkjfhsdkjhfsdlkjhfsdf 2c20cb9e7b make sure mediaview isn't too tall in detail view
// FREEBIE
2017-12-20 14:26:53 -06:00
sdkjfhsdkjhfsdlkjhfsdf 411de65b40 TODO: Show caption in details
TODO:
- [ ] layout is shite

// FREEBIE
2017-12-20 14:26:53 -06:00
Michael Kirk 3eb3c268a9 Towards a caption in message
TODO

- [ ] adjust height properly
- [ ] all media types
- [ ] include caption in message details
- [ ] gestures working on both independently
- [ ] perf benchmark

// FREEBIE
2017-12-20 14:26:53 -06:00
Michael Kirk a58f1f385c Share a photo from photos app
Shows the conversation picker, and sends the attachment to that
conversation.

There's still a lot TODO

-[ ] resolve JSQ dependency
-[ ] properly wait for app to load
-[ ] dismiss share extension after send is complete
-[ ] support non jpeg file types
-[ ] Fix device sleep manager

// FREEBIE
2017-12-07 10:13:06 -05:00
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 2017-12-05 10:29:29 -05:00