230 Commits

Author SHA1 Message Date
Jake McGinty
d827ab1b36 more precise sms controls
// FREEBIE
2014-03-13 20:59:20 -07:00
Moxie Marlinspike
ad54d2a05f Modify string tag.
//FREEBIE
2014-03-12 09:57:32 -07:00
3xo
339193af12 Give user the opportunity to chose no LED-notification. 2014-03-07 12:04:19 -08:00
Jake McGinty
054fcdca8d Merge pull request #1007 from SamWhited/issue998
s/Verify Recipient/Verify Identity/
2014-03-04 13:49:49 -08:00
Sam Whited
fa423e4432 s/Verify Recipient/Verify Identity/ 2014-03-04 09:55:45 -05:00
Jake McGinty
90169e9468 pending messages more accurately conveyed to user 2014-03-03 11:56:54 -08:00
Lukas Barth
39ee363150 Add possiblity to refresh the push directory directly from the contact picking list. Fixes #835. Fixes #859.
Thanks benalbrecht for the icons.
2014-03-03 18:23:14 +01:00
Moxie Marlinspike
977765c80f Merge pull request #941 from Wikinaut/add-new-string-ViewIdentityActivity_my_identity_fingerprint
add new string ViewIdentityActivity_my_identity_fingerprint
2014-03-02 15:50:18 -08:00
Thomas Gries
4b2d07ab35 add new string ViewIdentityActivity_my_identity_fingerprint 2014-03-03 00:45:42 +01:00
Jens Füllenbach
003ebe6364 Added the color white to the notification colors of the LED. 2014-03-02 14:11:31 -08:00
Benjamin Albrecht
2f7c005c23 Show confirmation box before disabling push messages 2014-03-02 14:09:54 -08:00
Moxie Marlinspike
5cd8c922d2 Merge pull request #648 from veeti/tweaks-and-polish
Assorted tweaks and polish
2014-03-02 14:01:20 -08:00
Benedict Pregler
ee921a8f49 fixed some hardcoded strings 2014-03-02 13:22:02 -08:00
Veeti Paananen
de100f5be7 Add missing spaces 2014-03-02 09:40:45 +02:00
Moxie Marlinspike
81ee9e31c5 Update behavior for incoming SMS path.
1) On KitKat, unencrypted SMS messages are never stored in
   TextSecure unless it is set as the system-wide default.

2) On KitKat, if TextSecure is set as the system-wide default,
   provide an option to change the default to a different app.

3) Don't store the TextSecure challenge on KitKat+ devices.
2014-02-28 13:40:35 -08:00
Moxie Marlinspike
a3e900ecbe Merge pull request #794 from SamWhited/issue788
Add option to disable screen security
2014-02-27 18:02:05 -08:00
Sam Whited
384fb3b2b5 Add option to disable screen security
See WhisperSystems/TextSecure#788
2014-02-27 19:00:39 -05:00
Matt Enright
852ca2ac05 Don't display sender in outgoing message details
Because we don't know it. Fixes WhisperSystems#711.
2014-02-26 21:57:17 -05:00
Jake McGinty
0015711759 migrate logcat submit to preferences
// FREEBIE
2014-02-25 23:11:00 -08:00
Jake McGinty
ce68429a9b activity to submit logcat to pastebin 2014-02-25 22:14:21 -08:00
Moxie Marlinspike
20fd881613 Display error code from server when already registered elsewhere. 2014-02-25 17:00:31 -08:00
Tim Bücher
bd167cbb17 Fix missing localozation strings for custom LED blink pattern. 2014-02-25 11:38:31 +01:00
Jake McGinty
a0aaa7d724 Explain why SMS fallback is disabled when it is 2014-02-25 01:23:22 -08:00
Moxie Marlinspike
ca2eecaedf Add advanced preference for refreshing push directory. 2014-02-23 15:12:40 -08:00
Moxie Marlinspike
c36b5869fc Tweak create passphrase screen text. 2014-02-23 14:37:05 -08:00
Moxie Marlinspike
056dbd1a4e tweak text
//FREEBIE
2014-02-22 14:42:02 -08:00
Moxie Marlinspike
315cf2d8e4 Eliminate concept of group 'owner'. 2014-02-22 11:29:28 -08:00
Moxie Marlinspike
da57a689c1 Fill in some strings.
// FREEBIE
2014-02-22 11:10:30 -08:00
Moxie Marlinspike
9c9866e7ee Add 'leave group' functionality. Includes other bug fixes. 2014-02-22 10:54:43 -08:00
Jake McGinty
7beab36c6a updates to conversation menu, and updating of group info
// FREEBIE
2014-02-21 11:33:31 -08:00
Moxie Marlinspike
918f223149 Add preference to disable the SMS channel all together.
1) If the SMS fallback preference is disabled, no outgoing
   messages will succeed via the SMS transport.

