Compare commits

...

132 Commits
v0.6 ... v0.9

Author SHA1 Message Date
Moxie Marlinspike
3fac2ae97e Bumped version to 0.9 2013-02-12 14:07:10 -08:00
Moxie Marlinspike
3d1ade7554 Update language translations. 2013-02-12 11:53:43 -08:00
Moxie Marlinspike
c2dcf7ae74 Refactor MasterSecret initialization, access, and timeout paths.
1) Consolidate all of the KeyCachingService interaction into a single
   mixin. Activities extend delegates which call through to the mixin.

2) Switch Activity increment/decrement triggers from onStop to onPause
   in order to account for some screen locks that don't stop activities.
2013-02-10 17:30:51 -08:00
Moxie Marlinspike
90280a62ae Poor man's styling. 2013-02-09 17:43:31 -08:00
Moxie Marlinspike
2277dbd572 Localize ok/cancel 2013-02-09 17:38:33 -08:00
Moxie Marlinspike
471ef16a5b Support for robust delivery.
1) If a message fails to be delivered, post a notification in the
   status bar if that thread is not active and visible.

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

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

3) Decrypt message bodies when unlocked, display 'encrypted' when
   locked.
2013-02-08 16:27:43 -08:00
Moxie Marlinspike
10865bc75f Update README to reflect Play Store location. 2013-02-07 12:05:36 -08:00
Moxie Marlinspike
c426ed728a Bumped version to 0.8.6 2013-02-06 16:57:42 -08:00
Moxie Marlinspike
d1d0f8afe5 Fix attachment icon for GB devices 2013-02-06 16:45:14 -08:00
Moxie Marlinspike
49ea135e37 Don't auto-set thread to read on send. 2013-02-06 16:40:09 -08:00
Moxie Marlinspike
8dad82323d Fix for missing format string params in Tibetan translation. 2013-02-06 16:08:50 -08:00
Moxie Marlinspike
295abf8da3 Updated translations 2013-02-06 15:46:29 -08:00
Moxie Marlinspike
a29120d911 Fix for IndexOutOfBoundException (race condition on Recipients resolution) 2013-02-04 22:09:17 -08:00
Moxie Marlinspike
b044a68168 Fix for mysterious 'anonymous sender' NPE. 2013-02-04 21:51:25 -08:00
Moxie Marlinspike
01a5c889b0 Export stray strings for localization. 2013-02-04 11:12:03 -08:00
Moxie Marlinspike
dcf73cd009 Fix for 'group message' regression. 2013-02-04 11:03:19 -08:00
Moxie Marlinspike
bf92de394b Add support for resuming compose drafts. 2013-02-04 00:13:07 -08:00
Moxie Marlinspike
209711ae40 Fix notification behavior.
1) Don't add a notification item to the notification bar if the thread the
   message is for is active and visible.

2) Only sound the notification ringtone at 1/4th volume if the thread the
   message is for is active and visible.

3) Auto-clear the notification in the notification bar when a thread becomes
   visible from a screen-off situation.

4) Make notification updates asynchronous.
2013-02-03 18:41:34 -08:00
Moxie Marlinspike
288e2b5572 Suppport receiving 'share' actions from other apps. 2013-02-02 20:37:40 -08:00
Moxie Marlinspike
6bdb0e2d66 Bump version to 0.8.5 2013-01-14 13:13:59 -08:00
Moxie Marlinspike
ebdeea1401 Updated language files from transifex 2013-01-14 12:20:32 -08:00
Moxie Marlinspike
232e7bba2d A conversation can't be trimmed to 0. 2013-01-14 12:10:57 -08:00
Moxie Marlinspike
fe43ef65ab Support for auto-deleting old messages beyond a certain conversation thread length. 2013-01-09 21:06:56 -08:00
Moxie Marlinspike
a185750bb7 Preserve ConversationList scroll state in between onPause/onResume. 2013-01-09 20:39:05 -08:00
Moxie Marlinspike
5cb02445e8 Add support for "delivery notifications." Currently SMS-only. 2013-01-06 21:38:36 -08:00
Moxie Marlinspike
118560cf0d Fix for DB creation and migration with new date schema changes. 2013-01-06 18:47:20 -08:00
Moxie Marlinspike
2204584d8f Improve locking and performance on asynchronous contact loading. 2013-01-06 15:46:26 -08:00
Moxie Marlinspike
25f75cb3d2 Change wording around local APN configuration preference. 2013-01-06 14:41:07 -08:00
Moxie Marlinspike
83f90ddd4e Display both sent and received time in message details.
1) We record time sent in SMS database (date_sent).

2) We record time received in MMS database (date_received).

3) We union this information correctly in MmsSmsDatabase.
2013-01-06 13:13:14 -08:00
Moxie Marlinspike
ead97953e8 Add proxy port option to local APN settings. 2013-01-05 15:48:29 -08:00
Moxie Marlinspike
5f16da8fca Bumping version to 0.8.4 2013-01-02 13:47:42 -08:00
Moxie Marlinspike
61b6d11911 Remove permission to fix bug on 2.3.X devices. 2013-01-02 13:42:56 -08:00
Moxie Marlinspike
68c29f283d Fall back to user-configured MMS params on SecurityException 2013-01-02 10:06:34 -08:00
Moxie Marlinspike
8e720e0ede Bumping version to 0.8.3 2013-01-01 15:42:02 -08:00
Moxie Marlinspike
abd7fc67da Fix NoClassDefFound errors on 2.2 devices. 2013-01-01 15:38:09 -08:00
Moxie Marlinspike
e8c6acdec9 Bumped version to 0.8.2 2013-01-01 13:04:17 -08:00
Moxie Marlinspike
b805c4db4e Fix for NPE on empty MMS PDU 2013-01-01 12:54:12 -08:00
Moxie Marlinspike
62cad05acb Updated language translations 2013-01-01 12:42:14 -08:00
Moxie Marlinspike
61d4192798 Refactor ContactPhotoFactory to handle changing local contact URIs. 2012-12-30 16:42:33 -08:00
Moxie Marlinspike
9b45e6068b Better asynchronous loading for Recipient information.
1) Switch back from AsyncTasks to an Executor and Futures.

2) Make the Executor operate LIFO.

3) Make the Executor thread a BACKGROUND_PRIORITY thread.
2012-12-27 12:00:14 -08:00
Moxie Marlinspike
9939830551 Refactor recipient access.
1) Refactor recipient class to support asynchronous loading operations.

