merge liliakai-settings

pull/1/head
Moxie Marlinspike 11 years ago
commit b1b9846971

@ -5,9 +5,9 @@
android:icon="@drawable/ic_menu_msg_compose_holo_dark"
android:showAsAction="ifRoom" />
<item android:title="@string/text_secure_normal__menu_settings"
android:id="@+id/menu_settings"
android:icon="@android:drawable/ic_menu_preferences" />
<item android:title="@string/text_secure_normal__menu_clear_passphrase"
android:id="@+id/menu_clear_passphrase"
android:icon="@android:drawable/ic_menu_close_clear_cancel" />
<item android:title="@string/text_secure_normal__menu_import_export"
android:icon="@android:drawable/ic_menu_save">
@ -22,8 +22,8 @@
</menu>
</item>
<item android:title="@string/text_secure_normal__menu_clear_passphrase"
android:id="@+id/menu_clear_passphrase"
android:icon="@android:drawable/ic_menu_close_clear_cancel" />
<item android:title="@string/text_secure_normal__menu_settings"
android:id="@+id/menu_settings"
android:icon="@android:drawable/ic_menu_preferences" />
</menu>

@ -361,7 +361,7 @@
<string name="AndroidManifest__verify_imported_identity">Verify Imported Identity</string>
<!-- preferences.xml -->
<string name="preferences__general">General</string>
<string name="preferences__use_settings">Use Settings</string>
<string name="preferences__pref_all_sms_title">Use for all SMS</string>
<string name="preferences__pref_all_mms_title">Use for all MMS</string>
@ -374,9 +374,9 @@
<string name="preferences__choose_identity">Choose Identity</string>
<string name="preferences__choose_your_contact_entry_from_the_contacts_list">Choose your contact entry from the contacts list.</string>
<string name="preferences__encryption_settings">Encryption Settings</string>
<string name="preferences__change_passphrase">Change Passphrase</string>
<string name="preferences__change_passphrase">Change passphrase</string>
<string name="preferences__change_my_passphrase">Change my passphrase</string>
<string name="preferences__complete_key_exchanges">Complete Key Exchanges</string>
<string name="preferences__complete_key_exchanges">Complete key exchanges</string>
<string name="preferences__automatically_complete_key_exchanges_for_new_sessions_or_for_existing_sessions_with_the_same_identity_key">Automatically complete key exchanges for new sessions or for existing sessions with the same identity key</string>
<string name="preferences__include_a_whitespace_tag_at_the_end_of_every_non_encrypted_message">Include a whitespace tag at the end of every non-encrypted message</string>
<string name="preferences__include_whitespace_tag">Include whitespace tag</string>
@ -387,12 +387,12 @@
<string name="preferences__pref_timeout_interval_dialogtitle">Select Passphrase Timeout</string>
<string name="preferences__pref_timeout_interval_title">Timeout interval</string>
<string name="preferences__the_amount_of_time_to_wait_before_forgetting_passphrase">The amount of time to wait before forgetting passphrase from memory</string>
<string name="preferences__identity_key_settings">Identity Key Settings</string>
<string name="preferences__identity_key_settings">Identity keys</string>
<string name="preferences__view_my_identity_key">View my identity key</string>
<string name="preferences__export_my_identity_key">Export my identity key</string>
<string name="preferences__import_contacts_key">Import Contact\'s Key</string>
<string name="preferences__import_contacts_key">Import contact\'s key</string>
<string name="preferences__import_an_identity_key_from_a_contact">Import an identity key from a contact</string>
<string name="preferences__manage_identity_keys">Manage Identity Keys</string>
<string name="preferences__manage_identity_keys">Manage identity keys</string>
<string name="preferences__manage_configured_identity_keys">Manage configured identity keys</string>
<string name="preferences__notification_settings">Notification Settings</string>
<string name="preferences__notifications">Notifications</string>
@ -409,7 +409,7 @@
<string name="preferences__minutes">minutes</string>
<string name="preferences__hours">hours</string>
<string name="preferences__green">Green</string>
<string name="preferences__red">Red</string>
<string name="preferences__red">Red</string>
<string name="preferences__blue">Blue</string>
<string name="preferences__orange">Orange</string>
<string name="preferences__cyan">Cyan</string>
@ -418,7 +418,9 @@
<string name="preferences__normal">Normal</string>
<string name="preferences__slow">Slow</string>
<string name="preferences__custom">Custom</string>
<string name="preferences__advanced_mms_access_point_names">Advanced: MMS Access Point Names</string>
<string name="preferences__advanced">Advanced</string>
<string name="preferences__passphrase">Passphrase</string>
<string name="preferences__advanced_mms_access_point_names">Fallback MMSC</string>
<string name="preferences__enable_fallback_mmsc">Enable Fallback MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Use MMSC information configured here when system APN information is unavailable.</string>
<string name="preferences__mmsc_url_required">MMSC URL (Required)</string>
@ -504,11 +506,10 @@
<string name="verify_keys__menu_verified">Verified</string>
<!-- Misc. piggybacking -->
<string name="PlayStoreListing">TextSecure is a security enhanced text messaging application that serves as a full replacement for the default text messaging application. Messages to other TextSecure users are encrypted over the air, and all text messages are stored in an encrypted database on the device. If your phone is lost or stolen, your messages will be safe, and communication with other TextSecure users can\'t be monitored over the air.</string>
<!-- EOF -->
<string name="conversation_group_options__delivery">Delivery</string>
<string name="conversation_group_options__conversation">Conversation</string>
<string name="conversation_group_options__broadcast">Broadcast</string>
<!-- EOF -->
</resources>

