Compare commits

...

98 Commits

Author SHA1 Message Date
Moxie Marlinspike
aaf3f70ce5 Bump version to 3.3.1
// FREEBIE
2015-11-06 16:59:50 -08:00
Jake McGinty
5fd5b1e1ed Fix "twitchy fingers" bug in CameraView
better diagnostic information, too.

Fixes #4422
Closes #4427
// FREEBIE
2015-11-06 15:00:29 -08:00
Moxie Marlinspike
56a3c99289 Resolve service deadlock issue
Fixes #4409
// FREEBIE
2015-11-06 11:57:22 -08:00
Moxie Marlinspike
b5b564cfe1 Make sure the number we add canonicalizes to the number we know.
Fixes #4406
// FREEBIE
2015-11-06 10:50:47 -08:00
Moxie Marlinspike
0b7b37bf00 Bump version to 3.3.0
// FREEBIE
2015-11-05 13:04:20 -08:00
Moxie Marlinspike
5b08be8d01 We don't need jitter stats logging in production anyway
// FREEBIE
2015-11-05 12:52:31 -08:00
Moxie Marlinspike
8d4f3803df Switch SMS listener to using dotall
// FREEBIE
2015-11-05 11:44:03 -08:00
Moxie Marlinspike
56117237b6 Updated translations
// FREEBIE
2015-11-05 11:39:02 -08:00
Jake McGinty
796940bda5 fix ContactSelectionListItem NPE
Fixes #4394
Closes #4399
// FREEBIE
2015-11-05 11:12:22 -08:00
Jake McGinty
00a18f58a7 catch MMS NPE for time being
Fixes #4379
Closes #4401
// FREEBIE
2015-11-05 11:11:28 -08:00
agrajaghh
0ef56fb86d add custom color to MessageDetailsActivity
Fixes #3560
Closes #3580

// FREEBIE
2015-11-05 11:10:20 -08:00
Jake McGinty
381c8820b1 remove unused CircleIndicator
Fixes #4393
closes #4397
// FREEBIE
2015-11-05 11:02:56 -08:00
Jodson Leandro
a930ec5404 Flag secure in all activities that extends BaseActionBarActivity
Closes #4152
Fixes #3327
2015-11-05 11:00:31 -08:00
Stefan Seide
e808ae0ddc remove brackets from recipient numbers as not allowed for dialing
Closes #3450
2015-11-05 10:07:52 -08:00
rafael81
750e25388f Update regular expression pattern for sms verification
Closes #4375
2015-11-05 09:52:03 -08:00
Moxie Marlinspike
5757962f95 Don't require implicit features
// FREEBIE
2015-11-05 09:51:42 -08:00
Moxie Marlinspike
c15d8ebd2e Better locking on jitter buffer stats printing
// FREEBIE
2015-11-04 17:56:21 -08:00
Moxie Marlinspike
09c57f3f44 Add close button to attachment type selector
// FREEBIE
2015-11-04 17:56:21 -08:00
Moxie Marlinspike
be0ca330f5 Nicer looking attachment type selector
Closes #4367
// FREEBIE
2015-11-04 17:56:21 -08:00
Moxie Marlinspike
2941ac0e2c Update material-dialogs dependency
Closes #4103
// FREEBIE
2015-11-04 17:56:21 -08:00
Jake McGinty
d6a061d50f extra logging for activity lifecycle
to help debug #2971
Closes #4342
// FREEBIE
2015-11-04 17:56:21 -08:00
Jake McGinty
59f2446a2b unjankify incoming media sharing
Closes #4374
Fixes #3989
// FREEBIE
2015-11-04 17:56:21 -08:00
Moxie Marlinspike
60ab71099f Don't show group avatar icons in thread preview
Fixes #4383
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
3f6cdd4133 Add audio focus into the audio dance.
// FREEBIE
2015-11-04 17:56:20 -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
5704fad7cc Fix for broken build
// FREEBIE
2015-11-04 17:56:20 -08:00
Gil
849c346a21 Updates visibleThreadId after sending a message in a new thread
Fixes #3536
Closes #4146
2015-11-04 17:56:20 -08:00
Manuel Geier
328a3ff20e show total number of messages or threads to be deleted
in delete-confirm-dialogs

Closes #4284

// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
24bcea393f Removed backup file
Closes #4293
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
aade4c7af3 Correctly set audio mode
Fixes #4244
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
58406d6b37 Consider unregister successfull on 401 from RP server.
Fixes #4362
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
004a87eba9 Lower SMS retry count to 15
Closes #4296
// FREEBIE
2015-11-04 17:56:20 -08:00
Jake McGinty
3fa11d9931 show transfer progress when re-sending failed media
Closes #4341
fixes #4104
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
cad8ff766a Don't set media volume to zero.
Not sure what SOA was thinking with this one.

Fixes #4201
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
5b6f49c993 Switch RedPhone view<->service interaction to use event bus
Fixes #4234
// FREEBIE
2015-11-04 17:56:20 -08:00
Jake McGinty
3e798a9863 batch invitation
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
4371708fc4 Fix onNewIntent transport selection assertion
Fixes #4301
// FREEBIE
2015-11-04 17:56:20 -08:00
Jake McGinty
d4887e11be fix failed incoming MMS regression
Fixes #4308
Closes #4334
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
d0e852f19f Retry on network failures during media message sends.
Fixes #4332
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
8d82033855 Notify when contacts join Signal
Closes #4314
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
434ce4f9c9 Canonicalize entries in canonical address database.
Make all our queries E164, so eventually everything in there
will be E164.  Stops thrashing between formats.