2) Refactor recipient factory to simplify recipient access.

3) Consoliate everything into one recipient provider that is capable of
doing async lookups and intelligent caching.
2012-12-24 08:40:37 -08:00
Moxie Marlinspike
f685cb550b Collapse NewRecipientProvider into RecipientProvider 2012-12-12 03:56:38 -08:00
Moxie Marlinspike
54fad30f9f Add ability to specify APN information in TextSecure settings.
1) Add configuration options for APN information in TextSecure settings.

2) Fall back to TextSecure settings if system settings are unavailable
while sending/receiving MMS.

3) Catch sqlite exception when devices randomly don't have the same
APN db or table structure.
2012-12-08 16:49:57 -08:00
Moxie Marlinspike
10885fa8db Merge pull request #101 from charlesmunger/master
Merge SMS broadcast receiver permission.
2012-12-06 15:42:51 -08:00
Charles Munger
28326d1c10 Now requires permission for SMS broadcast reciever.
This should prevent other applications from sending spoofed SMS messages
via a broadcast intent.
2012-12-06 14:59:35 -08:00
Moxie Marlinspike
84a29df1ee Switch passphrase creation to async task. 2012-12-01 16:02:56 -08:00
Moxie Marlinspike
0e5ff9bdac Fix for occasional NPE 2012-12-01 16:02:55 -08:00
Moxie Marlinspike
575341704e Proper recipient bracket parsing 2012-12-01 16:02:55 -08:00
Moxie Marlinspike
fa5e993191 Weird NPE 2012-12-01 16:02:55 -08:00
Moxie Marlinspike
c83d57aa59 Merge pull request #94 from thoughtbox/Change-default-behaviour-when-receiving-"flash"-messages
Changes default behaviour for CLASS 0 messages
2012-11-24 19:25:53 -08:00
Tor Houghton
4ced1a0f18 Changes default behaviour for CLASS 0 messages
"Flash" messages are no longer handled by TS.

Sorry for the multiple pulls -- previous request had a cut+paste typo.
2012-11-24 14:29:31 +01:00
Moxie Marlinspike
1496688ba0 Bump version to 0.8.1 2012-11-20 21:26:02 -08:00
Moxie Marlinspike
01f5ec5ab8 Align date for GB devices. Compromise nice checkbox alignment. 2012-11-20 20:56:21 -08:00
Moxie Marlinspike
158cf53d2c Update translations 2012-11-20 20:54:07 -08:00
Moxie Marlinspike
9bf434cb3b The <= GB QuickContactBadge is ugly. Let's do something nicer for them.
Unfortunately GB is 50% of the TS userbase, best not to neglect them.
2012-11-20 20:14:30 -08:00
Moxie Marlinspike
80a6c65790 We need READ_CALL_LOG if targetSDK is > 15. What a drag. 2012-11-20 19:09:46 -08:00
Moxie Marlinspike
c66e221598 Signal that we don't want screenshots of unlocked activities. 2012-11-20 18:49:56 -08:00
Moxie Marlinspike
47c83d2747 When retrieving MMS, continue on with best-effort in absence of APNs. 2012-11-18 14:52:33 -08:00
Moxie Marlinspike
5050b43234 Merge pull request #86 from thoughtbox/Fix-for-'forward'-string-reference
Fix reference to "forward" prefix
2012-11-05 22:17:53 -08:00
Tor Houghton
e8ffce53fe Fix reference to "forward" prefix
Code was erroneously referencing the string ID, rather than the
contents of the string (sorry!).
2012-11-05 18:45:04 +01:00
Moxie Marlinspike
d8cd09d46b Bumped version to 0.8 2012-11-03 14:36:49 -07:00
Moxie Marlinspike
09dcb9ac66 Updated translation files from Transifex 2012-10-31 18:18:45 -07:00
Moxie Marlinspike
acffda1ab8 formatting 2012-10-31 18:03:09 -07:00
Moxie Marlinspike
6b18f66e19 disambiguate send 2012-10-31 18:00:59 -07:00
Moxie Marlinspike
f26dbb2f34 disambiguate 2012-10-31 17:56:39 -07:00
Moxie Marlinspike
93c0fffc31 We need to force plaintext on key exchange messages. 2012-10-29 20:53:04 -07:00
Moxie Marlinspike
c5ed820590 Create DB indexes for optimized queries. 2012-10-29 18:01:09 -07:00
Moxie Marlinspike
3a9908b40d formatting 2012-10-29 17:34:14 -07:00
Moxie Marlinspike
187ec95817 Add collating support for group SMS/MMS messages.
1) When sending an SMS or MMS to multiple recipients, only show one
ConversationItem, but provide statistics on the number of recipients
delivered to.

2) Still break up the messages for secure and insecure messages.
2012-10-29 16:51:42 -07:00
Moxie Marlinspike
3a8d29e279 Major reorganization of view/model interactions.
Mostly, the inheritance graph for MessageRecord/MmsMessageRecord was
all messed up, and each class was overloaded for things it shouldn't
have been.

1) Broke MessageRecord/MmsMessageRecord up into: DisplayRecord, ThreadRecord,
MessageRecord, SmsMessageRecord, NotificationMmsMessageRecord, and
MediaMmsMessageRecord.

2) Updated all the adapters/views to keep pace with that change.
2012-10-28 18:24:21 -07:00
Moxie Marlinspike
0b3e939ac8 Improve support for "me" contact.
1) Add >= ICS profile support (the system-supported "me" contact).

2) Improve <= Gingerbread support for me contact by auto-detecting
contacts that have the same number as the SIM card.

3) Tie in identity key import/export support to the "me" contact.

4) Don't display a "me" selection option in preference if it can
be auto-detected.

5) Refactor out the ContactAccessorNewApi back into the base class.
2012-10-22 19:17:08 -07:00
Moxie Marlinspike
c13a3a8181 Fix "Group Threads" so that messages are encrypted when possible.
1) Change the MessageSender logic so that individual SMS messages
are encrypted whenever there is a secure session, unless the UI
explicitly specifies otherwise.

2) Change the MMS logic so that messages to a recipient with a
secure session are all sent individually, instead of including
those recipients into the batch plaintext message.
2012-10-21 17:41:44 -07:00
Moxie Marlinspike
1bd260b981 Improve UI for group SMS ConversationActivity
1) Change title to indicate it's a group message, and specify
the number of recipients.