2) If the SMS fallback preference is disabled, "mirroring" the
   SMS db state when not the default system SMS app is disabled.
2014-02-20 14:49:31 -08:00
Jake McGinty
0cdc6fd87d embrace the darkness, don't open quickcontact for groups
// FREEBIE
2014-02-19 15:01:10 -08:00
Jake McGinty
0688dd0c2c repurpose ImageDivet for avatar, minor lint, fix bitmap decoding
// FREEBIE
2014-02-19 00:01:37 -08:00
Jake McGinty
e05bacd8c3 fixing avatar selection when some gallery apps won't return any extras
but still succeed // FREEBIE
2014-02-18 16:42:33 -08:00
Moxie Marlinspike
760c96171d Merge branch 'master' into groups 2014-02-18 13:53:35 -08:00
Jake McGinty
25324a45b3 Show something for unnamed groups, allow us to have different default photos for groups vs. individuals 2014-02-17 21:42:30 -08:00
Jake McGinty
877ed8f59c Show TS group titles properly, hide MMS options 2014-02-17 20:25:40 -08:00
Jake McGinty
e8251800ab gb icon for new group changed 2014-02-17 18:17:23 -08:00
Jake McGinty
93329df530 avatar selection on gb fixed, disable push groups if not push registered 2014-02-17 17:33:20 -08:00
Jake McGinty
e81526e581 error messaging for group creation issues 2014-02-17 15:48:09 -08:00
Moxie Marlinspike
e7e5bc0884 Verify identity keys on outgoing messages.
If PreKeyEntity identity key doesn't match local DB, fail
outgoing message and queue "incoming" identity key update
message for manual user approval.
2014-02-16 15:23:49 -08:00
Jake McGinty
556b0dec1d pretty up the interface/colors a bit. 2014-02-14 16:21:48 -08:00
Jake McGinty
9b41675f8f single contact selection 2014-02-14 16:21:48 -08:00
Jake McGinty
fe55ac57d9 strings, strings, strings 2014-02-12 18:12:58 -08:00
Jake McGinty
01a438de09 basic messaging when non-push users are added 2014-02-12 17:17:33 -08:00
Jake McGinty
b4a4e629f1 alignment and string work 2014-02-12 12:05:18 -08:00
Jake McGinty
ed3151bdb5 backward compatible navigation drawer toggle // FREEBIE 2014-02-01 19:40:46 -08:00
Jake McGinty
9fd2c4753e ui wip 2014-01-25 23:39:56 -08:00
Jake McGinty
28c1c5006b icon, contact list and conversation redesign 2014-01-09 19:06:41 -10:00
Moxie Marlinspike
a4a3b4a453 Update registration strings 2014-01-07 15:16:23 -08:00
Moxie Marlinspike
44092a3eff Support for Axolotl protocol.
1) Split code into v1 and v2 message paths.

2) Do the Axolotl protocol for v2.

3) Switch all v2 entities to protobuf.
2014-01-06 14:37:52 -08:00
Moxie Marlinspike
073b1f69e3 Rollbacks, v2 sms-transport key exchanges, push identity conflicts.
1) Stop protocol rollbacks.

2) Handle v2 version key exchange messages.