Closes #4306

// FREEBIE
2015-11-04 17:56:20 -08:00
Jake McGinty
8fd0ea39aa Simplify excessively convoluted camera logic
1) QuickCamera logic moved into CameraView

2) The strategies for texture vs. surface view were too complex
   with no observed gain. Better to remove and have to re-add
   if necessary than assume it to be necessary.

3) Drop CWAC-Camera dependency - the device profiles weren't being
   used very much and even that is deprecated so we'd be left on
   our own with new hardware. Not worth it.

4) Selfies first.

5) Layout/orientation mathy logic from CWAC moved into CameraUtils,
   with the  hopes that most of it might be further simplified or
   rendered unnecessary in the future.

Closes #4326

// FREEBIE
2015-11-04 17:56:20 -08:00
RiseT
08be47c03e Adjust a couple of strings in order to include calls AND messages.
Closes #4311
2015-11-04 17:56:20 -08:00
RiseT
13bd3c773c Make some 'notification sound' strings consistent with the rest
Closes #4324
// FREEBIE
2015-11-04 17:56:20 -08:00
Moxie Marlinspike
751fa21f60 Ignore envelopes with unknown type
// FREEBIE
2015-11-04 17:56:19 -08:00
Moxie Marlinspike
339d352d6e Better support for revoked audio permissions.
// FREEBIE
2015-11-04 17:56:19 -08:00
Sam Lanning
79cb6166d5 Consolodate Base64 Classes
both org.thoughtcrime.redphone.util and
org.thoughtcrime.securesms.util have a Base64 util class,
however, other than whitespace changes, and the securesms
one having a couple of extra methods, they are the same.

This commit removes org.thoughtcrime.redphone.util.Base64 and
anything referencing it now uses
org.thoughtcrime.securesms.util.Base64

Closes #4294
2015-11-04 17:56:19 -08:00
Moxie Marlinspike
11a93fabe5 Synchronize with paired devices when a contact changes.
// FREEBIE
2015-11-04 17:56:19 -08:00
Moxie Marlinspike
05eba8c2f0 Remove travis badge
Closes #4381
// FREEBIE
2015-11-04 17:53:11 -08:00
Moxie Marlinspike
ac66c41aee Updated README to reflect name change
// FREEBIE
2015-11-03 16:47:03 -08:00
Moxie Marlinspike
c70904d7f7 Bump version to 3.1.1
// FREEBIE
2015-10-28 17:12:06 -07:00
Moxie Marlinspike
bd280ec895 Only prompt for importing system SMS db when we're the SMS app
// FREEBIE
2015-10-28 16:50:45 -07:00
Jake McGinty
02c781eb25 update reminders when dismissed
Closes #4325
// FREEBIE
2015-10-28 16:43:48 -07:00
Moxie Marlinspike
50794ba49d Updated language translations
// FREEBIE
2015-10-28 16:14:20 -07:00
Moxie Marlinspike
a086a2471c Fix crash when creating group with no avatar icon
Fixes #4320
// FREEBIE
2015-10-28 10:36:21 -07:00
Moxie Marlinspike
4271732b10 Be more rigorous about discerning media message thread.
Fixes #4312
// FREEBIE
2015-10-28 10:24:55 -07:00
Moxie Marlinspike
79313c8093 Bump version to 3.1.0
// FREEBIE
2015-10-26 14:26:23 -07:00
Moxie Marlinspike
f80909738d Update translations
// FREEBIE
2015-10-26 13:52:21 -07:00
Jake McGinty
15b131d8c2 don't show invite reminder for non-contacts
Closes #4310
// FREEBIE
2015-10-26 12:41:43 -07:00
Moxie Marlinspike
40108d5276 Catch exception strangely thrown by system query from Sony device.
Fixes #4309
// FREEBIE
2015-10-26 12:34:27 -07:00
Geonu Kang
ea4def7ea1 Change string "Load" to "See"
Fixes #4304
Closes #4305
// FREEBIE
2015-10-26 12:26:21 -07:00
Jake McGinty
285bd3de0e tweak reminder jedi mind tricks
// FREEBIE
2015-10-26 12:24:53 -07:00
Moxie Marlinspike
35bcd30b24 Updated languages
// FREEBIE
2015-10-26 11:48:21 -07:00
Moxie Marlinspike
3453aadcfd Revert "Change string "Load" to "See""
This reverts commit 7a0765c1c2.
2015-10-26 11:45:28 -07:00
Jake McGinty
758b306527 really fix crash from incorrect send job
Closes #4246
// FREEBIE
2015-10-26 11:44:45 -07:00
Geonu Kang
7a0765c1c2 Change string "Load" to "See"
Fixes #4304
Closes #4305
// FREEBIE
2015-10-26 11:42:12 -07:00
Moxie Marlinspike
f6a5f117b8 Generate thumbnails for outgoing pending messages.
Fixes #4307
// FREEBIE
2015-10-26 11:39:00 -07:00
Jake McGinty
46def68776 really show reminders
fixes #4291
// FREEBIE
2015-10-26 10:59:39 -07:00
Moxie Marlinspike
f714f5b572 Really limit the number of rows that can be joined from parts.
Fixes #4299
Fixes #4298
// FREEBIE
2015-10-25 09:58:21 -07:00
Moxie Marlinspike
a64dba8a7e Correctly format numbers in outgoing MMS
// FREEBIE
2015-10-24 18:36:03 -07:00
Moxie Marlinspike
cb3f9a6805 Distinct rows from join
// FREEBIE
2015-10-24 14:38:03 -07:00
Sam Lanning
c342f0d7e4 Change text of dialog box confirming blocking.
Blocking users now also blocks incoming calls, so the block confirmation
message has been updated.