2) Add an ActionBar icon to display a list of the recipients.
2012-10-21 14:34:09 -07:00
Moxie Marlinspike
05ce6d6cac Added Play Store description to strings file (for translation). 2012-10-15 19:58:16 -07:00
Moxie Marlinspike
e29993e48f Bump version to 0.7.4 2012-10-15 19:56:12 -07:00
Moxie Marlinspike
f2aa393974 Updated completed language translations. 2012-10-15 18:31:15 -07:00
Moxie Marlinspike
2c82e7b343 Updated PDU processing code.
The code we use for PDU parsing and composing comes straight from
the Android framework, but it's an internal API, so we duplicate
the code here.  These changes represent updates that have been
made as of the JB release.
2012-10-13 10:33:56 -07:00
Moxie Marlinspike
7beb8e489b Merge pull request #76 from thoughtbox/Localisation-change
Support translation of 'FWD' prefix.
2012-10-12 19:22:36 -07:00
Tor Houghton
73bde7accd Localisation change
Localisation of the message prefix when forwarding a message (in
Norwegian, this would be "VS:" for instance).
2012-10-12 12:00:34 +02:00
Tor Houghton
192ffb4d2f Ignore .DS_Store 2012-10-12 11:55:43 +02:00
Moxie Marlinspike
82f8ba3584 Removed tabs 2012-09-30 19:56:29 -07:00
Moxie Marlinspike
030b39cd9c Updated attachment selection dialog.
1) Added nice-looking holo-themed graphics for each attachment type.

2) Removed old un-scaled graphics.

3) Stringified the attachment types.
2012-09-30 18:58:40 -07:00
Moxie Marlinspike
3cf77b6fd0 Display contact icons correctly in MMS ConversationItems 2012-09-30 12:28:03 -07:00
Moxie Marlinspike
cf9dc51f31 Initial fixes for MMS retrieval.
1) Parse the APN information based on what the ConnectionManager
tells us.

2) Accept email addresses as a valid Recipient format.
2012-09-30 11:46:45 -07:00
Moxie Marlinspike
59e7226183 Support ant signing builds 2012-09-29 16:14:13 -07:00
Moxie Marlinspike
f743af32de javac wants us to be more explicit 2012-09-28 16:11:11 -07:00
Moxie Marlinspike
090068ea66 Update version to 0.7.3 for repackaging. 2012-09-28 14:31:15 -07:00
Moxie Marlinspike
1b6c9eb2c1 Bump version to 0.7.2 2012-09-27 21:54:08 -07:00
Moxie Marlinspike
a8b2f5f9ee Make lint happy. 2012-09-27 21:53:53 -07:00
Moxie Marlinspike
61b0f2aa8c Fix region encoding on resource directory names. 2012-09-27 21:39:03 -07:00
Moxie Marlinspike
ba033ab801 Added Transifex translations.
Supporting ~100% translation for:
1) Arabic
2) German
3) Spanish
4) Italian
5) Norwegian
2012-09-27 18:29:09 -07:00
Moxie Marlinspike
d98da6dc06 Merge pull request #71 from thoughtbox/Missing_localisation_strings
Missing localisation strings
2012-09-23 11:19:41 -07:00
Moxie Marlinspike
245afa5020 Merge pull request #70 from thoughtbox/Sparebank1_OTP
Fix for Sparebank1 OTP application
2012-09-22 15:15:58 -07:00
Tor Houghton
ff878c09db More localisation
I knew there were some I missed out.
2012-09-22 23:34:05 +02:00
Tor Houghton
46fb1b1db9 Fix for Sparebank1 OTP application
Now in its own branch. Dear $deity, hope this is correct.
2012-09-22 22:17:57 +02:00
Moxie Marlinspike
ba84059b67 Merge pull request #69 from thoughtbox/master
Localisation changes
2012-09-22 13:00:18 -07:00
Tor Houghton
b89a72dbeb Localisation commit
You know, it's much more fun listening to you in a lecture theatre. :-P

Right; any nit picks now might have to wait 3 weeks, depending on
available connectivity. Hope I did not screw this one up.
2012-09-22 21:53:56 +02:00
Moxie Marlinspike
ab4f25704d Merge pull request #64 from thoughtbox/patch-2
Update src/org/thoughtcrime/securesms/ConversationListFragment.java
2012-09-21 20:35:01 -07:00
thoughtbox
999ec7606c Update src/org/thoughtcrime/securesms/ConversationListFragment.java
Fix for removing notification when deleting an unread thread.
2012-09-21 08:34:57 +03:00
Moxie Marlinspike
bb0ec65744 Include source origin in string key name.
This should help eliminate string duplicates, as well as provide
visibility into where strings in a resource file are being used.
2012-09-19 19:56:04 -07:00
Moxie Marlinspike
faad1e57ea Resolved some duplicate strings 2012-09-17 19:27:53 -07:00
Moxie Marlinspike
00e2e62c10 Bump version to 0.7.1 2012-09-14 10:45:40 -07:00
Moxie Marlinspike
edb466ae86 Fix for self-photo lookup bug on 2.3 2012-09-14 10:45:11 -07:00
Moxie Marlinspike
6acf4ba3f6 Add note about translation to README 2012-09-13 20:50:31 -07:00
Moxie Marlinspike
6e07533bcd Bump version number to 0.7 2012-09-13 20:47:33 -07:00
Moxie Marlinspike
1881753a71 Take advantage of new ICS+ notification styles. 2012-09-12 21:08:13 -07:00
Moxie Marlinspike
095b73a079 Updated new message notification icon style for all versions of Android. 2012-09-12 20:48:04 -07:00
Moxie Marlinspike
bf8d868eb3 Updated notification icon to look appropriate for all Android versions. 2012-09-12 20:08:07 -07:00
Moxie Marlinspike
4715512194 Fixed auto-initiate layout on GB. 2012-09-12 19:47:40 -07:00
Moxie Marlinspike
110b436ea2 Fix for contact lookup on GB. 2012-09-12 19:27:29 -07:00
Moxie Marlinspike
c775dfa580 Logging for debugging 2012-09-11 18:48:41 -07:00
Moxie Marlinspike
c6ae07ee5c Turn avatar images in conversations into QuickContactBadge equivalents.
This requires a few changes to Recipient in order to make sure we
have a Contact URI at click time.  While we're at it, let's git rid
of the OldRecipientProvider, which was for pre-2.0 contact stuff
(no longer supported, woohoo!).
2012-09-11 18:23:19 -07:00
Moxie Marlinspike
a834ccad55 Fix for 2.3 ugliness. 2012-09-09 19:49:02 -07:00
Moxie Marlinspike
3d3db421d3 Lint warning changes. 2012-09-09 16:10:46 -07:00
Moxie Marlinspike
d102bd015e Transifex Schema 2012-09-09 14:51:04 -07:00
Moxie Marlinspike
7a7dba66ad Update passphrase caching notification strategy.
On platforms (API >= 11) that support receiving click events within
a notification, we change the notification format so that users
can "lock" TextSecure with a click.

