3456 Commits

Author SHA1 Message Date
Mikunj
f6b039ee77 Disabled unused permissions 2019-10-31 16:09:29 +11:00
Mikunj
bdc0ed36eb Process public chat messages in a background thread and not the promise thread. 2019-10-31 13:20:07 +11:00
Mikunj
d7571d237a Skip friend request handling if we received a group message. 2019-10-31 12:12:20 +11:00
Mikunj
31ad7a40de Stop main thread from being blocked.
Refactoring.
2019-10-31 11:36:52 +11:00
Mikunj
4072f506b5 Oops. 2019-10-30 15:53:23 +11:00
Mikunj
15f7e5ab37 Don't send an empty message body when sending a background message. 2019-10-30 10:56:17 +11:00
Mikunj
359363184a More cleanup. 2019-10-30 10:13:19 +11:00
Mikunj
7ff7c36e27 Cleanup code. 2019-10-30 09:59:11 +11:00
Mikunj
3298d665e9 Fix note to self message syncing.
Don't send messages if we're sending to ourselves, instead we just send a regular sync message.
2019-10-29 14:29:09 +11:00
Mikunj
10ec395915 Correctly update UI when an outgoing friend request is accepted from a secondary device. 2019-10-29 12:13:22 +11:00
Mikunj
9ea2a6c8e4 More fixes for friend request UI for multi device.
Remove old FR pending states on new incoming friend request.
Always update the last friend request message state and not a new message.
2019-10-29 11:27:08 +11:00
Mikunj
09f5f50af4 Don't render friend requests if we are already friends with a users linked device. 2019-10-29 10:06:01 +11:00
Mikunj
26800cba82 Send a background message to all devices upon manually accepting a friend request. 2019-10-25 15:21:19 +11:00
Mikunj
efad14fcdc Message syncing. 2019-10-25 14:08:30 +11:00
Mikunj
98cfd93b97 Enable note to self.
Fix note to self crashing.
2019-10-24 15:38:13 +11:00
Mikunj
bb0ac32540 Correctly reset prekeys for linking. 2019-10-24 14:17:12 +11:00
Mikunj
94a9303d7a Fix multi-device ui 2019-10-24 13:35:14 +11:00
Mikunj
24ae0c640b Handle friend requests correctly. 2019-10-24 12:17:58 +11:00
Niels Andriesse
9fc43cb16d Enable incognito keyboard by default 2019-10-24 10:38:51 +11:00
Mikunj
1c1685ae9d Fix multidevice.
Fix authorisation grant not being sent.
2019-10-24 10:30:53 +11:00
Mikunj
d58364c9b0 Disable input if we have a pending request to any other linked device and we're not friends with any of them 2019-10-23 15:31:58 +11:00
Mikunj
f24b191164 Re-enable multi-device 2019-10-23 15:31:58 +11:00
Mikunj
21e529c6c9 Forward messages from secondary devices to primary device. 2019-10-23 15:31:58 +11:00
Niels Andriesse
bc750964a8 Fix Giphy link previews 2019-10-23 11:55:17 +11:00
Niels Andriesse
4aa1eed979 Debug 2019-10-22 10:09:46 +11:00
Niels Andriesse
17ee4bf7a8 Ditch temporary link preview setup 2019-10-22 09:46:47 +11:00
Niels Andriesse
2d28707687 Switch over to new link preview system 2019-10-22 09:39:42 +11:00
Mikunj
0421794b41 Limit upload retries. 2019-10-22 08:41:57 +11:00
Niels Andriesse
6d0858cf35 Limit allowed characters in display names 2019-10-21 16:28:05 +11:00
Niels Andriesse
f7e01688b0 Disable device linking for now 2019-10-21 15:35:52 +11:00
Niels Andriesse
a978253e00 Fix indentation 2019-10-21 15:26:57 +11:00
Mikunj
e438d09a62 Update attachments for public group chats. 2019-10-21 13:49:38 +11:00
Mikunj
b12e6b838c Disable attachments on non-friends. 2019-10-18 16:12:49 +11:00
Mikunj
8d6094ecd6 Fix crash when viewing media 2019-10-18 15:16:41 +11:00
Mikunj
fd9f1b712f Get attachment logic to work. 2019-10-18 12:47:44 +11:00
Mikunj
c6f5adb447 Update attachments to use url. 2019-10-17 12:03:08 +11:00
Mikunj
c8238df8ff Update checks to isFromUnkownContact. 2019-10-16 14:32:10 +11:00
Niels Andriesse
a5b543c43c Move add public chat button to home screen 2019-10-15 16:19:00 +11:00
Niels Andriesse
c2d4f4b58d Fix mentions bug 2019-10-15 16:07:34 +11:00
Niels Andriesse
cbad885586 Add missing display name update & message fetch 2019-10-15 16:06:38 +11:00
Niels Andriesse
4a613df52d Clean 2019-10-15 14:32:23 +11:00
Niels Andriesse
65f95839d9 Fix build 2019-10-15 13:51:18 +11:00
Niels Andriesse
08a1b0e947 Merge branch 'dev' of github.com:loki-project/loki-messenger-android into custom-server 2019-10-15 13:42:44 +11:00
Niels Andriesse
a8c4fa22a3 Partially fix build 2019-10-15 13:39:17 +11:00
Niels Andriesse
e423ec8848 Change mentions approach 2019-10-11 16:37:28 +11:00
Mikunj
2f18c5bad2 Merge branch 'dev' into custom-server
# Conflicts:
#	src/org/thoughtcrime/securesms/loki/DisplayNameActivity.kt
2019-10-11 15:40:09 +11:00
Mikunj
4657b79179 UI improvements. 2019-10-11 15:38:15 +11:00
Niels Andriesse
ca9032e109 Quick fix crash 2019-10-11 14:59:13 +11:00
Niels Andriesse
0f364fcea7 Render mentions in previews & refactor 2019-10-11 14:41:43 +11:00
Niels Andriesse
48d282a864 Require the user to pick a display name 2019-10-11 13:37:56 +11:00
Niels Andriesse
b425929da6 Render mentions in replies 2019-10-11 13:24:20 +11:00
Niels Andriesse
57bbad6fab Debug 2019-10-11 12:02:02 +11:00
Mikunj
b676c25930 Add UI 2019-10-11 11:53:53 +11:00
Niels Andriesse
18eb3449ca Debug 2019-10-11 11:42:01 +11:00
Niels Andriesse
7ea349ff00 Mention by display name rather than hex encoded public key 2019-10-11 11:13:34 +11:00
Mikunj
13d42f542c Added public chat manager.
Replace hard coded public chat server with dynamic one.
2019-10-11 09:36:52 +11:00
Niels Andriesse
3d78dac65c Ensure that mention behavior is consistent cross-platform 2019-10-10 16:29:58 +11:00
Niels Andriesse
f0224f8ec6 Debug 2019-10-10 15:30:34 +11:00
Niels Andriesse
871f629e64 Debug 2019-10-10 15:00:14 +11:00
Niels Andriesse
25f1405512 Show user selection view dynamically 2019-10-10 14:44:08 +11:00
Niels Andriesse
9207e479a6 Implement user selection view 2019-10-10 13:53:02 +11:00
Mikunj
8b92932b6d Added database functionality. 2019-10-10 11:03:51 +11:00
Niels Andriesse
25bd1073b0 Pre-populate user ID cache as needed 2019-10-10 10:39:56 +11:00
Niels Andriesse
5901967eee Implement mention rendering 2019-10-10 09:42:40 +11:00
Niels Andriesse
ac9c9f534e Somewhat simplify device linking UI 2019-10-08 14:28:30 +11:00
Niels Andriesse
a44c3fcd57 Clean 2019-10-08 14:10:16 +11:00
Niels Andriesse
bf958fffe1 Partially disable settings for slave devices 2019-10-08 12:17:25 +11:00
Niels Andriesse
d0e5ddfe3f WIP 2019-10-08 10:43:09 +11:00
Niels Andriesse
a6441005ea Merge branch 'multi-device' of github.com:loki-project/loki-messenger-android into multi-device 2019-10-08 10:39:05 +11:00
Niels Andriesse
95695ff88e Clean up seed step 2019-10-08 10:38:22 +11:00
Mikunj
98498a66aa Fix receiving multiple of the same authorisations at once causing us to delete prekeybundles for the user. 2019-10-08 10:11:46 +11:00
Niels Andriesse
79ec4553aa Clean 2019-10-07 16:53:26 +11:00
Niels Andriesse
c8a90ced19 Add missing event 2019-10-07 16:22:13 +11:00
Niels Andriesse
742d9bfa46 Partially implement feedback 2019-10-07 16:15:06 +11:00
Niels Andriesse
19ec4db687 Update for core changes 2019-10-07 15:30:20 +11:00
Mikunj
4f46c6317b Renaming. 2019-10-07 13:28:53 +11:00
Mikunj
dbd8133926 Merge branch 'dev' into multi-device-integration
# Conflicts:
#	src/org/thoughtcrime/securesms/loki/SeedActivity.kt
2019-10-07 12:21:04 +11:00
Mikunj
a2e9271050 Hide link device preference if we're a secondary device. 2019-10-07 12:19:08 +11:00
Niels Andriesse
53a32cf418 Add missing event 2019-10-07 11:16:02 +11:00
Niels Andriesse
33798c6a17 Match iOS analytics 2019-10-07 10:52:59 +11:00
Mikunj
da67bfab4c Multi-device sending typing and receipt messages. 2019-10-07 10:32:45 +11:00
Mikunj
0bfa3c33c7 Multi-device sending media message 2019-10-07 10:14:38 +11:00
Niels Andriesse
4f58bc11a1 Update for new username API 2019-10-07 10:06:19 +11:00
Mikunj
8a3b4a6a14 Refactor. 2019-10-07 09:44:43 +11:00
Mikunj
fb3967db55 Multi-device sending text messages. 2019-10-04 16:29:51 +10:00
Mikunj
8e495d087b Fix bugs in multi device pairing. 2019-10-03 16:02:22 +10:00
Mikunj
be9afa243c Fix auto accept friend request logic. 2019-10-03 10:05:50 +10:00
Mikunj
be55e1bb55 Fixed multi device database primary key allocation. 2019-10-02 16:26:03 +10:00
Mikunj
e07d8ddb52 Fix ui not being dismissed on message send failure.
Fix prekey bundle not being sent with the device pairing request.
2019-10-02 15:28:36 +10:00
Mikunj
72059328b3 Show toast if message sending failed.
Added resetting
2019-10-02 13:15:25 +10:00
Mikunj
373b9b38f6 Moved pairing logic into dialog.
Refactor.
2019-10-02 10:24:08 +10:00
Mikunj
80e9b8223a Hooked up dialog ui 2019-10-01 15:35:52 +10:00
Mikunj
258ad57c12 Merge branch 'dev' into multi-device-integration 2019-10-01 14:44:16 +10:00
Niels Andriesse
9f7437aa9e Implement device linking dialog 2019-10-01 12:21:38 +10:00
Niels Andriesse
d8e86a5e42 WIP 2019-09-30 16:41:53 +10:00
Niels Andriesse
e77ee30c9b Implement device linking dialog skeleton 2019-09-30 16:22:12 +10:00
Niels Andriesse
0f6a7e88b6 Match iOS design changes 2019-09-30 15:38:07 +10:00
Niels Andriesse
132b59347a Fix build 2019-09-30 14:21:21 +10:00
Mikunj
dde4ee6e36 Merge branch 'dev' into multi-device-integration 2019-09-30 12:21:04 +10:00
Mikunj Varsani
c546df0227
Merge pull request #30 from loki-project/public-chat-fix
Public chat message signing
2019-09-30 12:19:32 +10:00
Mikunj Varsani
c70de8c569
Merge pull request #23 from loki-project/bug-fix
Correctly show quote author name in group chats.
2019-09-30 12:04:57 +10:00
Mikunj
53ae775af8 Update LokiMessageDatabase. 2019-09-26 13:44:57 +10:00
Mikunj
10c1a9cced Added linking in the ui. 2019-09-26 11:19:36 +10:00
Mikunj
7d1883cfd2 Trigger event when authorisation is accepted. 2019-09-26 10:04:21 +10:00
Mikunj
0b49d7ae0d Fix crashing during start. 2019-09-25 15:08:01 +10:00
Mikunj Varsani
203348b8fb Update device mappings on the file server upon receiving a pairing confirmation. 2019-09-24 16:06:19 +10:00
Mikunj Varsani
8acc0bcff9 Auto accept friend requests if we're friends with the primary device. 2019-09-24 15:02:23 +10:00
Mikunj Varsani
d51c62ecaf Moved LokiMultiDeviceDatabase into LokiAPIDatabase. 2019-09-24 13:33:42 +10:00
Mikunj
90ee676a53 Hookup receiving logic. 2019-09-23 15:38:00 +10:00
Mikunj
901d627d32 Linked storage api and database. 2019-09-23 11:28:17 +10:00
Niels Andriesse
c1c374407f Improve performance 2019-09-19 15:00:52 +10:00
Niels Andriesse
3a257d745b Debug 2019-09-19 14:06:54 +10:00
Mikunj
ff65d4e342 Added Database. 2019-09-19 12:52:37 +10:00
Niels Andriesse
96dadbaaa8 Handle media message friend requests 2019-09-18 17:33:34 +10:00
Niels Andriesse
14508971ed Fix app preview UI 2019-09-18 15:40:18 +10:00
Niels Andriesse
6bf90d7d5d Fix crash 2019-09-18 14:49:08 +10:00
Niels Andriesse
cc7f93688f Fix message ordering 2019-09-18 14:43:02 +10:00
Niels Andriesse
8a16fd2a97 Only record crashes in release mode 2019-09-18 13:56:50 +10:00
Niels Andriesse
cad37f29e7 Fix link previews 2019-09-18 12:13:02 +10:00
Niels Andriesse
9b2a90639d Switch onboarding seed step and display name step 2019-09-18 11:57:46 +10:00
Niels Andriesse
88dbeddb04 Set LokiGroupChatAPI.isDebugMode as needed 2019-09-18 11:38:08 +10:00
Niels Andriesse
a8460b3aac Fix build 2019-09-18 10:04:36 +10:00
Niels Andriesse
a78b8a77b6 Clean 2019-09-18 10:00:18 +10:00
Niels Andriesse
74dfac6fd1 Implement GIF sending 2019-09-17 11:46:47 +10:00
Niels Andriesse
df36d5e539 Handle case where GIF fetch fails 2019-09-17 10:36:34 +10:00
Mikunj
e5d82b325d Fix GIFs 2019-09-17 09:57:23 +10:00
Niels Andriesse
bdb950373a Partially implement GIFs 2019-09-16 16:11:07 +10:00
Mikunj
3dba87198a Fix messages infinitely sending.
This was because signal infinitely tries to send message on network errors. Since we already have retrying built into the loki api we just disable this behaviour and set a cap of 3 on PushSendJobs incase.
2019-09-13 11:56:36 +10:00
Niels Andriesse
db320be3f0 Debug moderator tags 2019-09-13 09:22:36 +10:00
Niels Andriesse
b67efcf2ab Implement moderator tags 2019-09-12 16:42:52 +10:00
Niels Andriesse
7cc7f907fe Implement copy public key action for group chats 2019-09-12 14:10:04 +10:00
Niels Andriesse
7cf543bdf8 Fix typo 2019-09-12 12:06:45 +10:00
Niels Andriesse
cbb7f9827c Include public key with display names 2019-09-12 11:52:03 +10:00
Mikunj
28b8d080c4 Correctly show quote author name in group chats. 2019-09-12 11:08:45 +10:00
Niels Andriesse
52b55652c8 Clean 2019-09-12 09:59:15 +10:00
Niels Andriesse
3b242e7435 Merge branch 'dev' of github.com:loki-project/loki-messenger-android into bug-fixes
# Conflicts:
#	src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java
2019-09-12 09:46:12 +10:00
Niels Andriesse
f3dc4f51e1 Fix group chat quote display name 2019-09-11 16:36:02 +10:00
Niels Andriesse
f3c4098f14 Disallow quoting multiple messages simultaneously 2019-09-11 16:28:07 +10:00
Niels Andriesse
88a5b7a87f Implement quotes in group chats 2019-09-11 15:52:32 +10:00
Mikunj
caff6e1da4 Fix notification edge case 2019-09-11 09:29:29 +10:00
Mikunj
aa560b60a9 Stop pollers once leaving group chats. 2019-09-11 09:29:29 +10:00
Mikunj
a683c3fa90 Disable notification triggers on group messages. 2019-09-11 09:29:29 +10:00
Mikunj
c738f810b5 Fix constant group update notifications being shown 2019-09-11 09:29:29 +10:00
Mikunj
9d8de789d7 Fixed link preview messages not being deleted in group chats. 2019-09-11 09:29:29 +10:00
Niels Andriesse
f209784648 Fix QR code UI issue 2019-09-10 16:12:16 +10:00
gmbnt
0948156ddf
Merge pull request #21 from loki-project/profile-icons
Jazz Icons
2019-09-10 13:51:18 +10:00
Niels Andriesse
fd389a637a Clean 2019-09-10 13:50:59 +10:00
Niels Andriesse
1859a22419 Debug 2019-09-10 11:09:31 +10:00
Niels Andriesse
01945c16b7 Fix link previews for group conversations 2019-09-10 10:27:45 +10:00
Niels Andriesse
fc2f70cb85 Hide link preview cancel button 2019-09-10 09:56:53 +10:00
Niels Andriesse
869c06e71a Clean 2019-09-10 09:52:43 +10:00
Niels Andriesse
e109df7525 Implement link previews for group conversations 2019-09-09 16:31:28 +10:00
Niels Andriesse
9d76b8bdf7 Clean 2019-09-09 16:04:06 +10:00
Niels Andriesse
66c2e0d448 Debug 2019-09-09 16:02:25 +10:00
Niels Andriesse
50ab79673a Clean up link preview UI 2019-09-09 15:04:29 +10:00
Niels Andriesse
d1c1083751 Refactor 2019-09-09 14:30:02 +10:00
Niels Andriesse
1d5a31aae4 Implement link previews for regular conversations 2019-09-09 13:53:23 +10:00
Mikunj
7c6c551b32 Fix order of execution. 2019-09-09 13:20:59 +10:00
Mikunj
842be4378a Show correct names on public chats. 2019-09-09 13:01:54 +10:00
Mikunj
7ff27b572f Fix identicons for public chats 2019-09-09 13:01:54 +10:00
Mikunj
e054740ce0 Disable identicon generation for groups. 2019-09-09 13:01:54 +10:00
Mikunj
9e3a6ce977 Added Identicon 2019-09-09 13:01:54 +10:00
Niels Andriesse
387f99cd94 Fix link preview image rendering 2019-09-09 10:49:20 +10:00
Niels Andriesse
83742a0fc2 Set up Crashlytics 2019-09-06 14:00:36 +10:00
Niels Andriesse
6341ca0101 Add basic events 2019-09-05 09:38:36 +10:00
Niels Andriesse
e346a45d99 Set up Mixpanel 2019-09-04 16:44:19 +10:00
Niels Andriesse
b72e5c4c6a Fix group chat restoration 2019-09-04 11:11:48 +10:00
Niels Andriesse
4efe8fb040 Clean 2019-09-04 10:02:42 +10:00
Niels Andriesse
9bd4a9e542 Fix indentation 2019-09-03 16:05:21 +10:00
Niels Andriesse
1042ed7a14 Fix moderation 2019-09-03 16:02:06 +10:00
Niels Andriesse
208eda8568 Fix menu option visibility 2019-09-03 15:17:14 +10:00
Niels Andriesse
9ff7f2a8e0 Implement public chat message deletion 2019-09-03 14:48:07 +10:00
Niels Andriesse
f4bcb285af Integrate group chat moderation API 2019-09-02 16:42:08 +10:00
Niels Andriesse
7273eb2774 Switch to new group chat message deletion endpoint 2019-08-30 17:08:46 +10:00
Niels Andriesse
c5428d7267 Clean up lock screen UI 2019-08-30 10:24:39 +10:00
Niels Andriesse
754e73e241 Fix crash 2019-08-29 10:21:23 +10:00
Niels Andriesse
517d4e94c5 Clean 2019-08-28 16:07:20 +10:00
Niels Andriesse
68ca131d22 Merge branch 'dev' of github.com:loki-project/loki-messenger-android into dev 2019-08-28 15:17:54 +10:00
Niels Andriesse
386b219076 Disable input bar for RSS feeds 2019-08-28 15:17:43 +10:00
Niels Andriesse
2f7e4e2bd2 Fix RSS feed URL formatting 2019-08-28 14:39:14 +10:00
Niels Andriesse
85373e7643 Implement RSS feeds 2019-08-28 14:19:08 +10:00
Niels Andriesse
f6c1a3ef9c Update for core changes 2019-08-28 12:09:05 +10:00
Niels Andriesse
fb8104cd18 Lower deletion polling interval 2019-08-27 12:25:09 +10:00
Niels Andriesse
1ce8268445 Add missing database migration 2019-08-26 15:58:31 +10:00
Niels Andriesse
0c4ea32269 Debug 2019-08-26 15:32:02 +10:00
Niels Andriesse
a2a74fddcd Keep track of first message ID 2019-08-26 13:55:45 +10:00
Niels Andriesse
c5e4a2255c Update for core changes 2019-08-26 13:24:49 +10:00
Niels Andriesse
3f24f8753a Poll for deleted group chat messages 2019-08-26 13:04:12 +10:00
gmbnt
42dec85884
Merge pull request #12 from loki-project/group-chat
Public chat auth
2019-08-23 16:58:02 +10:00
Niels Andriesse
a3a3c379e0 Clean 2019-08-23 16:57:26 +10:00
Mikunj
51646c98c8 Added database to store public chat tokens. 2019-08-23 16:09:05 +10:00
Niels Andriesse
3ae087bb88 Fix copy 2019-08-23 15:15:32 +10:00
Niels Andriesse
d831274920 Clean 2019-08-23 13:22:52 +10:00
Niels Andriesse
5d34314a00 Implement QR code scanning 2019-08-23 11:46:28 +10:00
Niels Andriesse
f3377fe384 Add show QR code button to settings 2019-08-23 11:00:07 +10:00
Niels Andriesse
67b7a1d8c2 Disable typing indicators in group chats 2019-08-23 09:41:35 +10:00
Niels Andriesse
88403024eb Clean 2019-08-21 14:53:14 +10:00
Niels Andriesse
43f34b259b Fix LokiGroupChatPoller bug 2019-08-21 11:04:05 +10:00
Niels Andriesse
313acacedf Guard against invalid seeds 2019-08-21 09:50:03 +10:00
Niels Andriesse
feb6cfdecb Fix ANR 2019-08-19 16:33:56 +10:00
Niels Andriesse
ae54c641a9 Update for seed changes 2019-08-19 15:34:21 +10:00
Niels Andriesse
24a03cd5bc Disable notifications for group chats 2019-08-19 11:08:56 +10:00
Niels Andriesse
e093655ea3 Fix message ordering 2019-08-19 10:40:40 +10:00
Niels Andriesse
a3cb8eb969 Re-enable group chats 2019-08-19 10:37:17 +10:00
Niels Andriesse
342bd797b8 Fix identicon crash 2019-08-19 09:21:18 +10:00
Niels Andriesse
21fc47d7bf Prepare for release 2019-08-09 14:00:54 +10:00
Niels Andriesse
8a6559b1fe Disable group updates for now 2019-08-09 13:43:55 +10:00
Niels Andriesse
67889489e9 Fix missing message body 2019-08-09 13:03:41 +10:00
Niels Andriesse
eb9537f1c1 Make group chats a bit more future proof 2019-08-09 12:00:01 +10:00
Niels Andriesse
717a28a446 Fix missing message ID & update for core changes 2019-08-09 10:11:30 +10:00
Niels Andriesse
04aa7db499 Use alternative approach for group message sending 2019-08-08 17:24:00 +10:00
Niels Andriesse
2c3e67e062 Disable deleting and replying to messages in Loki public chat 2019-08-08 14:25:09 +10:00
Niels Andriesse
2249bf1edb Fix message spacing 2019-08-08 11:47:21 +10:00
Niels Andriesse
5936c16c47 Debug merge issues 2019-08-08 11:29:40 +10:00
Niels Andriesse
1822e87f7c Merge Signal 4.41.0 2019-08-07 16:48:54 +10:00
Niels Andriesse
781a8500df Clean 2019-08-07 15:24:05 +10:00
Niels Andriesse
a900c389bc Implement group message sending 2019-08-07 15:13:44 +10:00
Niels Andriesse
6144d6cad2 Lower background polling interval 2019-08-07 14:57:24 +10:00
Niels Andriesse
6d13b49ed1 Copy public key to clipboard on settings header long press 2019-08-07 12:40:33 +10:00
Niels Andriesse
a5a6631fb5 Quick fix quoting issue 2019-08-07 12:13:14 +10:00
Niels Andriesse
7602b973a9 Show loader while accept friend request message is sending 2019-08-07 12:00:12 +10:00
Niels Andriesse
f2ddc2a235 Disable unused permissions 2019-08-07 09:42:12 +10:00
Niels Andriesse
8962487ad9 Reduce group chat poll interval 2019-08-06 16:26:11 +10:00
Niels Andriesse
9e4b70058c Actively poll public chat group if the app is in the foreground 2019-08-06 16:18:24 +10:00
Niels Andriesse
149d4b0181 Disable unwanted menu options 2019-08-06 15:43:47 +10:00
Niels Andriesse
6eea8c9aa4 Merge branch 'master' into dev 2019-08-06 14:28:52 +10:00
Niels Andriesse
90056fe670 Disable experience upgrade prompts 2019-08-06 13:20:45 +10:00
Niels Andriesse
8ad0069fec Fix group message UI 2019-08-06 10:22:05 +10:00
Niels Andriesse
3a5f5a9a41 Fix ratcheting bug 2019-08-06 09:46:43 +10:00
Niels Andriesse
93b7472e25 WIP 2019-08-05 16:32:05 +10:00
Niels Andriesse
787b74ad1f Set up public chat as needed 2019-08-05 13:26:30 +10:00
Niels Andriesse
8caaee7b43 Catch key pair restoration errors 2019-08-01 09:26:06 +10:00
Niels Andriesse
fcb5cbb74d Fix threading issue 2019-07-26 16:16:40 +10:00
Niels Andriesse
97b25507d2 Partially fix background message issue 2019-07-26 15:17:12 +10:00
Niels Andriesse
a7b49d2ce5 Revert back to old background message strategy 2019-07-26 12:20:55 +10:00
Niels Andriesse
a3a757c3ef Disable quick reply for now 2019-07-25 10:40:57 +10:00
Niels Andriesse
7598830a1b Fix quote messages & friend request handling 2019-07-24 15:05:39 +10:00
gamabuntan
4374a902be
Merge pull request #2 from loki-project/friend-request-handling
Friend Request Handling V2
2019-07-24 12:49:00 +10:00
Niels Andriesse
b3d76bfd28 Clean 2019-07-24 12:48:42 +10:00
Niels Andriesse
0ef0140b0d Update package 2019-07-24 12:30:23 +10:00
Mikunj
1d7cb0d5bb Updated friend request handling. 2019-07-24 12:18:45 +10:00
Niels Andriesse
fe16a90741 Clean up splash screen 2019-07-24 10:09:02 +10:00
Niels Andriesse
1b7a04ab50 Update notification & app switcher icon 2019-07-24 09:51:09 +10:00
Niels Andriesse
a925b17419 Fix session handling 2019-07-23 16:02:25 +10:00
Niels Andriesse
ecd60b8723 Clean 2019-07-22 16:46:03 +10:00
Niels Andriesse
6d521e4227 Send session reset request acknowledgement if needed 2019-07-22 16:22:40 +10:00
Niels Andriesse
9be8d75773 Refactor 2019-07-22 15:11:38 +10:00
Niels Andriesse
06e8d20da4 Refactor 2019-07-22 14:25:59 +10:00
Niels Andriesse
a767c84f74 Fix remaining UI issues 2019-07-22 14:05:51 +10:00
Niels Andriesse
1da6f20f18 Further Lokify UI 2019-07-22 13:08:56 +10:00
Mikunj
b71293fb11 Merge branch 'master' of https://github.com/loki-project/loki-messenger-android 2019-07-22 12:34:15 +10:00
Mikunj
16ddfc37ce Finalise session reset. 2019-07-22 12:34:10 +10:00
Niels Andriesse
210a88ce02 Use identicons as profile pictures 2019-07-22 12:13:53 +10:00
Mikunj
fce57f46a0 More session reset. 2019-07-22 12:09:34 +10:00
Niels Andriesse
1d2e8072a0 Fix build 2019-07-22 11:27:24 +10:00
Niels Andriesse
d6cf9b573e Use Signal's job framework for background polling 2019-07-22 11:22:42 +10:00
Niels Andriesse
19cdf8068d Fix build 2019-07-22 10:41:50 +10:00
Mikunj
61622fbd3d Session reset handling. 2019-07-22 09:38:12 +10:00
Mikunj
e626e09a45 Send PreKeyBundle with an EndSession message. 2019-07-22 08:30:28 +10:00
Niels Andriesse
2329e9d03d Implement BackgroundPollWorker 2019-07-19 16:46:04 +10:00
Niels Andriesse
8651f20c9b Further Lokify UI 2019-07-19 15:59:51 +10:00
Niels Andriesse
c0a9500706 Observe display name changes 2019-07-19 15:23:45 +10:00
Niels Andriesse
956f20fc0e Use display name 2019-07-19 15:02:47 +10:00
Niels Andriesse
acae76161d Parse display name from messages 2019-07-19 14:15:51 +10:00
Niels Andriesse
244d4fd899 Fix friend request accepted preview 2019-07-19 13:23:19 +10:00
Niels Andriesse
8c054a060e Block input if a friend request is pending 2019-07-19 13:15:17 +10:00
Niels Andriesse
b123948230 Exclude empty messages from conversations 2019-07-19 10:17:34 +10:00
Niels Andriesse
3a8d509c1e Further Lokify UI 2019-07-18 15:59:41 +10:00
Niels Andriesse
424998a8ee Implement restore from seed logic 2019-07-17 11:31:19 +10:00
Niels Andriesse
659d9e6a8f Implement restore from seed UI 2019-07-17 10:26:06 +10:00
Niels Andriesse
bac4b86ec3 Further Lokify settings UI 2019-07-17 09:45:20 +10:00
Niels Andriesse
ab99874ede Partially Lokify UI 2019-07-16 17:09:15 +10:00
Niels Andriesse
862288abfd Clean 2019-07-15 15:06:52 +10:00
Niels Andriesse
208ac71bfe Update for core changes 2019-07-15 13:19:58 +10:00
Niels Andriesse
daa1248e6c Debug session handling 2019-07-02 11:47:28 +10:00
Niels Andriesse
ca370211f8 Resolve TODO 2019-06-28 16:08:27 +10:00
Niels Andriesse
e8bece45b9 Fix missing delegate & friend request acceptance 2019-06-28 14:59:25 +10:00
Niels Andriesse
52a0b2a5e8 Clean 2019-06-28 14:07:42 +10:00
Niels Andriesse
86c765b1c2 Debug friend request logic further 2019-06-28 12:32:23 +10:00
Niels Andriesse
1a7e0562bb Debug friend request logic 2019-06-27 16:03:05 +10:00
Niels Andriesse
232faba39f Fix message delivery 2019-06-27 14:07:13 +10:00
Niels Andriesse
dd67e59807 Fix pre key usage 2019-06-26 14:31:38 +10:00
Niels Andriesse
e7f7c3cdb2 Hook up message receiver 2019-06-25 13:51:24 +10:00
Niels Andriesse
047a98ad63 Disable input bar if a friend request is pending 2019-06-25 11:48:39 +10:00
Niels Andriesse
b27dfdf6ce Fix crash 2019-06-25 09:28:37 +10:00
Niels Andriesse
169a7e609e Propagate message ID 2019-06-24 16:00:15 +10:00
Niels Andriesse
a3d23e55a1 Update for core changes 2019-06-24 14:57:53 +10:00
Niels Andriesse
1023227744 Remove unnecessary friend request status update 2019-06-24 14:26:06 +10:00
Niels Andriesse
b58fce3a68 Update for core changes & refactor 2019-06-24 14:10:09 +10:00
Niels Andriesse
d99a996d0e Finish friend request view & add message friend request status 2019-06-24 11:22:53 +10:00
Niels Andriesse
5c4ef59c0b Fix UI issue 2019-06-21 15:29:25 +10:00
Niels Andriesse
f6542b9834 Further build out friend request view 2019-06-21 14:18:38 +10:00
Niels Andriesse
7c501980fa Implement friend request view skeleton 2019-06-21 12:21:48 +10:00
Niels Andriesse
a1b6eaf3f5 Refactor 2019-06-21 10:39:05 +10:00
Niels Andriesse
bd00013f02 Hide keyboard before going to key pair screen 2019-06-20 14:25:38 +10:00
Niels Andriesse
3afd8b8b7f Fix database issues 2019-06-19 15:45:40 +10:00
Niels Andriesse
26ba7fb387 Update for core changes 2019-06-19 14:47:42 +10:00
Niels Andriesse
ab68ae2e58 Group Loki logic together in ApplicationContext 2019-06-18 13:23:58 +10:00
Mikunj
6928bfa2ae Added long polling 2019-06-18 12:49:21 +10:00
Niels Andriesse
fc4ea70621 Update for core changes 2019-06-18 10:53:03 +10:00
Niels Andriesse
21e1ece19c Model friend request status as an enum 2019-06-18 09:57:36 +10:00
Mikunj
d44081d040 Added database to map thread to loki friend request 2019-06-17 12:17:05 +10:00
Mikunj
d7bb828d67 Added database which maps sms to loki friend request. 2019-06-17 11:14:42 +10:00
Niels Andriesse
8e16bee431 Update for core changes 2019-06-12 11:41:50 +10:00
Niels Andriesse
69ecb19654 Update for core changes 2019-06-11 16:27:00 +10:00
Niels Andriesse
021bf1b33c Clean 2019-06-11 14:41:04 +10:00
Niels Andriesse
66010f4755 Fix pre key refreshing & add TODO 2019-06-11 13:41:16 +10:00
Niels Andriesse
c47be74f0d Fix crash & undo debugging setup 2019-06-11 09:46:42 +10:00
Niels Andriesse
c8cc22e8fe WIP 2019-06-07 15:21:25 +10:00
Niels Andriesse
becce74cc8 Fix messed up database layout 2019-06-07 14:19:58 +10:00
Niels Andriesse
25e0213d4b Fix blocked conversation screen 2019-06-07 13:54:50 +10:00
Niels Andriesse
f22be7262b Hook up conversation screen 2019-06-07 13:27:48 +10:00
Niels Andriesse
0349978321 Merge branch 'master' of github.com:loki-project/loki-messenger-android 2019-06-06 15:01:36 +10:00
Niels Andriesse
b4328d1aa3 Create UI path to new conversation screen 2019-06-06 15:01:06 +10:00
Mikunj
75a8123d1e Send friend request accept message back to the user. 2019-06-06 10:39:24 +10:00
Niels Andriesse
858b34306b Share actual public key 2019-06-06 10:04:43 +10:00
Niels Andriesse
32e02d1f0d Merge branch 'master' of github.com:loki-project/loki-messenger-android 2019-06-06 09:52:35 +10:00
Niels Andriesse
ed025fcc4b Disable reminders 2019-06-06 09:51:54 +10:00
Mikunj
89d5c4d0f1 Generate PreKeyBundle if we're sending a friend request. 2019-06-06 09:48:02 +10:00
Niels Andriesse
7d24ab12a2 Implement share public key button 2019-06-05 16:45:12 +10:00
Niels Andriesse
bb180ff2d5 Fix build 2019-06-05 16:30:31 +10:00
Niels Andriesse
57825d58b5 Remove unnecessary getter and setter 2019-06-05 16:24:15 +10:00
Niels Andriesse
79927be0c0 Fix name updating 2019-06-05 16:20:11 +10:00
Niels Andriesse
167e65d67d Merge branch 'master' of github.com:loki-project/loki-messenger-android 2019-06-05 16:05:24 +10:00
Niels Andriesse
e36d9e110c Add copy mnemonic button 2019-06-05 16:05:08 +10:00
Mikunj
7d33a9cc8f Always send a friend request if we're not friends.
Pass down isFriendRequest to message sender.
2019-06-05 15:53:10 +10:00
Niels Andriesse
2c35ed2177 Fix ugly spacing 2019-06-05 15:49:15 +10:00
Niels Andriesse
eae5e90814 Fix remaining registration issues 2019-06-05 15:33:31 +10:00
Niels Andriesse
3c2504418d Add missing registration logic 2019-06-05 14:56:10 +10:00
Niels Andriesse
3609517ff0 Merge branch 'master' of github.com:loki-project/loki-messenger-android 2019-06-05 13:34:18 +10:00
Niels Andriesse
1498a2e382 WIP 2019-06-05 13:33:54 +10:00
Mikunj
46af1aacbb Fix incorrect sql statement. 2019-06-05 13:24:33 +10:00
Mikunj
e2ffab9e19 Added friend request state in thread.
Added friend request receive logic.
2019-06-05 12:42:55 +10:00
Niels Andriesse
063e0967df Clean 2019-06-05 10:19:19 +10:00
Niels Andriesse
48f19a80b3 Fix build 2019-06-05 10:13:51 +10:00
Niels Andriesse
52631bcbf2 Rename LokiPreKeyBundleImpl → LokiPreKeyBundleStore 2019-06-05 10:10:33 +10:00
Niels Andriesse
eb323e119b Merge branch 'master' of github.com:loki-project/loki-messenger-android 2019-06-05 10:02:25 +10:00
Niels Andriesse
df2db90495 Fix private key serialization 2019-06-05 10:02:06 +10:00
Mikunj
a0f95c033a Pass PreKeyBundleStore into message sender. 2019-06-05 09:29:18 +10:00
Niels Andriesse
4148d598f9 Stub key pair screen 2019-06-04 16:37:45 +10:00
Mikunj
384a5ba35d Update RefreshPreKeysJob. 2019-06-04 15:00:27 +10:00
Niels Andriesse
96efb5d296 Stub account details screen 2019-06-04 14:39:28 +10:00
Niels Andriesse
b77ac07ef5 Rename getBase64Bytes(...) → getBase64EncodedData(...) 2019-06-04 14:16:09 +10:00
Niels Andriesse
3e7759fd07 Merge branch 'master' of github.com:loki-project/loki-messenger-android 2019-06-04 14:07:56 +10:00
Niels Andriesse
59889d0013 Add missing index 2019-06-04 14:05:42 +10:00
Mikunj
bdc62a9645 Added more loki databases. 2019-06-04 14:03:27 +10:00
Mikunj
bccde8baba Added more loki databases. 2019-06-04 12:12:40 +10:00
Mikunj
4f8af1b4f2 Merge branch 'master' of https://github.com/loki-project/loki-messenger-android 2019-06-04 12:09:52 +10:00
Niels Andriesse
4b1c5dfce2 Quick fix compilation issues 2019-06-04 11:45:29 +10:00
Niels Andriesse
158182baa0 Make swarm cache port specific
Last message hash value cache is intentionally not port specific so that if a snode switches to a different port the information about which messages it has stored isn't lost
2019-06-04 11:23:44 +10:00
Niels Andriesse
ab99db6059 Make received message hash values cache user specific 2019-06-04 11:07:20 +10:00
Niels Andriesse
d1e4577132 Implement LokiAPIDatabase 2019-06-04 11:05:03 +10:00
Mikunj
a337c17960 Added loki functions in PreKeyUtils. 2019-06-04 10:10:41 +10:00
Niels Andriesse
8c45a9151f Stub LokiAPIDatabase 2019-06-04 09:35:18 +10:00
Niels Andriesse
72f95dfff3 Silence Gradle warning 2019-06-03 16:25:02 +10:00
Mikunj
e19a71769f Added loki message handling. 2019-06-03 16:11:22 +10:00
Mikunj
9d4509d130 Use LokiServiceCipher when decrypting incoming message. 2019-06-03 14:02:29 +10:00
Alan Evans
5ad02f724c Enable 64-bit.
* Multiply version codes by 10 and add a code for each abi in order to generate different version codes for the play store.
2019-05-30 01:08:01 -04:00
Greyson Parrelli
77e3cc40e0 Fix message bubble sizing with link previews and quotes.
Previously, quotes could extend beyond the width of the link preview
banner image. Now quotes will be constrained to the size of the link
preview banner image.
2019-05-30 01:08:01 -04:00
Greyson Parrelli
2a644437fb Add sticker support.
No sticker packs are available for use yet, but we now have the
latent ability to send and receive.
2019-05-30 01:08:01 -04:00
Niels Andriesse
a8caa4afc5 Move MnemonicCodec to core 2019-05-29 15:49:42 +10:00
Niels Andriesse
289cc42a9e Implement MnemonicCodec 2019-05-29 14:25:19 +10:00
Alan Evans
350d1f47d3 Give conversation a standard navigate up button.
* Prevent a failing IDE preview.
2019-05-28 17:36:07 -03:00
Alan Evans
2ae42cb095 Hide local video when toggled on and off.
Fixes #8827
2019-05-28 17:36:07 -03:00
Alan Evans
dae0d30367 Do not show contact address in subtitle. 2019-05-23 16:57:50 -03:00
Alan Evans
e5f70bdbda
End RTC call on incoming PSTN call.
* Hangs up when new device call is answered.
* Ensure not on a device call when starting a Signal call.
2019-05-23 16:56:05 -03:00
Alan Evans
156fe37a60
Get SubscriptionManager by name due to ContextCompat bug for API 22.
Fixes #8826
2019-05-23 11:38:24 -03:00
Alan Evans
56848fb83d
Replace sgnl.link urls with a more readable url.
* Taken out random string, reverted to single "Let's switch".

