238 Commits

Author SHA1 Message Date
Christian Ascheberg
bd2fc82360 always set LED notification
Closes #5654
// FREEBIE
2016-09-14 16:37:28 -07:00
Christian Ascheberg
a698477e10 don't play in-thread notification sound in priority mode
Fixes #3337
Closes #5439

// FREEBIE
2016-08-31 19:57:23 -07:00
FeuRenard
a370f086c0 Respect privacy settings on ticker content for Android <5
Fixes #5517
Closes #5592

// FREEBIE
2016-08-31 18:44:15 -07:00
Moxie Marlinspike
d7e4928f22 Support for disappearing messages
// FREEBIE
2016-08-28 17:03:23 -07:00
Moxie Marlinspike
7b589c4300 TextSecure is now SignalService
// FREEBIE
2016-03-24 14:05:56 -07:00
Moxie Marlinspike
08e2221dc0 Support for synchronizing read state to/from desktop
// FREEBIE
2016-02-19 17:07:41 -08:00
Christian Ascheberg
694e6064bd Add message notification task stack
Closes #4893
// FREEBIE
2016-02-10 16:08:26 -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
Christian Ascheberg
4049b997ee fix silent in-thread notification
Fixes #5090
Closes #5091
// FREEBIE
2016-01-27 12:19:46 -08:00
agrajaghh
ed592950c0 setting to disable notifications for new contacts
also mute these notifications between 23:00 and 09:00

fixes #4572
Closes #4926
2015-12-24 07:47:25 -08:00
PurplePlatypus
fe5e101463 Change TS Media message timestamp from received time to sent time
Fix #3525
Closes #3535
//FREEBIE
2015-12-10 05:04:03 -08:00
Moxie Marlinspike
81fa209910 Use Ringtone instead of MediaPlayer directly
(Copied from rhodey's PR)

Fixes #3340
Closes #3342

// FREEBIe
2015-12-10 05:04:03 -08:00
Moxie Marlinspike
3b80e35547 Display group info in message notifications
Fixes #1033
Fixes #2558
Closes #3020
// FREEBIE
2015-12-10 05:04:03 -08:00
char32
796decdb0f Switch from 'Contents Hidden' to 'New message'
Fixes #4004
Closes #4566
2015-11-26 08:07:31 -08:00
Moxie Marlinspike
72b9c37ec8 Mark muted messages as read when in thread
Fixes #3562
Closes #3643
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
d2f44f6584 Join attachments instead of running an asynchronous query.
No more SlideDeck futures, just SlideDecks.

// FREEBIE
2015-10-22 10:31:22 -07:00
Moxie Marlinspike
09e52834a6 Refactor "parts" to contain MMS/PDU madness to MMS code paths.
Closes #4248
// FREEBIE
2015-10-15 11:11:39 -07:00
Moxie Marlinspike
4044da849e Replace all strings containing 'TextSecure' with 'Signal'
// FREEBIE
2015-09-30 14:30:10 -07:00
Moxie Marlinspike
16e258bdbc Only schedule a reminder if it's an alerting notification.
// FREEBIE
2015-09-09 16:53:00 -07:00
Moxie Marlinspike
5ef65f039d Run notification reminder broadcast in an AsyncTask
Fixes #4016
// FREEBIE
2015-09-04 09:40:59 -07:00
Moxie Marlinspike
82b74e8ce7 Fix NPE on media message with no media.
Fixes #3921
// FREEBIE
2015-08-10 09:33:57 -07:00
Moxie Marlinspike
58fd6f9273 Actually play the default notification sound.
Fixes #3912
// FREEBIE
2015-08-07 12:52:32 -07:00
McLoo
716ed94ca1 Fix notification repeat
by adding an undeniable truth
Until now we use the reminderCount as threadId and
 afterwards we updateNotification with a repeat count of always 0

Fixes #3893
Closes #3896
2015-08-06 10:15:14 -07:00
Moxie Marlinspike
f8bb065ffd Support for images in notifications.
Closes #3859
Fixes #1858
// FREEBIE
2015-08-05 13:08:28 -07:00
Moxie Marlinspike
120cde9917 Support for notification privacy settings.
// FREEBIE
2015-08-05 13:06:37 -07:00
Moxie Marlinspike
3bac3c6263 Don't leak activity context to shortcut badger.
// FREEBIE
2015-07-22 12:24:41 -07:00
Moxie Marlinspike
90d5e9dccd Fix for double notification when locked.
Fixes #3702
// FREEBIE
2015-07-20 18:00:48 -07:00
Moxie Marlinspike
8d9ae731ef Only use MasterSecret for local message encryption.
Not for the axolotl store.

// FREEBIE
2015-07-16 11:15:56 -07:00
Moxie Marlinspike
13eed3baa7 Fix up wearable reply stuff a little.
1) Don't include MasterSecret in PendingIntents.

