Commit Graph

433 Commits

Author SHA1 Message Date
Greyson Parrelli
fa99e8f0d0 Updated reply-to UI.
All UI components are now properly styled and functioning according to
spec.
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
d567534609 replies 2018-04-16 17:33:26 -07:00
Moxie Marlinspike
eb0af13887 Fix location URL encoding
Fixes #7604
2018-04-16 17:33:26 -07:00
Greyson Parrelli
ea374735e1 Render images in a conversation true-to-size.
Previously, we were always rendering images as squares. Instead of doing
that, we now render them as close to true-to-size as possible (within
reasonable min/max width/height boundaries).
2018-03-31 02:14:02 -07:00
Moxie Marlinspike
95d76638dc Simple encrypted glide disk cache 2018-03-31 02:14:02 -07:00
Moxie Marlinspike
d6610f0dd0 Add profile avatars to backup
Fixes #7450
2018-03-19 14:10:21 -07:00
Moxie Marlinspike
43d7e99a50 Don't offer backup restore on reregistration
Fixes #7502
2018-03-11 17:12:42 -07:00
平民·寻梦(Pingmin Fenlly Liu)
cc288d1e43 Just update to the new repo path "github.com/signalapp"
Closes #7469
2018-03-11 17:06:22 -07:00
Andrew Gaul
10c1ee70e8 Make some inner classes static
Closes #7370
2018-03-07 09:51:05 -08:00
Moxie Marlinspike
110d33ddf8 Support for Registration Lock PINs 2018-03-05 16:13:56 -08:00
Moxie Marlinspike
24e573e537 Support for full backup/restore to sdcard 2018-03-05 16:11:49 -08:00
Moxie Marlinspike
2b651ee323 Prevent NPE in #7375 2018-02-05 12:08:40 -08:00
Moxie Marlinspike
3633d805c8 More MasterSecret cleanup 2018-02-01 19:22:48 -08:00
Moxie Marlinspike
f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 2018-01-30 17:27:05 -08:00
Moxie Marlinspike
bc64230a65 Switch to HackyViewPager for media preview
Fixes #7344
Fixes #7335
2018-01-18 10:16:35 -08:00
Moxie Marlinspike
94e2b9e66e Make video player in media player control a view stub 2018-01-16 11:21:58 -08:00
Moxie Marlinspike
8bba45f396 Add swipe gestures to media view
Fixes #2355
Closes #6632
2018-01-04 11:11:49 -08:00
Moxie Marlinspike
f22186e6f4 Debounce call screen answer button
Fixes #7274
2017-12-15 15:27:23 -08:00
Moxie Marlinspike
acfc9d75e0 Use startForegroundService instead of startService on Android 8 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
ed508a8def Be more explicit with mastersecret passing 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
64c8b4b2ef Support for selective permissions 2017-11-30 10:26:41 -08:00
Moxie Marlinspike
ba5febd222 Fix some emoji rendering issues related to obsolete images
1) The "obsolete" images like "swimmer" need to alias to
"man_swimming" so that they can be rendered correctly.

2) There are a whole bunch of emoji-data elements
(like white_frowning_face) that have "unified" code points which
have changed to include a "terminator."