fixes #4217
Closes #4295

// FREEBIE
2015-10-24 11:04:10 -07:00
Moxie Marlinspike
34b80f91ee Propagate clicks on conversation list thumbnails.
Closes #4292
// FREEBIE
2015-10-24 10:33:20 -07:00
Moxie Marlinspike
c258b4c7aa Expand MMS-specific queries, properly parse incoming MMS.
// FREEBIE
2015-10-24 09:40:04 -07:00
Moxie Marlinspike
474922493f Fix audio seekbar layout on GB
Fixes #4287
// FREEBIE
2015-10-23 17:47:06 -07:00
Moxie Marlinspike
a5971da2ad Revert "fix crash from incorrect send job"
This reverts commit 8fe5f35b13.
2015-10-23 17:08:17 -07:00
Jake McGinty
8fe5f35b13 fix crash from incorrect send job
related to #4153
Clsoes #4246
// FREEBIE
2015-10-23 17:02:10 -07:00
Moxie Marlinspike
d70f0f1216 Stop audio when leaving conversation.
Fixes #4290
// FREEBIE
2015-10-23 17:00:51 -07:00
Moxie Marlinspike
a1f46b3aae Reset seekbar at end of play if mediaplayer doesn't do it for us.
Fixes #4286
// FREEBIE
2015-10-23 16:55:23 -07:00
Moxie Marlinspike
2ce16297ff Fix start/stop audio race condition.
Fixes #4289
// FREEBIE
2015-10-23 16:54:58 -07:00
Moxie Marlinspike
9dc003a753 Register for audio progress events.
Closes #4288
// FREEBIE
2015-10-23 16:23:32 -07:00
Jake McGinty
2f568c6400 go back to old reminder view look
Closes #4283
// FREEBIE
2015-10-23 12:53:19 -07:00
Moxie Marlinspike
23a2a5e5f3 Fix test
// FREEBIE
2015-10-23 12:24:43 -07:00
Moxie Marlinspike
91785e5590 Updated language translations
// FREEBIE
2015-10-23 11:36:07 -07:00
Moxie Marlinspike
5111fe2e95 Display thumbnail previews for images in conversation list.
Closes #4262
// FREEBIE
2015-10-22 10:45:04 -07:00
Moxie Marlinspike
15c6f18750 Support for an audio view to allow in-app playback of audio.
Closes #4270
// FREEBIE
2015-10-22 10:32:45 -07: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
25e099a309 Fix two message ordering issues.
1) The group ID for jobs that process received messages was
   previously set to the sender's e164.  This guaranteed
   serialization of messages per-recipient, while allowing
   processing of multiple recipients in parallel.  Unfortunately
   in the case of groups, this results in out of order
   conversations, since the "sender" for each message is
   different.  And we can't determine that it was a group
   message until *after* we process it.  So this change just
   puts all message processing from all senders in one big queue.

2) Synchronization messages were always being displayed before
   received messages, due to the "received time" for those
   being set to the time they were sent.

Fixes #3618
Fixes #2385

// FREEBIE
2015-10-16 10:07:50 -07:00
Moxie Marlinspike
5fd9874ab6 Support for group update messages from paired devices.
Fixes #3566
// FREEBIE
2015-10-15 17:10:54 -07:00
Jake McGinty
4ffb1ea95e in-conversation invite reminder
Closes #4250
// FREEBIE
2015-10-15 13:23:37 -07:00
Bastelbursche
38d0b5caa8 Remove unused strings with "session"
Closes #4208
2015-10-15 11:34:13 -07:00
WhiteHatTux
93b82843a7 Fix minor spelling mistake in RedPhone Constant
Closes #4235
//FREEBIE
2015-10-15 11:26:32 -07:00
Jake McGinty
ae97495c47 only load partial conversation by default
Closes #4252
Fixes #3911
// FREEBIE
2015-10-15 11:16:49 -07:00
Jake McGinty
4a3faf9086 stop listening on old recipient changes
Closes #4251
// FREEBIE
2015-10-15 11:11:56 -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
84fa2d1a34 Bump version to 3.0.3
// FREEBIE
2015-10-09 09:59:13 -07:00
Moxie Marlinspike
7342d839bc Updated translations
// FREEBIE
2015-10-09 09:49:23 -07:00
Moxie Marlinspike
450128ed63 Fix for sending secure messages to insecure groups.
Fixes #4225
// FREEBIE
2015-10-09 09:37:36 -07:00
326 changed files with 9289 additions and 8359 deletions

View File