3) Handle identity key conflicts on prekeybundle messages.
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
2042ca6cb7 Generate "prekeys" at push registration time.
This generates a large number of key exchange messages and
registers them with the server during signup.
2014-01-06 14:34:47 -08:00
Moxie Marlinspike
d7070e7ecf Inserted the Registration activity into initial setup flow.
1) Added push messaging toggle to preferences.

2) Added push messaging registration screen to setup flow.

3) Migrated rest of SharedPreferences accessors to
   TextSecurePreferences.
2014-01-06 14:30:03 -08:00
Moxie Marlinspike
0ed9da9a2c Strings and slight cleanup 2014-01-06 14:21:50 -08:00
Moxie Marlinspike
2539723410 Fix string 2014-01-06 14:19:06 -08:00
Moxie Marlinspike
0958c30400 Stringify 2014-01-06 14:19:06 -08:00
Moxie Marlinspike
7eef93c829 Stringify and clean layout 2014-01-06 14:19:05 -08:00
Moxie Marlinspike
3634ba0b55 Registration with voice verification. 2014-01-06 14:18:30 -08:00
thoughtbox
8186694555 Change to string refs for Enter
To allow for translation
2014-01-02 18:53:50 +01:00
Veeti Paananen
eb1b762a76 Improve password caching notification UI & UX
On Jelly Bean and above:

- Use the standard notification style for a better and consistent visual
  appearance

- Use the JB notification actions API for the locking action

- Use a lower notification priority to prioritize other notifications
  over TextSecure

On ICS:

- Use the existing custom notification layout

Everywhere:

- Allow opening the app itself from the notification

- Simplify strings: don't talk about a "cached passphrase" but about the
  app being "unlocked"/"locked"
2013-12-22 04:48:39 +02:00
Veeti Paananen
6eb094c87e Show LED and ringtone setting values in their summaries
As instructed in the Android design guidelines. Also removed unnatural
capitalization.
2013-12-17 03:13:22 +02:00
Joshua Lund
0fed5593a8 Incredibly minor cleanup of the strings file 2013-12-16 15:11:17 -07:00
thoughtbox
b56a4f9740 Update strings.xml to reference Sound summary in Settings. 2013-12-04 22:47:54 +01:00
thoughtbox
33fd6414b8 Update strings.xml
Removed emoticon from QuickResponse and changed the wording slightly of the "default SMS app" setting.
2013-12-03 11:08:36 +01:00
Moxie Marlinspike
0c0db28358 Fix string case 2013-12-02 17:11:16 -08:00
Moxie Marlinspike
b0216e1494 Finish KitKat compatibility details.
1) The system does actually enforce having a BROADCAST_SMS
   permission on the SMS receiver. Break out the "delivered"
   parts of this into a separate Receiver, so the permission
   won't trip up GB devices.

2) The system does actually enforce having "quick response"
   intents.  Add a no-op for now.

3) Add a "make default" prompt.

4) Update settings to reflect what's going on in KitKat.
2013-12-02 12:31:59 -08:00
Moxie Marlinspike
891e3aeb97 Merge pull request #381 from meskio/add_contact
New 'add contact info' option on the conversation contextual menu
2013-10-20 16:58:58 -07:00
rhodey
2c2a03e5e2 Enhanced MMS configuration prompts and processing.
1) Added a new message status to MmsDatabase to
   signify a pending MMS download which requires
   APN settings.

2) Added a database method to query MMS messages
   based on status.

3) Added login to SendReceiveService for processing
   of MMS pending APN information.

4) Moved all APN/MMS settings into ApnPreferencesActivity
   and transformed PromptApnActivity into a simple
   informational activity.

5) Added logic to check for APN settings on send and
   receive of all MMS (media, group, email) and direct
   user to PromptApnActivity then ApnPreferencesActivity
   if necessary.