2) Correctly reply to non-push group threads, rather than
   just an individual in that group.

// FREEBIE
2015-07-08 13:13:49 -07:00
Christoph Haefner
f0b2cc5590 Added WearReplyReceiver 2015-07-08 12:55:46 -07:00
Moxie Marlinspike
4ea40b30a2 Switch to enum and theme type for MaterialColor.
// FREEBIE
2015-07-01 12:24:38 -07:00
Moxie Marlinspike
9bf7562d49 Use theme-defined weights instead of ThemeType.
// FREEBIE
2015-07-01 12:24:38 -07:00
Moxie Marlinspike
ce2f66ad17 Refactor colorization to support dark theme.
// FREEBIE
2015-07-01 12:24:38 -07:00
Moxie Marlinspike
7cdc26a8ba Shorten "mark as read" to "mark read" to make room in notification
// FREEBIE
2015-07-01 08:23:43 -07:00
Moxie Marlinspike
fb9f16ad29 Colorize conversations.
// FREEBIE
2015-06-27 19:43:18 -07:00
Moxie Marlinspike
64df85f3ee Refactor contact photo logic to not reuse drawables.
// FREEBIE
2015-06-27 19:43:18 -07:00
Moxie Marlinspike
2016fa315b Support for quick reply from notifications.
Fixes #483
Closes #3455
// FREEBIE
2015-06-24 18:30:55 -07:00
Moxie Marlinspike
2fb9806f36 Null check for corner case NPE.
Fixes #3441
// FREEBIE
2015-06-18 11:10:11 -07:00
Moxie Marlinspike
a11f6ea1e6 Don't signal on updates from muted threads.
Fixes #3393
// FREEBIE
2015-06-11 13:10:39 -07:00
Moxie Marlinspike
40af2a81db Support for per-recipient muting, blocking, and ringtones.
Fixes #757
Fixes #354
Fixes #222
Closes #1815
Closes #3378

// FREEBIE
2015-06-11 11:09:02 -07:00
Jake McGinty
fca98c42d5 fix Uri.parse NPE in notifier
Closes #3241
// FREEBIE
2015-05-22 14:14:42 -07:00
Rhodey Orbits
ee73883214 remove 'Media message:' prefix from MMS notification notification
Fixes #2928
Closes #3152

// FREEBIE
2015-05-14 10:23:32 -07:00
Moxie Marlinspike
e62528d3e2 Fix for lollipop notifications not rendering generated avatars.
// FREEBIE

Fixes #3120
Closes #3122
2015-05-07 16:34:17 -07:00
Moxie Marlinspike
41cad291f9 Display a generated avatar icon rather than a single default.
If the contact doesn't have an image, render a color-coded
background and the first letter of the contact's name.

1) Don't display anything during recipient resolution.

2) Display a # icon in material gray for recipients with no name.

3) Display a material group icon in material gray for groups with
   no avatar icon set.

Closes #3104

// FREEBIE
2015-05-07 10:36:54 -07:00
Christoph Haefner
424a463b21 Add notification functionality to Android Wear devices.
This should allow for Android Wear device- and Pebble-users to
easily mark an incoming message as read via the smartwatch.

http://developer.getpebble.com/blog/2014/12/19/Leverage-Android-Actionable-Notifications/

Closes #3010
2015-04-23 10:25:22 -07:00
agrajaghh
bcd9aa84d6 show message timestamp in the notification
Fixes #2632

Closes #2635
2015-04-22 11:44:48 -07:00
Carey Metcalfe
7724964a36 Correct the notification repeat interval
Switch to 2min from 10sec.

Closes #3002
2015-04-16 08:39:40 -07:00
Jake McGinty
64fc83326f bump sdk to 22, update notifications
Notification updates include:

1) Setting theme colors
2) Using high-res contact photos
3) Updating the notification icon to latest

Closes #2935
Fixes #2923
Fixes #2732
Fixes #2548

// FREEBIE
2015-04-16 08:38:31 -07:00
Jake McGinty
4a9028aedd only set non-null bitmaps for notifications
Fixes #2960
Closes #2979

// FREEBIE
2015-04-13 13:45:46 -07:00
Jake McGinty
34fa05cccc Fix multi-thread intents launching a conversation
Fixes #2877
Closes #2880

// FREEBIE
2015-04-03 14:48:38 -07:00
Jake McGinty
0ff99258ac move routing logic to all activities
Fixes #2239
Closes #27923

// FREEBIE
2015-04-01 10:23:05 -07:00
Rhodey Orbits
2011391e65 Fix notifications for media messages without text.
They now read 'media message' in italics.