@@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.thoughtcrime.securesms"
android:versionCode="159"
android:versionName="3.0.2">
android:versionCode="164"
android:versionName="3.3.1">
<uses-sdk tools:overrideLibrary="com.amulyakhare.textdrawable,com.astuetz.pagerslidingtabstrip,pl.tajchert.waitingdots,com.h6ah4i.android.multiselectlistpreferencecompat"/>
@@ -18,6 +18,9 @@
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
<uses-feature android:name="android.hardware.microphone" android:required="false"/>
<uses-feature android:name="android.hardware.wifi" android:required="false"/>
<uses-feature android:name="android.hardware.portrait" android:required="false"/>
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"/>
<uses-permission android:name="android.permission.READ_PROFILE"/>
@@ -112,6 +115,16 @@
<activity android:name=".ImportExportActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".InviteActivity"
android:theme="@style/TextSecure.HighlightTheme"
android:windowSoftInputMode="stateHidden"
android:parentActivityName=".ConversationListActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.thoughtcrime.securesms.ConversationListActivity" />
</activity>
<activity android:name=".PromptMmsActivity"
android:label="Configure MMS Settings"
android:windowSoftInputMode="stateUnchanged"

View File

@@ -1,8 +1,8 @@
# TextSecure [![Build Status](https://travis-ci.org/WhisperSystems/TextSecure.svg?branch=master)](https://travis-ci.org/WhisperSystems/TextSecure)
# Signal Android
TextSecure is a messaging app for simple private communication with friends.
Signal is a messaging app for simple private communication with friends.
TextSecure uses your phone's data connection (WiFi/3G/4G) to communicate securely, optionally supports plain SMS/MMS to function as a unified messenger, and can also encrypt the stored messages on your phone.
Signal uses your phone's data connection (WiFi/3G/4G) to communicate securely, optionally supports plain SMS/MMS to function as a unified messenger, and can also encrypt the stored messages on your phone.
Currently available on the Play store.
@@ -11,29 +11,29 @@ Currently available on the Play store.
## Contributing Bug reports
We use GitHub for bug tracking. Please search the existing issues for your bug and create a new one if the issue is not yet tracked!
https://github.com/WhisperSystems/TextSecure/issues
https://github.com/WhisperSystems/Signal-Android/issues
## Joining the Beta
Want to live life on the bleeding edge and help out with testing?
You can subscribe to TextSecure Beta releases here:
You can subscribe to Signal Android Beta releases here:
https://play.google.com/apps/testing/org.thoughtcrime.securesms
If you're interested in a life of peace and tranquility, stick with the standard releases.
## Contributing Translations
Interested in helping to translate TextSecure? Contribute here:
Interested in helping to translate Signal? Contribute here:
https://www.transifex.com/projects/p/textsecure-official/
## Contributing Code
Instructions on how to setup your development environment and build TextSecure can be found in [BUILDING.md](https://github.com/WhisperSystems/TextSecure/blob/master/BUILDING.md).
Instructions on how to setup your development environment and build Signal can be found in [BUILDING.md](https://github.com/WhisperSystems/Signal-Android/blob/master/BUILDING.md).
If you're new to the TextSecure codebase, we recommend going through our issues and picking out a simple bug to fix (check the "easy" label in our issues) in order to get yourself familiar.
If you're new to the Signal codebase, we recommend going through our issues and picking out a simple bug to fix (check the "easy" label in our issues) in order to get yourself familiar.
For larger changes and feature ideas, we ask that you propose it on the mailing list for a high-level discussion before implementation.
This repository is set up with [BitHub](https://whispersystems.org/blog/bithub/), so you can make money for committing to TextSecure. The current BitHub price for an accepted pull request is:
This repository is set up with [BitHub](https://whispersystems.org/blog/bithub/), so you can make money for committing to Signal. The current BitHub price for an accepted pull request is:
[![Current BitHub Price](https://bithub.herokuapp.com/v1/status/payment/commit/)](https://whispersystems.org/blog/bithub/)
@@ -59,7 +59,7 @@ http://support.whispersystems.org/
## Documentation
Looking for documentation? Check out the wiki!
https://github.com/WhisperSystems/TextSecure/wiki
https://github.com/WhisperSystems/Signal-Android/wiki
# Legal things
## Cryptography Notice

View File

@@ -29,8 +29,8 @@ repositories {
maven { // textdrawable
url 'https://dl.bintray.com/amulyakhare/maven'
}
maven { // cwac-camera
url 'https://repo.commonsware.com.s3.amazonaws.com'
maven { // material-dialogs
url "https://jitpack.io"
}
jcenter()
mavenLocal()
@@ -72,7 +72,6 @@ dependencies {
exclude group: 'com.android.support', module: 'support-v4'
}
compile 'com.madgag.spongycastle:prov:1.51.0.0'
compile 'com.commonsware.cwac:camera:0.6.12'
provided 'com.squareup.dagger:dagger-compiler:1.2.2'
compile 'org.whispersystems:jobmanager:1.0.2'
@@ -80,7 +79,6 @@ dependencies {
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
compile 'org.whispersystems:textsecure-android:1.8.1'
compile 'com.h6ah4i.android.compat:mulsellistprefcompat:1.0.0'
compile 'me.relex:circleindicator:1.0.0@aar'
testCompile 'junit:junit:4.12'
testCompile 'org.assertj:assertj-core:1.7.1'
@@ -114,7 +112,7 @@ dependencyVerification {
'com.makeramen:roundedimageview:1f5a1865796b308c6cdd114acc6e78408b110f0a62fc63553278fbeacd489cd1',
'com.pnikosis:materialish-progress:d71d80e00717a096784482aee21001a9d299fec3833e4ebd87739ed36cf77c54',
'de.greenrobot:eventbus:61d743a748156a372024d083de763b9e91ac2dcb3f6a1cbc74995c7ddab6e968',
'com.afollestad:material-dialogs:c17205f0d300baa307599c428a5473a6659684c94a5f68ae3c2b84b5e4741172',
'com.afollestad:material-dialogs:624dffff240533ca69414464f416c81c88c5c29689bb169093b9a333104f2471',
'pl.tajchert:waitingdots:2835d49e0787dbcb606c5a60021ced66578503b1e9fddcd7a5ef0cd5f095ba2c',
'com.soundcloud.android:android-crop:ffd4b973cf6e97f7d64118a0dc088df50e9066fd5634fe6911dd0c0c5d346177',
'com.android.support:appcompat-v7:9a2355537c2f01cf0b95523605c18606b8d824017e6e94a05c77b0cfc8f21c96',
@@ -126,13 +124,11 @@ dependencyVerification {
'com.squareup.dagger:dagger:789aca24537022e49f91fc6444078d9de8f1dd99e1bfb090f18491b186967883',
'com.doomonafireball.betterpickers:library:132ecd685c95a99e7377c4e27bfadbb2d7ed0bea995944060cd62d4369fdaf3d',
'com.madgag.spongycastle:prov:b8c3fec3a59aac1aa04ccf4dad7179351e54ef7672f53f508151b614c131398a',
'com.commonsware.cwac:camera:dcc93ddbb2f0393114fa1f31a13fe9e6edfcf5dbe96b22bc4b66c7b15e179054',
'org.whispersystems:jobmanager:506f679fc2fcf7bb6d10f00f41d6f6ea0abf75c70dc95b913398661ad538a181',
'org.whispersystems:libpastelog:550d33c565380d90f4c671e7b8ed5f3a6da55a9fda468373177106b2eb5220b2',
'com.amulyakhare:com.amulyakhare.textdrawable:54c92b5fba38cfd316a07e5a30528068f45ce8515a6890f1297df4c401af5dcb',
'org.whispersystems:textsecure-android:66ef91b93a08f0a290ef14c5e66af21113cd4b2c814c231855011ba4763f41cc',
'com.h6ah4i.android.compat:mulsellistprefcompat:47167c5cb796de1a854788e9ff318358e36c8fb88123baaa6e38fb78511dfabe',
'me.relex:circleindicator:996766d3dad51401331515e742948f2a10982d17c626edd976a246b9bf046aac',
'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a',
'javax.inject:javax.inject:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
'com.madgag.spongycastle:core:8d6240b974b0aca4d3da9c7dd44d42339d8a374358aca5fc98e50a995764511f',

View File

@@ -1,14 +0,0 @@
LOCAL_PATH := $(call my-dir)
# Enable to be able to use ALOG* with #include "cutils/log.h"
#log_c_includes += system/core/include
#log_shared_libraries := liblog
# These makefiles are here instead of being Android.mk files in the
# respective crypto, ssl, and apps directories so
# that import_openssl.sh import won't remove them.
include $(LOCAL_PATH)/build-config-64.mk
include $(LOCAL_PATH)/build-config-32.mk
include $(LOCAL_PATH)/Crypto.mk
include $(LOCAL_PATH)/Ssl.mk
include $(LOCAL_PATH)/Apps.mk

View File

@@ -50,9 +50,15 @@ CallAudioManager::~CallAudioManager() {
__android_log_print(ANDROID_LOG_WARN, TAG, "Shutting down...");
microphoneReader.stop();
__android_log_print(ANDROID_LOG_WARN, TAG, "Stopping audio player...");
audioPlayer.stop();
__android_log_print(ANDROID_LOG_WARN, TAG, "Stopping jitter buffer...");
webRtcJitterBuffer.stop();
__android_log_print(ANDROID_LOG_WARN, TAG, "Freeing resources...");
if (sockAddr != NULL) {
free(sockAddr);
}

View File

@@ -1,4 +1,5 @@
#include "WebRtcJitterBuffer.h"
//#include <time.h>
#define TAG "WebRtcJitterBuffer"
@@ -26,8 +27,8 @@ int WebRtcJitterBuffer::init() {
return -1;
}
pthread_t thread;
pthread_create(&thread, NULL, &WebRtcJitterBuffer::collectStats, this);
// pthread_t thread;
// pthread_create(&thread, NULL, &WebRtcJitterBuffer::collectStats, this);
return 0;
}
@@ -96,6 +97,22 @@ void WebRtcJitterBuffer::collectStats() {
stats.accelerate_rate,
stats.clockdrift_ppm,
stats.added_zero_samples);
// struct timespec timeToWait;
// struct timeval now;
// gettimeofday(&now, NULL);
//
// timeToWait.tv_sec = now.tv_sec;
// timeToWait.tv_nsec = now.tv_usec * 1000;
// timeToWait.tv_sec += 30;
//
// pthread_mutex_lock(&lock);
//
// if (running) {
// pthread_cond_timedwait(&condition, &lock, &timeToWait);
// }
//
// pthread_mutex_unlock(&lock);
sleep(30);
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -2,4 +2,7 @@
-keepattributes SourceFile,LineNumberTable
-keep class org.whispersystems.** { *; }
-keep class org.thoughtcrime.securesms.** { *; }
-keepclassmembers class ** {
public void onEvent*(**);
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="350"
android:fromYDelta="100%"
android:toYDelta="0%" />
</set>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="350"
android:fromYDelta="0%"
android:toYDelta="100%" />
</set>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/light_button_highlight" />
<item android:drawable="@color/light_button" />
</selector>

View File

@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attachment_type_selector_background"
android:elevation="4dp"
android:padding="16dp">
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="4">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.CircleColorImageView
android:id="@+id/gallery_button"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/ic_image_white_36dp"
android:scaleType="center"
android:elevation="4dp"
app:circleColor="@color/purple_400"/>
<TextView android:layout_marginTop="10dp"
style="@style/AttachmentTypeLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/attachment_type_selector__image"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.CircleColorImageView
android:id="@+id/audio_button"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/ic_headset_white_36dp"
android:scaleType="center"
android:elevation="4dp"
app:circleColor="@color/orange_400"/>
<TextView android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__audio"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.CircleColorImageView
android:id="@+id/video_button"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/ic_local_movies_white_36dp"
android:scaleType="center"
android:elevation="4dp"
app:circleColor="@color/red_400"/>
<TextView android:layout_marginTop="10dp"
style="@style/AttachmentTypeLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/attachment_type_selector__video"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:layout_weight="1">
<org.thoughtcrime.securesms.components.CircleColorImageView
android:id="@+id/contact_button"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/ic_person_white_36dp"
android:scaleType="center"
android:elevation="4dp"
app:circleColor="@color/blue_400"/>
<TextView android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__contact"/>
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:weightSum="4">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.CircleColorImageView
android:id="@+id/camera_button"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/ic_camera_white_36dp"
android:scaleType="center"
android:elevation="4dp"
app:circleColor="@color/green_400"/>
<TextView android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__camera"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.CircleColorImageView
android:id="@+id/close_button"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/ic_keyboard_arrow_down_white_36dp"
android:scaleType="center"
android:elevation="4dp"
app:circleColor="@color/gray50"/>
<TextView android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel"
android:text=" "/>
</LinearLayout>
</LinearLayout>
</LinearLayout>

90
res/layout/audio_view.xml Normal file
View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout android:id="@+id/audio_widget_container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<org.thoughtcrime.securesms.components.AnimatingToggle
android:id="@+id/control_toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center">
<com.pnikosis.materialishprogress.ProgressWheel
android:id="@+id/download_progress"
android:layout_width="48dp"
android:layout_height="48dp"
android:visibility="gone"
android:layout_gravity="center"
app:matProg_barColor="@color/white"
app:matProg_linearProgress="true"
app:matProg_spinSpeed="0.333"
tools:visibility="visible"/>
<ImageView android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_play_circle_fill_white_48dp"
android:contentDescription="Play"/>
<ImageView android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_pause_circle_fill_white_48dp"
android:contentDescription="Pause"/>
<ImageView android:id="@+id/download"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_download_circle_fill_white_48dp"
android:contentDescription="Download"/>
</org.thoughtcrime.securesms.components.AnimatingToggle>
<SeekBar android:id="@+id/seek"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<TextView android:id="@+id/timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="76dip"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?conversation_item_sent_text_secondary_color"
android:textSize="@dimen/conversation_item_date_text_size"
android:fontFamily="sans-serif-light"
android:autoLink="none"
android:visibility="gone"
tools:text="00:15"
tools:visibility="visible"
/>
</LinearLayout>
</merge>

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/action_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_search_white_24dp" />
<LinearLayout android:id="@+id/toggle_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText android:id="@+id/search_view"
android:layout_height="wrap_content"
android:layout_width="0px"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:hint="@string/contact_selection_activity__enter_name_or_number"
android:inputType="textPersonName"
style="@style/TextSecure.TitleTextStyle"
android:background="@android:color/transparent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"/>
<org.thoughtcrime.securesms.components.AnimatingToggle
android:id="@+id/button_toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center">
<ImageView android:id="@+id/search_dialpad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_dialpad_white_24dp" />
<ImageView android:id="@+id/search_keyboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_keyboard_white_24dp" />
<ImageView android:id="@+id/search_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_clear_white_24dp" />
</org.thoughtcrime.securesms.components.AnimatingToggle>
</LinearLayout>
</LinearLayout>
</merge>

View File

@@ -5,94 +5,17 @@
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v7.widget.Toolbar
<org.thoughtcrime.securesms.components.ContactFilterToolbar
android:id="@+id/toolbar"
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/TextSecure.LightActionBar">
android:theme="@style/TextSecure.LightActionBar" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/action_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_search_white_24dp" />
<LinearLayout android:id="@+id/toggle_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText android:id="@+id/search_view"
android:layout_height="wrap_content"
android:layout_width="0px"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:hint="@string/contact_selection_activity__enter_name_or_number"
android:inputType="textPersonName"
style="@style/TextSecure.TitleTextStyle"
android:background="@android:color/transparent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"/>
<org.thoughtcrime.securesms.components.AnimatingToggle
android:id="@+id/button_toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center">
<ImageView android:id="@+id/search_dialpad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_dialpad_white_24dp" />
<ImageView android:id="@+id/search_keyboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_keyboard_white_24dp" />
<ImageView android:id="@+id/search_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:clickable="true"
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_clear_white_24dp" />
</org.thoughtcrime.securesms.components.AnimatingToggle>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.Toolbar>
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/contact_selection_list_fragment"
android:name="org.thoughtcrime.securesms.ContactSelectionListFragment">
</fragment>
<fragment android:id="@+id/contact_selection_list_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="org.thoughtcrime.securesms.ContactSelectionListFragment" />
</LinearLayout>

View File

@@ -1,20 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="32sp"
android:paddingLeft="10dp"
android:paddingRight="25dp">
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:textSize="15sp"
android:textColor="?contact_selection_header_text"
android:textStyle="bold" />
</RelativeLayout>
<TextView android:layout_width="match_parent"
android:layout_height="32sp"
android:singleLine="true"
android:ellipsize="marquee"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:textSize="15sp"
android:paddingLeft="10dp"
android:paddingRight="25dp"
android:textStyle="bold"
xmlns:android="http://schemas.android.com/apk/res/android" />

View File

@@ -35,16 +35,14 @@
android:textAppearance="?android:attr/textAppearanceSmall"
android:fontFamily="sans-serif-light" />
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?contact_selection_label_text"
android:fontFamily="sans-serif-light"/>
<TextView android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceSmall"
android:fontFamily="sans-serif-light"/>
</LinearLayout>

View File

@@ -20,6 +20,11 @@
android:paddingTop="?attr/actionBarSize"
android:gravity="bottom">
<org.thoughtcrime.securesms.components.reminder.ReminderView
android:id="@+id/reminder"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout android:id="@+id/fragment_content"
android:layout_width="match_parent"
android:layout_height="0dp"
@@ -32,13 +37,32 @@
android:background="?android:windowBackground"
android:visibility="gone">
<org.thoughtcrime.securesms.components.ThumbnailView
android:id="@+id/attachment_thumbnail"
android:layout_width="230dp"
android:layout_height="150dp"
android:layout_gravity="center_horizontal"
android:contentDescription="@string/conversation_activity__attachment_thumbnail"
app:backgroundColorHint="?conversation_background" />
<org.thoughtcrime.securesms.components.RemovableMediaView
android:id="@+id/removable_media_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<org.thoughtcrime.securesms.components.ThumbnailView
android:id="@+id/attachment_thumbnail"
android:layout_width="230dp"
android:layout_height="150dp"
android:layout_gravity="center_horizontal"
android:visibility="gone"
android:contentDescription="@string/conversation_activity__attachment_thumbnail"
app:backgroundColorHint="?conversation_background" />
<org.thoughtcrime.securesms.components.AudioView
android:id="@+id/attachment_audio"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:visibility="gone"
android:background="@color/white"
android:paddingTop="15dp"
android:paddingBottom="15dp"
app:tintColor="@color/grey_500"/>
</org.thoughtcrime.securesms.components.RemovableMediaView>
</FrameLayout>

View File

@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<org.thoughtcrime.securesms.ConversationItem android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingRight="10dip"
android:orientation="vertical"
android:background="@drawable/conversation_item_background"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<org.thoughtcrime.securesms.ConversationItem
android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingRight="10dip"
android:orientation="vertical"
android:background="@drawable/conversation_item_background"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView android:id="@+id/group_message_status"
android:layout_width="wrap_content"
@@ -53,7 +55,15 @@
android:contentDescription="@string/conversation_item__mms_image_description"
android:visibility="gone"
tools:src="@drawable/ic_video_light"
tools:visibility="visible" />
tools:visibility="gone" />
<org.thoughtcrime.securesms.components.AudioView
android:id="@+id/audio_view"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:visibility="gone"
app:tintColor="@color/white"
tools:visibility="visible"/>
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"

View File

@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<org.thoughtcrime.securesms.ConversationItem
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/conversation_item_background">
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/conversation_item_background">
<RelativeLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -67,6 +68,13 @@
tools:src="@drawable/ic_video_light"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.AudioView
android:id="@+id/audio_view"
android:layout_width="210dp"
android:layout_height="wrap_content"
app:tintColor="@color/grey_500"
android:visibility="gone"/>
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
android:autoLink="all"

View File

@@ -11,7 +11,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.ReminderView
<org.thoughtcrime.securesms.components.reminder.ReminderView
android:id="@+id/reminder"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

View File

@@ -22,66 +22,81 @@
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dip"
android:layout_marginLeft="4dip"
android:layout_marginRight="8dip"
android:layout_marginBottom="4dip"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/contact_photo_image"
android:orientation="vertical">
<RelativeLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dip"
android:layout_marginRight="8dip"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/contact_photo_image"
android:weightSum="1"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1"
android:gravity="bottom">
<org.thoughtcrime.securesms.components.FromTextView
android:id="@+id/from"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?attr/conversation_list_item_contact_color"
android:singleLine="true"
tools:text="Jules Bonnot"
android:ellipsize="end"
android:drawablePadding="5dp"/>
<ImageView android:id="@+id/error"
android:layout_marginLeft="3dip"
android:layout_height="match_parent"
android:layout_width="20sp"
android:visibility="gone"
android:src="@drawable/ic_action_warning_red"
android:contentDescription="@string/conversation_list_item_view__error_alert" />
<TextView android:id="@+id/date"
android:layout_marginLeft="3dip"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/conversation_list_item_date_color"
android:fontFamily="sans-serif-light"
tools:text="30 mins"
android:singleLine="true"
android:layout_gravity="top" />
</LinearLayout>
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/subject"
<org.thoughtcrime.securesms.components.FromTextView
android:id="@+id/from"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/conversation_list_item_subject_color"
android:fontFamily="sans-serif-light"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/thumbnail"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?attr/conversation_list_item_contact_color"
android:singleLine="true"
tools:text="Wheels arrive at 3pm flat."
android:ellipsize="end" />
tools:text="Jules Bonnot"
android:ellipsize="end"
android:drawablePadding="5dp"/>
</LinearLayout>
<ImageView android:id="@+id/error"
android:layout_height="20dp"
android:layout_width="20dp"
android:layout_alignParentLeft="true"
android:layout_below="@id/from"
android:paddingBottom="3dp"
android:visibility="gone"
tools:visibility="visible"
android:src="@drawable/ic_action_warning_red"
android:contentDescription="@string/conversation_list_item_view__error_alert" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/subject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/from"
android:layout_toRightOf="@id/error"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/conversation_list_item_subject_color"
android:fontFamily="sans-serif-light"
android:singleLine="true"
tools:text="Wheels arrive at 3pm flat. This is a somewhat longer message."
android:ellipsize="end" />
<org.thoughtcrime.securesms.components.ThumbnailView
android:id="@+id/thumbnail"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:layout_marginRight="5dip"
android:layout_marginLeft="5dip"
android:layout_toLeftOf="@+id/date"
android:layout_alignParentTop="true"
android:layout_marginTop="5dip"
android:contentDescription="@string/conversation_activity__attachment_thumbnail"
app:backgroundColorHint="?conversation_background"
android:visibility="gone"
tools:src="@drawable/ic_video_light"
tools:visibility="visible" />
<TextView android:id="@id/date"
android:layout_marginLeft="3dip"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_above="@id/subject"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/conversation_list_item_date_color"
android:fontFamily="sans-serif-light"
tools:text="30 mins"
android:singleLine="true"/>
</RelativeLayout>
</org.thoughtcrime.securesms.ConversationListItem>

View File

@@ -19,15 +19,6 @@
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<me.relex.circleindicator.CircleIndicator
android:id="@+id/indicator"
android:layout_gravity="bottom|center_horizontal"
android:layout_width="fill_parent"
android:layout_marginBottom="25dp"
android:clickable="false"
android:focusable="false"
android:layout_height="40dp" />
<com.melnykov.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"

View File

@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:clickable="false">
<LinearLayout android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
android:padding="10dp"
android:background="@color/signal_primary">
<ImageView android:id="@+id/heart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:contentDescription="@string/InviteActivity_heart_content_description"
android:src="@drawable/love_heart" />
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="20sp"
android:text="@string/InviteActivity_friends_dont_let_friends_text_unencrypted"
android:gravity="center_horizontal"
android:layout_marginBottom="30dp"
android:layout_marginTop="18dp"
android:fontFamily="sans-serif-light"
android:paddingLeft="10dp"/>
<EditText android:id="@+id/invite_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="2"
tools:text="Let's switch to Signal: http://sgnl.link/asdfdfsa"
android:background="@drawable/sent_bubble"
android:padding="10dp"
android:gravity="top"
android:inputType="textShortMessage|textMultiLine"
android:textColor="#ff333333"/>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
<Button android:id="@+id/share_button"
android:drawablePadding="10dp"
android:drawableLeft="@drawable/ic_share_black_18dp"
android:text="@string/InviteActivity_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="ButtonStyle" />
<Button android:id="@+id/sms_button"
android:drawableLeft="@drawable/ic_message_black_18dp"
android:drawablePadding="10dp"
android:text="@string/InviteActivity_send_sms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="ButtonStyle" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout android:id="@+id/sms_send_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
android:visibility="gone">
<org.thoughtcrime.securesms.components.ContactFilterToolbar
android:id="@+id/contact_filter"
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/TextSecure.LightActionBar" />
<fragment android:id="@+id/contact_selection_list_fragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:name="org.thoughtcrime.securesms.ContactSelectionListFragment"
tools:layout="@layout/contact_selection_list_fragment"/>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:padding="10dp"
android:orientation="horizontal">
<Button android:id="@+id/cancel_sms_button"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/InviteActivity_cancel" />
<Button android:id="@+id/send_sms_button"
style="@style/Widget.AppCompat.Button.Borderless"
android:textColor="@color/signal_primary"
android:enabled="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="Send to 0 friends"/>
</LinearLayout>
</LinearLayout>
</FrameLayout>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="?conversation_item_bubble_background"
android:textColor="?conversation_item_sent_text_primary_color"
android:text="@string/load_more_header__see_full_conversation" />

View File

@@ -3,4 +3,6 @@
android:id="@+id/remove_image_button"
android:layout_width="@dimen/media_bubble_remove_button_size"
android:layout_height="@dimen/media_bubble_remove_button_size"
android:src="@drawable/conversation_attachment_close_circle" />
android:layout_gravity="top|right"
android:src="@drawable/conversation_attachment_close_circle"
android:visibility="gone"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<org.thoughtcrime.securesms.components.camera.QuickCamera
<org.thoughtcrime.securesms.components.camera.CameraView
android:id="@+id/quick_camera"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -31,7 +31,7 @@
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="#00000000"
android:src="@drawable/quick_camera_front"
android:src="@drawable/quick_camera_rear"
android:padding="20dp"
android:visibility="invisible"
tools:visibility="visible" />

Some files were not shown because too many files have changed in this diff Show More