6) Vocab/grammar adjustments.
2013-10-20 16:56:34 -07:00
Ruben Pollan
3d690faff0 New 'add contact info' option on the conversation contextual menu
This option is used to add phone numbers from the contact list on the
messages.
2013-10-17 02:28:36 +02:00
Moxie Marlinspike
f49c62793b Merge pull request #377 from meskio/resend_message_on_fail2
Allow to resend a failed message
2013-10-15 06:32:12 -07:00
Moxie Marlinspike
f27c7c4178 Merge branch 'thoughtbox-patch-1'
Conflicts:
	res/values/strings.xml
2013-10-15 06:28:18 -07:00
thoughtbox
cfc255a7b7 update to in-thread notification description
I felt that the description of what "in-thread notification" could be difficult to understand for some. This is better, I think (though I'm not fully satisfied).
2013-10-13 20:08:56 +02:00
thoughtbox
615ca931d4 Update strings.xml
I think it should be "in-thread" rather than "in thread".
2013-10-13 19:47:22 +02:00
Ruben Pollan
04eafd5fab Allow to resend a failed message
Add an option to the context menu of the message to resend it if it has
failed.
2013-10-13 15:39:15 +02:00
Nikolai Rusakov
2cf7f82f07 closes #367 - add option to disable audible inthread notifications 2013-10-11 22:19:35 +00:00
rhodey
1149d8b625 Switched string constant name for notification sound from preferences__select_reingtone to preferences_sound to match the new value of the constant, 'Sound'. 2013-09-30 15:25:50 -07:00
rhodey
282e40db40 Changed language in notification section of settings from 'select ringtone' to 'sound'. 2013-09-30 14:55:55 -07:00
Moxie Marlinspike
b14d9d84ad Fix for Android PRNG bug.
There is apparently an Android vulnerability with the PRNG it
provides through the JCE. This uses their suggested code to patch
the PRNG, and provides the option to regenerate identity keys.

http://android-developers.blogspot.com/2013/08/some-securerandom-thoughts.html
2013-08-15 11:27:14 -07:00
joeykrim
719d791962 Added Disable Passphrase title and summary strings from Preference.xml 2013-07-12 23:11:27 -04:00
Moxie Marlinspike
d97252d8d6 Add ability to disable local encryption passphrase. 2013-07-01 10:15:36 -07:00
Moxie Marlinspike
68b82c168e Add in-app language selection support. 2013-06-29 18:03:55 -07:00
Moxie Marlinspike
614e962110 Remove unused resources. 2013-06-25 10:47:59 -07:00
Moxie Marlinspike
aa25f94291 Enhanced import/export support.
1) Allow imports from the stock SMS database at any time.

2) Provide plaintext export support, in a format compatible with
   the "SMS Backup And Restore" app.

3) Fix the DB weirdness on encrypted restore that previously
   required killing the app.
2013-06-24 21:02:30 -07:00
Moxie Marlinspike
903ab92f5f Basic navigation drawer support. 2013-06-22 21:44:12 -07:00
Moxie Marlinspike
5263ac1f1a Theme Support
1) Broke out the UI elements of the major Activites into stylable
   attributes.

2) Created a 'light' and 'dark' theme for the newly stylable attrs.

3) Touched up some of the UI spacing.

4) Implemented dynamic theme switching support.
2013-06-21 12:14:40 -07:00
Moxie Marlinspike
2928abc98f Catch attempts to dial on devices with no dialer. 2013-06-18 16:43:41 -07:00
Moxie Marlinspike
d2a78ea84c Fix for contrived NPE on invalid recipient during conversation compose. 2013-06-01 12:42:45 -07:00
Moxie Marlinspike
ea98fe2d4f Merge pull request #181 from thoughtbox/patch-2
Some minor language.
2013-05-31 11:30:24 -07:00
Moxie Marlinspike
dda5bc8838 Add a 'mark as read' button to expanded notifications. 2013-05-30 12:39:56 -07:00
thoughtbox
a1e82ab403 Update strings.xml
Minor edits.
2013-05-27 21:27:00 +02:00
Moxie Marlinspike
8c1ca6c9e0 Clean up identity key view activity 2013-05-23 18:54:16 -07:00
Moxie Marlinspike
5e2b31af60 Add appropriate text for manual case when identity is trusted. 2013-05-23 17:17:28 -07:00
Moxie Marlinspike
24fc93e9ae Switch to a more heavily TOFU model for identity keys.
1) There is no longer a concept of "verified" or "unverified."
   Only "what we saw last time" and "different from last time."