Closes #2649
2015-03-12 17:30:23 -07:00
Moxie Marlinspike
5602a3dfc0 Update to latest version of libtextsecure for simplified interface.
1) Switch to new TextSecureAddress addressing, rather than mixing
   long-based recipient IDs into libtextsecure.

2) Get rid of RecipientFormattingException throws in calls to
   RecipientFactory.

Closes #2570
2015-03-03 12:25:09 -08:00
Jake McGinty
e8b947dfde Pass recipient ids, not recipient objects
Fixes #2233
// FREEBIE
2014-12-22 14:53:28 -08:00
Moxie Marlinspike
b7badec752 Switch to forked ShortcutBadger.
// FREEBIE
2014-12-12 11:49:48 -08:00
Moxie Marlinspike
df12174458 Add support for notification reminders.
// FREEBIE

Closes #1623
Fixes #323
2014-12-11 19:38:46 -08:00
Jabro
1d0c9536fc Support for ShortcutBadger
// FREEBIE

Closes #1574
Closes #1952

Fixes #1526
Fixes #321
2014-12-11 17:23:21 -08:00
agrajaghh
55ee288c36 Refactor notification for encrypted messages.
Closes #1184
2014-12-11 12:13:08 -08:00
Tal Hacohen
9ef1ea283b Fix notification display order.
Messages in notifications were showing in reverse order,
that is newest on top instead of newest at the bottom making
multiple messages hard to read.

Closes #1984
2014-11-30 08:35:51 -08:00
Moxie Marlinspike
99f42e2ee1 Move API around. 2014-11-12 15:21:32 -08:00
Moxie Marlinspike
a3f1d9cdfd Beginning of libtextsecure refactor.
1) Break out appropriate components.

2) Switch the incoming pipeline from SendReceiveService to
   the JobManager.
2014-11-12 15:21:32 -08:00
Veeti Paananen
19ae5043cc Add number of messages to the notification number attribute
Although not used by stock Android, many custom ROM's (and possibly OEM
versions?) have a setting to display the "number" count of a notification
overlayed on the status bar icon. Add support for this.

Closes #1637
2014-07-16 11:50:42 -07:00
Moxie Marlinspike
359fe280e8 Fix for broken build (*ahem* @phenx-de *ahem*) =)
// FREEBIE
2014-06-12 16:27:51 -07:00
3xo
339193af12 Give user the opportunity to chose no LED-notification. 2014-03-07 12:04:19 -08:00
Moxie Marlinspike
37a52df4e6 Fix bug that broke notifications for group messages. 2014-02-26 12:31:56 -08:00
Moxie Marlinspike
760c96171d Merge branch 'master' into groups 2014-02-18 13:53:35 -08:00
Moxie Marlinspike
0ace469d74 Support for multi-device.
1) In addition to the Recipient interface, there is now
   RecipientDevice.  A Recipient can have multiple corresponding
   RecipientDevices.  All addressing is done to a Recipient, but
   crypto sessions and transport delivery are done to
   RecipientDevice.

2) The Push transport handles the discovery and session setup
   of additional Recipient devices.

3) Some internal rejiggering of Groups.
2014-02-02 19:38:06 -08:00
Jake McGinty
2f01569e45 Revert "Don't stick thread IDs in the Intent extra data. Always mark all threads read from notification."
This reverts commit 91b52bed18e4b661eda5659ffa0b16bcaf84329a.
2014-01-18 18:25:51 -08:00
Moxie Marlinspike
c488947248 Merge pull request #453 from irv/master
Merge Fix issue #433
2014-01-07 20:08:53 -08:00
Moxie Marlinspike
fde8d32848 Subtle rebase conflicts... 2014-01-06 14:37:51 -08:00
Moxie Marlinspike
8f6590b738 Handle notifications and receiving push when locked. 2014-01-06 14:35:53 -08:00
Moxie Marlinspike
b8f663b69c Move common crypto classes into TextSecureLibrary.
1) Move all the crypto classes from securesms.crypto.

2) Move all the crypto storage from securesms.database.keys

3) Replace the old imported BC code with spongycastle.
2014-01-06 14:35:51 -08:00
Moxie Marlinspike
d7070e7ecf Inserted the Registration activity into initial setup flow.
1) Added push messaging toggle to preferences.

2) Added push messaging registration screen to setup flow.

3) Migrated rest of SharedPreferences accessors to
   TextSecurePreferences.