Fixes #7212
2017-11-20 19:11:26 -08:00
Moxie Marlinspike
c1b2098bd9 Fix race condition that would display end call button over answer
Fixes #7211
2017-11-20 11:17:50 -08:00
Moxie Marlinspike
58f1e68961 Update emoji
Fixes #6637
Fixes #7206
2017-11-19 18:11:25 -08:00
Moxie Marlinspike
86bd2351bc Replace answer/decline button and action for incoming calls
Fixes #7199
2017-11-19 16:32:22 -08:00
Moxie Marlinspike
c5a9f27c31 Catch some activity not found exceptions for expired builds 2017-11-16 12:31:42 -08:00
Moxie Marlinspike
de812d3f0f Extract string resources 2017-11-16 12:28:29 -08:00
Moxie Marlinspike
e37c06c563 Show dialog if another device registered with same number 2017-11-15 16:29:00 -08:00
Moxie Marlinspike
40caf20188 Make sure nav drawable is mutable before tinting 2017-11-14 10:50:17 -08:00
Moxie Marlinspike
405ee3b741 Improve search bar visibility 2017-11-14 10:50:17 -08:00
Moxie Marlinspike
bb878f8a67 Adjust Conversation List toolbar to match RecyclerView alignment 2017-11-14 10:50:17 -08:00
Moxie Marlinspike
3097c2855e Add empty state for conversation list 2017-11-14 10:50:17 -08:00
Moxie Marlinspike
90ff0e58b0 Update registration flow 2017-11-14 10:50:17 -08:00
Moxie Marlinspike
ad6ae10a41 Fix scaling issue when loading emoji sprites
Fixes #5973
// FREEBIE
2017-11-06 08:11:36 -08:00
Moxie Marlinspike
9a8d058051 Update to glide 4.3.0
// FREEBIE
2017-11-01 15:56:44 -07:00
Moxie Marlinspike
b80408bcb4 Use Glide for all contact photo caching
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
10f224ede5 Update to glide 4.x
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
17dd681dc8 Run all AsyncTasks on thread pool executor
Should Fix #7002
2017-10-23 13:03:32 -07:00
Moxie Marlinspike
4bd3094bad Fix problem where recycled group avatar icons have stale listener
Fixes #7089
// FREEBIE
2017-10-13 09:51:37 -07:00
Moxie Marlinspike
9fa4ba126b Fix non-collapsing layout when scrolled from horiz recyclerview
Fixes #7042
// FREEBIE
2017-10-08 17:36:35 -07:00
Moxie Marlinspike
99b2149deb Fixed avatar icons not rendering in contact selection view
// FREEBIE
2017-10-04 14:47:29 -07:00
Moxie Marlinspike
5ad7e3b48a Make avatar in conversation activity tappable
Fixes #7025
// FREEBIE
2017-10-04 14:04:04 -07:00
Moxie Marlinspike
ba849bce2c Add support for incognito keyboard preference
Closes #6985
// FREEBIE
2017-10-03 18:57:23 -07:00
Moxie Marlinspike
a929bf91f1 Show profile name in call screen
Fixes #7020
// FREEBIE
2017-10-03 13:29:49 -07:00
Moxie Marlinspike
893cf9c01d Add support for setting empty profile names
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
e5e0bc2333 Reorganize preference widgets
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
4828a8a274 Add conversation media photo rail to recipient preferences
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
a1c276f70b Update to V7 PreferencesCompat library
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
cb9bc9659b Support for read receipts
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
a39d9bf132 Fix for RTL layout detection crash on < API 17
Fixes #6987
// FREEBIE
2017-09-25 09:05:41 -07:00
Moxie Marlinspike
f3d943270c Be more conservative with handlers and references
Expiring message timers could end up leaking references and
executing work even after their conversation item was no longer
visible

Maybe fixes #6898

// FREEBIE
2017-09-09 23:46:48 -07:00
Moxie Marlinspike
afed60f870 Handle recipient modification callbacks on main thread
// FREEBIE
2017-09-08 11:36:09 -07:00
Moxie Marlinspike
d1790dfe17 Rename RecipientPreferences -> RecipientSettings
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
6924f0519e No need for a RecipientFactory any longer
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
e7c20499ec Display profile name in when appropriate
Display in conversation list, conversation actionbar, group
messages, and group members list when address is not in system
contacts

// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
77a216b705 Support for retrieving and storing profile information
Initial support for sharing profile keys

// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
375207f073 Switch MMS groups to use the group database infrastructure
Eliminate the concept of 'Recipients' (plural). There is now just
a 'Recipient', which contains an Address that is either an individual
or a group ID.

MMS groups now exist as part of the group database, just like push
groups.

// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
737810475e Remove the Canonical Address Database
This was a holdover from Signal's origins as a pure SMS app.
It causes problems, depends on undefined device specific behavior,
and should no longer be necessary now that we have all the
information we need to E164 all numbers.