@ -1,31 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/preferences__use_settings">
<CheckBoxPreference android:defaultValue="true"
android:key="pref_all_sms"
android:summary="@string/preferences__use_textsecure_for_viewing_and_storing_all_incoming_text_messages"
android:title="@string/preferences__pref_all_sms_title" />
<CheckBoxPreference android:defaultValue="true"
android:key="pref_all_mms"
android:summary="@string/preferences__use_textsecure_for_viewing_and_storing_all_incoming_multimedia_messages"
android:title="@string/preferences__pref_all_mms_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__delivery_reports">
<CheckBoxPreference android:defaultValue="false"
android:key="pref_delivery_report_sms"
android:summary="@string/preferences__request_a_delivery_report_for_each_sms_message_you_send"
android:title="@string/preferences__sms_delivery_reports" />
<CheckBoxPreference android:defaultValue="false"
android:key="pref_delivery_report_mms"
android:summary="@string/preferences__request_a_delivery_report_for_each_mms_message_you_send"
android:enabled="false"
android:title="@string/preferences__mms_delivery_reports" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__general">
<CheckBoxPreference android:defaultValue="true"
android:key="pref_all_sms"
android:summary="@string/preferences__use_textsecure_for_viewing_and_storing_all_incoming_text_messages"
android:title="@string/preferences__pref_all_sms_title" />
<CheckBoxPreference android:defaultValue="true"
android:key="pref_all_mms"
android:summary="@string/preferences__use_textsecure_for_viewing_and_storing_all_incoming_multimedia_messages"
android:title="@string/preferences__pref_all_mms_title" />
<CheckBoxPreference android:defaultValue="false"
android:key="pref_delivery_report_sms"
android:summary="@string/preferences__request_a_delivery_report_for_each_sms_message_you_send"
android:title="@string/preferences__sms_delivery_reports" />
<CheckBoxPreference android:defaultValue="false"
android:key="pref_enter_sends"
android:summary="@string/preferences__pressing_the_enter_key_will_send_text_messages"
android:title="@string/preferences__pref_enter_sends_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__notifications">
<CheckBoxPreference android:key="pref_key_enable_notifications"
android:title="@string/preferences__notifications"
android:summary="@string/preferences__display_message_notifications_in_status_bar"
android:defaultValue="true" />
<ListPreference
android:key="pref_led_color"
android:defaultValue="green"
android:title="@string/preferences__led_color"
android:dependency="pref_key_enable_notifications"
android:summary="@string/preferences__change_notification_led_color"
android:entries="@array/pref_led_color_entries"
android:entryValues="@array/pref_led_color_values"
android:dialogTitle="@string/preferences__select_led_color" />
<org.thoughtcrime.securesms.preferences.LedBlinkPatternListPreference
android:key="pref_led_blink"
android:defaultValue="500,2000"
android:title="@string/preferences__pref_led_blink_title"
android:dependency="pref_key_enable_notifications"
android:summary="@string/preferences__change_notification_blink_pattern"
android:entries="@array/pref_led_blink_pattern_entries"
android:entryValues="@array/pref_led_blink_pattern_values"
android:dialogTitle="@string/preferences__pref_led_blink_dialogtitle" />
<RingtonePreference android:layout="?android:attr/preferenceLayoutChild"
android:dependency="pref_key_enable_notifications"
android:key="pref_key_ringtone"
android:title="@string/preferences__select_ringtone"
android:ringtoneType="notification"
android:defaultValue="content://settings/system/notification_sound" />
<CheckBoxPreference android:layout="?android:attr/preferenceLayoutChild"
android:dependency="pref_key_enable_notifications"
android:key="pref_key_vibrate"
android:defaultValue="true"
android:title="@string/preferences__vibrate"
android:summary="@string/preferences__also_vibrate_when_notified" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__storage">
<CheckBoxPreference android:defaultValue="false"
@ -45,13 +80,6 @@
android:dependency="pref_trim_threads" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__input_settings">
<CheckBoxPreference android:defaultValue="false"
android:key="pref_enter_sends"
android:summary="@string/preferences__pressing_the_enter_key_will_send_text_messages"
android:title="@string/preferences__pref_enter_sends_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__display_settings" android:key="pref_display_category">
@ -61,27 +89,12 @@
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__encryption_settings">
<PreferenceCategory android:title="@string/preferences__passphrase">
<Preference android:key="pref_change_passphrase"
android:title="@string/preferences__change_passphrase"
android:summary="@string/preferences__change_my_passphrase"/>
<CheckBoxPreference android:defaultValue="true"
android:key="pref_auto_complete_key_exchange"
android:title="@string/preferences__complete_key_exchanges"
android:summary="@string/preferences__automatically_complete_key_exchanges_for_new_sessions_or_for_existing_sessions_with_the_same_identity_key" />
<CheckBoxPreference android:defaultValue="true"
android:key="pref_key_tag_whitespace"
android:summary="@string/preferences__include_a_whitespace_tag_at_the_end_of_every_non_encrypted_message"
android:title="@string/preferences__include_whitespace_tag" />
<CheckBoxPreference android:defaultValue="true"
android:key="pref_send_identity_key"
android:summary="@string/preferences__sign_key_exchange_messages_with_identity_key"
android:title="@string/preferences__sign_key_exchange" />
<CheckBoxPreference android:defaultValue="false"
android:key="pref_timeout_passphrase"
android:summary="@string/preferences__forget_passphrase_from_memory_after_some_interval"
@ -96,84 +109,51 @@
android:dependency="pref_timeout_passphrase"
android:dialogTitle="@string/preferences__pref_timeout_interval_dialogtitle" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__identity_key_settings">
<Preference android:key="pref_view_identity"
android:title="@string/preferences__view_my_identity_key"
android:summary="@string/preferences__view_my_identity_key"/>
</PreferenceCategory>
<Preference android:key="pref_export_identity"
android:title="@string/preferences__export_my_identity_key"
android:summary="@string/preferences__export_my_identity_key"/>
<Preference android:key="pref_import_identity"
android:title="@string/preferences__import_contacts_key"
android:summary="@string/preferences__import_an_identity_key_from_a_contact"/>
<Preference android:key="pref_manage_identity"
android:title="@string/preferences__manage_identity_keys"
android:summary="@string/preferences__manage_configured_identity_keys"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__advanced">
<CheckBoxPreference android:defaultValue="true"
android:key="pref_auto_complete_key_exchange"
android:title="@string/preferences__complete_key_exchanges"
android:summary="@string/preferences__automatically_complete_key_exchanges_for_new_sessions_or_for_existing_sessions_with_the_same_identity_key" />
<PreferenceCategory android:title="@string/preferences__notification_settings">
<CheckBoxPreference android:key="pref_key_enable_notifications"
android:title="@string/preferences__notifications"
android:summary="@string/preferences__display_message_notifications_in_status_bar"
android:defaultValue="true" />
<ListPreference
android:key="pref_led_color"
android:defaultValue="green"
android:title="@string/preferences__led_color"
android:dependency="pref_key_enable_notifications"
android:summary="@string/preferences__change_notification_led_color"
android:entries="@array/pref_led_color_entries"
android:entryValues="@array/pref_led_color_values"
android:dialogTitle="@string/preferences__select_led_color" />
<org.thoughtcrime.securesms.preferences.LedBlinkPatternListPreference
android:key="pref_led_blink"
android:defaultValue="500,2000"
android:title="@string/preferences__pref_led_blink_title"
android:dependency="pref_key_enable_notifications"
android:summary="@string/preferences__change_notification_blink_pattern"
android:entries="@array/pref_led_blink_pattern_entries"
android:entryValues="@array/pref_led_blink_pattern_values"
android:dialogTitle="@string/preferences__pref_led_blink_dialogtitle" />
<RingtonePreference android:layout="?android:attr/preferenceLayoutChild"
android:dependency="pref_key_enable_notifications"
android:key="pref_key_ringtone"
android:title="@string/preferences__select_ringtone"
android:ringtoneType="notification"
android:defaultValue="content://settings/system/notification_sound" />
<CheckBoxPreference android:layout="?android:attr/preferenceLayoutChild"
android:dependency="pref_key_enable_notifications"
android:key="pref_key_vibrate"
android:defaultValue="true"
android:title="@string/preferences__vibrate"
android:summary="@string/preferences__also_vibrate_when_notified" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences__advanced_mms_access_point_names">
<CheckBoxPreference android:key="pref_use_local_apns"
android:defaultValue="false"
android:title="@string/preferences__enable_fallback_mmsc"
android:summary="@string/preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable"/>
<EditTextPreference android:key="pref_apn_mmsc_host"
android:title="@string/preferences__mmsc_url_required"
android:dependency="pref_use_local_apns" />
<EditTextPreference android:key="pref_apn_mms_proxy"
android:title="@string/preferences__mms_proxy_host_optional"
android:dependency="pref_use_local_apns" />
<EditTextPreference android:key="pref_apn_mms_proxy_port"
android:title="@string/preferences__mms_proxy_port_optional"
android:dependency="pref_use_local_apns"
android:inputType="number" />
</PreferenceCategory>
<PreferenceScreen android:title="@string/preferences__identity_key_settings">
<Preference android:key="pref_view_identity"
android:title="@string/preferences__view_my_identity_key"
android:summary="@string/preferences__view_my_identity_key"/>
<Preference android:key="pref_export_identity"
android:title="@string/preferences__export_my_identity_key"
android:summary="@string/preferences__export_my_identity_key"/>
<Preference android:key="pref_import_identity"
android:title="@string/preferences__import_contacts_key"
android:summary="@string/preferences__import_an_identity_key_from_a_contact"/>
<Preference android:key="pref_manage_identity"
android:title="@string/preferences__manage_identity_keys"
android:summary="@string/preferences__manage_configured_identity_keys"/>
</PreferenceScreen>
<PreferenceScreen android:title="@string/preferences__advanced_mms_access_point_names">
<CheckBoxPreference android:key="pref_use_local_apns"
android:defaultValue="false"
android:title="@string/preferences__enable_fallback_mmsc"
android:summary="@string/preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable"/>
<EditTextPreference android:key="pref_apn_mmsc_host"
android:title="@string/preferences__mmsc_url_required"
android:dependency="pref_use_local_apns" />
<EditTextPreference android:key="pref_apn_mms_proxy"
android:title="@string/preferences__mms_proxy_host_optional"
android:dependency="pref_use_local_apns" />
<EditTextPreference android:key="pref_apn_mms_proxy_port"
android:title="@string/preferences__mms_proxy_port_optional"
android:dependency="pref_use_local_apns"
android:inputType="number" />
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>