2) Let's eliminate "verify session," since we're all about
   identity keys now.

3) Mark manually processed key exchanges as processed.
2013-05-23 16:36:24 -07:00
Moxie Marlinspike
e07c1a8e92 Handle failed MMS connectivity state appropriately. 2013-05-07 15:09:24 -07:00
Moxie Marlinspike
1aa84b145f Add 'mark all as read' option 2013-05-06 13:59:40 -07:00
Moxie Marlinspike
4af7fdabda String resources reorganization 2013-05-06 12:49:19 -07:00
Moxie Marlinspike
b1b9846971 merge liliakai-settings 2013-05-06 12:48:16 -07:00
Moxie Marlinspike
68ee1c8e62 Make a general category, move notification settings back inline. 2013-05-06 12:45:11 -07:00
Moxie Marlinspike
dd0aecc811 First cut at group messaging refactor. 2013-05-06 08:40:55 -07:00
Moxie Marlinspike
83e260436b Major storage layer refactoring to set the stage for clean GCM.
1) We now try to hand out cursors at a minimum.  There has always been
   a fairly clean insertion layer that handles encrypting message bodies,
   but the process of decrypting message bodies has always been less than
   ideal.  Here we introduce a "Reader" interface that will decrypt message
   bodies when appropriate and return objects that encapsulate record state.

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

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

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

   No more Prefix.java

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

The next step is to remove what we can from SmsTransportDetails and genericize
that interface for a GCM equivalent.
2013-05-06 08:40:55 -07:00
Lilia Markham
14d88f615c Sentence case settings
Let's be consistent and conformant with android style guide for settings
labels.
2013-04-08 20:16:16 -07:00
Lilia Markham
815613cfaa Reorganize settings menu
Mostly xml work, with one small hack to fix the sub menu themes, found
here: http://code.google.com/p/android/issues/detail?id=4611#c35
2013-04-08 20:16:12 -07:00
Moxie Marlinspike
07c59d969a Prompt user for APN details when missing.
If TextSecure is running on a device without APN details, we prompt
the user to manually specify them when the user goes to send an MMS
message.
2013-03-04 17:43:04 -08:00
Moxie Marlinspike
f73adfc8f5 Change MMS network request pattern.
Currently we're flipping the radio in "MMS" mode, and connecting through
any proxies specified in the APN.  This always work, or at least doesn't
seem to work on Sprint, since the configured mms proxy rejects proxy
requests.

Instead we try the following in this order:

1) Connect over normal data connection directly to MMSC.
2) Connect over MMS radio connection to MMSC.
3) Connect over MMS radio connection with any configured proxy to MMSC.

Hopefully this doesn't fuck up shit on other unknown networks.
2013-02-20 18:10:33 -08:00
Moxie Marlinspike
1e2adadae2 Resource cleanup 2013-02-19 10:36:48 -08:00
Moxie Marlinspike
5eb04328d3 Improve passphrase and onboarding UI. Abstract out routing.
1) Update the create, prompt, and change passphrase activities.
   They are no longer dialog themed, and should look a little
   less ugly.

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

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

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

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

3) Decrypt message bodies when unlocked, display 'encrypted' when
   locked.
2013-02-08 16:27:43 -08:00
Moxie Marlinspike
01a5c889b0 Export stray strings for localization. 2013-02-04 11:12:03 -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
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
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
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
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
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
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
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
Tor Houghton
ff878c09db More localisation
I knew there were some I missed out.
2012-09-22 23:34:05 +02: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
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
4715512194 Fixed auto-initiate layout on GB. 2012-09-12 19:47:40 -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
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
bbea3fe1b1 Initial Project Import 2011-12-20 10:20:44 -08:00