#8767
2019-05-23 08:02:15 -03:00
Alan Evans
3cba8ab58a
Keep system default SIM as a fallback for when no conversation default SIM.
Fixes #8452
2019-05-22 16:59:00 -03:00
Alan Evans
88dac70087
Lint - Custom Widgets extend Appcompat Widgets. 2019-05-22 14:02:21 -03:00
Alan Evans
9445555d66
Code analysis - address @NotNull/@Nullable issues. 2019-05-22 13:51:56 -03:00
Alan Evans
7db1588578 Do not assume phone number in conversation.
Fixes #8813
2019-05-22 13:30:27 -03:00
Alan Evans
0a7970ad0c
Image Editor - Allow undoing back to the original state when exceeds the undo limit. 2019-05-22 13:28:02 -03:00
Alan Evans
10ad3fbf82 Lint - Use easily identifiable wake lock tags. 2019-05-20 13:24:34 -03:00
Alan Evans
95858898d7 Lint - avoid calling a restricted API. 2019-05-20 13:24:33 -03:00
Alan Evans
16c8cc88d7 Update visibility and icon of camera flip control in call.
Fixes #8221
2019-05-20 13:24:33 -03:00
Alan Evans
7f0c998b24
Image Editor - Further crop improvements.
* Thumb accuracy improved.
* When out of bounds from drag, try to fix by adjusting translation.
* Update undo state when listener changes.
2019-05-20 12:02:40 -03:00
Alan Evans
456ba5fa02 Image Editor - Replace minimum scale, with minimum pixel count.
- Anti alias images.
- Minimum crop ratio of 15:1 or original image ratio.
2019-05-17 19:42:12 -03:00
Alan Evans
9de420fde6 Image Editor - On flip or rotate, ensure undo button visibility is updated. 2019-05-17 19:00:10 -03:00
Alan Evans
401e3687de Image Editor - when no sticker selected, go back to mode NONE. 2019-05-17 16:22:07 -03:00
Alan Evans
6777b3e0e6
Image Editor - Undo button visibility. 2019-05-17 16:15:27 -03:00
Alan Evans
bf759711ef Image Editor - Keep image within crop bounds.
* 4% of original pixels must be visible.
* The entire crop must be within the image.
* On release, try to scale crop area and image to fit if the crop is invalid.
* Undo to last valid position if that didn't work.
* Additionally, center thumbs now do not respect aspect ratio lock.
2019-05-16 15:52:15 -07:00
Alan Evans
068ffc2167 Image Editor - Allow undoing during croping. 2019-05-16 15:52:03 -07:00
Alan Evans
95304fe001 Image Editor - Remove initial text.
- Flashing cursor.
2019-05-16 15:51:56 -07:00
Alan Evans
5b298b4a04
Resize image in attempts to get it to fit into the maxImageSize bytes.
Fixes #8803
2019-05-10 12:16:19 -03:00
Alan Evans
cb78684282
Ensure push groups cannot have isForceSmsSelection set.
Fixes #8807
2019-05-10 12:13:59 -03:00
Alan Evans
b1057d63a1 Lint.
- Check for permissions.
- Fix Welsh positional format.
- Remove UIThread restriction.
- Asynchronous method does not need to be restricted to UIThread and there is no StaticFieldLeak to suppress.
- Fix or Ignore New API errors.
- Reduce severity of some errors from L10N.
2019-05-10 11:57:43 -03:00
Alan Evans
93e6ccb9e4 Replace image editor. 2019-05-10 11:57:43 -03:00
Alan Evans
06ea000f42
Repeat count for format args of plural string.
Fixes #8724
2019-05-07 12:26:01 -03:00
Alan Evans
d1b8e77fdc
Always show the SIM on the footer of a multi-SIM device, even if one SIM is disabled. 2019-05-07 12:25:11 -03:00
Alan Evans
8cf2654c5b Show reply method SMS/Signal and respect sticky.
Fixes #8792
2019-05-06 16:45:30 -07:00
Alan Evans
18531146f7 Update the sticky EventBus message to reflect changes in microphone enabled state.
Fixes #7827
2019-05-06 16:45:30 -07:00
Jeffrey Griffin
c274c1bb28 Eliminate noisy directory feedback
We observed IOExceptions loading the Contact Discovery IAS KeyStore. We will now throw an AssertionError upon any error
creating the IAS KeyStore, matching the behaviour for creation of the TrustStore used for the main Signal Service. NB: If
this assertion is hit, the user will not even be able to refresh their contacts with the old directory service.
2019-05-06 16:45:30 -07:00
Alan Evans
42a8522e98 Manually call the onPageSelected when entering page 0.
Fixes #7610
2019-05-06 16:45:30 -07:00
Greyson Parrelli
eab23a9e66 Fixed issue where giphy results weren't loading. 2019-05-06 15:48:43 -07:00
Greyson Parrelli
59f362495a Add additional checks around link preview domains.
We never make requests to non-whitelisted domains, but there were
situations where some links would redirect to non-whitelisted domains,
which would hit a final failsafe that resulted in a crash.