// FREEBIE
2017-07-31 12:02:29 -07:00
AndHell
10de144b77 Trim message text to prohibit sending empty whitespace messages
Closes #6788
2017-07-12 18:15:49 -07:00
Moxie Marlinspike
c36db03a3a Prevent audio control click handler feedback loops
Fixes #6356
Fixes #6406
Fixes #6169

Closes #6800
// FREEBIE
2017-07-12 16:18:54 -07:00
Moxie Marlinspike
76c28cfa7a Add support for SN verification
// FREEBIE
2017-06-09 19:58:01 -07:00
Moxie Marlinspike
4dd5a92817 Fix for NPE when place picker name is unavailable
Fixes #6671
// FREEBIE
2017-05-24 10:03:35 -07:00
Moxie Marlinspike
757ccd0c36 Updated emoji set
Fixes #4279
Fixes #6587
2017-05-05 19:42:23 -07:00
Mateo Hernandez
a93fb1a0e5 Fix font size preference
Closes #6597
// FREEBIE
2017-04-28 14:51:56 -07:00
Mateo Hernandez
b17cba621e Show emoji-only messages larger
Closes #6531
// FREEBIE
2017-04-26 17:52:16 -07:00
Moxie Marlinspike
cb670d6783 Improve UI send latency
// FREEBIE
2017-04-26 10:27:30 -07:00
Moxie Marlinspike
31a549449b Mutate Drawables we tint
Fixes #6575
// FREEBIE
2017-04-24 16:37:13 -07:00
Moxie Marlinspike
8e7c7a9c54 Improve video thumbnail generation and handling on send side
For direct attach only

// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
2b79e131a7 Support for sending arbitrary file types
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
fe1cc3d6d1 Adjust compose field look
1) Align top of compose bubble with top of attach/send icon

2) Simplify hint

3) Make hint size same as input size

// FREEBIE
2017-04-15 10:12:00 -07:00
Moxie Marlinspike
f67eb5f9f3 Support for receiving arbitrary attachment types
// FREEBIE
2017-03-29 18:17:34 -07:00
RiseT
a41e82bb7d Make WebRtcCallScreen_new_safety_numbers_title singular
Closes #6364
// FREEBIE
2017-03-14 13:42:39 -07:00
Moxie Marlinspike
94964474b2 So long redphone
// FREEBIE
2017-03-14 13:24:24 -07:00
Moxie Marlinspike
cd28cd172f Refactor webrtc audio management
Attempts to:

1) Successfully play ringtone through speaker instead of earpiece
   when possible.

2) Manage bluetooth headset connectivity as well as possible

3) Eliminate notification sounds while in-call when possible

4) Make sure audio is correctly setup when receiving calls

Fixes #6271
Fixes #6248
Fixes #6238
Fixes #6184
Fixes #6169

// FREEBIE
2017-03-05 10:35:55 -08:00
Moxie Marlinspike
b27d829013 Extract some strings for localization
// FREEBIE
2017-02-20 13:59:23 -08:00
Moxie Marlinspike
1669731329 Support for using Signal without Play Services
This is now possible with beta calling, so non-GCM users are a
part of beta calling by default.

// FREEBIE
2017-02-20 12:00:03 -08:00
Moxie Marlinspike
4112f23f33 Remove item animations on conversation list recyclerview
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
1b1470aae2 Upgrade to EventBus 3.X
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
7d10560575 Workaround android SurfaceView bug
Fixes #6225
// FREEBIE
2017-02-16 13:01:45 -08:00
Moxie Marlinspike
f3e47f7b60 Support for minimized controls during video call
// FREEBIE
2017-02-11 20:48:42 -08:00
Moxie Marlinspike
d92cbfe305 More intelligent default behavior with speakerphone and wired headset
When video is enabled, speakerphone is now enabled unless
there's a wired headset.  If speakerphone is enabled and
a wired headset gets plugged in, speakerphone is disabled.
If video is enabled and a wired headset is removed, speakerphone
is enabled.

