From 21eee1938078b5a6d31e21eeb9c23004122abf91 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Tue, 9 Jul 2013 18:26:18 -0700 Subject: [PATCH] Split into library project and add shared preferences layer of indirection. --- library/AndroidManifest.xml | 8 ++ library/build.xml | 92 ++++++++++++++++++ library/library.iml | 30 ++++++ library/libs/libphonenumber-5.3.jar | Bin 0 -> 186085 bytes library/proguard-project.txt | 20 ++++ library/res/values/strings.xml | 3 + .../util/PhoneNumberFormatter.java | 13 +-- .../securesms/ConversationActivity.java | 11 +-- .../securesms/PassphraseChangeActivity.java | 16 +-- .../securesms/RegistrationActivity.java | 2 +- .../RegistrationProgressActivity.java | 2 +- .../ContactIdentityManagerGingerbread.java | 11 +-- .../securesms/crypto/DecryptingQueue.java | 5 +- .../database/loaders/CountryListLoader.java | 2 +- .../securesms/directory/NumberFilter.java | 9 +- .../securesms/gcm/GcmIntentService.java | 6 +- .../securesms/gcm/OptimizingTransport.java | 22 ++--- .../securesms/mms/MmsCommunication.java | 19 ++-- .../thoughtcrime/securesms/protocol/Tag.java | 4 +- .../securesms/service/KeyCachingService.java | 14 +-- .../transport/UniversalTransport.java | 6 -- .../securesms/util/TextSecurePreferences.java | 69 +++++++++++++ 22 files changed, 277 insertions(+), 87 deletions(-) create mode 100644 library/AndroidManifest.xml create mode 100644 library/build.xml create mode 100644 library/library.iml create mode 100644 library/libs/libphonenumber-5.3.jar create mode 100644 library/proguard-project.txt create mode 100644 library/res/values/strings.xml rename {src/org/thoughtcrime/securesms => library/src/org/whispersystems/textsecure}/util/PhoneNumberFormatter.java (85%) create mode 100644 src/org/thoughtcrime/securesms/util/TextSecurePreferences.java diff --git a/library/AndroidManifest.xml b/library/AndroidManifest.xml new file mode 100644 index 0000000000..150baa85c0 --- /dev/null +++ b/library/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/library/build.xml b/library/build.xml new file mode 100644 index 0000000000..29b2da612e --- /dev/null +++ b/library/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/library.iml b/library/library.iml new file mode 100644 index 0000000000..5c4185b541 --- /dev/null +++ b/library/library.iml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/libs/libphonenumber-5.3.jar b/library/libs/libphonenumber-5.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..7be725cc63caf6e16e19d925f46e3bb4d82cbcec GIT binary patch literal 186085 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 E4^^D)wg3PC literal 0 HcmV?d00001 diff --git a/library/proguard-project.txt b/library/proguard-project.txt new file mode 100644 index 0000000000..f2fe1559a2 --- /dev/null +++ b/library/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/library/res/values/strings.xml b/library/res/values/strings.xml new file mode 100644 index 0000000000..045e125f3d --- /dev/null +++ b/library/res/values/strings.xml @@ -0,0 +1,3 @@ + + + diff --git a/src/org/thoughtcrime/securesms/util/PhoneNumberFormatter.java b/library/src/org/whispersystems/textsecure/util/PhoneNumberFormatter.java similarity index 85% rename from src/org/thoughtcrime/securesms/util/PhoneNumberFormatter.java rename to library/src/org/whispersystems/textsecure/util/PhoneNumberFormatter.java index 0dede0538f..a22d37cb41 100644 --- a/src/org/thoughtcrime/securesms/util/PhoneNumberFormatter.java +++ b/library/src/org/whispersystems/textsecure/util/PhoneNumberFormatter.java @@ -1,8 +1,5 @@ -package org.thoughtcrime.securesms.util; +package org.whispersystems.textsecure.util; -import android.content.Context; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; import android.util.Log; import com.google.i18n.phonenumbers.NumberParseException; @@ -10,8 +7,6 @@ import com.google.i18n.phonenumbers.PhoneNumberUtil; import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; -import org.thoughtcrime.securesms.ApplicationPreferencesActivity; - import java.util.Locale; /** @@ -54,10 +49,8 @@ public class PhoneNumberFormatter { } } - public static String formatNumber(Context context, String number) { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - String localNumber = preferences.getString(ApplicationPreferencesActivity.LOCAL_NUMBER_PREF, "No Stored Number"); - number = number.replaceAll("[^0-9+]", ""); + public static String formatNumber(String number, String localNumber) { + number = number.replaceAll("[^0-9+]", ""); if (number.charAt(0) == '+') return number; diff --git a/src/org/thoughtcrime/securesms/ConversationActivity.java b/src/org/thoughtcrime/securesms/ConversationActivity.java index 2de68899dc..58314708a6 100644 --- a/src/org/thoughtcrime/securesms/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/ConversationActivity.java @@ -89,6 +89,7 @@ import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.EncryptedCharacterCalculator; import org.thoughtcrime.securesms.util.InvalidMessageException; import org.thoughtcrime.securesms.util.MemoryCleaner; +import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.Util; import java.io.IOException; @@ -599,9 +600,7 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi } private void initializeIme() { - if (PreferenceManager.getDefaultSharedPreferences(this) - .getBoolean(ApplicationPreferencesActivity.ENTER_PRESENT_PREF, false)) - { + if (TextSecurePreferences.isEnterImeKeyEnabled(this)) { composeText.setInputType(composeText.getInputType() & (~InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE)); } else { composeText.setInputType(composeText.getInputType() | (InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE)); @@ -852,7 +851,7 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi if (rawText.length() < 1 && !attachmentManager.isAttachmentPresent()) throw new InvalidMessageException(getString(R.string.ConversationActivity_message_is_empty_exclamation)); - if (!isEncryptedConversation && Tag.isTaggable(this, rawText)) + if (!isEncryptedConversation && Tag.isTaggable(rawText)) rawText = Tag.getTaggedMessage(rawText); return rawText; @@ -1002,9 +1001,7 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) { if (keyCode == KeyEvent.KEYCODE_ENTER) { - if (PreferenceManager.getDefaultSharedPreferences(ConversationActivity.this) - .getBoolean(ApplicationPreferencesActivity.ENTER_SENDS_PREF, false)) - { + if (TextSecurePreferences.isEnterSendsEnabled(ConversationActivity.this)) { sendButton.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER)); sendButton.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER)); return true; diff --git a/src/org/thoughtcrime/securesms/PassphraseChangeActivity.java b/src/org/thoughtcrime/securesms/PassphraseChangeActivity.java index 71c711d53f..6832da1561 100644 --- a/src/org/thoughtcrime/securesms/PassphraseChangeActivity.java +++ b/src/org/thoughtcrime/securesms/PassphraseChangeActivity.java @@ -30,6 +30,7 @@ import org.thoughtcrime.securesms.crypto.InvalidPassphraseException; import org.thoughtcrime.securesms.crypto.MasterSecret; import org.thoughtcrime.securesms.crypto.MasterSecretUtil; import org.thoughtcrime.securesms.util.MemoryCleaner; +import org.thoughtcrime.securesms.util.TextSecurePreferences; /** * Activity for changing a user's local encryption passphrase. @@ -67,7 +68,7 @@ public class PassphraseChangeActivity extends PassphraseActivity { this.okButton.setOnClickListener(new OkButtonClickListener()); this.cancelButton.setOnClickListener(new CancelButtonClickListener()); - if (isPassphraseDisabled()) { + if (TextSecurePreferences.isPasswordDisabled(this)) { this.originalPassphrase.setVisibility(View.GONE); this.originalPassphraseLabel.setVisibility(View.GONE); } else { @@ -85,7 +86,7 @@ public class PassphraseChangeActivity extends PassphraseActivity { String passphrase = (newText == null ? "" : newText.toString()); String passphraseRepeat = (repeatText == null ? "" : repeatText.toString()); - if (isPassphraseDisabled()) { + if (TextSecurePreferences.isPasswordDisabled(this)) { original = MasterSecretUtil.UNENCRYPTED_PASSPHRASE; } @@ -98,11 +99,7 @@ public class PassphraseChangeActivity extends PassphraseActivity { this.repeatPassphrase.setText(""); } else { MasterSecret masterSecret = MasterSecretUtil.changeMasterSecretPassphrase(this, original, passphrase); - - PreferenceManager.getDefaultSharedPreferences(this) - .edit() - .putBoolean(ApplicationPreferencesActivity.DISABLE_PASSPHRASE_PREF, false) - .commit(); + TextSecurePreferences.setPasswordDisabled(this, false); MemoryCleaner.clean(original); MemoryCleaner.clean(passphrase); @@ -117,11 +114,6 @@ public class PassphraseChangeActivity extends PassphraseActivity { } } - private boolean isPassphraseDisabled() { - return PreferenceManager.getDefaultSharedPreferences(this) - .getBoolean(ApplicationPreferencesActivity.DISABLE_PASSPHRASE_PREF, false); - } - private class CancelButtonClickListener implements OnClickListener { public void onClick(View v) { finish(); diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java index e928da7a01..51453caf54 100644 --- a/src/org/thoughtcrime/securesms/RegistrationActivity.java +++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java @@ -24,8 +24,8 @@ import com.google.i18n.phonenumbers.AsYouTypeFormatter; import com.google.i18n.phonenumbers.NumberParseException; import com.google.i18n.phonenumbers.PhoneNumberUtil; import com.google.i18n.phonenumbers.Phonenumber; -import org.thoughtcrime.securesms.util.PhoneNumberFormatter; import org.thoughtcrime.securesms.util.Util; +import org.whispersystems.textsecure.util.PhoneNumberFormatter; /** * The register account activity. Begins the account registration process. diff --git a/src/org/thoughtcrime/securesms/RegistrationProgressActivity.java b/src/org/thoughtcrime/securesms/RegistrationProgressActivity.java index 63411510b0..c038148fd6 100644 --- a/src/org/thoughtcrime/securesms/RegistrationProgressActivity.java +++ b/src/org/thoughtcrime/securesms/RegistrationProgressActivity.java @@ -32,8 +32,8 @@ import com.actionbarsherlock.app.SherlockActivity; import org.thoughtcrime.securesms.gcm.PushServiceSocket; import org.thoughtcrime.securesms.gcm.RateLimitException; import org.thoughtcrime.securesms.service.RegistrationService; -import org.thoughtcrime.securesms.util.PhoneNumberFormatter; import org.thoughtcrime.securesms.util.Util; +import org.whispersystems.textsecure.util.PhoneNumberFormatter; import java.io.IOException; diff --git a/src/org/thoughtcrime/securesms/contacts/ContactIdentityManagerGingerbread.java b/src/org/thoughtcrime/securesms/contacts/ContactIdentityManagerGingerbread.java index 5f4793ecb0..fb97ea23b6 100644 --- a/src/org/thoughtcrime/securesms/contacts/ContactIdentityManagerGingerbread.java +++ b/src/org/thoughtcrime/securesms/contacts/ContactIdentityManagerGingerbread.java @@ -12,6 +12,7 @@ import android.provider.ContactsContract.RawContacts; import android.telephony.TelephonyManager; import org.thoughtcrime.securesms.ApplicationPreferencesActivity; +import org.thoughtcrime.securesms.util.TextSecurePreferences; import java.util.ArrayList; import java.util.List; @@ -24,14 +25,10 @@ class ContactIdentityManagerGingerbread extends ContactIdentityManager { @Override public Uri getSelfIdentityUri() { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - String contactUriString = preferences.getString(ApplicationPreferencesActivity.IDENTITY_PREF, null); + String contactUriString = TextSecurePreferences.getIdentityContactUri(context); - if (hasLocalNumber()) { - return getContactUriForNumber(getLocalNumber()); - } else if (contactUriString != null) { - return Uri.parse(contactUriString); - } + if (hasLocalNumber()) return getContactUriForNumber(getLocalNumber()); + else if (contactUriString != null) return Uri.parse(contactUriString); return null; } diff --git a/src/org/thoughtcrime/securesms/crypto/DecryptingQueue.java b/src/org/thoughtcrime/securesms/crypto/DecryptingQueue.java index edf9233881..c14c9ba23c 100644 --- a/src/org/thoughtcrime/securesms/crypto/DecryptingQueue.java +++ b/src/org/thoughtcrime/securesms/crypto/DecryptingQueue.java @@ -35,6 +35,7 @@ import org.thoughtcrime.securesms.recipients.RecipientFormattingException; import org.thoughtcrime.securesms.recipients.Recipients; import org.thoughtcrime.securesms.sms.SmsTransportDetails; import org.thoughtcrime.securesms.util.Hex; +import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.WorkerThread; import java.io.IOException; @@ -309,9 +310,7 @@ public class DecryptingQueue { } private void handleKeyExchangeProcessing(String plaintxtBody) { - if (PreferenceManager.getDefaultSharedPreferences(context) - .getBoolean(ApplicationPreferencesActivity.AUTO_KEY_EXCHANGE_PREF, true)) - { + if (TextSecurePreferences.isAutoRespondKeyExchangeEnabled(context)) { try { Recipient recipient = new Recipient(null, originator, null, null); KeyExchangeMessage keyExchangeMessage = new KeyExchangeMessage(plaintxtBody); diff --git a/src/org/thoughtcrime/securesms/database/loaders/CountryListLoader.java b/src/org/thoughtcrime/securesms/database/loaders/CountryListLoader.java index 5ad3d4930c..e64ac42b89 100644 --- a/src/org/thoughtcrime/securesms/database/loaders/CountryListLoader.java +++ b/src/org/thoughtcrime/securesms/database/loaders/CountryListLoader.java @@ -13,7 +13,7 @@ import android.support.v4.content.AsyncTaskLoader; import com.google.i18n.phonenumbers.PhoneNumberUtil; -import org.thoughtcrime.securesms.util.PhoneNumberFormatter; +import org.whispersystems.textsecure.util.PhoneNumberFormatter; public class CountryListLoader extends AsyncTaskLoader>> { diff --git a/src/org/thoughtcrime/securesms/directory/NumberFilter.java b/src/org/thoughtcrime/securesms/directory/NumberFilter.java index 04c7d3dc73..89a6a5d7c5 100644 --- a/src/org/thoughtcrime/securesms/directory/NumberFilter.java +++ b/src/org/thoughtcrime/securesms/directory/NumberFilter.java @@ -23,7 +23,9 @@ import android.util.Log; import com.google.thoughtcrimegson.Gson; import com.google.thoughtcrimegson.JsonParseException; import com.google.thoughtcrimegson.annotations.SerializedName; -import org.thoughtcrime.securesms.util.PhoneNumberFormatter; + +import org.thoughtcrime.securesms.util.TextSecurePreferences; +import org.whispersystems.textsecure.util.PhoneNumberFormatter; import java.io.BufferedReader; import java.io.File; @@ -75,7 +77,10 @@ public class NumberFilter { if (bloomFilter == null) return false; else if (number == null || number.length() == 0) return false; - return new BloomFilter(bloomFilter, hashCount).contains(PhoneNumberFormatter.formatNumber(context, number)); + String localNumber = TextSecurePreferences.getLocalNumber(context); + + return new BloomFilter(bloomFilter, hashCount) + .contains(PhoneNumberFormatter.formatNumber(number, localNumber)); } catch (IOException ioe) { Log.w("NumberFilter", ioe); return false; diff --git a/src/org/thoughtcrime/securesms/gcm/GcmIntentService.java b/src/org/thoughtcrime/securesms/gcm/GcmIntentService.java index 8b60a17899..ef51aee6a5 100644 --- a/src/org/thoughtcrime/securesms/gcm/GcmIntentService.java +++ b/src/org/thoughtcrime/securesms/gcm/GcmIntentService.java @@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.ApplicationPreferencesActivity; import org.thoughtcrime.securesms.service.RegistrationService; import org.thoughtcrime.securesms.service.SendReceiveService; import org.thoughtcrime.securesms.sms.IncomingTextMessage; +import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.Util; import java.io.IOException; @@ -76,9 +77,8 @@ public class GcmIntentService extends GCMBaseIntentService { } private PushServiceSocket getGcmSocket(Context context) { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - String localNumber = preferences.getString(ApplicationPreferencesActivity.LOCAL_NUMBER_PREF, null); - String password = preferences.getString(ApplicationPreferencesActivity.GCM_PASSWORD_PREF, null); + String localNumber = TextSecurePreferences.getLocalNumber(context); + String password = TextSecurePreferences.getPushServerPassword(context); return new PushServiceSocket(context, localNumber, password); } } diff --git a/src/org/thoughtcrime/securesms/gcm/OptimizingTransport.java b/src/org/thoughtcrime/securesms/gcm/OptimizingTransport.java index a7c51342ac..a01bd5c4ed 100644 --- a/src/org/thoughtcrime/securesms/gcm/OptimizingTransport.java +++ b/src/org/thoughtcrime/securesms/gcm/OptimizingTransport.java @@ -3,14 +3,12 @@ package org.thoughtcrime.securesms.gcm; import android.app.Activity; import android.app.PendingIntent; import android.content.Context; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; import android.telephony.SmsManager; import android.util.Log; -import org.thoughtcrime.securesms.ApplicationPreferencesActivity; import org.thoughtcrime.securesms.directory.NumberFilter; -import org.thoughtcrime.securesms.util.PhoneNumberFormatter; +import org.thoughtcrime.securesms.util.TextSecurePreferences; +import org.whispersystems.textsecure.util.PhoneNumberFormatter; import java.io.IOException; import java.util.ArrayList; @@ -20,10 +18,13 @@ public class OptimizingTransport { public static void sendTextMessage(Context context, String destinationAddress, String message, PendingIntent sentIntent, PendingIntent deliveredIntent) { - Log.w("OptimzingTransport", "Outgoing message: " + PhoneNumberFormatter.formatNumber(context, destinationAddress)); - NumberFilter filter = NumberFilter.getInstance(context); + String localNumber = TextSecurePreferences.getLocalNumber(context); + String canonicalizedDestinationAddress = PhoneNumberFormatter.formatNumber(destinationAddress, localNumber); + NumberFilter filter = NumberFilter.getInstance(context); - if (filter.containsNumber(PhoneNumberFormatter.formatNumber(context, destinationAddress))) { + Log.w("OptimzingTransport", "Outgoing message: " + canonicalizedDestinationAddress); + + if (filter.containsNumber(canonicalizedDestinationAddress)) { Log.w("OptimzingTransport", "In the filter, sending GCM..."); sendGcmTextMessage(context, destinationAddress, message, sentIntent, deliveredIntent); } else { @@ -48,9 +49,8 @@ public class OptimizingTransport { PendingIntent sentIntent, PendingIntent deliveredIntent) { try { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - String localNumber = preferences.getString(ApplicationPreferencesActivity.LOCAL_NUMBER_PREF, null); - String password = preferences.getString(ApplicationPreferencesActivity.GCM_PASSWORD_PREF, null); + String localNumber = TextSecurePreferences.getLocalNumber(context); + String password = TextSecurePreferences.getPushServerPassword(context); if (localNumber == null || password == null) { Log.w("OptimzingTransport", "No credentials, falling back to SMS..."); @@ -59,7 +59,7 @@ public class OptimizingTransport { } PushServiceSocket pushServiceSocket = new PushServiceSocket(context, localNumber, password); - pushServiceSocket.sendMessage(PhoneNumberFormatter.formatNumber(context, recipient), messageText); + pushServiceSocket.sendMessage(PhoneNumberFormatter.formatNumber(recipient, localNumber), messageText); sentIntent.send(Activity.RESULT_OK); } catch (IOException ioe) { Log.w("OptimizingTransport", ioe); diff --git a/src/org/thoughtcrime/securesms/mms/MmsCommunication.java b/src/org/thoughtcrime/securesms/mms/MmsCommunication.java index 1930c30558..b22e95c331 100644 --- a/src/org/thoughtcrime/securesms/mms/MmsCommunication.java +++ b/src/org/thoughtcrime/securesms/mms/MmsCommunication.java @@ -36,6 +36,7 @@ import org.thoughtcrime.securesms.ApplicationPreferencesActivity; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.service.MmsDownloader; import org.thoughtcrime.securesms.util.Conversions; +import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.Util; import java.io.DataInputStream; @@ -47,10 +48,8 @@ public class MmsCommunication { protected static MmsConnectionParameters getLocallyConfiguredMmsConnectionParameters(Context context) throws ApnUnavailableException { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - - if (preferences.getBoolean(ApplicationPreferencesActivity.ENABLE_MANUAL_MMS_PREF, false)) { - String mmsc = preferences.getString(ApplicationPreferencesActivity.MMSC_HOST_PREF, null); + if (TextSecurePreferences.isUseLocalApnsEnabled(context)) { + String mmsc = TextSecurePreferences.getMmscUrl(context); if (mmsc == null) throw new ApnUnavailableException("Malformed locally configured MMSC."); @@ -58,8 +57,8 @@ public class MmsCommunication { if (!mmsc.startsWith("http")) mmsc = "http://" + mmsc; - String proxy = preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_HOST_PREF, null); - String port = preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_PORT_PREF, null); + String proxy = TextSecurePreferences.getMmscProxy(context); + String port = TextSecurePreferences.getMmscProxyPort(context); return new MmsConnectionParameters(mmsc, proxy, port); } @@ -70,9 +69,7 @@ public class MmsCommunication { protected static MmsConnectionParameters getLocalMmsConnectionParameters(Context context) throws ApnUnavailableException { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - - if (preferences.getBoolean(ApplicationPreferencesActivity.ENABLE_MANUAL_MMS_PREF, false)) { + if (TextSecurePreferences.isUseLocalApnsEnabled(context)) { return getLocallyConfiguredMmsConnectionParameters(context); } else { MmsConnectionParameters params = ApnDefaults.getMmsConnectionParameters(context); @@ -205,7 +202,7 @@ public class MmsCommunication { } public boolean hasProxy() { - return proxy != null && proxy.trim().length() != 0; + return !Util.isEmpty(proxy); } public String getMmsc() { @@ -220,7 +217,7 @@ public class MmsCommunication { } public int getPort() { - if (port == null || port.trim().length() == 0) + if (Util.isEmpty(port)) return 80; return Integer.parseInt(port); diff --git a/src/org/thoughtcrime/securesms/protocol/Tag.java b/src/org/thoughtcrime/securesms/protocol/Tag.java index bcdb98be33..b863d4ca3d 100644 --- a/src/org/thoughtcrime/securesms/protocol/Tag.java +++ b/src/org/thoughtcrime/securesms/protocol/Tag.java @@ -10,9 +10,7 @@ public class Tag { public static final String WHITESPACE_TAG = " "; - public static boolean isTaggable(Context context, String message) { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); - + public static boolean isTaggable(String message) { return message.matches(".*[^\\s].*") && message.replaceAll("\\s+$", "").length() + WHITESPACE_TAG.length() <= 158; } diff --git a/src/org/thoughtcrime/securesms/service/KeyCachingService.java b/src/org/thoughtcrime/securesms/service/KeyCachingService.java index c31bdc3ace..fef8f495c0 100644 --- a/src/org/thoughtcrime/securesms/service/KeyCachingService.java +++ b/src/org/thoughtcrime/securesms/service/KeyCachingService.java @@ -42,6 +42,7 @@ import org.thoughtcrime.securesms.crypto.InvalidPassphraseException; import org.thoughtcrime.securesms.crypto.MasterSecret; import org.thoughtcrime.securesms.crypto.MasterSecretUtil; import org.thoughtcrime.securesms.notifications.MessageNotifier; +import org.thoughtcrime.securesms.util.TextSecurePreferences; /** * Small service that stays running to keep a key cached in memory. @@ -117,7 +118,7 @@ public class KeyCachingService extends Service { this.pending = PendingIntent.getService(this, 0, new Intent(PASSPHRASE_EXPIRED_EVENT, null, this, KeyCachingService.class), 0); - if (isPassphraseDisabled()) { + if (TextSecurePreferences.isPasswordDisabled(this)) { try { MasterSecret masterSecret = MasterSecretUtil.getMasterSecret(this, MasterSecretUtil.UNENCRYPTED_PASSPHRASE); setMasterSecret(masterSecret); @@ -168,7 +169,7 @@ public class KeyCachingService extends Service { } private void handleDisableService() { - if (isPassphraseDisabled()) + if (TextSecurePreferences.isPasswordDisabled(this)) stopForeground(true); } @@ -176,7 +177,7 @@ public class KeyCachingService extends Service { SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); boolean timeoutEnabled = sharedPreferences.getBoolean(ApplicationPreferencesActivity.PASSPHRASE_TIMEOUT_PREF, false); - if ((activitiesRunning == 0) && (this.masterSecret != null) && timeoutEnabled && !isPassphraseDisabled()) { + if ((activitiesRunning == 0) && (this.masterSecret != null) && timeoutEnabled && !TextSecurePreferences.isPasswordDisabled(this)) { long timeoutMinutes = sharedPreferences.getInt(ApplicationPreferencesActivity.PASSPHRASE_TIMEOUT_INTERVAL_PREF, 60 * 5); long timeoutMillis = timeoutMinutes * 60 * 1000; @@ -233,7 +234,7 @@ public class KeyCachingService extends Service { } private void foregroundService() { - if (isPassphraseDisabled()) { + if (TextSecurePreferences.isPasswordDisabled(this)) { stopForeground(true); return; } @@ -257,11 +258,6 @@ public class KeyCachingService extends Service { sendBroadcast(intent, KEY_PERMISSION); } - private boolean isPassphraseDisabled() { - return PreferenceManager.getDefaultSharedPreferences(this) - .getBoolean(ApplicationPreferencesActivity.DISABLE_PASSPHRASE_PREF, false); - } - private PendingIntent buildLockIntent() { Intent intent = new Intent(this, KeyCachingService.class); intent.setAction(PASSPHRASE_EXPIRED_EVENT); diff --git a/src/org/thoughtcrime/securesms/transport/UniversalTransport.java b/src/org/thoughtcrime/securesms/transport/UniversalTransport.java index 3b124a0bd5..ef63ba6f26 100644 --- a/src/org/thoughtcrime/securesms/transport/UniversalTransport.java +++ b/src/org/thoughtcrime/securesms/transport/UniversalTransport.java @@ -1,15 +1,9 @@ package org.thoughtcrime.securesms.transport; import android.content.Context; -import android.util.Log; import org.thoughtcrime.securesms.crypto.MasterSecret; import org.thoughtcrime.securesms.database.model.SmsMessageRecord; -import org.thoughtcrime.securesms.directory.NumberFilter; -import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.util.PhoneNumberFormatter; - -import java.io.IOException; public class UniversalTransport { diff --git a/src/org/thoughtcrime/securesms/util/TextSecurePreferences.java b/src/org/thoughtcrime/securesms/util/TextSecurePreferences.java new file mode 100644 index 0000000000..2bf8a51db2 --- /dev/null +++ b/src/org/thoughtcrime/securesms/util/TextSecurePreferences.java @@ -0,0 +1,69 @@ +package org.thoughtcrime.securesms.util; + +import android.content.Context; +import android.preference.PreferenceManager; + +import org.thoughtcrime.securesms.ApplicationPreferencesActivity; + +public class TextSecurePreferences { + + public static String getLocalNumber(Context context) { + return getStringPreference(context, ApplicationPreferencesActivity.LOCAL_NUMBER_PREF, "No Stored Number"); + } + + public static String getPushServerPassword(Context context) { + return getStringPreference(context, ApplicationPreferencesActivity.GCM_PASSWORD_PREF, null); + } + + public static boolean isEnterImeKeyEnabled(Context context) { + return getBooleanPreference(context, ApplicationPreferencesActivity.ENTER_PRESENT_PREF, false); + } + + public static boolean isEnterSendsEnabled(Context context) { + return getBooleanPreference(context, ApplicationPreferencesActivity.ENTER_SENDS_PREF, false); + } + + public static boolean isPasswordDisabled(Context context) { + return getBooleanPreference(context, ApplicationPreferencesActivity.DISABLE_PASSPHRASE_PREF, false); + } + + public static void setPasswordDisabled(Context context, boolean disabled) { + setBooleanPreference(context, ApplicationPreferencesActivity.DISABLE_PASSPHRASE_PREF, disabled); + } + + public static String getMmscUrl(Context context) { + return getStringPreference(context, ApplicationPreferencesActivity.MMSC_HOST_PREF, ""); + } + + public static String getMmscProxy(Context context) { + return getStringPreference(context, ApplicationPreferencesActivity.MMSC_PROXY_HOST_PREF, ""); + } + + public static String getMmscProxyPort(Context context) { + return getStringPreference(context, ApplicationPreferencesActivity.MMSC_PROXY_PORT_PREF, ""); + } + + public static String getIdentityContactUri(Context context) { + return getStringPreference(context, ApplicationPreferencesActivity.IDENTITY_PREF, null); + } + + public static boolean isAutoRespondKeyExchangeEnabled(Context context) { + return getBooleanPreference(context, ApplicationPreferencesActivity.AUTO_KEY_EXCHANGE_PREF, true); + } + + public static boolean isUseLocalApnsEnabled(Context context) { + return getBooleanPreference(context, ApplicationPreferencesActivity.USE_LOCAL_MMS_APNS_PREF, false); + } + + private static void setBooleanPreference(Context context, String key, boolean value) { + PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean(key, value).commit(); + } + + private static boolean getBooleanPreference(Context context, String key, boolean defaultValue) { + return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(key, defaultValue); + } + + private static String getStringPreference(Context context, String key, String defaultValue) { + return PreferenceManager.getDefaultSharedPreferences(context).getString(key, defaultValue); + } +}