For all platforms, we change the notification icon in the status
bar from a "lock" to an "unlock," to better reflect the situation.

This is all part of the master plan for eliminating the passphrase
timeout option.
2012-09-09 09:18:17 -07:00
Moxie Marlinspike
312942439d Fixed RecipientsPanel white-on-white weirdness for Android <= 2.3.
Only appeared when the RecipientsEditor was in the unselected state.
2012-09-07 21:34:29 -07:00
Moxie Marlinspike
f39b8e5fc8 Fix up whitespace tagging and tag detection prompt.
1) Fix up the whitespace tagging so that it's a little more strict.

2) Don't display whitespace tags that we add to our own messages.

3) Make the tag detection prompt a little more visually pleasing.
2012-09-07 21:21:12 -07:00
Moxie Marlinspike
4c3b7cbe08 Extract TextSecure strings for i18n.
1) Change all instances which use concatenation to build strings
with variables in them to use string formatting instead.

2) Extract all string literals from layouts and menus into strings.xml

3) Extract all string literals from code into strings.xml
2012-09-07 21:19:37 -07:00
Moxie Marlinspike
45c058b46d Merge branch 'master' of github.com:WhisperSystems/TextSecure 2012-08-23 17:41:26 -07:00
Moxie Marlinspike
c46b95dfd8 Merge pull request #52 from tecknicaltom/master
Fixing grammar in first sentence of readme
2012-08-21 16:52:00 -07:00
Tom Samstag
2bf4011ad3 Fixing grammar in first sentence of readme 2012-08-21 16:44:12 -07:00
Moxie Marlinspike
095ef026f1 Update gitignore 2012-08-07 20:52:18 -07:00
Moxie Marlinspike
f6660dbef5 Bump version to 0.6.2 2012-08-07 20:29:22 -07:00
Moxie Marlinspike
faa3d2276e Fix for another NPE which should never happen but apparently does. 2012-08-07 19:09:16 -07:00
Moxie Marlinspike
b4e48f9dba Fix for NPE which should never happen, but apparently does. 2012-08-07 19:06:23 -07:00
Moxie Marlinspike
f4de6c8d84 Only show call button when we've got a conversation recipient. 2012-08-07 19:03:28 -07:00
Moxie Marlinspike
5fb7ae7ecf Fix for NPE during a secure session with no sender identity key. 2012-08-07 19:03:00 -07:00
Moxie Marlinspike
3900808578 Bump version to 0.6.1 2012-08-06 19:45:48 -07:00
Moxie Marlinspike
07305d939a Fix display problem on <= Gingerbread devices. 2012-08-06 19:40:59 -07:00
275 changed files with 15277 additions and 5303 deletions

8
.gitignore vendored
View File

@@ -4,3 +4,11 @@ project.properties
.settings
bin/
gen/
.idea/
TextSecure.iml
out
tests
lint.xml
local.properties
ant.properties
.DS_Store

11
.tx/config Normal file
View File

@@ -0,0 +1,11 @@
[main]
host = https://www.transifex.com
lang_map = fr_CA:fr-rCA,pt_BR:pt-rBR,pt_PT:pt,zh_CN:zh-rCN,zh_HK:zh-rHK,zh_TW:zh-rTW,da_DK:da-rDK,de_DE:de,fr_FR:fr,es_ES:es,hu_HU:hu,sv_SE:sv-rSE
[textsecure-official.master]
file_filter = res/values-<lang>/strings.xml
source_file = res/values/strings.xml
source_lang = en
type = ANDROID

View File

@@ -1,11 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.thoughtcrime.securesms"
android:versionCode="22"
android:versionName="0.6">
android:versionCode="37"
android:versionName="0.9">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14"/>
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>
<permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"
android:label="Access to TextSecure Secrets"
android:protectionLevel="signature" />
<uses-permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"></uses-permission>
<uses-permission android:name="android.permission.READ_PROFILE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_PROFILE"></uses-permission>
<uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_MMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light.DarkActionBar">
@@ -28,6 +53,14 @@
<data android:scheme="smsto" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="audio/*" />
<data android:mimeType="image/*" />
<data android:mimeType="text/*" />
</intent-filter>
</activity>
<activity android:name=".ConversationActivity"
@@ -36,58 +69,58 @@
<activity android:name=".PassphraseCreateActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="Create Passphrase"
android:label="@string/AndroidManifest__create_passphrase"
android:launchMode="singleInstance"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".PassphrasePromptActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="Enter Passphrase"
android:label="@string/AndroidManifest__enter_passphrase"
android:launchMode="singleInstance"
android:windowSoftInputMode="stateVisible"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ContactSelectionActivity"
android:label="Select Contacts"
android:label="@string/AndroidManifest__select_contacts"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".AutoInitiateActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="TextSecure Messaging Detected"
android:label="@string/AndroidManifest__textsecure_detected"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ViewIdentityActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="Public Identity Key"
android:label="@string/AndroidManifest__public_identity_key"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".PassphraseChangeActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="Change Passphrase"
android:label="@string/AndroidManifest__change_passphrase"
android:launchMode="singleInstance"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".VerifyKeysActivity"
android:label="Verify Session"
android:label="@string/AndroidManifest__verify_session"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".VerifyIdentityActivity"
android:label="Verify Identity"
android:label="@string/AndroidManifest__verify_identity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".SaveIdentityActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="Save Identity"
android:label="@string/AndroidManifest__save_identity"
android:windowSoftInputMode="stateVisible"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ReviewIdentitiesActivity"
android:label="Manage Identity Keys"
android:label="@string/AndroidManifest__manage_identity_keys"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ReceiveKeyActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="Complete Key Exchange"
android:label="@string/AndroidManifest__complete_key_exchange"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ApplicationPreferencesActivity"
@@ -95,7 +128,7 @@
<activity android:name=".VerifyImportedIdentityActivity"
android:theme="@style/Theme.Sherlock.Light.Dialog"
android:label="Verify Imported Identity"
android:label="@string/AndroidManifest__verify_imported_identity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<service android:enabled="true" android:name=".service.ApplicationMigrationService"/>
@@ -130,35 +163,22 @@
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>
<receiver android:name=".service.SystemStateListener"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.SERVICE_STATE"></action>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"></action>
</intent-filter>
</receiver>
<provider android:name=".providers.PartProvider" android:authorities="org.thoughtcrime.provider.securesms" />
<provider android:name=".providers.PartProvider"
android:authorities="org.thoughtcrime.provider.securesms" />
<uses-library android:name="android.test.runner" />
</application>
<permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"
android:label="Access to TextSecure Secrets"
android:protectionLevel="signature" />
<uses-permission android:name="org.thoughtcrime.securesms.ACCESS_SECRETS"></uses-permission>
<uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_MMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="org.thoughtcrime.securesms.tests" android:label="Tests for My App" />