Fixes #6153
// FREEBIE
2017-02-03 12:01:03 -08:00
Moxie Marlinspike
9a93a8b28d Better support for building webrtc call view off of model
Fixes #6144
// FREEBIE
2017-02-02 18:46:34 -08:00
Moxie Marlinspike
ea0945d406 Beta support for webrtc video and voice calling
// FREEBIE
2017-02-01 13:55:52 -08:00
Moxie Marlinspike
dadc8d0183 Refactor "unnamed" group logic
// FREEBIE
2017-01-22 21:23:51 -08:00
Piotr Prucia
970448d43d Disable AudioView controls clicks when message is selected
Fixes: #5898
Closes #6054
2017-01-21 10:18:18 -08:00
Moxie Marlinspike
41c9bed155 ViewStub for EmojiDrawer
// FREEBIE
2017-01-19 11:47:02 -08:00
Moxie Marlinspike
bbb8ac113b Disable image keyboards for SDK < 5.0
Fixes #6045
// FREEBIE
2017-01-17 20:46:20 -08:00
Moxie Marlinspike
fd3d02d818 Fix typo
// FREEBIE
2017-01-12 12:26:50 -08:00
Veeti Paananen
25f9bef74c Display elapsed voice recording time in user language
Closes #6011
// FREEBIE
2017-01-12 11:49:47 -08:00
Veeti Paananen
4dae4444bc Fix right-to-left language support for voice recording
Bug: fixes #5999

// FREEBIE
2017-01-12 11:47:43 -08:00
Moxie Marlinspike
4ad989cc38 Fix rounded corners bitmap double free
Fixes #4732
// FREEBIE
2017-01-08 13:06:11 -08:00
Moxie Marlinspike
d280604f1f Fix compileSdk 25 problems with GIF search
For #5965
// FREEBIE
2017-01-07 11:02:18 -08:00
AsamK
7817e38e5f Fix crash when clicking on a gif image
For gif images, the dimensions is always null.

Closes #6021
//FREEBIE
2017-01-07 10:40:22 -08:00
Moxie Marlinspike
3861084ea2 Disable expiration menu on inactive group
Fixes #6007
// FREEBIE
2017-01-03 13:51:29 -08:00
Moxie Marlinspike
d2be49af42 Support for tiling image view and large image viewing
Fixes #5949
Fixes #5574
Fixes #4380
// FREEBIE
2017-01-02 17:17:48 -08:00
Moxie Marlinspike
a3019be7b6 Support for image keyboards
// FREEBIE
2017-01-02 17:17:48 -08:00
Moxie Marlinspike
71f8e9eb31 Revert support library update, the future wasn't all we hoped for
Fixes #5965
// FREEBIE
2016-12-18 19:06:39 -08:00
Moxie Marlinspike
4ff8de0ca8 Remove superfluous icon and padding that came with sdk 24
Fixes #5965
// FREEBIE
2016-12-17 15:52:27 -08:00
Moxie Marlinspike
a4c17e5325 Support for generating video thumbnails
// FREEBIE
2016-12-12 17:38:05 -08:00
Moxie Marlinspike
f7474362ff Updated emoji set
// FREEBIE
2016-12-12 17:37:27 -08:00
Moxie Marlinspike
1b44bdcd3c Support for stickers and scribbles
// FREEBIE
2016-12-12 17:37:00 -08:00
Moxie Marlinspike
8b342ee18b Support for "recent photos" thumbnailsabove attachment selector
// FREEBIE