2014-01-06 14:30:03 -08:00
nicky g
a0c821f6ac set unread message count in notifications.
was not able to squash commit requesting new pull
2013-12-19 02:44:42 +05:30
Andy Irving
91b52bed18 Don't stick thread IDs in the Intent extra data. Always mark all threads read from notification. 2013-12-14 16:55:24 +00:00
Moxie Marlinspike
7489f3463a Change the way notifications work for non-default KitKat.
Messages that are not "secure" (encrypted or key exchange) are
automatically marked as read if TextSecure isn't the default
KitKat SMS app.

This change in functionality allows people who aren't using
TextSecure as a default SMS app on KitKat to still receive
notifications when they get incoming encrypted messages.
2013-12-07 11:03:25 -08:00
Andy Irving
7f44b029fe use PendingIntent.FLAG_UPDATE_CURRENT in calls to PendingIntent.getActivity() to avoid re-using the same extra data on every intent. 2013-12-03 21:48:16 +00:00
Gabe Conradi
e81756f443 Proper SMS support for KitKat. 2013-12-02 08:32:34 -08:00
Nikolai Rusakov
2cf7f82f07 closes #367 - add option to disable audible inthread notifications 2013-10-11 22:19:35 +00:00
Moxie Marlinspike
dda5bc8838 Add a 'mark as read' button to expanded notifications. 2013-05-30 12:39:56 -07:00
Moxie Marlinspike
01658cc454 Fix for notification preference regression 2013-05-06 14:07:28 -07:00
Moxie Marlinspike
7c47ea5cec Make MMS more asynchronous and consistent with new SMS types.
1) We now delay MMS notifications until a payload is received,
   or there's an error downloading the payload.  This makes
   group messages more consistent.

2) All "text" parts of an MMS are combined into a second text
   record, which is stored in the MMS row directly rather than
   as a distinct part.  This allows for immediate text loading,
   which means there's no chance a ConversationItem will resize.

   To do this, we need to include MMS in the big DB migration
   that's already staged for this application update.  It's also
   an "application-level" migration, because we need the MasterSecret
   to do it.

3) On conversation display, all image-based parts now have their
   thumbnails loaded asynchronously.  This allows for smooth-scrolling.
   The thumbnails are also scaled more accurately.
2013-05-06 08:40:55 -07:00
Moxie Marlinspike
dd0aecc811 First cut at group messaging refactor. 2013-05-06 08:40:55 -07:00
Moxie Marlinspike
83e260436b Major storage layer refactoring to set the stage for clean GCM.
1) We now try to hand out cursors at a minimum.  There has always been
   a fairly clean insertion layer that handles encrypting message bodies,
   but the process of decrypting message bodies has always been less than
   ideal.  Here we introduce a "Reader" interface that will decrypt message
   bodies when appropriate and return objects that encapsulate record state.

   No more MessageDisplayHelper.  The MmsSmsDatabase interface is also more
   sane.

2) We finally rid ourselves of the technical debt associated with TextSecure's
   initial usage of the default SMS DB.  In that world, we weren't able to use
   anything other than the default "Inbox, Outbox, Sent" types to describe a
   message, and had to overload the message content itself with a set of
   local "prefixes" to describe what it was (encrypted, asymetric encrypted,
   remote encrypted, a key exchange, procssed key exchange), and so on.

   This includes a major schema update that transforms the "type" field into
   a bitmask that describes everything that used to be encoded in a prefix,
   and prefixes have been completely eliminated from the system.

   No more Prefix.java

3) Refactoring of the MultipartMessageHandler code.  It's less of a mess, and
   hopefully more clear as to what's going on.

The next step is to remove what we can from SmsTransportDetails and genericize
that interface for a GCM equivalent.
2013-05-06 08:40:55 -07:00
Moxie Marlinspike
5bf5b404a1 Fix for notification NPE on unknown sender. 2013-02-20 20:44:38 -08:00
Moxie Marlinspike
5eb04328d3 Improve passphrase and onboarding UI. Abstract out routing.
1) Update the create, prompt, and change passphrase activities.
   They are no longer dialog themed, and should look a little
   less ugly.

2) Update the import DB activity to be less ugly and more robust.

3) Abstract all of the state handling stuff out of
   ConversationListActivity.  This is now handled by RoutingActivity,
   which all launch intents move through.
2013-02-17 15:09:01 -08:00
Moxie Marlinspike
471ef16a5b Support for robust delivery.
1) If a message fails to be delivered, post a notification in the
   status bar if that thread is not active and visible.

2) If a message fails to be delivered because there is no service,
   keep retrying every time service becomes available again.
2013-02-09 15:17:55 -08:00
Moxie Marlinspike
0a8c62e0e3 Include incoming message body in notifications.
1) Refactor the master secret reset logic to properly interact with
   services.

2) Add support for "BigText" and "Inbox" style notifications.

3) Decrypt message bodies when unlocked, display 'encrypted' when
   locked.
2013-02-08 16:27:43 -08:00