View File

@@ -1,7 +1,7 @@
TextSecure
=================
An secure text messaging application for Android.
A secure text messaging application for Android.
TextSecure is a replacement for the standard text messaging application, allowing you to send and receive text messages as normal. Additionally, TextSecure provides:
@@ -32,6 +32,20 @@ whispersystems@lists.riseup.net
https://lists.riseup.net/www/info/whispersystems
Translation
------------
Interested in helping to translate TextSecure? Contribute here:
https://www.transifex.com/projects/p/textsecure-official/
Downloads
------------
TextSecure can be downloaded from the Play Store here:
https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms
Cryptography Notice
------------

25
build.xml Normal file
View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="TextSecure" default="help">
<property file="local.properties" />
<property file="ant.properties" />
<property environment="env" />
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
<isset property="env.ANDROID_HOME" />
</condition>
<loadproperties srcFile="project.properties" />
<fail
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
unless="sdk.dir"
/>
<import file="custom_rules.xml" optional="true" />
<!-- version-tag: 1 -->
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 789 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 B

View File

Before

Width:  |  Height:  |  Size: 767 B

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 903 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

View File

Before

Width:  |  Height:  |  Size: 620 B

After

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@android:color/transparent" />
<item android:state_pressed="true" android:state_selected="false"
android:drawable="@android:color/transparent" />
<item android:state_selected="false" android:state_activated="false"
android:drawable="@color/read_bgcolor" />
<item android:state_activated="true"
android:drawable="@drawable/list_selector_background_selected" />
</selector>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@android:color/transparent" />
<item android:state_pressed="true" android:state_selected="false"
android:drawable="@android:color/transparent" />
<item android:state_selected="false" android:state_activated="false"
android:drawable="@color/unread_bgcolor" />
<item android:state_activated="true"
android:drawable="@drawable/list_selector_background_selected" />
</selector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat"
android:src="@drawable/notify_panel_notification_icon_bg"
/>

View File

@@ -3,30 +3,40 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="16dip"
android:layout_marginRight="16dip">
android:paddingLeft="16dip"
android:paddingRight="16dip">
<TextView android:id="@+id/description_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5px"
android:text="You have received a message from someone who supports TextSecure encrypted sessions. Would you like to initiate a key exchange so you can communicate securely?"/>
android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/auto_initiate_activity__you_have_received_a_message_from_someone_who_supports_textsecure_encrypted_sessions_would_you_like_to_initiate_a_secure_session"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10px"
android:orientation="horizontal">
android:orientation="horizontal"
android:layout_marginTop="16dip"
android:layout_marginBottom="16dip"
android:gravity="right">
<Button android:id="@+id/initiate_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Initiate Exchange"
android:gravity="center"/>
<Button android:id="@+id/cancel_button"
android:text="Cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"/>
<TableLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow>
<Button android:id="@+id/initiate_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/auto_initiate_activity__initiate_exchange"
android:gravity="center"/>
<Button android:id="@+id/cancel_button"
android:text="@android:string/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"/>
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>

View File

@@ -1,63 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dip"
android:paddingRight="16dip"
android:orientation="vertical" >
<TableRow>
<TextView
android:textSize="12sp"
android:text="Old passphrase:"
android:padding="3dip" />
android:padding="3dip"
android:text="@string/change_passphrase_activity__old_passphrase"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<EditText android:id="@+id/old_passphrase"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:password="true"/>
</TableRow>
<EditText
android:id="@+id/old_passphrase"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:layout_marginBottom="5dip" />
<TableRow>
<TextView
android:text="New passphrase:"
android:textSize="12sp"
android:padding="3dip" />
android:padding="3dip"
android:text="@string/change_passphrase_activity__new_passphrase"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:id="@+id/new_passphrase"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:password="true"
/>
</TableRow>
<EditText
android:id="@+id/new_passphrase"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:layout_marginBottom="5dip" />
<TableRow>
<TextView
android:text="Repeat new passphrase:"
android:textSize="12sp"
android:padding="3dip" />
android:padding="3dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/change_passphrase_activity__repeat_new_passphrase"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:id="@+id/repeat_passphrase"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:password="true"
/>
</TableRow>
<EditText
android:id="@+id/repeat_passphrase"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:layout_marginBottom="5dip" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dip"
android:gravity="right"
android:orientation="horizontal" >
<TableRow>
<Button android:id="@+id/cancel_button"
android:padding="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"/>
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*"
tools:ignore="UselessParent" >
<Button android:id="@+id/ok_button"
android:padding="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ok"/>
</TableRow>
</TableLayout>
</ScrollView>
<TableRow>
<Button
android:id="@+id/cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dip"
android:layout_marginRight="15dip"
android:text="@android:string/cancel" />
<Button
android:id="@+id/ok_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="16dip"
android:text="@android:string/ok" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@@ -1,84 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingLeft="14dip"
android:paddingRight="5dip"
>
<ImageView android:id="@+id/presence"
android:layout_width="32dip"
android:layout_height="32dip"
android:layout_alignParentRight="true"
android:layout_marginLeft="5dip"
android:layout_centerVertical="true"
android:gravity="center"
android:scaleType="centerInside"
/>
<TextView android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="8dip"
android:layout_marginTop="-8dip"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold"
android:visibility = "gone"
/>
<TextView android:id="@+id/number"
android:visibility = "gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_toRightOf="@id/label"
android:layout_alignBaseline="@id/label"
android:layout_toLeftOf="@id/presence"
android:layout_alignWithParentIfMissing="true"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
<TextView android:id="@+id/name"
android:layout_width="0dip"
android:layout_height="0dip"
android:layout_above="@id/label"
android:layout_alignWithParentIfMissing="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/presence"
android:layout_marginBottom="1dip"
android:singleLine="true"
android:ellipsize="marquee"
android:gravity="center_vertical|left"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</RelativeLayout>