Closes #5893
2016-11-27 19:37:31 -08:00
zaprice
794e2cb872 Do not disable multiline input when enter key sends
Fixes #5264
Closes #5783
2016-11-24 08:31:12 -08:00
Moxie Marlinspike
8af9b7fd15 Improve animations on audio controls, enable push to talk
// FREEBIE
2016-11-21 18:58:10 -08:00
Moxie Marlinspike
69d0242574 Giphy integration
// FREEBIE
2016-10-18 10:28:42 -07:00
Moxie Marlinspike
852634b294 Support for updated fingerprint format
// FREEBIE
2016-09-25 14:23:52 -07:00
FeuRenard
85ea7e1bf4 Preserve maxLength for EmojiEditText
Addresses #3388
Closes #5649
// FREEBIE
2016-09-14 16:37:28 -07:00
Christian Ascheberg
4242ae1b70 Resize fast scroller when keyboard is shown
Fixes #5487
Closes #5505
// FREEBIE
2016-08-31 19:29:21 -07:00
FeuRenard
5bf1707d60 Catch ActivityNotFoundExceptions
Fixes #3726
Closes #5617
// FREEBIE
2016-08-31 18:17:15 -07:00
Moxie Marlinspike
d7e4928f22 Support for disappearing messages
// FREEBIE
2016-08-28 17:03:23 -07:00
Mikhail Klementyev
716ed251bc Use gravity instead of calculations
For avoid freezes when trying to add an attachment

Fixes #5583
Closes #5601
// FREEBIE
2016-08-22 18:37:42 -07:00
Moxie Marlinspike
7b589c4300 TextSecure is now SignalService
// FREEBIE
2016-03-24 14:05:56 -07:00
Moxie Marlinspike
5ce4e5a630 Revert "Do not decrease compose hint font size"
This reverts commit bf806bd717.

Fixes #5297
// FREEBIE
2016-03-02 17:38:48 -08:00
Geonu Kang
ba960a82e2 Extract compose subhint for SIM name to string resource
Fixes #5304
Closes #5305
// FREEBIE
2016-03-02 12:46:59 -08:00
Andreas Fehn
bf806bd717 Do not decrease compose hint font size
Fixes #4903
Closes #5275
// FREEBIE
2016-02-22 11:49:21 -08:00
Brad Erickson
ca5bd84a67 Remove text emoji/kamoji using extended Unicode
The original text-emoji set in #5200 added a number of unicode
characters only available in newer versions of Android using the
Noto font set. This severely reduces the text-emoji set to be
compatible with older versions of Android using Roboto or Droid.

Fixes #5249
Closes #5265

// FREEBIE
2016-02-22 11:43:37 -08:00
Moxie Marlinspike
6da86e482d Support for dual-sim SMS/MMS functionality
Allow source selection for sending SMS/MMS, and display the
SIM that received SMS/MMS.

Fixes #555
Closes #5199
// FREEBIE
2016-02-09 16:53:15 -08:00
Brad Erickson
c1106d98dd Add 48 text-only emoji/emoticons/kaomoji
Grouped by western and eastern styles, then sorted roughly by emotion.
Happy->Joking->Flirting->Surprise->Worry->Sadness->Anger->Misc

Fixes #5191
Closes #5200
// FREEBIE
2016-02-09 15:47:15 -08:00
Brad Erickson
4c7d2d2c66 Fix text emoji pane font size and vertical align
Fixes #3426
Closes #5196
2016-02-08 17:45:11 -08:00
Moxie Marlinspike
4a261bcf68 Check result of bitmap size operation for failure
Fixes #5046
// FREEBIE
2016-01-30 15:22:55 -08:00
Moxie Marlinspike
524d06d033 Animate location button in
Fixes #5023
// FREEBIE
2016-01-04 13:07:36 -08:00
Moxie Marlinspike
759f9d8016 Support for location drafts
Fixes #4979
// FREEBIE
2016-01-04 13:02:22 -08:00
agrajaghh
759ecbc7b8 completely hide location button on API < 16
Closes #4964
// FREEBIE
2015-12-25 14:39:49 -08:00
Moxie Marlinspike
bcf95e50aa Support for location messages
Start with encoding as a simple image thumbnail for compatibility
with MMS and iOS