To prevent this, we detect bad redirects earlier and fail more
gracefully.

Fixes #8796
2019-05-06 12:25:53 -07:00
Greyson Parrelli
934a2a67bc Fix some keyboard issues in landscape. 2019-05-02 14:32:53 -07:00
Greyson Parrelli
05345b8582 Remove some unnecessary logging. 2019-05-02 14:32:53 -07:00
Greyson Parrelli
7b4299d5da Bring back conscrypt, improve provider initialization ordering. 2019-05-02 14:32:48 -07:00
Alan Evans
ec20b0e0e3
Fallback to SIM index.
#8725
2019-05-02 18:16:59 -03:00
Greyson Parrelli
bb90987e7c Fix potential crash when retrieving SIM list. 2019-05-01 08:36:24 -07:00
Greyson Parrelli
ecea6abeb6 Temporary revert (again) to fix an avatar retrieval issue.
This reverts commit 77524ae1f24a1d356f3e2091270ffaed1e749ada.
2019-05-01 08:25:14 -07:00
Greyson Parrelli
1e564b6ad1 Fix exponential backoff retry limits. 2019-04-30 12:51:58 -07:00
Alan Evans
c77daa8226 Display carrier or number if any SIM descriptions clash.
Fixes #8725
2019-04-30 12:51:58 -07:00
Alan Evans
fa35814344 Disable transport disables all matching TransportOptions.
Fixes #8744
2019-04-30 12:51:58 -07:00
Alan Evans
48efcaa785 Do not list SIMs that are not ready.
Fixes #8426
2019-04-30 12:51:58 -07:00
Greyson Parrelli
f3f6cc87d9 Request a small chunk instead of HEAD for images of unknown size. 2019-04-30 12:51:58 -07:00
Greyson Parrelli
29cdb5290b Make headers for giphy requests random sizes. 2019-04-30 12:51:58 -07:00
Greyson Parrelli
77524ae1f2 Revert "Temporary revert to fix an avatar retrieval issue."
This reverts commit 267bc32e23afe823b99e5b9be17806da32765aec.
2019-04-30 12:51:58 -07:00
Greyson Parrelli
30ba9d7e27 Improve CDN reliability. 2019-04-30 12:51:58 -07:00
Francois Blackburn
d2ece1c1f2 Add MI 5 to hardware AEC blacklist 2019-04-30 12:51:57 -07:00
Arnt Gulbrandsen
8bdc257963 Avoid hardware echo cancellation for Fairphone FP2
The issue has as been confirmed by me with the stock ROM as of November
2018, and other users have complained for almost 18 months, see
https://forum.fairphone.com/t/fnord/28849 and
https://bugtracker.fairphone.com/project/fairphone-fairphone-os-android-6/issue/77
2019-04-30 12:51:57 -07:00
Kevin Mark
88f9ec313f Close SQL statement, preventing finalizer crashes
This will stop instances of the following from occuring in the logs
on SMS migration:

W/SQLiteCompiledSql: Releasing statement in a finalizer. Please ensure
that you explicitly call close() on your cursor: INSERT INTO sms
(address, person, date_sent, date, protocol, read, status, type,
reply_path_present,
    net.sqlcipher.database.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
        at net.sqlcipher.database.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:62)
        at net.sqlcipher.database.SQLiteProgram.<init>(SQLiteProgram.java:109)
        at net.sqlcipher.database.SQLiteStatement.<init>(SQLiteStatement.java:39)
        at net.sqlcipher.database.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1647)
        at org.thoughtcrime.securesms.database.SmsDatabase.createInsertStatement(SmsDatabase.java:767)
        at org.thoughtcrime.securesms.database.SmsMigrator.migrateConversation(SmsMigrator.java:166)
        at org.thoughtcrime.securesms.database.SmsMigrator.migrateDatabase(SmsMigrator.java:210)
        at org.thoughtcrime.securesms.service.ApplicationMigrationService$ImportRunnable.run(ApplicationMigrationService.java:159)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)

We aren't closing Statement objects before the finalizer on those
objects runs. When the GC runs, we'll get warnings like the above
which alert us to the fact that these objects are being automatically
closed for us in the finalizer, but that this is suboptimal behavior.

If we leave too many Statement (or Cursor) objects to be closed in
their finalizers, when the GC runs, it'll take longer than 10 seconds
to close them all and Android will kill the app. This 10 second limit
is hardcoded and we can only try to avoid it. A crash will look like:

java.util.concurrent.TimeoutException: net.sqlcipher.database.SQLiteCompiledSql.finalize() timed out after 10 seconds
    at java.lang.Object.wait(Native Method)
    at java.lang.Thread.parkFor$(Thread.java:1220)
    at sun.misc.Unsafe.park(Unsafe.java:299)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:810)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:844)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1173)
    at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:196)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:257)
    at net.sqlcipher.database.SQLiteDatabase.lock(SQLiteDatabase.java:553)
    at net.sqlcipher.database.SQLiteCompiledSql.releaseSqlStatement(SQLiteCompiledSql.java:106)
    at net.sqlcipher.database.SQLiteCompiledSql.finalize(SQLiteCompiledSql.java:152)
    at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202)
    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
    at java.lang.Thread.run(Thread.java:818)

I was able to replicate the above crash consistently on a
Samsung Galaxy S7 edge when importing well over 100k SMS messages.
But as soon as I attached a debugger the crash did not persist. I
assume this is because of some VM-level interactions between the two
and did not investigate further after fixing it.

I do not have access to the stack trace for issue #7953 but this
could potentially resolve it. The crash is identical to that in #7477
but this patch is for SMS migration not restoring from a backup. I
was not able to replicate the crash on restoring a >100k message
backup.
2019-04-30 12:51:57 -07:00
Michael Walker
8ad5126408 Add pinterest domain and asset domains for link preview support 2019-04-30 12:51:57 -07:00
Greyson Parrelli
1e27847015 Update link preview meta tag regex. 2019-04-30 12:51:57 -07:00
Greyson Parrelli
e67eca77ff Prevent landscape text editing from taking over the screen.
It used to be that we let Android do the default behavior of
full-screening the EditText when in landscape, but honestly I
don't know who prefers that. So I've turned it off.