View File

@@ -1,27 +1,7 @@
<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- <EditText android:id="@+id/group_name"-->
<!-- android:layout_width="fill_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:hint="Enter group name"-->
<!-- android:layout_alignParentTop="true" />-->
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
@@ -32,10 +12,11 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<TextView android:id="@+id/emptyText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="No contacts."
android:text="@string/contact_selection_group_activity__no_contacts"
android:textSize="20sp"
android:textColor="?android:attr/textColorSecondary"
android:paddingLeft="10dip"
@@ -43,21 +24,5 @@
android:paddingTop="10dip"
android:lineSpacingMultiplier="0.92"
/>
</ScrollView>
<!-- <Button android:id="@+id/create_button"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:padding="15dip"-->
<!-- android:text="Create"-->
<!-- android:layout_alignParentBottom="true"-->
<!-- android:layout_alignParentLeft="true" />-->
<!-- -->
<!-- <Button android:id="@+id/cancel_button"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:padding="15dip"-->
<!-- android:text="Cancel"-->
<!-- android:layout_alignParentBottom="true"-->
<!-- android:layout_alignParentRight="true" /> -->
</ScrollView>
</LinearLayout>

View File

@@ -1,21 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"

View File

@@ -1,16 +1,3 @@
<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
@@ -20,18 +7,16 @@
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fastScrollEnabled="true"
/>
android:fastScrollEnabled="true" />
<ScrollView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
>
android:fillViewport="true">
<TextView android:id="@+id/emptyText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="No contacts."
android:text="@string/contact_selection_group_activity__no_contacts"
android:textSize="20sp"
android:textColor="?android:attr/textColorSecondary"
android:paddingLeft="10dip"

View File

@@ -1,21 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"

View File

@@ -1,16 +1,4 @@
<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
@@ -20,18 +8,17 @@
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fastScrollEnabled="true"
/>
android:fastScrollEnabled="true" />
<ScrollView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
>
android:fillViewport="true" >
<TextView android:id="@+id/emptyText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="No recent calls."
android:text="@string/contact_selection_recent_activity__no_recent_calls"
android:textSize="20sp"
android:textColor="?android:attr/textColorSecondary"
android:paddingLeft="10dip"

View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fastScrollEnabled="true"
/>
<ScrollView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
>
<TextView android:id="@+id/emptyText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="No contacts."
android:textSize="20sp"
android:textColor="?android:attr/textColorSecondary"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="10dip"
android:lineSpacingMultiplier="0.92"
/>
</ScrollView>
</LinearLayout>

View File

@@ -35,7 +35,7 @@
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="5dip"
android:background="#fff">
@@ -59,26 +59,12 @@
android:layout_height="fill_parent"
android:gravity="center_vertical">
<!-- <Button-->
<!-- android:id="@+id/view_image_button"-->
<!-- style="?android:attr/buttonStyleSmall"-->
<!-- android:layout_width="100dip"-->
<!-- android:layout_height="50dip"-->
<!-- android:text="View" />-->
<!-- -->
<!-- <Button-->
<!-- android:id="@+id/replace_image_button"-->
<!-- style="?android:attr/buttonStyleSmall"-->
<!-- android:layout_width="100dip"-->
<!-- android:layout_height="50dip"-->
<!-- android:text="Replace" />-->
<Button
android:id="@+id/remove_image_button"
style="?android:attr/buttonStyleSmall"
android:layout_width="100dip"
android:layout_height="50dip"
android:text="Remove" />
android:text="@string/conversation_activity__remove" />
</LinearLayout>
@@ -108,7 +94,7 @@
android:autoText="true"
android:capitalize="sentences"
android:nextFocusRight="@+id/send_button"
android:hint="Type message"
android:hint="@string/conversation_activity__type_message"
android:maxLines="4"
android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
android:imeOptions="actionSend|flagNoEnterAction"
@@ -121,7 +107,7 @@
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:nextFocusLeft="@+id/embedded_text_editor"
android:text="Send"
android:text="@string/conversation_activity__send"
android:padding="8dip"
/>
</LinearLayout>

View File

@@ -8,11 +8,10 @@
<TextView
android:id="@+id/title"
android:text="Batch Selection Mode"
android:text="@string/conversation_fragment_cab__batch_selection_mode"
android:maxLines="1"
android:singleLine="true"
android:layout_gravity="center_vertical"
android:layout_centerVertical="true"
android:textAppearance="?android:attr/textAppearanceMediumInverse"
android:layout_weight="1"
android:layout_width="wrap_content"

View File

@@ -77,7 +77,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Download"
android:text="@string/conversation_item_received__download"
android:visibility="gone" />
<TextView android:id="@+id/mms_label_downloading"
@@ -86,21 +86,45 @@
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:gravity="center"
android:text="Downloading"
android:text="@string/conversation_item_received__downloading"
android:visibility="gone" />
</LinearLayout>
<TextView android:id="@+id/conversation_item_date"
android:autoLink="all"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:linksClickable="false"
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="left"
android:textColor="#ffcccccc"
android:paddingTop="1dip"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="left">
<ImageView android:id="@+id/delivered_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="3dip"
android:src="@drawable/ic_sms_mms_delivered"
android:visibility="gone" />
<TextView android:id="@+id/group_message_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:linksClickable="false"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_gravity="left"
android:textColor="#ffcccccc"
android:visibility="gone"
android:layout_marginRight="8dip"
android:paddingTop="1dip"/>
<TextView android:id="@+id/conversation_item_date"
android:autoLink="all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:linksClickable="false"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_gravity="left"
android:textColor="#ffcccccc"
android:paddingTop="1dip"/>
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/indicators_parent"