@ -25,6 +25,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
import android.preference.PreferenceManager;
import android.provider.ContactsContract;
import android.util.Log;
@ -56,7 +57,6 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
private static final int PICK_IDENTITY_CONTACT = 1;
private static final int IMPORT_IDENTITY_ID = 2;
public static final String WHITESPACE_PREF = "pref_key_tag_whitespace";
public static final String RINGTONE_PREF = "pref_key_ringtone";
public static final String VIBRATE_PREF = "pref_key_vibrate";
public static final String NOTIFICATION_PREF = "pref_key_enable_notifications";
@ -64,7 +64,6 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
public static final String LED_BLINK_PREF = "pref_led_blink";
public static final String LED_BLINK_PREF_CUSTOM = "pref_led_blink_custom";
public static final String IDENTITY_PREF = "pref_choose_identity";
public static final String SEND_IDENTITY_PREF = "pref_send_identity_key";
public static final String ALL_MMS_PERF = "pref_all_mms";
public static final String PASSPHRASE_TIMEOUT_INTERVAL_PREF = "pref_timeout_interval";
public static final String PASSPHRASE_TIMEOUT_PREF = "pref_timeout_passphrase";
@ -390,4 +389,17 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
}
}
/* http://code.google.com/p/android/issues/detail?id=4611#c35 */
@SuppressWarnings("deprecation")
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference)
{
super.onPreferenceTreeClick(preferenceScreen, preference);
if (preference!=null)
if (preference instanceof PreferenceScreen)
if (((PreferenceScreen)preference).getDialog()!=null)
((PreferenceScreen)preference).getDialog().getWindow().getDecorView().setBackgroundDrawable(this.getWindow().getDecorView().getBackground().getConstantState().newDrawable());
return false;
}
}

@ -113,9 +113,7 @@ public class KeyExchangeMessage {
}
private static boolean includeIdentitySignature(int messageVersion, Context context) {
return IdentityKeyUtil.hasIdentityKey(context) &&
(messageVersion >= 1) &&
PreferenceManager.getDefaultSharedPreferences(context).getBoolean(ApplicationPreferencesActivity.SEND_IDENTITY_PREF, true);
return IdentityKeyUtil.hasIdentityKey(context) && (messageVersion >= 1);
}

@ -13,8 +13,7 @@ public class Tag {
public static boolean isTaggable(Context context, String message) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
return sp.getBoolean(ApplicationPreferencesActivity.WHITESPACE_PREF, true) &&
message.matches(".*[^\\s].*") &&
return message.matches(".*[^\\s].*") &&
message.replaceAll("\\s+$", "").length() + WHITESPACE_TAG.length() <= 158;
}

Loading…
Cancel
Save