Fixes #8769
2019-04-30 12:51:52 -07:00
Greyson Parrelli
49cccc6927 Update job logging. 2019-04-28 11:44:17 -07:00
Greyson Parrelli
5977e9141d Wrap transactions in try-finally. 2019-04-28 11:42:02 -07:00
Greyson Parrelli
c0982293bf Fix bug where sticky SMS setting wasn't respected.
Fixes #8783
2019-04-28 11:34:56 -07:00
Greyson Parrelli
128da6db04 Fix crash in backup restore related to sqlite_sequence.
The new JobManager stuff created a table that had an
auto-incrementing ID, which was incorrectly being backed
up and restored, causing a crash. Now we skip it on both
import and export.
2019-04-16 10:10:02 -04:00
Greyson Parrelli
2701607810 Reduce the possible number of unique jobs to avoid crash.
Some devices have a limit of 100 unique JobScheduler jobs.
Previously we allowed up to 1,000. Given that we just need
_some_ job running, I lowered the limit to 75 to give us
some head room.
2019-04-16 09:52:12 -04:00
Greyson Parrelli
1c47812877 Fix crash when migrating read receipt jobs.
Fixes #8764
2019-04-15 15:45:16 -04:00
Greyson Parrelli
4a3c173adb Migrated to new JobManager. 2019-04-15 10:56:26 -04:00
Greyson Parrelli
8cf3ba424a Trim long text before displaying if necessary.
Fixes #8759
2019-04-15 10:13:35 -04:00
Alan Evans
9c40de5bf1 Save the SMS setting on a per-conversation basis. 2019-04-15 10:13:35 -04:00
Greyson Parrelli
11a2ed0743 Increase reliability of locally logging crashes.
Exception logging tends to be race-y, so now we block and wait
for all logs to be written before continuing with the crash.
2019-04-10 12:53:55 -04:00
Alan Evans
01a9931d92
Do not use background threads for download UI events. 2019-04-10 13:13:10 -03:00
Greyson Parrelli
38bcc6c293 Long text detail view now respects text size preference.
Fixes #8747
2019-04-09 09:40:32 -04:00
Greyson Parrelli
bceb9b4972 Fixed quotes not being cleared when forwarding.
Fixes #8748
Fixes #7935
2019-04-09 09:35:47 -04:00
Alan Evans
ecdc285378
Fix unresponsive button on image send with text in landscape.
Fixes #8575
Closes #8638