View File

@@ -99,7 +99,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Download"
android:text="@string/conversation_item_sent__download"
android:visibility="gone" />
<TextView android:id="@+id/mms_label_downloading"
@@ -108,21 +108,47 @@
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:gravity="center"
android:text="Downloading"
android:text="@string/conversation_item_sent__downloading"
android:visibility="gone" />
</LinearLayout>
<TextView android:id="@+id/conversation_item_date"
android:autoLink="all"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:linksClickable="false"
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="right"
android:textColor="#ffcccccc"
android:paddingTop="1dip"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="right">
<ImageView android:id="@+id/delivered_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="3dip"
android:src="@drawable/ic_sms_mms_delivered"
android:visibility="gone" />
<TextView android:id="@+id/group_message_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:linksClickable="false"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_gravity="right"
android:textColor="#ffcccccc"
android:visibility="gone"
android:layout_marginRight="8dip"
android:paddingTop="1dip"/>
<TextView android:id="@+id/conversation_item_date"
android:autoLink="all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:linksClickable="false"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_gravity="right"
android:textColor="#ffcccccc"
android:paddingTop="1dip"/>
</LinearLayout>
</LinearLayout>
<view xmlns:android="http://schemas.android.com/apk/res/android"

View File

@@ -1,15 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<org.thoughtcrime.securesms.ConversationListItem xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:layout_height="wrap_content"
android:paddingRight="10dip"
>
<QuickContactBadge android:id="@+id/contact_photo"
style="?android:attr/quickContactBadgeStyleWindowLarge"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true" />
<FrameLayout android:id="@+id/contact_photo_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:visibility="visible">
<QuickContactBadge android:id="@+id/contact_photo_badge"
style="?android:attr/quickContactBadgeStyleWindowLarge"
android:visibility="gone" />
<ImageView android:id="@+id/contact_photo_image"
android:layout_width="60dp"
android:layout_height="60dp"
android:cropToPadding="true"
android:scaleType="centerCrop"
android:visibility="gone" />
</FrameLayout>
<CheckBox android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -25,8 +38,8 @@
android:layout_marginTop="6dip"
android:layout_marginRight="5dip"
android:layout_marginLeft="5dip"
android:layout_alignTop="@id/contact_photo"
android:layout_toRightOf="@id/contact_photo"
android:layout_alignTop="@id/contact_photo_frame"
android:layout_toRightOf="@id/contact_photo_frame"
android:layout_toLeftOf="@id/checkbox"
android:layout_alignWithParentIfMissing="true"
android:ellipsize="marquee"
@@ -41,8 +54,8 @@
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary"
android:singleLine="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" />
android:layout_alignBottom="@id/contact_photo_frame"
android:layout_alignParentRight="true"/>
<ImageView android:id="@+id/error"
android:layout_marginLeft="3dip"
@@ -69,8 +82,8 @@
android:singleLine="true"
android:layout_marginBottom="10dip"
android:layout_marginLeft="5dip"
android:layout_alignBottom="@id/contact_photo"
android:layout_toRightOf="@id/contact_photo"
android:layout_alignBottom="@id/contact_photo_frame"
android:layout_toRightOf="@id/contact_photo_frame"
android:layout_toLeftOf="@id/date"
android:ellipsize="end" />

View File

@@ -12,14 +12,14 @@
android:paddingRight="16dip"
android:orientation="vertical">
<TextView android:text="Please choose a passphrase that will be used to locally encrypt your data. This should be a strong passphrase."
<TextView android:text="@string/create_passphrase_activity__please_choose_a_passphrase_that_will_be_used_to_locally_encrypt_your_data_this_should_be_a_strong_passphrase"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:layout_marginBottom="10dip"/>
<TextView android:text="Passphrase:"
<TextView android:text="@string/create_passphrase_activity__passphrase"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@@ -28,21 +28,21 @@
<EditText android:id="@+id/passphrase_edit"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:password="true"/>
android:inputType="textPassword"/>
<TextView
android:layout_width="wrap_content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/repeat_label"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginBottom="5dip"
android:layout_marginTop="10dip"
android:text="Repeat:"/>
android:text="@string/create_passphrase_activity__repeat"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:password="true"
android:inputType="textPassword"
android:id="@+id/passphrase_edit_repeat"/>
<LinearLayout android:layout_width="fill_parent"
@@ -57,14 +57,14 @@
<TableRow>
<Button android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Cancel"
android:text="@android:string/cancel"
android:id="@+id/cancel_button"
android:layout_marginRight="15dip"
android:layout_marginLeft="16dip"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"
android:text="@android:string/ok"
android:id="@+id/ok_button"
android:layout_marginRight="16dip"/>
</TableRow>

View File

@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright (C) 2008 Esmertec AG.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:orientation="vertical"
android:layout_marginLeft="10dip">
<TextView android:id="@+id/title"
android:textAppearance="@style/NotificationTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:text="@string/KeyCachingService_passphrase_cached"
/>
<TextView android:id="@+id/text2"
android:textAppearance="@style/NotificationText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-2dp"
android:layout_marginBottom="-2dp"
android:singleLine="true"
android:fadingEdge="horizontal"
android:ellipsize="marquee"
android:text="@string/KeyCachingService_textsecure_passphrase_cached"
/>
</LinearLayout>
<ImageView android:id="@+id/lock_cache_icon"
android:src="@drawable/icon_lock"
android:layout_width="64dp"
android:layout_height="64dp"
android:background="@drawable/notify_panel_notification_icon_bg_tile"
android:scaleType="center"
android:layout_alignParentRight="true"
/>
</RelativeLayout>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="false"
android:scrollbarStyle="insideOverlay"
android:fadingEdgeLength="16dip"
android:layout_alignParentTop="true"/>
</RelativeLayout>

View File

@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mms_download_controls"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:id="@+id/btn_download_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Download"
android:visibility="gone" />
<TextView android:id="@+id/label_downloading"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:gravity="center"
android:text="Downloading"
android:visibility="gone" />
</LinearLayout>

View File

@@ -23,14 +23,14 @@
<TableRow>
<Button android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Cancel"
android:text="@android:string/cancel"
android:id="@+id/cancel_button"
android:layout_marginRight="15dip"
android:layout_marginLeft="16dip"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"
android:text="@android:string/ok"
android:id="@+id/ok_button"
android:layout_marginRight="16dip"/>
</TableRow>