// FREEBIE
2015-12-24 07:47:25 -08:00
agrajaghh
4fa6680f83 RTL support
Closes #4916
Fixes #4714
2015-12-24 07:47:25 -08:00
Christian Ascheberg
4696837f2f warn user before build expires
Closes #4322
// FREEBIE
2015-12-10 05:04:03 -08:00
haffenloher
7c95adc7e6 Add delivery status icons to the conversation list
Closes #4710
2015-12-03 11:28:04 -08:00
Jake McGinty
b07003ae34 fix yakju JWR66Y front-camera misbehavior
fixes #4715
Closes #4738
// FREEBIE
2015-11-27 17:04:12 -08:00
Moxie Marlinspike
0a9f28c228 Fix rogue action button toggleing in contact selection
Fixes #4700
// FREEBIE
2015-11-27 15:46:40 -08:00
Jake McGinty
946c43940b add equals/hashCode to glide models
Closes #4737
// FREEBIE
2015-11-27 15:20:24 -08:00
Jake McGinty
b4e28e219b fix false camera captures
// FREEBIE
2015-11-26 07:24:56 -08:00
Jake McGinty
3a5d4e7ebe reset surface on camera pause
fixes #4657

// FREEBIE
2015-11-26 07:24:56 -08:00
Jake McGinty
3bfb123b33 fix selfie horizontal flip
Closes #4635
// FREEBIE
2015-11-26 07:24:56 -08:00
Moxie Marlinspike
885fc88aad Disable voice messages until iOS gets their act together
// FREEBIE
2015-11-23 11:47:54 -08:00
Moxie Marlinspike
2790128e9c Disable mic/camera on inactive group thread
Fixes #4653
Fixes #3334
// FREEBIE
2015-11-23 11:42:02 -08:00
Moxie Marlinspike
a4f7b78fd0 Make InputPanel fully responsible for emoji toggle
Fixes #4638
// FREEBIE
2015-11-23 11:42:02 -08:00
Moxie Marlinspike
fc5777e904 Manually encode voice messages to AAC with ADTS headers
Should resolve issues with platforms that don't support AMR (!).

Fixes #4640
Fixes #4652
Fixes #4647
// FREEBIE
2015-11-23 11:42:02 -08:00
Jake McGinty
a0beb7f0e0 scroll *all* the way
fixes #4664
closes #4695
// FREEBIE
2015-11-23 11:38:33 -08:00
Moxie Marlinspike
dc1b420fef Voice Note -> Voice Message
Fixes #4628
// FREEBIE
2015-11-20 10:25:08 -08:00
Moxie Marlinspike
e41f34729e Fix for voice message race conditions
Fixes #4625
// FREEBIE
2015-11-20 10:22:36 -08:00
Jake McGinty
4fe6256967 run Camera.startPreview() off main thread
Closes #4620
// FREEBIE
2015-11-20 08:15:24 -08:00
Moxie Marlinspike
bfe4ad6c34 Voice notes
Closes #4610
Closes #3563
// FREEBIE
2015-11-19 17:37:48 -08:00
Jake McGinty
4e8e8978f4 update camera preview strategy
// FREEBIE
2015-11-19 17:34:02 -08:00
Jake McGinty
61386e9ca9 more useful contact select headers
Closes #4608
// FREEBIE
2015-11-19 11:56:40 -08:00
Moxie Marlinspike
7c0bf0c871 Device provisioning
Closes #4553
// FREEBIE
2015-11-19 11:30:39 -08:00
agrajaghh
9201d50f05 let the quick camera remember front/back mode
fixes #4438
closes #4440

//FREEBIE
2015-11-19 10:30:26 -08:00
Jake McGinty
f82a7fee49 re-commit refactored CameraView
closes #4529
Confirmed fixed front-camera bug in Galaxy Nexus.

// FREEBIE
2015-11-19 10:30:26 -08:00
agrajaghh
c4339813e6 migrate to AppCompatDialog
closes #3222
2015-11-19 10:30:26 -08:00
Jake McGinty
dd0a952c83 avoid older android 9patch transparency bugs
// FREEBIE
2015-11-19 10:30:26 -08:00
Jake McGinty
fb8d6cb538 contact selection reeemix
1) RecyclerView-based, with better long scroller
   and more material-inspired look.
2) Add badge for Signal users to contact selection
   list.

// FREEBIE
2015-11-12 15:20:16 -08:00