Co-authored-by: Jakub Gregorek <jg@inthemeadow.net>
2019-04-08 07:45:16 -03:00
Greyson Parrelli
9aed2343c1 Attempt to resolve connectivity problems for some users. 2019-04-04 18:10:41 -04:00
Greyson Parrelli
733d54e339 Linkify links in long message view.
Fixes #8735
2019-04-04 10:09:32 -04:00
Greyson Parrelli
267bc32e23 Temporary revert to fix an avatar retrieval issue.
This reverts commit 8aa185070bf16fae370e3c7cac17bbcc4d9f5852.
2019-04-03 16:32:52 -04:00
Alan Evans
621ac62c7e
Add red flashing voice note microphone. 2019-04-01 17:42:57 -03:00
Alan Evans
ce6d2d9c69
MMS image quality.
Fixes #8590
- Scale image larger within the dimensions.
- Apply a minimum dimension of 1024.
2019-03-28 15:14:06 -03:00
Alan Evans
e842f78457
Voice Note Locking.
Limit of 60 minutes, after which it's cancelled.
2019-03-28 15:04:38 -03:00
Alan Evans
cab3657ab0
ABI info for device. 2019-03-26 17:29:08 -03:00
Alan Evans
a7aa980e58 New dynamic locale system.
- Fixes #7619
2019-03-26 17:08:05 -03:00
Alan Evans
6a0a419f0c Add self to MMS group.
- Fixes #7683
- Closes #8296
2019-03-26 17:07:04 -03:00
Greyson Parrelli
94e8303022 Remove dead code from ScribbleHud/Fragment. 2019-03-22 12:47:16 -07:00
Greyson Parrelli
ccfcfa71df Enable the sending of long messages. 2019-03-22 12:28:41 -07:00
Greyson Parrelli
8caaf057e8 Remove unnecessary pre-19 code branches.
Now that our minSdk is 19, we can remove a lot of old code paths that
only ran pre-19.
2019-03-21 11:19:06 -07:00
Moxie Marlinspike
a52c295a38 Simplify access to SecureRandom
This shouldn't matter at all, but it's more "correct," and shows
my age less.
2019-03-21 11:19:06 -07:00
Moxie Marlinspike
8aa185070b Update libsignalservice to 2.13.0
- Eliminate the explicit spongycastle dependency. All access to
  primitives is done through the JCE interfaces now, which allows
  us to use a secure native-backed provider like conscrypt.

- Use conscrypt for our default security provider. This gives us
  fast TLS 1.2 and 1.3 support on all devices, even before they
  had platform support (like 4.4).

- Update minSdk to 18. Unfortunately the JCE interfaces for GCM
  primitives are JDK 7+ (!) only, which became supported by Android
  at 18.