View File

@@ -30,25 +30,25 @@
<Button android:id="@+id/verify_session_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Session"
android:text="@string/receive_key_activity__session"
android:visibility="gone"
android:gravity="center" />
<Button android:id="@+id/verify_identity_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Identities"
android:text="@string/receive_key_activity__identities"
android:visibility="gone"
android:gravity="center" />
<Button android:id="@+id/ok_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Complete Exchange"
android:text="@string/receive_key_activity__complete_exchange"
android:gravity="center"/>
<Button android:id="@+id/cancel_button"
android:text="Cancel"
android:text="@android:string/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"/>

View File

@@ -11,15 +11,13 @@
android:layout_height="fill_parent"
android:paddingLeft="14dip"
android:paddingRight="11dip"
android:gravity="center_vertical"
/>
android:gravity="center_vertical" />
<View android:id="@+id/divider"
android:layout_width="1dip"
android:layout_height="fill_parent"
android:layout_toRightOf="@id/call_type_icon"
android:layout_marginRight="11dip"
/>
android:layout_marginRight="11dip" />
<TextView android:id="@+id/date"
android:layout_width="wrap_content"
@@ -28,10 +26,8 @@
android:layout_alignParentBottom="true"
android:layout_marginBottom="9dip"
android:layout_marginTop="5dip"
android:textAppearance="?android:attr/textAppearanceSmall"
android:singleLine="true"
/>
android:singleLine="true" />
<TextView android:id="@+id/label"
android:layout_width="wrap_content"
@@ -40,12 +36,10 @@
android:layout_alignParentBottom="true"
android:layout_marginBottom="8dip"
android:layout_marginTop="-10dip"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textStyle="bold"
/>
android:textStyle="bold" />
<TextView android:id="@+id/number"
android:layout_width="wrap_content"
@@ -55,11 +49,9 @@
android:layout_toLeftOf="@id/date"
android:layout_alignBaseline="@id/label"
android:layout_alignWithParentIfMissing="true"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
android:textAppearance="?android:attr/textAppearanceSmall" />
<CheckedTextView android:id="@+id/line1"
@@ -75,7 +67,6 @@
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:ellipsize="marquee"
/>
android:ellipsize="marquee"/>
</RelativeLayout>

View File

@@ -16,8 +16,9 @@
android:capitalize="sentences"
android:autoText="true"
android:singleLine="true"
android:hint="To"
android:hint="@string/recipients_panel__to"
android:paddingRight="45dip"
android:textColor="#000000"
android:layout_width="fill_parent"/>
<ImageButton android:id="@+id/contacts_button"

View File

@@ -17,7 +17,7 @@
<TextView android:id="@id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="You don't currently have any identity keys in your trust database."
android:text="@string/review_identities__you_don_t_currently_have_any_identity_keys_in_your_trust_database"
android:textAppearance="?android:attr/textAppearanceMedium"
android:padding="20dip" />

View File

@@ -1,46 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dip"
android:layout_marginRight="16dip"
android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Identity Name:" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:layout_marginLeft="16dip"
android:layout_marginRight="16dip"
android:layout_marginTop="5dip"
android:text="@string/save_identity_activity__identity_name"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/identity_name"
android:layout_margin="16dip"/>
<EditText
android:id="@+id/identity_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="16dip"
tools:ignore="TextFields" />
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="16dip"
android:gravity="right">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dip"
android:gravity="right"
android:orientation="horizontal" >
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*"
tools:ignore="UselessParent" >
<TableLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow>
<Button android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Cancel"
android:id="@+id/cancel_button"
android:layout_marginRight="15dip"
android:layout_marginLeft="16dip"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"
android:id="@+id/ok_button"
android:layout_marginRight="16dip"/>
<Button
android:id="@+id/cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dip"
android:layout_marginRight="15dip"
android:text="@android:string/cancel" />
<Button
android:id="@+id/ok_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="16dip"
android:text="@android:string/ok" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>

View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<org.thoughtcrime.securesms.components.RecipientsPanel
android:id="@+id/key_recipients"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="visible"
/>
<Button android:id="@+id/send_key_button"
android:layout_marginLeft="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/buttonStyle"
android:layout_below="@id/key_recipients"
android:layout_alignRight="@id/key_recipients"
android:text="Send"
/>
<Button android:id="@+id/cancel_key_button"
android:layout_marginLeft="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/buttonStyle"
android:layout_toLeftOf="@id/send_key_button"
android:layout_below="@id/key_recipients"
android:text="Cancel"
/>
</RelativeLayout>

View File

@@ -14,7 +14,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Their identity (they read):"
android:text="@string/verify_identity_activity__their_identity_they_read"
android:padding="7dip" />
<TextView
@@ -29,7 +29,7 @@
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Your identity (you read):"
android:text="@string/verify_identity_activity__your_identity_you_read"
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="7dip" />

View File

@@ -4,13 +4,13 @@
android:layout_height="fill_parent">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1">
<TableRow>
<TextView
android:textSize="12sp"
android:text="Identity name:\n"
android:text="@string/verify_import_identity_activity__identity_name_n"
android:padding="3dip" />
<EditText
android:id="@+id/identity_name"
@@ -22,7 +22,7 @@
<TableRow>
<TextView
android:textSize="12sp"
android:text="Imported identity:\n"
android:text="@string/verify_import_identity_activity__imported_identity_n"
android:padding="3dip" />
<TextView
android:textSize="20sp"
@@ -43,19 +43,19 @@
android:padding="15dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Verified!"/>
android:text="@string/verify_import_identity_activity__verified"/>
<Button android:id="@+id/compare_button"
android:padding="15dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Compare"/>
android:text="@string/verify_import_identity_activity__compare"/>
<Button android:id="@+id/cancel_button"
android:padding="15dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel" />
android:text="@android:string/cancel" />
</LinearLayout>
</TableRow>

View File

@@ -14,7 +14,7 @@
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="They read this:"
android:text="@string/verify_keys_activity__they_read_this"
android:padding="7dip" />
<TextView
@@ -31,7 +31,7 @@
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="You read this:"
android:text="@string/verify_keys_activity__you_read_this"
android:padding="7dip" />
<TextView

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