2019-03-21 11:19:06 -07:00
Greyson Parrelli
aa5e32f0ee Add back the highlight and sticker tools. 2019-03-21 11:02:07 -07:00
Greyson Parrelli
8e86c7d81a Fix media button visibility issue on older Android versions.
Turns out setVisibility doesn't work unless you call clearAnimation()
first on older Android versions. Isn't that grand?
2019-03-21 00:11:01 -07:00
Greyson Parrelli
148cfd1b53 Fix crash when single-selecting large media. 2019-03-20 23:01:32 -07:00
Greyson Parrelli
6e7fab40ac Guard against OOB moves in media send flow. 2019-03-19 18:38:06 -07:00
Greyson Parrelli
8a7cac7c03 Switch gallery to permanent dark theme. 2019-03-19 18:38:06 -07:00
Greyson Parrelli
932e7b4af5 Fix button flicker when selecting single media item. 2019-03-19 18:38:02 -07:00
Greyson Parrelli
2f8a7fa296 Bounce the media select button when selecting media. 2019-03-19 15:42:08 -07:00
Greyson Parrelli
5e6f71cd32 Show selection order in multi-select. 2019-03-19 15:42:08 -07:00
Greyson Parrelli
ce0058864f Make BlobProvider write to disk on a background thread.
Otherwise we hit some weird blocking issues with voice note recording.
2019-03-19 15:34:04 -07:00
Greyson Parrelli
c646316a97 Block typing indicators from blocked contacts. 2019-03-19 09:39:19 -07:00
Greyson Parrelli
5b534c8b1a Update URL homograph rules. 2019-03-18 17:37:19 -07:00
Greyson Parrelli
975a121c55 Show a warning for users on API < 19.
We'll be updating minSdk to 19 in 4.37. This lets these users continue
to use the app, but they'll be warned with a persistent banner saying
that they can't receive updates.
2019-03-18 15:09:56 -07:00
Greyson Parrelli
64cf032181 Updated media send UI. 2019-03-18 15:09:56 -07:00
Alan Evans
286b64274c Replace Avatar Cropper. 2019-03-18 15:09:50 -07:00
Alan Evans
0cb2404735
Lint error fixes.
* Old Gingerbread code removed.
* Add missing super call.
2019-03-18 11:14:18 -03:00
Greyson Parrelli
0a8bbf14a6 Merge camera into send flow. 2019-03-14 16:25:35 -07:00
Greyson Parrelli
eb1dd58a0b Persistent media in multi-send. 2019-03-14 16:20:36 -07:00
Alan Evans
e0c11998c3
Make DisplayRecord take context as argument, so locale is more likely to be correct. 2019-03-13 18:28:16 -03:00
Alan Evans
de72eceecf
Update help URL to avoid redirect. 2019-03-13 18:19:33 -03:00
Alan Evans
2c28fa6a57 Make GIF search layout option sticky.
Fixes #7843
2019-03-12 11:41:54 -03:00
Alan Evans
f010a3ec0d Consistent Recipient to add contact Intent export. 2019-03-12 11:29:59 -03:00
Alan Evans
e390fb4fc5 Fix ShareMessage toolbar back button. 2019-03-12 11:29:59 -03:00
Greyson Parrelli
a4ce77cbcc Remove unused method. 2019-03-12 11:29:59 -03:00
Greyson Parrelli
18613e3b6f Remove generic foreground service condition from Job.
I don't think it actually helps at all, meaning it just adds
complexity.

Fixes #8677
2019-03-12 11:29:59 -03:00
Greyson Parrelli
a122bb4899 Created new BlobProvider.
One unified place to create blobs for different lifespans.
2019-03-10 15:18:39 -07:00
Greyson Parrelli
1efb92b913 Fix issue where SMS were sometimes sent as MMS.
Fixes #8664
2019-03-06 08:12:00 -08:00
Greyson Parrelli
77e971cb9b Fix bug where system emoji setting was ignored in message bubbles.
EmojiTextView. It is our gift. It is our curse.
2019-03-02 19:31:28 -08:00
Greyson Parrelli
003fa1b059 Make long text attachments contain the entire message.
Instead of just containing the 'overflow', long text attachments now
contain the entire body in full.
2019-03-02 19:31:22 -08:00
Greyson Parrelli
55699e27bc Added ability to receive long messages.
Send support is in here too. We'll enable it in a future release after
enough people have updated.
2019-03-01 14:15:08 -08:00
Greyson Parrelli
bf28e109d3 Update registration UI. 2019-03-01 14:15:01 -08:00
Greyson Parrelli
fd862e575b Fix situation where search nav could get stuck.
If you navigated to the ConversationActivity again via some action (like
a shared contact invite) while searching, we don't get the toolbar close
event, and therefore the search nav would stay open. Now we just reset
it on newIntent() to be safe.
2019-03-01 13:44:32 -08:00
Greyson Parrelli
7fd6f5b3ff Fix search highlight in multi-whitespace bodies.
The way the highlight was done could get screwed up if you had multiple
whitespaces in a row. This particularly came up with messages with
multiple newlines.
2019-03-01 13:44:32 -08:00
Greyson Parrelli
42e94d8f92 Remove leftover half-height camera code. 2019-03-01 13:44:32 -08:00
Greyson Parrelli
b572fce658 Remove some unnecessary intermediate blob creation. 2019-03-01 13:44:32 -08:00
Greyson Parrelli
276e867f9a Improved address resolution for ContentProxySelector.
We can use an unresolved address to avoid all the threading stuff in
that class.
2019-03-01 13:42:10 -08:00
Greyson Parrelli
b2d4608cdb Improved handling for URLs that are composed of mixed character sets. 2019-02-24 10:00:44 -08:00
Greyson Parrelli
60c7fb0056 Fix possible NPE. 2019-02-20 17:20:12 -08:00
Greyson Parrelli
fa6da1902f Fix button spinning after failed CAPTCHA. 2019-02-19 13:13:32 -08:00
Greyson Parrelli
33daa21ad9 Guard against devices not supporting mandatory ContentProvider columns.
The docs specify that this column is supposed to be present, but a
crash says it wasn't, so alas, here in goes the check.
2019-02-19 09:34:24 -08:00
Greyson Parrelli
5c0e1100ed Fix possible NPE in conversation menu.
Would occur if someone had previously muted a conversation with
themselves.
2019-02-16 11:45:09 -08:00
Greyson Parrelli
b962751c96 Fix possible IllegalArgumentException during a database migration. 2019-02-15 19:33:16 -08:00
Greyson Parrelli
94e8553b73 Fix possible NPE during conversation load. 2019-02-15 19:24:23 -08:00
Greyson Parrelli
a2b6dbda14 Correctly sync Note to Self conversation color. 2019-02-15 14:21:27 -08:00
Greyson Parrelli
a6564f8f84 FCM improvements. 2019-02-15 14:21:23 -08:00
Greyson Parrelli
02b0800b22 Support requesting a CAPTCHA during registration. 2019-02-14 20:19:07 -08:00
Greyson Parrelli
2cfa431cad Supply a reason for CDS error reporting. 2019-02-14 20:19:07 -08:00
Greyson Parrelli
fe4068afce Don't preview links if your cursor is touching them. 2019-02-14 20:19:07 -08:00
Greyson Parrelli
1c23603c25 Add the Redmi Note 5 to the hardware AEC blacklist. 2019-02-14 20:19:07 -08:00
Greyson Parrelli
c2a86fcc74 Sync self-sends to desktop.
Updated UI to show self-conversations as "Note to Self".
2019-02-14 20:19:07 -08:00
Greyson Parrelli
d42c9b5dbc Ensure the group shortstring in the action bar is up-to-date.
There were situations where adding/removing members from a group
would update the group member list, but the short string (the little
text listing the first couple members of the group) wouldn't be updated
until you left the screen and came back.
2019-02-14 20:19:06 -08:00
Greyson Parrelli
3b6429c163 Don't unnecessarily stop the ShareActivity in onPause.
1. Due to ShareActivity having noHistory=true, it will already be
ditched when you leave the activity.
2. We only need to truly finish() here if we've dropped the underlying
media.

Fixes #8591
2019-02-14 20:19:06 -08:00
Greyson Parrelli
6896f8ea15 Properly check attachment size during media send.
Prevent users from trying to send videos that exceed the size limit.

Also, this commit properly populates height/width on media shared into
the app.

Fixes #8573
2019-02-14 20:19:06 -08:00
Greyson Parrelli
a3768c7d74 Fix StickyHeader measuring.
It didn't re-measure when pulling an item from the cache, screwing stuff
up after a phone rotation. Had a workaround for it for specific screens,
but this fixes the problem at the source.

Fixes #8583
2019-02-14 20:19:06 -08:00
Greyson Parrelli
c9a0a66f18 Migrate backup passphrase to be keystore-encrypted when available. 2019-02-14 20:19:06 -08:00
Greyson Parrelli
db1ad39c6b Fix issues with bundled notifications. 2019-02-14 20:19:06 -08:00
Greyson Parrelli
9f04c28bfd Implemented conversation search.
You can now search for messages within a specific conversation.
2019-02-14 20:19:01 -08:00