mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-21 09:48:26 +00:00
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.
This commit is contained in:
parent
faad1e57ea
commit
bb0ec65744
@ -58,58 +58,58 @@
|
|||||||
|
|
||||||
<activity android:name=".PassphraseCreateActivity"
|
<activity android:name=".PassphraseCreateActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/create_passphrase"
|
android:label="@string/AndroidManifest__create_passphrase"
|
||||||
android:launchMode="singleInstance"
|
android:launchMode="singleInstance"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".PassphrasePromptActivity"
|
<activity android:name=".PassphrasePromptActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/enter_passphrase"
|
android:label="@string/AndroidManifest__enter_passphrase"
|
||||||
android:launchMode="singleInstance"
|
android:launchMode="singleInstance"
|
||||||
android:windowSoftInputMode="stateVisible"
|
android:windowSoftInputMode="stateVisible"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".ContactSelectionActivity"
|
<activity android:name=".ContactSelectionActivity"
|
||||||
android:label="@string/select_contacts"
|
android:label="@string/AndroidManifest__select_contacts"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".AutoInitiateActivity"
|
<activity android:name=".AutoInitiateActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/textsecure_detected"
|
android:label="@string/AndroidManifest__textsecure_detected"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".ViewIdentityActivity"
|
<activity android:name=".ViewIdentityActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/public_identity_key"
|
android:label="@string/AndroidManifest__public_identity_key"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".PassphraseChangeActivity"
|
<activity android:name=".PassphraseChangeActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/change_passphrase2"
|
android:label="@string/AndroidManifest__change_passphrase"
|
||||||
android:launchMode="singleInstance"
|
android:launchMode="singleInstance"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".VerifyKeysActivity"
|
<activity android:name=".VerifyKeysActivity"
|
||||||
android:label="@string/verify_session"
|
android:label="@string/AndroidManifest__verify_session"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".VerifyIdentityActivity"
|
<activity android:name=".VerifyIdentityActivity"
|
||||||
android:label="@string/verify_identity"
|
android:label="@string/AndroidManifest__verify_identity"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".SaveIdentityActivity"
|
<activity android:name=".SaveIdentityActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/save_identity"
|
android:label="@string/AndroidManifest__save_identity"
|
||||||
android:windowSoftInputMode="stateVisible"
|
android:windowSoftInputMode="stateVisible"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".ReviewIdentitiesActivity"
|
<activity android:name=".ReviewIdentitiesActivity"
|
||||||
android:label="@string/manage_identity_keys2"
|
android:label="@string/AndroidManifest__manage_identity_keys"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".ReceiveKeyActivity"
|
<activity android:name=".ReceiveKeyActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/complete_key_exchange"
|
android:label="@string/AndroidManifest__complete_key_exchange"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".ApplicationPreferencesActivity"
|
<activity android:name=".ApplicationPreferencesActivity"
|
||||||
@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
<activity android:name=".VerifyImportedIdentityActivity"
|
<activity android:name=".VerifyImportedIdentityActivity"
|
||||||
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
android:theme="@style/Theme.Sherlock.Light.Dialog"
|
||||||
android:label="@string/verify_imported_identity"
|
android:label="@string/AndroidManifest__verify_imported_identity"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<service android:enabled="true" android:name=".service.ApplicationMigrationService"/>
|
<service android:enabled="true" android:name=".service.ApplicationMigrationService"/>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
android:layout_marginTop="5dip"
|
android:layout_marginTop="5dip"
|
||||||
android:layout_marginBottom="5dip"
|
android:layout_marginBottom="5dip"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:text="@string/you_have_received_a_message_from_someone_who_supports_textsecure_encrypted_sessions_would_you_like_to_initiate_a_secure_session"/>
|
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"
|
<LinearLayout android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@ -28,11 +28,11 @@
|
|||||||
<Button android:id="@+id/initiate_button"
|
<Button android:id="@+id/initiate_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/initiate_exchange"
|
android:text="@string/auto_initiate_activity__initiate_exchange"
|
||||||
android:gravity="center"/>
|
android:gravity="center"/>
|
||||||
|
|
||||||
<Button android:id="@+id/cancel_button"
|
<Button android:id="@+id/cancel_button"
|
||||||
android:text="@string/cancel"
|
android:text="@android:string/cancel"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"/>
|
android:gravity="center"/>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:padding="3dip"
|
android:padding="3dip"
|
||||||
android:text="@string/old_passphrase"
|
android:text="@string/change_passphrase_activity__old_passphrase"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="wrap_content"/>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:padding="3dip"
|
android:padding="3dip"
|
||||||
android:text="@string/new_passphrase"
|
android:text="@string/change_passphrase_activity__new_passphrase"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||||
@ -43,7 +43,7 @@
|
|||||||
android:padding="3dip"
|
android:padding="3dip"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/repeat_new_passphrase"
|
android:text="@string/change_passphrase_activity__repeat_new_passphrase"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
@ -74,7 +74,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="16dip"
|
android:layout_marginLeft="16dip"
|
||||||
android:layout_marginRight="15dip"
|
android:layout_marginRight="15dip"
|
||||||
android:text="@string/cancel" />
|
android:text="@android:string/cancel" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/ok_button"
|
android:id="@+id/ok_button"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<TextView android:id="@+id/emptyText"
|
<TextView android:id="@+id/emptyText"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/no_contacts"
|
android:text="@string/contact_selection_group_activity__no_contacts"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:paddingLeft="10dip"
|
android:paddingLeft="10dip"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<TextView android:id="@+id/emptyText"
|
<TextView android:id="@+id/emptyText"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/no_contacts"
|
android:text="@string/contact_selection_group_activity__no_contacts"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:paddingLeft="10dip"
|
android:paddingLeft="10dip"
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<TextView android:id="@+id/emptyText"
|
<TextView android:id="@+id/emptyText"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/no_recent_calls"
|
android:text="@string/contact_selection_recent_activity__no_recent_calls"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:paddingLeft="10dip"
|
android:paddingLeft="10dip"
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
style="?android:attr/buttonStyleSmall"
|
style="?android:attr/buttonStyleSmall"
|
||||||
android:layout_width="100dip"
|
android:layout_width="100dip"
|
||||||
android:layout_height="50dip"
|
android:layout_height="50dip"
|
||||||
android:text="@string/remove" />
|
android:text="@string/conversation_activity__remove" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
@ -94,7 +94,7 @@
|
|||||||
android:autoText="true"
|
android:autoText="true"
|
||||||
android:capitalize="sentences"
|
android:capitalize="sentences"
|
||||||
android:nextFocusRight="@+id/send_button"
|
android:nextFocusRight="@+id/send_button"
|
||||||
android:hint="@string/type_message"
|
android:hint="@string/conversation_activity__type_message"
|
||||||
android:maxLines="4"
|
android:maxLines="4"
|
||||||
android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
|
android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
|
||||||
android:imeOptions="actionSend|flagNoEnterAction"
|
android:imeOptions="actionSend|flagNoEnterAction"
|
||||||
@ -107,7 +107,7 @@
|
|||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:nextFocusLeft="@+id/embedded_text_editor"
|
android:nextFocusLeft="@+id/embedded_text_editor"
|
||||||
android:text="@string/send2"
|
android:text="@string/conversation_activity__send"
|
||||||
android:padding="8dip"
|
android:padding="8dip"
|
||||||
/>
|
/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
android:text="@string/batch_selection_mode"
|
android:text="@string/conversation_fragment_cab__batch_selection_mode"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
@ -12,14 +12,14 @@
|
|||||||
android:paddingRight="16dip"
|
android:paddingRight="16dip"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView android:text="@string/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:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="10dip"
|
android:layout_marginTop="10dip"
|
||||||
android:layout_marginBottom="10dip"/>
|
android:layout_marginBottom="10dip"/>
|
||||||
|
|
||||||
<TextView android:text="@string/passphrase"
|
<TextView android:text="@string/create_passphrase_activity__passphrase"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@ -37,7 +37,7 @@
|
|||||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:layout_marginBottom="5dip"
|
android:layout_marginBottom="5dip"
|
||||||
android:layout_marginTop="10dip"
|
android:layout_marginTop="10dip"
|
||||||
android:text="@string/repeat"/>
|
android:text="@string/create_passphrase_activity__repeat"/>
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@ -57,7 +57,7 @@
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<Button android:layout_height="wrap_content"
|
<Button android:layout_height="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:text="@string/cancel"
|
android:text="@android:string/cancel"
|
||||||
android:id="@+id/cancel_button"
|
android:id="@+id/cancel_button"
|
||||||
android:layout_marginRight="15dip"
|
android:layout_marginRight="15dip"
|
||||||
android:layout_marginLeft="16dip"/>
|
android:layout_marginLeft="16dip"/>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:ellipsize="marquee"
|
android:ellipsize="marquee"
|
||||||
android:fadingEdge="horizontal"
|
android:fadingEdge="horizontal"
|
||||||
android:text="@string/passphrase_cached"
|
android:text="@string/KeyCachingService_passphrase_cached"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView android:id="@+id/text2"
|
<TextView android:id="@+id/text2"
|
||||||
@ -28,7 +28,7 @@
|
|||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:fadingEdge="horizontal"
|
android:fadingEdge="horizontal"
|
||||||
android:ellipsize="marquee"
|
android:ellipsize="marquee"
|
||||||
android:text="@string/textsecure_passphrase_cached"
|
android:text="@string/KeyCachingService_textsecure_passphrase_cached"
|
||||||
/>
|
/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<Button android:layout_height="wrap_content"
|
<Button android:layout_height="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:text="@string/cancel"
|
android:text="@android:string/cancel"
|
||||||
android:id="@+id/cancel_button"
|
android:id="@+id/cancel_button"
|
||||||
android:layout_marginRight="15dip"
|
android:layout_marginRight="15dip"
|
||||||
android:layout_marginLeft="16dip"/>
|
android:layout_marginLeft="16dip"/>
|
||||||
|
@ -30,21 +30,21 @@
|
|||||||
<Button android:id="@+id/verify_session_button"
|
<Button android:id="@+id/verify_session_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/session"
|
android:text="@string/receive_key_activity__session"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:gravity="center" />
|
android:gravity="center" />
|
||||||
|
|
||||||
<Button android:id="@+id/verify_identity_button"
|
<Button android:id="@+id/verify_identity_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/identities"
|
android:text="@string/receive_key_activity__identities"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:gravity="center" />
|
android:gravity="center" />
|
||||||
|
|
||||||
<Button android:id="@+id/ok_button"
|
<Button android:id="@+id/ok_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/complete_exchange"
|
android:text="@string/receive_key_activity__complete_exchange"
|
||||||
android:gravity="center"/>
|
android:gravity="center"/>
|
||||||
|
|
||||||
<Button android:id="@+id/cancel_button"
|
<Button android:id="@+id/cancel_button"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
android:capitalize="sentences"
|
android:capitalize="sentences"
|
||||||
android:autoText="true"
|
android:autoText="true"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:hint="@string/to"
|
android:hint="@string/recipients_panel__to"
|
||||||
android:paddingRight="45dip"
|
android:paddingRight="45dip"
|
||||||
android:textColor="#000000"
|
android:textColor="#000000"
|
||||||
android:layout_width="fill_parent"/>
|
android:layout_width="fill_parent"/>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<TextView android:id="@id/android:empty"
|
<TextView android:id="@id/android:empty"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/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:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:padding="20dip" />
|
android:padding="20dip" />
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
android:layout_marginLeft="16dip"
|
android:layout_marginLeft="16dip"
|
||||||
android:layout_marginRight="16dip"
|
android:layout_marginRight="16dip"
|
||||||
android:layout_marginTop="5dip"
|
android:layout_marginTop="5dip"
|
||||||
android:text="@string/identity_name"
|
android:text="@string/save_identity_activity__identity_name"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
@ -43,7 +43,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="16dip"
|
android:layout_marginLeft="16dip"
|
||||||
android:layout_marginRight="15dip"
|
android:layout_marginRight="15dip"
|
||||||
android:text="@string/cancel" />
|
android:text="@android:string/cancel" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/ok_button"
|
android:id="@+id/ok_button"
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||||
android:text="@string/their_identity_they_read"
|
android:text="@string/verify_identity_activity__their_identity_they_read"
|
||||||
android:padding="7dip" />
|
android:padding="7dip" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@ -29,7 +29,7 @@
|
|||||||
<TextView
|
<TextView
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/your_identity_you_read"
|
android:text="@string/verify_identity_activity__your_identity_you_read"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||||
android:padding="7dip" />
|
android:padding="7dip" />
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<TextView
|
<TextView
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
android:text="@string/identity_name_n"
|
android:text="@string/verify_import_identity_activity__identity_name_n"
|
||||||
android:padding="3dip" />
|
android:padding="3dip" />
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/identity_name"
|
android:id="@+id/identity_name"
|
||||||
@ -22,7 +22,7 @@
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<TextView
|
<TextView
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
android:text="@string/imported_identity_n"
|
android:text="@string/verify_import_identity_activity__imported_identity_n"
|
||||||
android:padding="3dip" />
|
android:padding="3dip" />
|
||||||
<TextView
|
<TextView
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
@ -43,19 +43,19 @@
|
|||||||
android:padding="15dip"
|
android:padding="15dip"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/verified5"/>
|
android:text="@string/verify_import_identity_activity__verified"/>
|
||||||
|
|
||||||
<Button android:id="@+id/compare_button"
|
<Button android:id="@+id/compare_button"
|
||||||
android:padding="15dip"
|
android:padding="15dip"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/compare5"/>
|
android:text="@string/verify_import_identity_activity__compare"/>
|
||||||
|
|
||||||
<Button android:id="@+id/cancel_button"
|
<Button android:id="@+id/cancel_button"
|
||||||
android:padding="15dip"
|
android:padding="15dip"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/cancel" />
|
android:text="@android:string/cancel" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||||
android:text="@string/they_read_this"
|
android:text="@string/verify_keys_activity__they_read_this"
|
||||||
android:padding="7dip" />
|
android:padding="7dip" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@ -31,7 +31,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||||
android:text="@string/you_read_this"
|
android:text="@string/verify_keys_activity__you_read_this"
|
||||||
android:padding="7dip" />
|
android:padding="7dip" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<TextView
|
<TextView
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:text="@string/identity5"
|
android:text="@string/view_identity_activity__identity"
|
||||||
android:layout_marginRight="7dip" />
|
android:layout_marginRight="7dip" />
|
||||||
<TextView
|
<TextView
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||||
@ -34,7 +34,7 @@
|
|||||||
android:padding="5dip"
|
android:padding="5dip"
|
||||||
android:layout_width="100dip"
|
android:layout_width="100dip"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/qr_code" />
|
android:text="@string/view_identity_activity__qr_code" />
|
||||||
|
|
||||||
<Button android:id="@+id/ok_button"
|
<Button android:id="@+id/ok_button"
|
||||||
android:layout_margin="10dip"
|
android:layout_margin="10dip"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_finished"
|
<item android:title="@string/contact_selection__menu_finished"
|
||||||
android:id="@+id/menu_selection_finished"
|
android:id="@+id/menu_selection_finished"
|
||||||
android:icon="@drawable/ic_menu_done_holo_dark"
|
android:icon="@drawable/ic_menu_done_holo_dark"
|
||||||
android:showAsAction="ifRoom"
|
android:showAsAction="ifRoom"
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_select_all"
|
<item android:title="@string/contact_selection_list__menu_select_all"
|
||||||
android:id="@+id/menu_select_all" />
|
android:id="@+id/menu_select_all" />
|
||||||
|
|
||||||
<item android:title="@string/menu_unselect_all"
|
<item android:title="@string/contact_selection_list__menu_unselect_all"
|
||||||
android:id="@+id/menu_unselect_all" />
|
android:id="@+id/menu_unselect_all" />
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<item android:title="@string/menu_add_attachment"
|
<item android:title="@string/conversation__menu_add_attachment"
|
||||||
android:id="@+id/menu_add_attachment"
|
android:id="@+id/menu_add_attachment"
|
||||||
android:icon="@drawable/ic_menu_attach" />
|
android:icon="@drawable/ic_menu_attach" />
|
||||||
|
|
||||||
<item android:title="@string/menu_delete_thread"
|
<item android:title="@string/conversation__menu_delete_thread"
|
||||||
android:id="@+id/menu_delete_thread"
|
android:id="@+id/menu_delete_thread"
|
||||||
android:icon="@android:drawable/ic_menu_delete" />
|
android:icon="@android:drawable/ic_menu_delete" />
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_send_unencrypted"
|
<item android:title="@string/conversation_button_context__menu_send_unencrypted"
|
||||||
android:id="@+id/menu_context_send_unencrypted" />
|
android:id="@+id/menu_context_send_unencrypted" />
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<item android:title="@string/menu_call"
|
<item android:title="@string/conversation_callable__menu_call"
|
||||||
android:id="@+id/menu_call"
|
android:id="@+id/menu_call"
|
||||||
android:icon="@drawable/ic_menu_call"
|
android:icon="@drawable/ic_menu_call"
|
||||||
android:showAsAction="ifRoom" />
|
android:showAsAction="ifRoom" />
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_copy_text"
|
<item android:title="@string/conversation_context__menu_copy_text"
|
||||||
android:id="@+id/menu_context_copy" />
|
android:id="@+id/menu_context_copy" />
|
||||||
|
|
||||||
<item android:title="@string/menu_delete_message"
|
<item android:title="@string/conversation_context__menu_delete_message"
|
||||||
android:id="@+id/menu_context_delete_message" />
|
android:id="@+id/menu_context_delete_message" />
|
||||||
|
|
||||||
<item android:title="@string/menu_message_details"
|
<item android:title="@string/conversation_context__menu_message_details"
|
||||||
android:id="@+id/menu_context_details" />
|
android:id="@+id/menu_context_details" />
|
||||||
|
|
||||||
<item android:title="@string/menu_forward_message"
|
<item android:title="@string/conversation_context__menu_forward_message"
|
||||||
android:id="@+id/menu_context_forward" />
|
android:id="@+id/menu_context_forward" />
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
android:icon="@drawable/ic_menu_lock_holo_dark"
|
android:icon="@drawable/ic_menu_lock_holo_dark"
|
||||||
android:showAsAction="ifRoom">
|
android:showAsAction="ifRoom">
|
||||||
<menu>
|
<menu>
|
||||||
<item android:title="@string/menu_start_secure_session"
|
<item android:title="@string/conversation_insecure__menu_start_secure_session"
|
||||||
android:id="@+id/menu_start_secure_session" />
|
android:id="@+id/menu_start_secure_session" />
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<item android:title="@string/menu_search"
|
<item android:title="@string/conversation_list__menu_search"
|
||||||
android:id="@+id/menu_search"
|
android:id="@+id/menu_search"
|
||||||
android:icon="@drawable/ic_menu_search_holo_dark"
|
android:icon="@drawable/ic_menu_search_holo_dark"
|
||||||
android:actionViewClass="android.widget.SearchView"
|
android:actionViewClass="android.widget.SearchView"
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<item android:title="@string/menu_delete_selected"
|
<item android:title="@string/conversation_list_batch__menu_delete_selected"
|
||||||
android:id="@+id/menu_delete_selected"
|
android:id="@+id/menu_delete_selected"
|
||||||
android:icon="@drawable/ic_menu_trash_holo_dark"
|
android:icon="@drawable/ic_menu_trash_holo_dark"
|
||||||
android:showAsAction="ifRoom" />
|
android:showAsAction="ifRoom" />
|
||||||
|
|
||||||
<item android:title="@string/menu_select_all2"
|
<item android:title="@string/conversation_list_batch__menu_select_all"
|
||||||
android:id="@+id/menu_select_all"
|
android:id="@+id/menu_select_all"
|
||||||
android:icon="@drawable/ic_menu_selectall_holo_dark" />
|
android:icon="@drawable/ic_menu_selectall_holo_dark" />
|
||||||
|
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_security"
|
<item android:title="@string/conversation_secure_verified__menu_security"
|
||||||
android:id="@+id/menu_security"
|
android:id="@+id/menu_security"
|
||||||
android:icon="@drawable/ic_menu_lock_unverified_holo_dark"
|
android:icon="@drawable/ic_menu_lock_unverified_holo_dark"
|
||||||
android:showAsAction="ifRoom">
|
android:showAsAction="ifRoom">
|
||||||
<menu>
|
<menu>
|
||||||
<item android:title="@string/menu_verify_session"
|
<item android:title="@string/conversation_secure_verified__menu_verify_session"
|
||||||
android:id="@+id/menu_verify_session" />
|
android:id="@+id/menu_verify_session" />
|
||||||
|
|
||||||
<item android:title="@string/menu_verify_recipient"
|
<item android:title="@string/conversation_secure_verified__menu_verify_recipient"
|
||||||
android:id="@+id/menu_verify_recipient"/>
|
android:id="@+id/menu_verify_recipient"/>
|
||||||
|
|
||||||
<item android:title="@string/menu_abort_secure_session"
|
<item android:title="@string/conversation_secure_verified__menu_abort_secure_session"
|
||||||
android:id="@+id/menu_abort_session"/>
|
android:id="@+id/menu_abort_session"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_security"
|
<item android:title="@string/conversation_secure_verified__menu_security"
|
||||||
android:id="@+id/menu_security"
|
android:id="@+id/menu_security"
|
||||||
android:icon="@drawable/ic_menu_lock_verified_holo_dark"
|
android:icon="@drawable/ic_menu_lock_verified_holo_dark"
|
||||||
android:showAsAction="ifRoom">
|
android:showAsAction="ifRoom">
|
||||||
<menu>
|
<menu>
|
||||||
<item android:title="@string/menu_verify_session"
|
<item android:title="@string/conversation_secure_verified__menu_verify_session"
|
||||||
android:id="@+id/menu_verify_session" />
|
android:id="@+id/menu_verify_session" />
|
||||||
|
|
||||||
<item android:title="@string/menu_verify_recipient"
|
<item android:title="@string/conversation_secure_verified__menu_verify_recipient"
|
||||||
android:id="@+id/menu_verify_recipient"/>
|
android:id="@+id/menu_verify_recipient"/>
|
||||||
|
|
||||||
<item android:title="@string/menu_abort_secure_session"
|
<item android:title="@string/conversation_secure_verified__menu_abort_secure_session"
|
||||||
android:id="@+id/menu_abort_session"/>
|
android:id="@+id/menu_abort_session"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<item android:title="@string/menu_compare"
|
<item android:title="@string/key_scanning__menu_compare"
|
||||||
android:id="@+id/menu_barcode"
|
android:id="@+id/menu_barcode"
|
||||||
android:icon="@drawable/ic_menu_barcode"
|
android:icon="@drawable/ic_menu_barcode"
|
||||||
android:showAsAction="ifRoom">
|
android:showAsAction="ifRoom">
|
||||||
|
|
||||||
<menu>
|
<menu>
|
||||||
<item android:title="@string/menu_scan_to_compare"
|
<item android:title="@string/key_scanning__menu_scan_to_compare"
|
||||||
android:id="@+id/menu_scan"/>
|
android:id="@+id/menu_scan"/>
|
||||||
|
|
||||||
<item android:title="@string/menu_get_scanned_to_compare"
|
<item android:title="@string/key_scanning__menu_get_scanned_to_compare"
|
||||||
android:id="@+id/menu_get_scanned"/>
|
android:id="@+id/menu_get_scanned"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_unlock"
|
<item android:title="@string/text_secure_locked__menu_unlock"
|
||||||
android:id="@+id/menu_unlock"
|
android:id="@+id/menu_unlock"
|
||||||
android:showAsAction="ifRoom" />
|
android:showAsAction="ifRoom" />
|
||||||
|
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_new_message"
|
<item android:title="@string/text_secure_normal__menu_new_message"
|
||||||
android:id="@+id/menu_new_message"
|
android:id="@+id/menu_new_message"
|
||||||
android:icon="@drawable/ic_menu_msg_compose_holo_dark"
|
android:icon="@drawable/ic_menu_msg_compose_holo_dark"
|
||||||
android:showAsAction="ifRoom" />
|
android:showAsAction="ifRoom" />
|
||||||
|
|
||||||
<item android:title="@string/menu_settings"
|
<item android:title="@string/text_secure_normal__menu_settings"
|
||||||
android:id="@+id/menu_settings"
|
android:id="@+id/menu_settings"
|
||||||
android:icon="@android:drawable/ic_menu_preferences" />
|
android:icon="@android:drawable/ic_menu_preferences" />
|
||||||
|
|
||||||
<item android:title="@string/menu_import_export"
|
<item android:title="@string/text_secure_normal__menu_import_export"
|
||||||
android:icon="@android:drawable/ic_menu_save">
|
android:icon="@android:drawable/ic_menu_save">
|
||||||
<menu>
|
<menu>
|
||||||
<item android:title="@string/menu_import"
|
<item android:title="@string/text_secure_normal__menu_import"
|
||||||
android:id="@+id/menu_import"
|
android:id="@+id/menu_import"
|
||||||
android:icon="@android:drawable/ic_menu_revert" />
|
android:icon="@android:drawable/ic_menu_revert" />
|
||||||
|
|
||||||
<item android:title="@string/menu_export"
|
<item android:title="@string/text_secure_normal__menu_export"
|
||||||
android:id="@+id/menu_export"
|
android:id="@+id/menu_export"
|
||||||
android:icon="@android:drawable/ic_menu_save" />
|
android:icon="@android:drawable/ic_menu_save" />
|
||||||
</menu>
|
</menu>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
<item android:title="@string/menu_clear_passphrase"
|
<item android:title="@string/text_secure_normal__menu_clear_passphrase"
|
||||||
android:id="@+id/menu_clear_passphrase"
|
android:id="@+id/menu_clear_passphrase"
|
||||||
android:icon="@android:drawable/ic_menu_close_clear_cancel" />
|
android:icon="@android:drawable/ic_menu_close_clear_cancel" />
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:title="@string/menu_verified"
|
<item android:title="@string/verify_keys__menu_verified"
|
||||||
android:id="@+id/menu_session_verified"
|
android:id="@+id/menu_session_verified"
|
||||||
android:icon="@drawable/ic_menu_done_holo_dark"
|
android:icon="@drawable/ic_menu_done_holo_dark"
|
||||||
android:showAsAction="ifRoom" />
|
android:showAsAction="ifRoom" />
|
||||||
|
@ -5,380 +5,386 @@
|
|||||||
<string name="no">No</string>
|
<string name="no">No</string>
|
||||||
|
|
||||||
<!-- ApplicationExportManager -->
|
<!-- ApplicationExportManager -->
|
||||||
<string name="import_database_and_settings_title">Import Database and Settings?</string>
|
<string name="ApplicationExportManager_import_database_and_settings_title">Import Database and Settings?</string>
|
||||||
<string name="import_database_and_settings_message">Import TextSecure database, keys, and settings from the SD Card?\n\nWARNING: This will clobber any existing messages, keys, and settings!</string>
|
<string name="ApplicationExportManager_import_database_and_settings_message">Import TextSecure database, keys, and settings from the SD Card?\n\nWARNING: This will clobber any existing messages, keys, and settings!</string>
|
||||||
<string name="importing_database_and_keys">Importing Database and Keys</string>
|
<string name="ApplicationExportManager_importing_database_and_keys">Importing Database and Keys</string>
|
||||||
<string name="importing_your_sms_database_keys_and_settings">Importing your SMS database, keys, and settings...</string>
|
<string name="ApplicationExportManager_importing_your_sms_database_keys_and_settings">Importing your SMS database, keys, and settings...</string>
|
||||||
<string name="export_database_question">Export Database?</string>
|
<string name="ApplicationExportManager_export_database_question">Export Database?</string>
|
||||||
<string name="export_textsecure_database_keys_and_settings_prompt">Export TextSecure database, keys, and settings to the SD Card?</string>
|
<string name="ApplicationExportManager_export_textsecure_database_keys_and_settings_prompt">Export TextSecure database, keys, and settings to the SD Card?</string>
|
||||||
<string name="exporting_database_and_keys">Exporting Database and Keys</string>
|
<string name="ApplicationExportManager_exporting_database_and_keys">Exporting Database and Keys</string>
|
||||||
<string name="exporting_your_sms_database_keys_and_settings">Exporting your SMS database, keys, and settings...</string>
|
<string name="ApplicationExportManager_exporting_your_sms_database_keys_and_settings">Exporting your SMS database, keys, and settings...</string>
|
||||||
<string name="no_sd_card_found_exclamation">No SD card found!</string>
|
<string name="ApplicationExportManager_no_sd_card_found_exclamation">No SD card found!</string>
|
||||||
<string name="error_exporting_to_sd_exclamation">Error exporting to SD!</string>
|
<string name="ApplicationExportManager_error_exporting_to_sd_exclamation">Error exporting to SD!</string>
|
||||||
<string name="import_successful_exclamation">Import Successful!</string>
|
<string name="ApplicationExportManager_import_successful_exclamation">Import Successful!</string>
|
||||||
<string name="export_successful_exclamation">Export Successful!</string>
|
<string name="ApplicationExportManager_export_successful_exclamation">Export Successful!</string>
|
||||||
|
|
||||||
<!-- ApplicationMigrationManager -->
|
<!-- ApplicationMigrationManager -->
|
||||||
<string name="migrating_database">Migrating Database</string>
|
<string name="ApplicationMigrationManager_migrating_database">Migrating Database</string>
|
||||||
<string name="migrating_text_message_database">Migrating text message database...</string>
|
<string name="ApplicationMigrationManager_migrating_text_message_database">Migrating text message database...</string>
|
||||||
<string name="copy_system_text_message_database_question">Copy System Text Message Database?</string>
|
<string name="ApplicationMigrationManager_copy_system_text_message_database_question">Copy System Text Message Database?</string>
|
||||||
<string name="copy_system_text_message_database_explanation">TextSecure uses an encrypted database that is separate from the default system database. Would you like to copy your existing text messages into TextSecure\'s encrypted database? Your default system database will be unaffected.</string>
|
<string name="ApplicationMigrationManager_copy_system_text_message_database_explanation">TextSecure uses an encrypted database that is separate from the default system database. Would you like to copy your existing text messages into TextSecure\'s encrypted database? Your default system database will be unaffected.</string>
|
||||||
<string name="copy">Copy</string>
|
<string name="ApplicationMigrationManager_copy">Copy</string>
|
||||||
<string name="dont_copy">Don\'t copy</string>
|
<string name="ApplicationMigrationManager_dont_copy">Don\'t copy</string>
|
||||||
|
|
||||||
<!-- ApplicationPreferencesActivity -->
|
<!-- ApplicationPreferencesActivity -->
|
||||||
<string name="not_found_exclamation">Not found!</string>
|
<string name="ApplicationPreferenceActivity_not_found_exclamation">Not found!</string>
|
||||||
<string name="no_valid_identity_key_was_found_in_the_specified_contact">No valid identity key was found in the specified contact.</string>
|
<string name="ApplicationPreferenceActivity_no_valid_identity_key_was_found_in_the_specified_contact">No valid identity key was found in the specified contact.</string>
|
||||||
<string name="you_don_t_have_an_identity_key_exclamation">You don\'t have an identity key!</string>
|
<string name="ApplicationPreferenceActivity_you_don_t_have_an_identity_key_exclamation">You don\'t have an identity key!</string>
|
||||||
<string name="you_have_not_yet_defined_a_contact_for_yourself">You have not yet defined a contact for yourself! Select one in the Settings menu.</string>
|
<string name="ApplicationPreferenceActivity_you_have_not_yet_defined_a_contact_for_yourself">You have not yet defined a contact for yourself! Select one in the Settings menu.</string>
|
||||||
<string name="exported_to_contacts_database">Exported to contacts database!</string>
|
<string name="ApplicationPreferenceActivity_exported_to_contacts_database">Exported to contacts database!</string>
|
||||||
<string name="you_need_to_have_entered_your_passphrase_before_importing_keys">You need to have entered your passphrase before importing keys...</string>
|
<string name="ApplicationPreferenceActivity_you_need_to_have_entered_your_passphrase_before_importing_keys">You need to have entered your passphrase before importing keys...</string>
|
||||||
<string name="you_need_to_have_entered_your_passphrase_before_managing_keys">You need to have entered your passphrase before managing keys...</string>
|
<string name="ApplicationPreferenceActivity_you_need_to_have_entered_your_passphrase_before_managing_keys">You need to have entered your passphrase before managing keys...</string>
|
||||||
<string name="you_havent_set_a_passphrase_yet">You haven\'t set a passphrase yet!</string>
|
<string name="ApplicationPreferenceActivity_you_havent_set_a_passphrase_yet">You haven\'t set a passphrase yet!</string>
|
||||||
|
|
||||||
<!-- ConversationItem -->
|
<!-- ConversationItem -->
|
||||||
<string name="message_size_d_kb">Message size: %d KB</string>
|
<string name="ConversationItem_message_size_d_kb">Message size: %d KB</string>
|
||||||
<string name="expires_s">Expires: %s</string>
|
<string name="ConversationItem_expires_s">Expires: %s</string>
|
||||||
<string name="error_sending_message">Error sending message</string>
|
<string name="ConversationItem_error_sending_message">Error sending message</string>
|
||||||
<string name="sending">Sending...</string>
|
<string name="ConversationItem_sending">Sending...</string>
|
||||||
<string name="saving_attachment">Saving Attachment</string>
|
<string name="ConversationItem_saving_attachment">Saving Attachment</string>
|
||||||
<string name="saving_attachment_to_sd_card">Saving attachment to SD card...</string>
|
<string name="ConversationItem_saving_attachment_to_sd_card">Saving attachment to SD card...</string>
|
||||||
<string name="save_to_sd_card">Save to SD Card?</string>
|
<string name="ConversationItem_save_to_sd_card">Save to SD Card?</string>
|
||||||
<string name="this_media_has_been_stored_in_an_encrypted_database_warning">This media has been stored in an encrypted database. The version you save to the SD card will no longer be encrypted, would you like to continue?</string>
|
<string name="ConversationItem_this_media_has_been_stored_in_an_encrypted_database_warning">This media has been stored in an encrypted database. The version you save to the SD card will no longer be encrypted, would you like to continue?</string>
|
||||||
<string name="error_while_saving_attachment_to_sd_card">Error while saving attachment to SD card!</string>
|
<string name="ConversationItem_error_while_saving_attachment_to_sd_card">Error while saving attachment to SD card!</string>
|
||||||
<string name="success_exclamation">Success!</string>
|
<string name="ConversationItem_success_exclamation">Success!</string>
|
||||||
<string name="unable_to_write_to_sd_card_exclamation">Unable to write to SD Card!</string>
|
<string name="ConversationItem_unable_to_write_to_sd_card_exclamation">Unable to write to SD Card!</string>
|
||||||
<string name="view_secure_media_question">View secure media?</string>
|
<string name="ConversationItem_view_secure_media_question">View secure media?</string>
|
||||||
<string name="this_media_has_been_stored_in_an_encrypted_database_external_viewer_warning">This media has been stored in an encrypted database. Unfortunately, to view it with an external content viewer currently requires the data to be temporarily decrypted and written to disk. Are you sure that you would like to do this?</string>
|
<string name="ConversationItem_this_media_has_been_stored_in_an_encrypted_database_external_viewer_warning">This media has been stored in an encrypted database. Unfortunately, to view it with an external content viewer currently requires the data to be temporarily decrypted and written to disk. Are you sure that you would like to do this?</string>
|
||||||
<string name="key_exchange_message2">Key exchange message</string>
|
<string name="ConversationItem_key_exchange_message">Key exchange message</string>
|
||||||
<string name="received_and_processed_key_exchange_message">Received and processed key exchange message.</string>
|
<string name="ConversationItem_received_and_processed_key_exchange_message">Received and processed key exchange message.</string>
|
||||||
<string name="error_received_stale_key_exchange_message">Error, received stale key exchange message.</string>
|
<string name="ConversationItem_error_received_stale_key_exchange_message">Error, received stale key exchange message.</string>
|
||||||
<string name="received_key_exchange_message_click_to_process">Received key exchange message, click to process</string>
|
<string name="ConversationItem_received_key_exchange_message_click_to_process">Received key exchange message, click to process</string>
|
||||||
|
|
||||||
<!-- ConversationActivity -->
|
<!-- ConversationActivity -->
|
||||||
<string name="initiate_secure_session_question">Initiate Secure Session?</string>
|
<string name="ConversationActivity_initiate_secure_session_question">Initiate Secure Session?</string>
|
||||||
<string name="initiate_secure_session_with_s_question">Initiate secure session with %s?</string>
|
<string name="ConversationActivity_initiate_secure_session_with_s_question">Initiate secure session with %s?</string>
|
||||||
<string name="abort_secure_session_confirmation">Abort Secure Session Confirmation</string>
|
<string name="ConversationActivity_abort_secure_session_confirmation">Abort Secure Session Confirmation</string>
|
||||||
<string name="are_you_sure_that_you_want_to_abort_this_secure_session_question">Are you sure that you want to abort this secure session?</string>
|
<string name="ConversationActivity_are_you_sure_that_you_want_to_abort_this_secure_session_question">Are you sure that you want to abort this secure session?</string>
|
||||||
<string name="delete_thread_confirmation">Delete Thread Confirmation</string>
|
<string name="ConversationActivity_delete_thread_confirmation">Delete Thread Confirmation</string>
|
||||||
<string name="are_you_sure_that_you_want_to_permanently_delete_this_conversation_question">Are you sure that you want to permanently delete this conversation?</string>
|
<string name="ConversationActivity_are_you_sure_that_you_want_to_permanently_delete_this_conversation_question">Are you sure that you want to permanently delete this conversation?</string>
|
||||||
<string name="add_attachment">Add attachment</string>
|
<string name="ConversationActivity_add_attachment">Add attachment</string>
|
||||||
<string name="compose_message">Compose Message</string>
|
<string name="ConversationActivity_compose_message">Compose Message</string>
|
||||||
<string name="sorry_there_was_an_error_setting_your_attachment">Sorry, there was an error setting your attachment.</string>
|
<string name="ConversationActivity_sorry_there_was_an_error_setting_your_attachment">Sorry, there was an error setting your attachment.</string>
|
||||||
<string name="sorry_the_selected_video_exceeds_message_size_restrictions">Sorry, the selected video exceeds message size restrictions.</string>
|
<string name="ConversationActivity_sorry_the_selected_video_exceeds_message_size_restrictions">Sorry, the selected video exceeds message size restrictions.</string>
|
||||||
<string name="sorry_the_selected_audio_exceeds_message_size_restrictions">Sorry, the selected audio exceeds message size restrictions.</string>
|
<string name="ConversationActivity_sorry_the_selected_audio_exceeds_message_size_restrictions">Sorry, the selected audio exceeds message size restrictions.</string>
|
||||||
<string name="recipient_is_not_a_valid_sms_or_email_address_exclamation">Recipient is not a valid SMS or email address!</string>
|
<string name="ConversationActivity_recipient_is_not_a_valid_sms_or_email_address_exclamation">Recipient is not a valid SMS or email address!</string>
|
||||||
<string name="message_is_empty_exclamation">Message is empty!</string>
|
<string name="ConversationActivity_message_is_empty_exclamation">Message is empty!</string>
|
||||||
|
|
||||||
<!-- ConversationFragment -->
|
<!-- ConversationFragment -->
|
||||||
<string name="message_details">Message details</string>
|
<string name="ConversationFragment_message_details">Message details</string>
|
||||||
<string name="sender_s_transport_s_sent_received_s">Sender: %1$s\nTransport: %2$s\nSent/Received:%3$s</string>
|
<string name="ConversationFragment_sender_s_transport_s_sent_received_s">Sender: %1$s\nTransport: %2$s\nSent/Received:%3$s</string>
|
||||||
|
|
||||||
<!-- ConversationListAdapter -->
|
<!-- ConversationListAdapter -->
|
||||||
<string name="encrypted_message_enter_passphrase">"Encrypted message, enter passphrase... "</string>
|
<string name="ConversationListAdapter_encrypted_message_enter_passphrase">"Encrypted message, enter passphrase... "</string>
|
||||||
<string name="key_exchange_message">Key exchange message...</string>
|
<string name="ConversationListAdapter_key_exchange_message">Key exchange message...</string>
|
||||||
|
|
||||||
<!-- ConversationListFragment -->
|
<!-- ConversationListFragment -->
|
||||||
<string name="delete_threads_question">Delete threads?</string>
|
<string name="ConversationListFragment_delete_threads_question">Delete threads?</string>
|
||||||
<string name="are_you_sure_you_wish_to_delete_all_selected_conversation_threads">Are you sure you wish to delete ALL selected conversation threads?</string>
|
<string name="ConversationListFragment_are_you_sure_you_wish_to_delete_all_selected_conversation_threads">Are you sure you wish to delete ALL selected conversation threads?</string>
|
||||||
<string name="delete">Delete</string>
|
<string name="ConversationListFragment_delete">Delete</string>
|
||||||
<string name="cancel">Cancel</string>
|
<string name="ConversationListFragment_cancel">Cancel</string>
|
||||||
|
|
||||||
|
<!-- ConversationListItem -->
|
||||||
|
<string name="ConversationListItem_key_exchange_message">Key exchange message...</string>
|
||||||
|
|
||||||
<!-- KeyScanningActivity -->
|
<!-- KeyScanningActivity -->
|
||||||
<string name="no_scanned_key_found_exclamation">No scanned key found!</string>
|
<string name="KeyScanningActivity_no_scanned_key_found_exclamation">No scanned key found!</string>
|
||||||
|
|
||||||
<!-- PassphraseChangeActivity -->
|
<!-- PassphraseChangeActivity -->
|
||||||
<string name="passphrases_dont_match_exclamation">Passphrases Don\'t Match!</string>
|
<string name="PassphraseChangeActivity_passphrases_dont_match_exclamation">Passphrases Don\'t Match!</string>
|
||||||
<string name="incorrect_old_passphrase_exclamation">Incorrect old passphrase!</string>
|
<string name="PassphraseChangeActivity_incorrect_old_passphrase_exclamation">Incorrect old passphrase!</string>
|
||||||
|
|
||||||
<!-- PassphraseCreateActivity -->
|
<!-- PassphraseCreateActivity -->
|
||||||
<string name="generating_keypair">Generating KeyPair</string>
|
<string name="PassphraseCreateActivity_passphrases_dont_match_exclamation">Passphrases Don\'t Match!</string>
|
||||||
<string name="generating_a_local_encryption_keypair">Generating a local encryption keypair...</string>
|
<string name="PassphraseCreateActivity_generating_keypair">Generating KeyPair</string>
|
||||||
|
<string name="PassphraseCreateActivity_generating_a_local_encryption_keypair">Generating a local encryption keypair...</string>
|
||||||
|
|
||||||
<!-- PassphrasePromptActivity -->
|
<!-- PassphrasePromptActivity -->
|
||||||
<string name="invalid_passphrase_exclamation">Invalid Passphrase!</string>
|
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Invalid Passphrase!</string>
|
||||||
|
|
||||||
<!-- ReceiveKeyActivity -->
|
<!-- ReceiveKeyActivity -->
|
||||||
<string name="error_you_have_received_a_corrupted_public_key">ERROR:\n\nYou have received a corrupted public key. This key can not be processed, please re-initiate a secure session.</string>
|
<string name="ReceiveKeyActivity_error_you_have_received_a_corrupted_public_key">ERROR:\n\nYou have received a corrupted public key. This key can not be processed, please re-initiate a secure session.</string>
|
||||||
<string name="error_you_have_received_a_public_key_from_an_unsupported_version_of_the_protocol">ERROR:\n\nYou have received a public key from an unsupported version of the protocol. This key can not be processed, please re-initiate a secure session.</string>
|
<string name="ReceiveKeyActivity_error_you_have_received_a_public_key_from_an_unsupported_version_of_the_protocol">ERROR:\n\nYou have received a public key from an unsupported version of the protocol. This key can not be processed, please re-initiate a secure session.</string>
|
||||||
<string name="this_key_exchange_message_does_not_include_an_identity_signature">This key exchange message does not include an identity signature.</string>
|
<string name="ReceiveKeyActivity_this_key_exchange_message_does_not_include_an_identity_signature">This key exchange message does not include an identity signature.</string>
|
||||||
<string name="this_key_exchange_message_includes_an_identity_signature_but_you_do_not_yet_trust_it">This key exchange message includes an identity signature, but you do not yet trust it.</string>
|
<string name="ReceiveKeyActivity_this_key_exchange_message_includes_an_identity_signature_but_you_do_not_yet_trust_it">This key exchange message includes an identity signature, but you do not yet trust it.</string>
|
||||||
<string name="this_key_exchange_message_includes_an_identity_signature_which_you_trust_for_s">This key exchange message includes an identity signature which you trust for: %s</string>
|
<string name="ReceiveKeyActivity_this_key_exchange_message_includes_an_identity_signature_which_you_trust_for_s">This key exchange message includes an identity signature which you trust for: %s</string>
|
||||||
<string name="this_is_the_key_that_you_sent_to_start_your_current_encrypted_session_with_s">This is the key that you sent to start your current encrypted session with %s</string>
|
<string name="ReceiveKeyActivity_this_is_the_key_that_you_sent_to_start_your_current_encrypted_session_with_s">This is the key that you sent to start your current encrypted session with %s</string>
|
||||||
<string name="this_is_the_key_that_you_received_to_start_your_current_encrypted_session_with_s">This is the key that you received to start your current encrypted session with %s</string>
|
<string name="ReceiveKeyActivity_this_is_the_key_that_you_received_to_start_your_current_encrypted_session_with_s">This is the key that you received to start your current encrypted session with %s</string>
|
||||||
<string name="you_have_received_a_key_exchange_message_from_s_warning_you_already_have_an_encrypted_session">You have received a Key Exchange message from %s.\n\nWARNING: You already have an encrypted session with this contact. If you choose to accept this key exchange message, it will destroy your existing session and you will have to re-authenticate. Would you like to complete this key exchange?</string>
|
<string name="ReceiveKeyActivity_you_have_received_a_key_exchange_message_from_s_warning_you_already_have_an_encrypted_session">You have received a Key Exchange message from %s.\n\nWARNING: You already have an encrypted session with this contact. If you choose to accept this key exchange message, it will destroy your existing session and you will have to re-authenticate. Would you like to complete this key exchange?</string>
|
||||||
<string name="you_have_received_a_key_exchange_message_from_s_you_have_previously_initiated">You have received a Key Exchange message from %s. You have previously initiated a session with this contact, and by accepting this key you will complete the key exchange. Would you like to complete this key exchange?</string>
|
<string name="ReceiveKeyActivity_you_have_received_a_key_exchange_message_from_s_you_have_previously_initiated">You have received a Key Exchange message from %s. You have previously initiated a session with this contact, and by accepting this key you will complete the key exchange. Would you like to complete this key exchange?</string>
|
||||||
<string name="you_have_initiated_a_key_exchange_message_with_s_but_have_not_yet_received_a_reply">You have initiated a Key Exchange message with %s but have not yet received a reply.</string>
|
<string name="ReceiveKeyActivity_you_have_initiated_a_key_exchange_message_with_s_but_have_not_yet_received_a_reply">You have initiated a Key Exchange message with %s but have not yet received a reply.</string>
|
||||||
<string name="you_have_received_a_key_exchange_message_from_s_you_have_no_existing_session">You have received a Key Exchange message from %s. You have no existing session with this contact, would you like to complete this key exchange?</string>
|
<string name="ReceiveKeyActivity_you_have_received_a_key_exchange_message_from_s_you_have_no_existing_session">You have received a Key Exchange message from %s. You have no existing session with this contact, would you like to complete this key exchange?</string>
|
||||||
|
|
||||||
<!-- ReviewIdentitiesActivity -->
|
<!-- ReviewIdentitiesActivity -->
|
||||||
<string name="unable_to_view_corrupted_identity_key_exclamation">Unable to view corrupted identity key!</string>
|
<string name="ReviewIdentitiesActivity_unable_to_view_corrupted_identity_key_exclamation">Unable to view corrupted identity key!</string>
|
||||||
|
|
||||||
<!-- SaveIdentityActivity -->
|
<!-- SaveIdentityActivity -->
|
||||||
<string name="you_must_specify_a_name_for_this_identity_exclamation">You must specify a name for this identity!</string>
|
<string name="SaveIdentityActivity_you_must_specify_a_name_for_this_identity_exclamation">You must specify a name for this identity!</string>
|
||||||
<string name="identity_name_exists_exclamation">Identity Name Exists!</string>
|
<string name="SaveIdentityActivity_identity_name_exists_exclamation">Identity Name Exists!</string>
|
||||||
<string name="an_identity_key_with_the_specified_name_already_exists">An identity key with the specified name already exists.</string>
|
<string name="SaveIdentityActivity_an_identity_key_with_the_specified_name_already_exists">An identity key with the specified name already exists.</string>
|
||||||
<string name="manage_identities">Manage Identities</string>
|
<string name="SaveIdentityActivity_manage_identities">Manage Identities</string>
|
||||||
|
|
||||||
<!-- VerifyIdentityActivity -->
|
<!-- VerifyIdentityActivity -->
|
||||||
<string name="mark_identity_verified_question">Mark Identity Verified?</string>
|
<string name="VerifyIdentityActivity_mark_identity_verified_question">Mark Identity Verified?</string>
|
||||||
<string name="are_you_sure_you_have_validated_the_recipients_identity_fingerprint_and_would_like_to_mark_it_as_verified">Are you sure you have validated the recipients\' identity fingerprint and would like to mark it as verified?</string>
|
<string name="VerifyIdentityActivity_are_you_sure_you_have_validated_the_recipients_identity_fingerprint_and_would_like_to_mark_it_as_verified">Are you sure you have validated the recipients\' identity fingerprint and would like to mark it as verified?</string>
|
||||||
<string name="mark_verified">Mark Verified</string>
|
<string name="VerifyIdentityActivity_mark_verified">Mark Verified</string>
|
||||||
<string name="you_do_not_have_an_identity_key">You do not have an identity key.</string>
|
<string name="VerifyIdentityActivity_you_do_not_have_an_identity_key">You do not have an identity key.</string>
|
||||||
<string name="recipient_has_no_identity_key">Recipient has no identity key.</string>
|
<string name="VerifyIdentityActivity_recipient_has_no_identity_key">Recipient has no identity key.</string>
|
||||||
<string name="recipient_has_no_identity_key_exclamation">Recipient has no identity key!</string>
|
<string name="VerifyIdentityActivity_recipient_has_no_identity_key_exclamation">Recipient has no identity key!</string>
|
||||||
<string name="scan_their_key_to_compare">Scan their key to compare</string>
|
<string name="VerifyIdentityActivity_scan_their_key_to_compare">Scan their key to compare</string>
|
||||||
<string name="get_my_key_scanned">Get my key scanned</string>
|
<string name="VerifyIdentityActivity_get_my_key_scanned">Get my key scanned</string>
|
||||||
<string name="warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully">WARNING, the scanned key DOES NOT match! Please check the fingerprint text carefully.</string>
|
<string name="VerifyIdentityActivity_warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully">WARNING, the scanned key DOES NOT match! Please check the fingerprint text carefully.</string>
|
||||||
<string name="not_verified_exclamation">NOT Verified!</string>
|
<string name="VerifyIdentityActivity_not_verified_exclamation">NOT Verified!</string>
|
||||||
<string name="their_key_is_correct_it_is_also_necessary_to_verify_your_key_with_them_as_well">Their key is correct. It is also necessary to verify your key with them as well.</string>
|
<string name="VerifyIdentityActivity_their_key_is_correct_it_is_also_necessary_to_verify_your_key_with_them_as_well">Their key is correct. It is also necessary to verify your key with them as well.</string>
|
||||||
<string name="verified_exclamation">Verified!</string>
|
<string name="VerifyIdentityActivity_verified_exclamation">Verified!</string>
|
||||||
|
<string name="VerifyIdentityActivity_you_don_t_have_an_identity_key_exclamation">You don\'t have an identity key!</string>
|
||||||
|
|
||||||
<!-- VerifyImportedIdentityActivity -->
|
<!-- VerifyImportedIdentityActivity -->
|
||||||
<string name="you_must_specify_a_name_for_this_contact_exclamation">You must specify a name for this contact!</string>
|
<string name="VerifyImportedIdentityActivity_you_must_specify_a_name_for_this_contact_exclamation">You must specify a name for this contact!</string>
|
||||||
<string name="save_identity_key_question">Save Identity Key?</string>
|
<string name="VerifyImportedIdentityActivity_save_identity_key_question">Save Identity Key?</string>
|
||||||
<string name="error_saving_identity_key_exclamation">Error saving identity key!</string>
|
<string name="VerifyImportedIdentityActivity_error_saving_identity_key_exclamation">Error saving identity key!</string>
|
||||||
<string name="this_identity_key_or_an_identity_key_with_the_same_name_already_exists_please_edit_your_key_database">This identity key or an identity key with the same name already exists. Please edit your key database.</string>
|
<string name="VerifyImportedIdentityActivity_this_identity_key_or_an_identity_key_with_the_same_name_already_exists_please_edit_your_key_database">This identity key or an identity key with the same name already exists. Please edit your key database.</string>
|
||||||
<string name="scan_to_compare">Scan to compare</string>
|
<string name="VerifyImportedIdentityActivity_scan_to_compare">Scan to compare</string>
|
||||||
<string name="get_scanned_to_compare">Get scanned to compare</string>
|
<string name="VerifyImportedIdentityActivity_get_scanned_to_compare">Get scanned to compare</string>
|
||||||
<string name="not_verified_exclamation2">NOT Verified!</string>
|
<string name="VerifyImportedIdentityActivity_not_verified_exclamation">NOT Verified!</string>
|
||||||
<string name="warning_the_scanned_key_does_not_match_exclamation">WARNING, the scanned key DOES NOT match!</string>
|
<string name="VerifyImportedIdentityActivity_warning_the_scanned_key_does_not_match_exclamation">WARNING, the scanned key DOES NOT match!</string>
|
||||||
<string name="the_scanned_key_matches_exclamation">The scanned key matches!</string>
|
<string name="VerifyImportedIdentityActivity_the_scanned_key_matches_exclamation">The scanned key matches!</string>
|
||||||
<string name="verified_exclamation2">Verified!</string>
|
<string name="VerifyImportedIdentityActivity_verified_exclamation">Verified!</string>
|
||||||
<string name="are_you_sure_that_you_would_like_to_mark_this_as_a_valid_identity_key_for_all_future_correspondence_with_s">Are you sure that you would like to mark this as a valid identity key for all future correspondence with %s? You should only do this if you have actually verified the fingerprint.</string>
|
<string name="VerifyImportedIdentityActivity_are_you_sure_that_you_would_like_to_mark_this_as_a_valid_identity_key_for_all_future_correspondence_with_s">Are you sure that you would like to mark this as a valid identity key for all future correspondence with %s? You should only do this if you have actually verified the fingerprint.</string>
|
||||||
|
|
||||||
<!-- VerifyKeysActivity -->
|
<!-- VerifyKeysActivity -->
|
||||||
<string name="mark_session_verified_question">Mark Session Verified?</string>
|
<string name="VerifyKeysActivity_mark_session_verified_question">Mark Session Verified?</string>
|
||||||
<string name="are_you_sure_that_you_have_validated_these_fingerprints_and_would_like_to_mark_this_session_as_verified">Are you sure that you have validated these fingerprints and would like to mark this session as verified?</string>
|
<string name="VerifyKeysActivity_are_you_sure_that_you_have_validated_these_fingerprints_and_would_like_to_mark_this_session_as_verified">Are you sure that you have validated these fingerprints and would like to mark this session as verified?</string>
|
||||||
<string name="mark_verified2">Mark Verified</string>
|
<string name="VerifyKeysActivity_mark_verified">Mark Verified</string>
|
||||||
<string name="get_my_fingerprint_scanned">Get my fingerprint scanned</string>
|
<string name="VerifyKeysActivity_get_my_fingerprint_scanned">Get my fingerprint scanned</string>
|
||||||
<string name="scan_their_fingerprint">Scan their fingerprint</string>
|
<string name="VerifyKeysActivity_scan_their_fingerprint">Scan their fingerprint</string>
|
||||||
<string name="warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully2">WARNING, the scanned key DOES NOT match! Please check the fingerprint text carefully.</string>
|
<string name="VerifyKeysActivity_warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully2">WARNING, the scanned key DOES NOT match! Please check the fingerprint text carefully.</string>
|
||||||
<string name="not_verified_exclamation3">NOT Verified!</string>
|
<string name="VerifyKeysActivity_not_verified_exclamation">NOT Verified!</string>
|
||||||
<string name="their_key_is_correct_it_is_also_necessary_to_get_your_fingerprint_scanned_as_well">Their key is correct. It is also necessary to get your fingerprint scanned as well.</string>
|
<string name="VerifyKeysActivity_their_key_is_correct_it_is_also_necessary_to_get_your_fingerprint_scanned_as_well">Their key is correct. It is also necessary to get your fingerprint scanned as well.</string>
|
||||||
<string name="verified_exclamation3">Verified!</string>
|
<string name="VerifyKeysActivity_verified_exclamation">Verified!</string>
|
||||||
|
|
||||||
<!-- ViewIdentityActivity -->
|
<!-- ViewIdentityActivity -->
|
||||||
<string name="you_do_not_have_an_identity_key2">You do not have an identity key.</string>
|
<string name="ViewIdentityActivity_you_do_not_have_an_identity_key">You do not have an identity key.</string>
|
||||||
<string name="scan_to_compare2">Scan to compare</string>
|
<string name="ViewIdentityActivity_scan_to_compare">Scan to compare</string>
|
||||||
<string name="get_scanned_to_compare2">Get scanned to compare</string>
|
<string name="ViewIdentityActivity_get_scanned_to_compare">Get scanned to compare</string>
|
||||||
<string name="warning_the_scanned_key_does_not_match_exclamation2">WARNING, the scanned key DOES NOT match!</string>
|
<string name="ViewIdentityActivity_warning_the_scanned_key_does_not_match_exclamation">WARNING, the scanned key DOES NOT match!</string>
|
||||||
<string name="not_verified_exclamation4">NOT Verified!</string>
|
<string name="ViewIdentityActivity_not_verified_exclamation">NOT Verified!</string>
|
||||||
<string name="the_scanned_key_matches_exclamation2">The scanned key matches!</string>
|
<string name="ViewIdentityActivity_the_scanned_key_matches_exclamation">The scanned key matches!</string>
|
||||||
<string name="verified_exclamation4">Verified!</string>
|
<string name="ViewIdentityActivity_verified_exclamation">Verified!</string>
|
||||||
|
|
||||||
<!-- KeyExchangeInitiator -->
|
<!-- KeyExchangeInitiator -->
|
||||||
<string name="initiate_despite_existing_request_question">Initiate Despite Existing Request?</string>
|
<string name="KeyExchangeInitiator_initiate_despite_existing_request_question">Initiate Despite Existing Request?</string>
|
||||||
<string name="youve_already_sent_a_session_initiation_request_to_this_recipient_are_you_sure">You\'ve already sent a session initiation request to this recipient, are you sure you\'d like to send another? This will invalidate the first request.</string>
|
<string name="KeyExchangeInitiator_youve_already_sent_a_session_initiation_request_to_this_recipient_are_you_sure">You\'ve already sent a session initiation request to this recipient, are you sure you\'d like to send another? This will invalidate the first request.</string>
|
||||||
<string name="send">Send</string>
|
<string name="KeyExchangeInitiator_send">Send</string>
|
||||||
|
|
||||||
<!-- MessageDisplayHelper -->
|
<!-- MessageDisplayHelper -->
|
||||||
<string name="bad_encrypted_message">Bad encrypted message...</string>
|
<string name="MessageDisplayHelper_bad_encrypted_message">Bad encrypted message...</string>
|
||||||
<string name="decrypting_please_wait">Decrypting, please wait...</string>
|
<string name="MessageDisplayHelper_decrypting_please_wait">Decrypting, please wait...</string>
|
||||||
<string name="message_encrypted_for_non_existing_session">Message encrypted for non-existing session...</string>
|
<string name="MessageDisplayHelper_message_encrypted_for_non_existing_session">Message encrypted for non-existing session...</string>
|
||||||
<string name="decryption_error_local_message_corrupted_mac_doesn_t_match_potential_tampering_question">Decryption error: local message corrupted, MAC doesn\'t match. Potential tampering?</string>
|
<string name="MessageDisplayHelper_decryption_error_local_message_corrupted_mac_doesn_t_match_potential_tampering_question">Decryption error: local message corrupted, MAC doesn\'t match. Potential tampering?</string>
|
||||||
|
|
||||||
<!-- MmsDatabase -->
|
<!-- MmsDatabase -->
|
||||||
<string name="connecting_to_mms_server">Connecting to MMS server...</string>
|
<string name="MmsDatabase_connecting_to_mms_server">Connecting to MMS server...</string>
|
||||||
<string name="downloading_mms">Downloading MMS...</string>
|
<string name="MmsDatabase_downloading_mms">Downloading MMS...</string>
|
||||||
<string name="mms_download_failed">MMS Download failed!</string>
|
<string name="MmsDatabase_mms_download_failed">MMS Download failed!</string>
|
||||||
<string name="downloading">Downloading...</string>
|
<string name="MmsDatabase_downloading">Downloading...</string>
|
||||||
<string name="anonymous">Anonymous</string>
|
<string name="MmsDatabase_anonymous">Anonymous</string>
|
||||||
|
|
||||||
<!-- MmsMessageRecord -->
|
<!-- MmsMessageRecord -->
|
||||||
<string name="decrypting_mms_please_wait">Decrypting MMS, please wait...</string>
|
<string name="MmsMessageRecord_decrypting_mms_please_wait">Decrypting MMS, please wait...</string>
|
||||||
<string name="bad_encrypted_mms_message">Bad encrypted MMS message...</string>
|
<string name="MmsMessageRecord_bad_encrypted_mms_message">Bad encrypted MMS message...</string>
|
||||||
<string name="mms_message_encrypted_for_non_existing_session">MMS message encrypted for non-existing session...</string>
|
<string name="MmsMessageRecord_mms_message_encrypted_for_non_existing_session">MMS message encrypted for non-existing session...</string>
|
||||||
|
|
||||||
<!-- ApplicationMigrationService -->
|
<!-- ApplicationMigrationService -->
|
||||||
<string name="migrating">Migrating</string>
|
<string name="ApplicationMigrationService_migrating">Migrating</string>
|
||||||
<string name="migrating_system_text_messages">Migrating System Text Messages</string>
|
<string name="ApplicationMigrationService_migrating_system_text_messages">Migrating System Text Messages</string>
|
||||||
|
|
||||||
<!-- KeyCachingService -->
|
<!-- KeyCachingService -->
|
||||||
<string name="textsecure_passphrase_cached">TextSecure Passphrase Cached</string>
|
<string name="KeyCachingService_textsecure_passphrase_cached">TextSecure Passphrase Cached</string>
|
||||||
<string name="passphrase_cached">Passphrase Cached</string>
|
<string name="KeyCachingService_passphrase_cached">Passphrase Cached</string>
|
||||||
|
|
||||||
<!-- MessageNotifier -->
|
<!-- MessageNotifier -->
|
||||||
<string name="_d_new_messages">(%d) New messages</string>
|
<string name="MessageNotifier_d_new_messages">(%d) New messages</string>
|
||||||
<string name="_d_new_messages_most_recent_from_s">(%1$d) New messages, most recent from: %2$s</string>
|
<string name="MessageNotifier_d_new_messages_most_recent_from_s">(%1$d) New messages, most recent from: %2$s</string>
|
||||||
<string name="most_recent_from_s">Most recent from: %s</string>
|
<string name="MessageNotifier_most_recent_from_s">Most recent from: %s</string>
|
||||||
|
|
||||||
<!-- auto_initiate_activity -->
|
<!-- auto_initiate_activity -->
|
||||||
<string name="you_have_received_a_message_from_someone_who_supports_textsecure_encrypted_sessions_would_you_like_to_initiate_a_secure_session">You have received a message from someone who supports TextSecure encrypted sessions. Would you like to initiate a secure session?</string>
|
<string name="auto_initiate_activity__you_have_received_a_message_from_someone_who_supports_textsecure_encrypted_sessions_would_you_like_to_initiate_a_secure_session">You have received a message from someone who supports TextSecure encrypted sessions. Would you like to initiate a secure session?</string>
|
||||||
<string name="initiate_exchange">Initiate Exchange</string>
|
<string name="auto_initiate_activity__initiate_exchange">Initiate Exchange</string>
|
||||||
|
|
||||||
<!-- change_passphrase_activity -->
|
<!-- change_passphrase_activity -->
|
||||||
<string name="old_passphrase">Old passphrase:</string>
|
<string name="change_passphrase_activity__old_passphrase">Old passphrase:</string>
|
||||||
<string name="new_passphrase">New passphrase:</string>
|
<string name="change_passphrase_activity__new_passphrase">New passphrase:</string>
|
||||||
<string name="repeat_new_passphrase">Repeat new passphrase:</string>
|
<string name="change_passphrase_activity__repeat_new_passphrase">Repeat new passphrase:</string>
|
||||||
|
|
||||||
<!-- contact_selection_group_activity -->
|
<!-- contact_selection_group_activity -->
|
||||||
<!-- contact_selection_list_activity -->
|
<!-- contact_selection_list_activity -->
|
||||||
<string name="no_contacts">No contacts.</string>
|
<string name="contact_selection_group_activity__no_contacts">No contacts.</string>
|
||||||
|
|
||||||
<!-- contact_selection_recent_activity -->
|
<!-- contact_selection_recent_activity -->
|
||||||
<string name="no_recent_calls">No recent calls.</string>
|
<string name="contact_selection_recent_activity__no_recent_calls">No recent calls.</string>
|
||||||
|
|
||||||
<!-- conversation_activity -->
|
<!-- conversation_activity -->
|
||||||
<string name="type_message">Type message</string>
|
<string name="conversation_activity__type_message">Type message</string>
|
||||||
<string name="send2">Send</string>
|
<string name="conversation_activity__send">Send</string>
|
||||||
<string name="remove">Remove</string>
|
<string name="conversation_activity__remove">Remove</string>
|
||||||
|
|
||||||
<!-- conversation_fragment_cab -->
|
<!-- conversation_fragment_cab -->
|
||||||
<string name="batch_selection_mode">Batch Selection Mode</string>
|
<string name="conversation_fragment_cab__batch_selection_mode">Batch Selection Mode</string>
|
||||||
|
|
||||||
<!-- create_passphrase_activity -->
|
<!-- create_passphrase_activity -->
|
||||||
<string name="please_choose_a_passphrase_that_will_be_used_to_locally_encrypt_your_data_this_should_be_a_strong_passphrase">Please choose a passphrase that will be used to locally encrypt your data. This should be a strong passphrase.</string>
|
<string name="create_passphrase_activity__please_choose_a_passphrase_that_will_be_used_to_locally_encrypt_your_data_this_should_be_a_strong_passphrase">Please choose a passphrase that will be used to locally encrypt your data. This should be a strong passphrase.</string>
|
||||||
<string name="passphrase">Passphrase:</string>
|
<string name="create_passphrase_activity__passphrase">Passphrase:</string>
|
||||||
<string name="repeat">Repeat:</string>
|
<string name="create_passphrase_activity__repeat">Repeat:</string>
|
||||||
|
|
||||||
<!-- receive_key_activity -->
|
<!-- receive_key_activity -->
|
||||||
<string name="session">Session</string>
|
<string name="receive_key_activity__session">Session</string>
|
||||||
<string name="identities">Identities</string>
|
<string name="receive_key_activity__identities">Identities</string>
|
||||||
<string name="complete_exchange">Complete Exchange</string>
|
<string name="receive_key_activity__complete_exchange">Complete Exchange</string>
|
||||||
|
|
||||||
<!-- recipients_panel -->
|
<!-- recipients_panel -->
|
||||||
<string name="to">To</string>
|
<string name="recipients_panel__to">To</string>
|
||||||
|
|
||||||
<!-- review_identities -->
|
<!-- review_identities -->
|
||||||
<string name="you_don_t_currently_have_any_identity_keys_in_your_trust_database">You don\'t currently have any identity keys in your trust database.</string>
|
<string name="review_identities__you_don_t_currently_have_any_identity_keys_in_your_trust_database">You don\'t currently have any identity keys in your trust database.</string>
|
||||||
|
|
||||||
<!-- save_identity_activity -->
|
<!-- save_identity_activity -->
|
||||||
<string name="identity_name">Identity Name:</string>
|
<string name="save_identity_activity__identity_name">Identity Name:</string>
|
||||||
|
|
||||||
<!-- verify_identity_activity -->
|
<!-- verify_identity_activity -->
|
||||||
<string name="their_identity_they_read">Their identity (they read):</string>
|
<string name="verify_identity_activity__their_identity_they_read">Their identity (they read):</string>
|
||||||
<string name="your_identity_you_read">Your identity (you read):</string>
|
<string name="verify_identity_activity__your_identity_you_read">Your identity (you read):</string>
|
||||||
|
|
||||||
<!-- verify_import_identity_activity -->
|
<!-- verify_import_identity_activity -->
|
||||||
<string name="identity_name_n">Identity name:\\n</string>
|
<string name="verify_import_identity_activity__identity_name_n">Identity name:\\n</string>
|
||||||
<string name="imported_identity_n">Imported identity:\\n</string>
|
<string name="verify_import_identity_activity__imported_identity_n">Imported identity:\\n</string>
|
||||||
<string name="verified5">Verified!</string>
|
<string name="verify_import_identity_activity__verified">Verified!</string>
|
||||||
<string name="compare5">Compare</string>
|
<string name="verify_import_identity_activity__compare">Compare</string>
|
||||||
|
|
||||||
<!-- verify_keys_activity -->
|
<!-- verify_keys_activity -->
|
||||||
<string name="they_read_this">They read this:</string>
|
<string name="verify_keys_activity__they_read_this">They read this:</string>
|
||||||
<string name="you_read_this">You read this:</string>
|
<string name="verify_keys_activity__you_read_this">You read this:</string>
|
||||||
|
|
||||||
<!-- view_identity_activity -->
|
<!-- view_identity_activity -->
|
||||||
<string name="identity5">Identity:</string>
|
<string name="view_identity_activity__identity">Identity:</string>
|
||||||
<string name="qr_code">QR Code</string>
|
<string name="view_identity_activity__qr_code">QR Code</string>
|
||||||
|
|
||||||
<!-- AndroidManifest.xml -->
|
<!-- AndroidManifest.xml -->
|
||||||
|
|
||||||
<string name="create_passphrase">Create Passphrase</string>
|
<string name="AndroidManifest__create_passphrase">Create Passphrase</string>
|
||||||
<string name="enter_passphrase">Enter Passphrase</string>
|
<string name="AndroidManifest__enter_passphrase">Enter Passphrase</string>
|
||||||
<string name="select_contacts">Select Contacts</string>
|
<string name="AndroidManifest__select_contacts">Select Contacts</string>
|
||||||
<string name="textsecure_detected">TextSecure Detected</string>
|
<string name="AndroidManifest__textsecure_detected">TextSecure Detected</string>
|
||||||
<string name="public_identity_key">Public Identity Key</string>
|
<string name="AndroidManifest__public_identity_key">Public Identity Key</string>
|
||||||
<string name="change_passphrase2">Change Passphrase</string>
|
<string name="AndroidManifest__change_passphrase">Change Passphrase</string>
|
||||||
<string name="verify_session">Verify Session</string>
|
<string name="AndroidManifest__verify_session">Verify Session</string>
|
||||||
<string name="verify_identity">Verify Identity</string>
|
<string name="AndroidManifest__verify_identity">Verify Identity</string>
|
||||||
<string name="save_identity">Save Identity</string>
|
<string name="AndroidManifest__save_identity">Save Identity</string>
|
||||||
<string name="manage_identity_keys2">Manage Identity Keys</string>
|
<string name="AndroidManifest__manage_identity_keys">Manage Identity Keys</string>
|
||||||
<string name="complete_key_exchange">Complete Key Exchange</string>
|
<string name="AndroidManifest__complete_key_exchange">Complete Key Exchange</string>
|
||||||
<string name="verify_imported_identity">Verify Imported Identity</string>
|
<string name="AndroidManifest__verify_imported_identity">Verify Imported Identity</string>
|
||||||
|
|
||||||
<!-- preferences.xml -->
|
<!-- preferences.xml -->
|
||||||
|
|
||||||
<string name="use_settings">Use Settings</string>
|
<string name="preferences__use_settings">Use Settings</string>
|
||||||
<string name="use_textsecure_for_viewing_and_storing_all_incoming_text_messages">Use TextSecure for viewing and storing all incoming text messages</string>
|
<string name="preferences__use_textsecure_for_viewing_and_storing_all_incoming_text_messages">Use TextSecure for viewing and storing all incoming text messages</string>
|
||||||
<string name="use_textsecure_for_viewing_and_storing_all_incoming_multimedia_messages">Use TextSecure for viewing and storing all incoming multimedia messages</string>
|
<string name="preferences__use_textsecure_for_viewing_and_storing_all_incoming_multimedia_messages">Use TextSecure for viewing and storing all incoming multimedia messages</string>
|
||||||
<string name="input_settings">Input Settings</string>
|
<string name="preferences__input_settings">Input Settings</string>
|
||||||
<string name="pressing_the_enter_key_will_send_text_messages">Pressing the enter key will send text messages</string>
|
<string name="preferences__pressing_the_enter_key_will_send_text_messages">Pressing the enter key will send text messages</string>
|
||||||
<string name="display_settings">Display Settings</string>
|
<string name="preferences__display_settings">Display Settings</string>
|
||||||
<string name="choose_identity">Choose Identity</string>
|
<string name="preferences__choose_identity">Choose Identity</string>
|
||||||
<string name="choose_your_contact_entry_from_the_contacts_list">Choose your contact entry from the contacts list.</string>
|
<string name="preferences__choose_your_contact_entry_from_the_contacts_list">Choose your contact entry from the contacts list.</string>
|
||||||
<string name="encryption_settings">Encryption Settings</string>
|
<string name="preferences__encryption_settings">Encryption Settings</string>
|
||||||
<string name="change_passphrase">Change Passphrase</string>
|
<string name="preferences__change_passphrase">Change Passphrase</string>
|
||||||
<string name="change_my_passphrase">Change my passphrase</string>
|
<string name="preferences__change_my_passphrase">Change my passphrase</string>
|
||||||
<string name="complete_key_exchanges">Complete Key Exchanges</string>
|
<string name="preferences__complete_key_exchanges">Complete Key Exchanges</string>
|
||||||
<string name="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__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="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_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="include_whitespace_tag">Include whitespace tag</string>
|
<string name="preferences__include_whitespace_tag">Include whitespace tag</string>
|
||||||
<string name="sign_key_exchange_messages_with_identity_key">Sign key exchange messages with identity key</string>
|
<string name="preferences__sign_key_exchange_messages_with_identity_key">Sign key exchange messages with identity key</string>
|
||||||
<string name="sign_key_exchange">Sign Key Exchange</string>
|
<string name="preferences__sign_key_exchange">Sign Key Exchange</string>
|
||||||
<string name="forget_passphrase_from_memory_after_some_interval">Forget passphrase from memory after some interval</string>
|
<string name="preferences__forget_passphrase_from_memory_after_some_interval">Forget passphrase from memory after some interval</string>
|
||||||
<string name="timeout_passphrase">Timeout passphrase</string>
|
<string name="preferences__timeout_passphrase">Timeout passphrase</string>
|
||||||
<string name="identity_key_settings">Identity Key Settings</string>
|
<string name="preferences__identity_key_settings">Identity Key Settings</string>
|
||||||
<string name="view_my_identity_key">View my identity key</string>
|
<string name="preferences__view_my_identity_key">View my identity key</string>
|
||||||
<string name="export_my_identity_key">Export my identity key</string>
|
<string name="preferences__export_my_identity_key">Export my identity key</string>
|
||||||
<string name="import_contacts_key">Import Contact\'s Key</string>
|
<string name="preferences__import_contacts_key">Import Contact\'s Key</string>
|
||||||
<string name="import_an_identity_key_from_a_contact">Import an identity key from a contact</string>
|
<string name="preferences__import_an_identity_key_from_a_contact">Import an identity key from a contact</string>
|
||||||
<string name="manage_identity_keys">Manage Identity Keys</string>
|
<string name="preferences__manage_identity_keys">Manage Identity Keys</string>
|
||||||
<string name="manage_configured_identity_keys">Manage configured identity keys</string>
|
<string name="preferences__manage_configured_identity_keys">Manage configured identity keys</string>
|
||||||
<string name="notification_settings">Notification Settings</string>
|
<string name="preferences__notification_settings">Notification Settings</string>
|
||||||
<string name="notifications">Notifications</string>
|
<string name="preferences__notifications">Notifications</string>
|
||||||
<string name="display_message_notifications_in_status_bar">Display message notifications in status bar</string>
|
<string name="preferences__display_message_notifications_in_status_bar">Display message notifications in status bar</string>
|
||||||
<string name="led_color">LED Color</string>
|
<string name="preferences__led_color">LED Color</string>
|
||||||
<string name="change_notification_led_color">Change notification LED color</string>
|
<string name="preferences__change_notification_led_color">Change notification LED color</string>
|
||||||
<string name="select_led_color">Select LED Color</string>
|
<string name="preferences__select_led_color">Select LED Color</string>
|
||||||
<string name="select_ringtone">Select ringtone</string>
|
<string name="preferences__select_ringtone">Select ringtone</string>
|
||||||
<string name="vibrate">Vibrate</string>
|
<string name="preferences__vibrate">Vibrate</string>
|
||||||
<string name="also_vibrate_when_notified">Also vibrate when notified</string>
|
<string name="preferences__also_vibrate_when_notified">Also vibrate when notified</string>
|
||||||
|
|
||||||
<!-- **************************************** -->
|
<!-- **************************************** -->
|
||||||
<!-- menus -->
|
<!-- menus -->
|
||||||
<!-- **************************************** -->
|
<!-- **************************************** -->
|
||||||
|
|
||||||
<!-- contact_selection_list -->
|
<!-- contact_selection_list -->
|
||||||
<string name="menu_select_all">Select All</string>
|
<string name="contact_selection_list__menu_select_all">Select All</string>
|
||||||
<string name="menu_unselect_all">Unselect All</string>
|
<string name="contact_selection_list__menu_unselect_all">Unselect All</string>
|
||||||
|
|
||||||
<!-- contact_selection -->
|
<!-- contact_selection -->
|
||||||
<string name="menu_finished">Finished</string>
|
<string name="contact_selection__menu_finished">Finished</string>
|
||||||
|
|
||||||
<!-- conversation_button_context -->
|
<!-- conversation_button_context -->
|
||||||
<string name="menu_send_unencrypted">Send unencrypted</string>
|
<string name="conversation_button_context__menu_send_unencrypted">Send unencrypted</string>
|
||||||
|
|
||||||
<!-- conversation_callable -->
|
<!-- conversation_callable -->
|
||||||
<string name="menu_call">Call</string>
|
<string name="conversation_callable__menu_call">Call</string>
|
||||||
|
|
||||||
<!-- conversation_context -->
|
<!-- conversation_context -->
|
||||||
<string name="menu_message_details">Message details</string>
|
<string name="conversation_context__menu_message_details">Message details</string>
|
||||||
<string name="menu_copy_text">Copy text</string>
|
<string name="conversation_context__menu_copy_text">Copy text</string>
|
||||||
<string name="menu_delete_message">Delete message</string>
|
<string name="conversation_context__menu_delete_message">Delete message</string>
|
||||||
<string name="menu_forward_message">Forward message</string>
|
<string name="conversation_context__menu_forward_message">Forward message</string>
|
||||||
|
|
||||||
<!-- conversation_insecure -->
|
<!-- conversation_insecure -->
|
||||||
<string name="menu_start_secure_session">Start Secure Session</string>
|
<string name="conversation_insecure__menu_start_secure_session">Start Secure Session</string>
|
||||||
|
|
||||||
<!-- conversation_list_batch -->
|
<!-- conversation_list_batch -->
|
||||||
<string name="menu_delete_selected">Delete Selected</string>
|
<string name="conversation_list_batch__menu_delete_selected">Delete Selected</string>
|
||||||
<string name="menu_select_all2">Select All</string>
|
<string name="conversation_list_batch__menu_select_all">Select All</string>
|
||||||
|
|
||||||
<!-- conversation_list -->
|
<!-- conversation_list -->
|
||||||
<string name="menu_search">Search</string>
|
<string name="conversation_list__menu_search">Search</string>
|
||||||
|
|
||||||
<!-- conversation_secure_verified -->
|
<!-- conversation_secure_verified -->
|
||||||
<!-- conversation_secure_unverified -->
|
<!-- conversation_secure_unverified -->
|
||||||
<string name="menu_security">Security</string>
|
<string name="conversation_secure_verified__menu_security">Security</string>
|
||||||
<string name="menu_verify_session">Verify Session</string>
|
<string name="conversation_secure_verified__menu_verify_session">Verify Session</string>
|
||||||
<string name="menu_verify_recipient">Verify Recipient</string>
|
<string name="conversation_secure_verified__menu_verify_recipient">Verify Recipient</string>
|
||||||
<string name="menu_abort_secure_session">Abort Secure Session</string>
|
<string name="conversation_secure_verified__menu_abort_secure_session">Abort Secure Session</string>
|
||||||
|
|
||||||
<!-- conversation -->
|
<!-- conversation -->
|
||||||
<string name="menu_add_attachment">Add attachment</string>
|
<string name="conversation__menu_add_attachment">Add attachment</string>
|
||||||
<string name="menu_delete_thread">Delete thread</string>
|
<string name="conversation__menu_delete_thread">Delete thread</string>
|
||||||
<string name="menu_compare">Compare</string>
|
<string name="conversation__menu_compare">Compare</string>
|
||||||
|
|
||||||
<!-- key_scanning -->
|
<!-- key_scanning -->
|
||||||
<string name="menu_get_scanned_to_compare">Get scanned to compare</string>
|
<string name="key_scanning__menu_compare">Compare</string>
|
||||||
<string name="menu_scan_to_compare">Scan to compare</string>
|
<string name="key_scanning__menu_get_scanned_to_compare">Get scanned to compare</string>
|
||||||
|
<string name="key_scanning__menu_scan_to_compare">Scan to compare</string>
|
||||||
|
|
||||||
<!-- text_secure_locked -->
|
<!-- text_secure_locked -->
|
||||||
<string name="menu_unlock">Unlock</string>
|
<string name="text_secure_locked__menu_unlock">Unlock</string>
|
||||||
|
|
||||||
<!-- text_secure_normal -->
|
<!-- text_secure_normal -->
|
||||||
<string name="menu_new_message">New Message</string>
|
<string name="text_secure_normal__menu_new_message">New Message</string>
|
||||||
<string name="menu_settings">Settings</string>
|
<string name="text_secure_normal__menu_settings">Settings</string>
|
||||||
<string name="menu_import_export">Import/Export</string>
|
<string name="text_secure_normal__menu_import_export">Import/Export</string>
|
||||||
<string name="menu_import">Import</string>
|
<string name="text_secure_normal__menu_import">Import</string>
|
||||||
<string name="menu_export">Export</string>
|
<string name="text_secure_normal__menu_export">Export</string>
|
||||||
<string name="menu_clear_passphrase">Clear Passphrase</string>
|
<string name="text_secure_normal__menu_clear_passphrase">Clear Passphrase</string>
|
||||||
|
|
||||||
<!-- verify_keys -->
|
<!-- verify_keys -->
|
||||||
<string name="menu_verified">Verified</string>
|
<string name="verify_keys__menu_verified">Verified</string>
|
||||||
|
|
||||||
<!-- EOF -->
|
<!-- EOF -->
|
||||||
|
|
||||||
|
@ -18,59 +18,59 @@
|
|||||||
*/
|
*/
|
||||||
-->
|
-->
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<PreferenceCategory android:title="@string/use_settings">
|
<PreferenceCategory android:title="@string/preferences__use_settings">
|
||||||
<CheckBoxPreference android:defaultValue="true"
|
<CheckBoxPreference android:defaultValue="true"
|
||||||
android:key="pref_all_sms"
|
android:key="pref_all_sms"
|
||||||
android:summary="@string/use_textsecure_for_viewing_and_storing_all_incoming_text_messages"
|
android:summary="@string/preferences__use_textsecure_for_viewing_and_storing_all_incoming_text_messages"
|
||||||
android:title="Use for all SMS" />
|
android:title="Use for all SMS" />
|
||||||
|
|
||||||
<CheckBoxPreference android:defaultValue="true"
|
<CheckBoxPreference android:defaultValue="true"
|
||||||
android:key="pref_all_mms"
|
android:key="pref_all_mms"
|
||||||
android:summary="@string/use_textsecure_for_viewing_and_storing_all_incoming_multimedia_messages"
|
android:summary="@string/preferences__use_textsecure_for_viewing_and_storing_all_incoming_multimedia_messages"
|
||||||
android:title="Use for all MMS" />
|
android:title="Use for all MMS" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:title="@string/input_settings">
|
<PreferenceCategory android:title="@string/preferences__input_settings">
|
||||||
<CheckBoxPreference android:defaultValue="false"
|
<CheckBoxPreference android:defaultValue="false"
|
||||||
android:key="pref_enter_sends"
|
android:key="pref_enter_sends"
|
||||||
android:summary="@string/pressing_the_enter_key_will_send_text_messages"
|
android:summary="@string/preferences__pressing_the_enter_key_will_send_text_messages"
|
||||||
android:title="Enter Sends" />
|
android:title="Enter Sends" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:title="@string/display_settings">
|
<PreferenceCategory android:title="@string/preferences__display_settings">
|
||||||
|
|
||||||
<Preference android:key="pref_choose_identity"
|
<Preference android:key="pref_choose_identity"
|
||||||
android:title="@string/choose_identity"
|
android:title="@string/preferences__choose_identity"
|
||||||
android:summary="@string/choose_your_contact_entry_from_the_contacts_list"/>
|
android:summary="@string/preferences__choose_your_contact_entry_from_the_contacts_list"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:title="@string/encryption_settings">
|
<PreferenceCategory android:title="@string/preferences__encryption_settings">
|
||||||
|
|
||||||
<Preference android:key="pref_change_passphrase"
|
<Preference android:key="pref_change_passphrase"
|
||||||
android:title="@string/change_passphrase"
|
android:title="@string/preferences__change_passphrase"
|
||||||
android:summary="@string/change_my_passphrase"/>
|
android:summary="@string/preferences__change_my_passphrase"/>
|
||||||
|
|
||||||
<CheckBoxPreference android:defaultValue="true"
|
<CheckBoxPreference android:defaultValue="true"
|
||||||
android:key="pref_auto_complete_key_exchange"
|
android:key="pref_auto_complete_key_exchange"
|
||||||
android:title="@string/complete_key_exchanges"
|
android:title="@string/preferences__complete_key_exchanges"
|
||||||
android:summary="@string/automatically_complete_key_exchanges_for_new_sessions_or_for_existing_sessions_with_the_same_identity_key" />
|
android:summary="@string/preferences__automatically_complete_key_exchanges_for_new_sessions_or_for_existing_sessions_with_the_same_identity_key" />
|
||||||
|
|
||||||
<CheckBoxPreference android:defaultValue="true"
|
<CheckBoxPreference android:defaultValue="true"
|
||||||
android:key="pref_key_tag_whitespace"
|
android:key="pref_key_tag_whitespace"
|
||||||
android:summary="@string/include_a_whitespace_tag_at_the_end_of_every_non_encrypted_message"
|
android:summary="@string/preferences__include_a_whitespace_tag_at_the_end_of_every_non_encrypted_message"
|
||||||
android:title="@string/include_whitespace_tag" />
|
android:title="@string/preferences__include_whitespace_tag" />
|
||||||
|
|
||||||
<CheckBoxPreference android:defaultValue="true"
|
<CheckBoxPreference android:defaultValue="true"
|
||||||
android:key="pref_send_identity_key"
|
android:key="pref_send_identity_key"
|
||||||
android:summary="@string/sign_key_exchange_messages_with_identity_key"
|
android:summary="@string/preferences__sign_key_exchange_messages_with_identity_key"
|
||||||
android:title="@string/sign_key_exchange" />
|
android:title="@string/preferences__sign_key_exchange" />
|
||||||
|
|
||||||
<CheckBoxPreference android:defaultValue="false"
|
<CheckBoxPreference android:defaultValue="false"
|
||||||
android:key="pref_timeout_passphrase"
|
android:key="pref_timeout_passphrase"
|
||||||
android:summary="@string/forget_passphrase_from_memory_after_some_interval"
|
android:summary="@string/preferences__forget_passphrase_from_memory_after_some_interval"
|
||||||
android:title="@string/timeout_passphrase" />
|
android:title="@string/preferences__timeout_passphrase" />
|
||||||
|
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.preferences.PassphraseTimeoutPreference
|
<org.thoughtcrime.securesms.preferences.PassphraseTimeoutPreference
|
||||||
@ -83,38 +83,38 @@
|
|||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:title="@string/identity_key_settings">
|
<PreferenceCategory android:title="@string/preferences__identity_key_settings">
|
||||||
<Preference android:key="pref_view_identity"
|
<Preference android:key="pref_view_identity"
|
||||||
android:title="@string/view_my_identity_key"
|
android:title="@string/preferences__view_my_identity_key"
|
||||||
android:summary="@string/view_my_identity_key"/>
|
android:summary="@string/preferences__view_my_identity_key"/>
|
||||||
|
|
||||||
<Preference android:key="pref_export_identity"
|
<Preference android:key="pref_export_identity"
|
||||||
android:title="@string/export_my_identity_key"
|
android:title="@string/preferences__export_my_identity_key"
|
||||||
android:summary="@string/export_my_identity_key"/>
|
android:summary="@string/preferences__export_my_identity_key"/>
|
||||||
|
|
||||||
<Preference android:key="pref_import_identity"
|
<Preference android:key="pref_import_identity"
|
||||||
android:title="@string/import_contacts_key"
|
android:title="@string/preferences__import_contacts_key"
|
||||||
android:summary="@string/import_an_identity_key_from_a_contact"/>
|
android:summary="@string/preferences__import_an_identity_key_from_a_contact"/>
|
||||||
|
|
||||||
<Preference android:key="pref_manage_identity"
|
<Preference android:key="pref_manage_identity"
|
||||||
android:title="@string/manage_identity_keys"
|
android:title="@string/preferences__manage_identity_keys"
|
||||||
android:summary="@string/manage_configured_identity_keys"/>
|
android:summary="@string/preferences__manage_configured_identity_keys"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:title="@string/notification_settings">
|
<PreferenceCategory android:title="@string/preferences__notification_settings">
|
||||||
<CheckBoxPreference android:key="pref_key_enable_notifications"
|
<CheckBoxPreference android:key="pref_key_enable_notifications"
|
||||||
android:title="@string/notifications"
|
android:title="@string/preferences__notifications"
|
||||||
android:summary="@string/display_message_notifications_in_status_bar"
|
android:summary="@string/preferences__display_message_notifications_in_status_bar"
|
||||||
android:defaultValue="true" />
|
android:defaultValue="true" />
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="pref_led_color"
|
android:key="pref_led_color"
|
||||||
android:defaultValue="green"
|
android:defaultValue="green"
|
||||||
android:title="@string/led_color"
|
android:title="@string/preferences__led_color"
|
||||||
android:dependency="pref_key_enable_notifications"
|
android:dependency="pref_key_enable_notifications"
|
||||||
android:summary="@string/change_notification_led_color"
|
android:summary="@string/preferences__change_notification_led_color"
|
||||||
android:entries="@array/pref_led_color_entries"
|
android:entries="@array/pref_led_color_entries"
|
||||||
android:entryValues="@array/pref_led_color_values"
|
android:entryValues="@array/pref_led_color_values"
|
||||||
android:dialogTitle="@string/select_led_color" />
|
android:dialogTitle="@string/preferences__select_led_color" />
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.preferences.LedBlinkPatternListPreference
|
<org.thoughtcrime.securesms.preferences.LedBlinkPatternListPreference
|
||||||
android:key="pref_led_blink"
|
android:key="pref_led_blink"
|
||||||
@ -130,14 +130,14 @@
|
|||||||
<RingtonePreference android:layout="?android:attr/preferenceLayoutChild"
|
<RingtonePreference android:layout="?android:attr/preferenceLayoutChild"
|
||||||
android:dependency="pref_key_enable_notifications"
|
android:dependency="pref_key_enable_notifications"
|
||||||
android:key="pref_key_ringtone"
|
android:key="pref_key_ringtone"
|
||||||
android:title="@string/select_ringtone"
|
android:title="@string/preferences__select_ringtone"
|
||||||
android:ringtoneType="notification"
|
android:ringtoneType="notification"
|
||||||
android:defaultValue="content://settings/system/notification_sound" />
|
android:defaultValue="content://settings/system/notification_sound" />
|
||||||
<CheckBoxPreference android:layout="?android:attr/preferenceLayoutChild"
|
<CheckBoxPreference android:layout="?android:attr/preferenceLayoutChild"
|
||||||
android:dependency="pref_key_enable_notifications"
|
android:dependency="pref_key_enable_notifications"
|
||||||
android:key="pref_key_vibrate"
|
android:key="pref_key_vibrate"
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:title="@string/vibrate"
|
android:title="@string/preferences__vibrate"
|
||||||
android:summary="@string/also_vibrate_when_notified" />
|
android:summary="@string/preferences__also_vibrate_when_notified" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
@ -39,16 +39,16 @@ public class ApplicationExportManager extends Handler implements Runnable {
|
|||||||
|
|
||||||
public void importDatabase() {
|
public void importDatabase() {
|
||||||
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
|
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
|
||||||
alertBuilder.setTitle(R.string.import_database_and_settings_title);
|
alertBuilder.setTitle(R.string.ApplicationExportManager_import_database_and_settings_title);
|
||||||
alertBuilder.setMessage(R.string.import_database_and_settings_message);
|
alertBuilder.setMessage(R.string.ApplicationExportManager_import_database_and_settings_message);
|
||||||
alertBuilder.setCancelable(false);
|
alertBuilder.setCancelable(false);
|
||||||
alertBuilder.setPositiveButton("Import", new DialogInterface.OnClickListener() {
|
alertBuilder.setPositiveButton("Import", new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
task = TASK_IMPORT;
|
task = TASK_IMPORT;
|
||||||
progressDialog = new ProgressDialog(context);
|
progressDialog = new ProgressDialog(context);
|
||||||
progressDialog.setTitle(context.getString(R.string.importing_database_and_keys));
|
progressDialog.setTitle(context.getString(R.string.ApplicationExportManager_importing_database_and_keys));
|
||||||
progressDialog.setMessage(context
|
progressDialog.setMessage(context
|
||||||
.getString(R.string.importing_your_sms_database_keys_and_settings));
|
.getString(R.string.ApplicationExportManager_importing_your_sms_database_keys_and_settings));
|
||||||
progressDialog.setCancelable(false);
|
progressDialog.setCancelable(false);
|
||||||
progressDialog.setIndeterminate(true);
|
progressDialog.setIndeterminate(true);
|
||||||
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
||||||
@ -69,17 +69,17 @@ public class ApplicationExportManager extends Handler implements Runnable {
|
|||||||
public void exportDatabase() {
|
public void exportDatabase() {
|
||||||
Log.w("ApplicationExportManager", "Context: " + context);
|
Log.w("ApplicationExportManager", "Context: " + context);
|
||||||
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
|
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
|
||||||
alertBuilder.setTitle(R.string.export_database_question);
|
alertBuilder.setTitle(R.string.ApplicationExportManager_export_database_question);
|
||||||
alertBuilder.setMessage(R.string.export_textsecure_database_keys_and_settings_prompt);
|
alertBuilder.setMessage(R.string.ApplicationExportManager_export_textsecure_database_keys_and_settings_prompt);
|
||||||
alertBuilder.setCancelable(false);
|
alertBuilder.setCancelable(false);
|
||||||
|
|
||||||
alertBuilder.setPositiveButton("Export", new DialogInterface.OnClickListener() {
|
alertBuilder.setPositiveButton("Export", new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
task = TASK_EXPORT;
|
task = TASK_EXPORT;
|
||||||
progressDialog = new ProgressDialog(context);
|
progressDialog = new ProgressDialog(context);
|
||||||
progressDialog.setTitle(context.getString(R.string.exporting_database_and_keys));
|
progressDialog.setTitle(context.getString(R.string.ApplicationExportManager_exporting_database_and_keys));
|
||||||
progressDialog.setMessage(context
|
progressDialog.setMessage(context
|
||||||
.getString(R.string.exporting_your_sms_database_keys_and_settings));
|
.getString(R.string.ApplicationExportManager_exporting_your_sms_database_keys_and_settings));
|
||||||
progressDialog.setCancelable(false);
|
progressDialog.setCancelable(false);
|
||||||
progressDialog.setIndeterminate(true);
|
progressDialog.setIndeterminate(true);
|
||||||
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
||||||
@ -117,18 +117,22 @@ public class ApplicationExportManager extends Handler implements Runnable {
|
|||||||
public void handleMessage(Message message) {
|
public void handleMessage(Message message) {
|
||||||
switch (message.what) {
|
switch (message.what) {
|
||||||
case ERROR_NO_SD:
|
case ERROR_NO_SD:
|
||||||
Toast.makeText(context, R.string.no_sd_card_found_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(context, R.string.ApplicationExportManager_no_sd_card_found_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
break;
|
break;
|
||||||
case ERROR_IO:
|
case ERROR_IO:
|
||||||
Toast.makeText(context, R.string.error_exporting_to_sd_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(context, R.string.ApplicationExportManager_error_exporting_to_sd_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
break;
|
break;
|
||||||
case COMPLETE:
|
case COMPLETE:
|
||||||
switch (task) {
|
switch (task) {
|
||||||
case TASK_IMPORT:
|
case TASK_IMPORT:
|
||||||
Toast.makeText(context, R.string.import_successful_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(context, R.string.ApplicationExportManager_import_successful_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
break;
|
break;
|
||||||
case TASK_EXPORT:
|
case TASK_EXPORT:
|
||||||
Toast.makeText(context, R.string.export_successful_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(context, R.string.ApplicationExportManager_export_successful_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -35,8 +35,8 @@ public class ApplicationMigrationManager extends Handler {
|
|||||||
|
|
||||||
private void displayMigrationProgress() {
|
private void displayMigrationProgress() {
|
||||||
progressDialog = new ProgressDialog(context);
|
progressDialog = new ProgressDialog(context);
|
||||||
progressDialog.setTitle(context.getString(R.string.migrating_database));
|
progressDialog.setTitle(context.getString(R.string.ApplicationMigrationManager_migrating_database));
|
||||||
progressDialog.setMessage(context.getString(R.string.migrating_text_message_database));
|
progressDialog.setMessage(context.getString(R.string.ApplicationMigrationManager_migrating_text_message_database));
|
||||||
progressDialog.setMax(10000);
|
progressDialog.setMax(10000);
|
||||||
progressDialog.setCancelable(false);
|
progressDialog.setCancelable(false);
|
||||||
progressDialog.setIndeterminate(false);
|
progressDialog.setIndeterminate(false);
|
||||||
@ -51,11 +51,12 @@ public class ApplicationMigrationManager extends Handler {
|
|||||||
|
|
||||||
private void displayMigrationPrompt() {
|
private void displayMigrationPrompt() {
|
||||||
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
|
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
|
||||||
alertBuilder.setTitle(R.string.copy_system_text_message_database_question);
|
alertBuilder.setTitle(R.string.ApplicationMigrationManager_copy_system_text_message_database_question);
|
||||||
alertBuilder.setMessage(R.string.copy_system_text_message_database_explanation);
|
alertBuilder.setMessage(R.string.ApplicationMigrationManager_copy_system_text_message_database_explanation);
|
||||||
alertBuilder.setCancelable(false);
|
alertBuilder.setCancelable(false);
|
||||||
|
|
||||||
alertBuilder.setPositiveButton(R.string.copy, new DialogInterface.OnClickListener() {
|
alertBuilder.setPositiveButton(R.string.ApplicationMigrationManager_copy,
|
||||||
|
new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
displayMigrationProgress();
|
displayMigrationProgress();
|
||||||
Intent intent = new Intent(context, ApplicationMigrationService.class);
|
Intent intent = new Intent(context, ApplicationMigrationService.class);
|
||||||
@ -65,7 +66,8 @@ public class ApplicationMigrationManager extends Handler {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
alertBuilder.setNegativeButton(R.string.dont_copy, new DialogInterface.OnClickListener() {
|
alertBuilder.setNegativeButton(R.string.ApplicationMigrationManager_dont_copy,
|
||||||
|
new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
context.getSharedPreferences("SecureSMS", Context.MODE_PRIVATE)
|
context.getSharedPreferences("SecureSMS", Context.MODE_PRIVATE)
|
||||||
.edit()
|
.edit()
|
||||||
|
@ -139,8 +139,8 @@ public class ApplicationPreferencesActivity extends SherlockPreferenceActivity {
|
|||||||
|
|
||||||
if (identityKey == null) {
|
if (identityKey == null) {
|
||||||
Dialogs.displayAlert(this,
|
Dialogs.displayAlert(this,
|
||||||
getString(R.string.not_found_exclamation),
|
getString(R.string.ApplicationPreferenceActivity_not_found_exclamation),
|
||||||
getString(R.string.no_valid_identity_key_was_found_in_the_specified_contact),
|
getString(R.string.ApplicationPreferenceActivity_no_valid_identity_key_was_found_in_the_specified_contact),
|
||||||
android.R.drawable.ic_dialog_alert);
|
android.R.drawable.ic_dialog_alert);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -177,14 +177,14 @@ public class ApplicationPreferencesActivity extends SherlockPreferenceActivity {
|
|||||||
|
|
||||||
if (!IdentityKeyUtil.hasIdentityKey(ApplicationPreferencesActivity.this)) {
|
if (!IdentityKeyUtil.hasIdentityKey(ApplicationPreferencesActivity.this)) {
|
||||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||||
R.string.you_don_t_have_an_identity_key_exclamation,
|
R.string.ApplicationPreferenceActivity_you_don_t_have_an_identity_key_exclamation,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (contactUri == null) {
|
if (contactUri == null) {
|
||||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||||
R.string.you_have_not_yet_defined_a_contact_for_yourself,
|
R.string.ApplicationPreferenceActivity_you_have_not_yet_defined_a_contact_for_yourself,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -193,7 +193,7 @@ public class ApplicationPreferencesActivity extends SherlockPreferenceActivity {
|
|||||||
IdentityKeyUtil.getIdentityKey(ApplicationPreferencesActivity.this));
|
IdentityKeyUtil.getIdentityKey(ApplicationPreferencesActivity.this));
|
||||||
|
|
||||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||||
R.string.exported_to_contacts_database,
|
R.string.ApplicationPreferenceActivity_exported_to_contacts_database,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -209,7 +209,7 @@ public class ApplicationPreferencesActivity extends SherlockPreferenceActivity {
|
|||||||
startActivityForResult(importIntent, IMPORT_IDENTITY_ID);
|
startActivityForResult(importIntent, IMPORT_IDENTITY_ID);
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||||
R.string.you_need_to_have_entered_your_passphrase_before_importing_keys,
|
R.string.ApplicationPreferenceActivity_you_need_to_have_entered_your_passphrase_before_importing_keys,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +227,7 @@ public class ApplicationPreferencesActivity extends SherlockPreferenceActivity {
|
|||||||
startActivity(manageIntent);
|
startActivity(manageIntent);
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||||
R.string.you_need_to_have_entered_your_passphrase_before_managing_keys,
|
R.string.ApplicationPreferenceActivity_you_need_to_have_entered_your_passphrase_before_managing_keys,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ public class ApplicationPreferencesActivity extends SherlockPreferenceActivity {
|
|||||||
startActivity(new Intent(ApplicationPreferencesActivity.this, PassphraseChangeActivity.class));
|
startActivity(new Intent(ApplicationPreferencesActivity.this, PassphraseChangeActivity.class));
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||||
R.string.you_havent_set_a_passphrase_yet,
|
R.string.ApplicationPreferenceActivity_you_havent_set_a_passphrase_yet,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,10 +260,11 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
final Recipient recipient = getRecipients().getPrimaryRecipient();
|
final Recipient recipient = getRecipients().getPrimaryRecipient();
|
||||||
String recipientName = (recipient.getName() == null ? recipient.getNumber() : recipient.getName());
|
String recipientName = (recipient.getName() == null ? recipient.getNumber() : recipient.getName());
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setTitle(R.string.initiate_secure_session_question);
|
builder.setTitle(R.string.ConversationActivity_initiate_secure_session_question);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_info);
|
builder.setIcon(android.R.drawable.ic_dialog_info);
|
||||||
builder.setCancelable(true);
|
builder.setCancelable(true);
|
||||||
builder.setMessage(String.format(getString(R.string.initiate_secure_session_with_s_question), recipientName));
|
builder.setMessage(String.format(getString(R.string.ConversationActivity_initiate_secure_session_with_s_question),
|
||||||
|
recipientName));
|
||||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
@ -278,10 +279,10 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
|
|
||||||
private void handleAbortSecureSession() {
|
private void handleAbortSecureSession() {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setTitle(R.string.abort_secure_session_confirmation);
|
builder.setTitle(R.string.ConversationActivity_abort_secure_session_confirmation);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
builder.setCancelable(true);
|
builder.setCancelable(true);
|
||||||
builder.setMessage(R.string.are_you_sure_that_you_want_to_abort_this_secure_session_question);
|
builder.setMessage(R.string.ConversationActivity_are_you_sure_that_you_want_to_abort_this_secure_session_question);
|
||||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
@ -306,10 +307,10 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
|
|
||||||
private void handleDeleteThread() {
|
private void handleDeleteThread() {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setTitle(R.string.delete_thread_confirmation);
|
builder.setTitle(R.string.ConversationActivity_delete_thread_confirmation);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
builder.setCancelable(true);
|
builder.setCancelable(true);
|
||||||
builder.setMessage(R.string.are_you_sure_that_you_want_to_permanently_delete_this_conversation_question);
|
builder.setMessage(R.string.ConversationActivity_are_you_sure_that_you_want_to_permanently_delete_this_conversation_question);
|
||||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
@ -327,7 +328,7 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
private void handleAddAttachment() {
|
private void handleAddAttachment() {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setIcon(R.drawable.ic_dialog_attach);
|
builder.setIcon(R.drawable.ic_dialog_attach);
|
||||||
builder.setTitle(R.string.add_attachment);
|
builder.setTitle(R.string.ConversationActivity_add_attachment);
|
||||||
builder.setAdapter(attachmentAdapter, new AttachmentTypeListener());
|
builder.setAdapter(attachmentAdapter, new AttachmentTypeListener());
|
||||||
builder.show();
|
builder.show();
|
||||||
}
|
}
|
||||||
@ -356,7 +357,7 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
subtitle = getRecipients().getPrimaryRecipient().getNumber();
|
subtitle = getRecipients().getPrimaryRecipient().getNumber();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
title = getString(R.string.compose_message);
|
title = getString(R.string.ConversationActivity_compose_message);
|
||||||
subtitle = "";
|
subtitle = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -473,7 +474,7 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
attachmentManager.setImage(imageUri);
|
attachmentManager.setImage(imageUri);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
attachmentManager.clear();
|
attachmentManager.clear();
|
||||||
Toast.makeText(this, R.string.sorry_there_was_an_error_setting_your_attachment,
|
Toast.makeText(this, R.string.ConversationActivity_sorry_there_was_an_error_setting_your_attachment,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
Log.w("ComposeMessageActivity", e);
|
Log.w("ComposeMessageActivity", e);
|
||||||
}
|
}
|
||||||
@ -484,12 +485,12 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
attachmentManager.setVideo(videoUri);
|
attachmentManager.setVideo(videoUri);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
attachmentManager.clear();
|
attachmentManager.clear();
|
||||||
Toast.makeText(this, R.string.sorry_there_was_an_error_setting_your_attachment,
|
Toast.makeText(this, R.string.ConversationActivity_sorry_there_was_an_error_setting_your_attachment,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
Log.w("ComposeMessageActivity", e);
|
Log.w("ComposeMessageActivity", e);
|
||||||
} catch (MediaTooLargeException e) {
|
} catch (MediaTooLargeException e) {
|
||||||
attachmentManager.clear();
|
attachmentManager.clear();
|
||||||
Toast.makeText(this, R.string.sorry_the_selected_video_exceeds_message_size_restrictions,
|
Toast.makeText(this, R.string.ConversationActivity_sorry_the_selected_video_exceeds_message_size_restrictions,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
Log.w("ComposeMessageActivity", e);
|
Log.w("ComposeMessageActivity", e);
|
||||||
}
|
}
|
||||||
@ -500,12 +501,12 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
attachmentManager.setAudio(audioUri);
|
attachmentManager.setAudio(audioUri);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
attachmentManager.clear();
|
attachmentManager.clear();
|
||||||
Toast.makeText(this, R.string.sorry_there_was_an_error_setting_your_attachment,
|
Toast.makeText(this, R.string.ConversationActivity_sorry_there_was_an_error_setting_your_attachment,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
Log.w("ComposeMessageActivity", e);
|
Log.w("ComposeMessageActivity", e);
|
||||||
} catch (MediaTooLargeException e) {
|
} catch (MediaTooLargeException e) {
|
||||||
attachmentManager.clear();
|
attachmentManager.clear();
|
||||||
Toast.makeText(this, R.string.sorry_the_selected_audio_exceeds_message_size_restrictions,
|
Toast.makeText(this, R.string.ConversationActivity_sorry_the_selected_audio_exceeds_message_size_restrictions,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
Log.w("ComposeMessageActivity", e);
|
Log.w("ComposeMessageActivity", e);
|
||||||
}
|
}
|
||||||
@ -545,7 +546,7 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
String rawText = composeText.getText().toString();
|
String rawText = composeText.getText().toString();
|
||||||
|
|
||||||
if (rawText.length() < 1 && !attachmentManager.isAttachmentPresent())
|
if (rawText.length() < 1 && !attachmentManager.isAttachmentPresent())
|
||||||
throw new InvalidMessageException(getString(R.string.message_is_empty_exclamation));
|
throw new InvalidMessageException(getString(R.string.ConversationActivity_message_is_empty_exclamation));
|
||||||
|
|
||||||
if (!sendEncrypted && Tag.isTaggable(this, rawText))
|
if (!sendEncrypted && Tag.isTaggable(this, rawText))
|
||||||
rawText = Tag.getTaggedMessage(rawText);
|
rawText = Tag.getTaggedMessage(rawText);
|
||||||
@ -600,11 +601,11 @@ public class ConversationActivity extends SherlockFragmentActivity
|
|||||||
MessageNotifier.updateNotification(ConversationActivity.this, false);
|
MessageNotifier.updateNotification(ConversationActivity.this, false);
|
||||||
} catch (RecipientFormattingException ex) {
|
} catch (RecipientFormattingException ex) {
|
||||||
Toast.makeText(ConversationActivity.this,
|
Toast.makeText(ConversationActivity.this,
|
||||||
R.string.recipient_is_not_a_valid_sms_or_email_address_exclamation,
|
R.string.ConversationActivity_recipient_is_not_a_valid_sms_or_email_address_exclamation,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
Log.w("compose", ex);
|
Log.w("compose", ex);
|
||||||
} catch (InvalidMessageException ex) {
|
} catch (InvalidMessageException ex) {
|
||||||
Toast.makeText(ConversationActivity.this, R.string.message_is_empty_exclamation,
|
Toast.makeText(ConversationActivity.this, R.string.ConversationActivity_message_is_empty_exclamation,
|
||||||
Toast.LENGTH_SHORT).show();
|
Toast.LENGTH_SHORT).show();
|
||||||
Log.w("compose", ex);
|
Log.w("compose", ex);
|
||||||
} catch (MmsException e) {
|
} catch (MmsException e) {
|
||||||
|
@ -130,10 +130,11 @@ public class ConversationFragment extends SherlockListFragment
|
|||||||
|
|
||||||
SimpleDateFormat dateFormatter = new SimpleDateFormat("EEE MMM d, yyyy 'at' hh:mm:ss a zzz");
|
SimpleDateFormat dateFormatter = new SimpleDateFormat("EEE MMM d, yyyy 'at' hh:mm:ss a zzz");
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||||
builder.setTitle(R.string.message_details);
|
builder.setTitle(R.string.ConversationFragment_message_details);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_info);
|
builder.setIcon(android.R.drawable.ic_dialog_info);
|
||||||
builder.setCancelable(false);
|
builder.setCancelable(false);
|
||||||
builder.setMessage(String.format(getSherlockActivity().getString(R.string.sender_s_transport_s_sent_received_s),
|
builder.setMessage(String.format(getSherlockActivity()
|
||||||
|
.getString(R.string.ConversationFragment_sender_s_transport_s_sent_received_s),
|
||||||
sender, transport.toUpperCase(),
|
sender, transport.toUpperCase(),
|
||||||
dateFormatter.format(new Date(date))));
|
dateFormatter.format(new Date(date))));
|
||||||
builder.setPositiveButton(android.R.string.ok, null);
|
builder.setPositiveButton(android.R.string.ok, null);
|
||||||
|
@ -152,9 +152,11 @@ public class ConversationItem extends LinearLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setMmsNotificationAttributes(MmsMessageRecord messageRecord) {
|
private void setMmsNotificationAttributes(MmsMessageRecord messageRecord) {
|
||||||
String messageSize = String.format(getContext().getString(R.string.message_size_d_kb),
|
String messageSize = String.format(getContext()
|
||||||
|
.getString(R.string.ConversationItem_message_size_d_kb),
|
||||||
messageRecord.getMessageSize());
|
messageRecord.getMessageSize());
|
||||||
String expires = String.format(getContext().getString(R.string.expires_s),
|
String expires = String.format(getContext()
|
||||||
|
.getString(R.string.ConversationItem_expires_s),
|
||||||
DateUtils.getRelativeTimeSpanString(getContext(),
|
DateUtils.getRelativeTimeSpanString(getContext(),
|
||||||
messageRecord.getExpiration(),
|
messageRecord.getExpiration(),
|
||||||
false));
|
false));
|
||||||
@ -214,10 +216,10 @@ public class ConversationItem extends LinearLayout {
|
|||||||
private void setBodyText(MessageRecord messageRecord) {
|
private void setBodyText(MessageRecord messageRecord) {
|
||||||
String body = messageRecord.getBody();
|
String body = messageRecord.getBody();
|
||||||
|
|
||||||
if (messageRecord.isKeyExchange() && messageRecord.isOutgoing()) body = "\n" + getContext().getString(R.string.key_exchange_message2);
|
if (messageRecord.isKeyExchange() && messageRecord.isOutgoing()) body = "\n" + getContext().getString(R.string.ConversationItem_key_exchange_message);
|
||||||
else if (messageRecord.isProcessedKeyExchange() && !messageRecord.isOutgoing()) body = "\n" + getContext().getString(R.string.received_and_processed_key_exchange_message);
|
else if (messageRecord.isProcessedKeyExchange() && !messageRecord.isOutgoing()) body = "\n" + getContext().getString(R.string.ConversationItem_received_and_processed_key_exchange_message);
|
||||||
else if (messageRecord.isStaleKeyExchange()) body = "\n" + getContext().getString(R.string.error_received_stale_key_exchange_message);
|
else if (messageRecord.isStaleKeyExchange()) body = "\n" + getContext().getString(R.string.ConversationItem_error_received_stale_key_exchange_message);
|
||||||
else if (messageRecord.isKeyExchange() && !messageRecord.isOutgoing()) body = "\n" + getContext().getString(R.string.received_key_exchange_message_click_to_process);
|
else if (messageRecord.isKeyExchange() && !messageRecord.isOutgoing()) body = "\n" + getContext().getString(R.string.ConversationItem_received_key_exchange_message_click_to_process);
|
||||||
else if (messageRecord.isOutgoing() && Tag.isTagged(body)) body = Tag.stripTag(body);
|
else if (messageRecord.isOutgoing() && Tag.isTagged(body)) body = Tag.stripTag(body);
|
||||||
|
|
||||||
bodyText.setText(body, TextView.BufferType.SPANNABLE);
|
bodyText.setText(body, TextView.BufferType.SPANNABLE);
|
||||||
@ -296,8 +298,8 @@ public class ConversationItem extends LinearLayout {
|
|||||||
mmsDownloadButton.setVisibility(View.GONE);
|
mmsDownloadButton.setVisibility(View.GONE);
|
||||||
mmsDownloadingLabel.setVisibility(View.GONE);
|
mmsDownloadingLabel.setVisibility(View.GONE);
|
||||||
|
|
||||||
if (messageRecord.isFailed()) dateText.setText(R.string.error_sending_message);
|
if (messageRecord.isFailed()) dateText.setText(R.string.ConversationItem_error_sending_message);
|
||||||
else if (messageRecord.isPending()) dateText.setText(R.string.sending);
|
else if (messageRecord.isPending()) dateText.setText(R.string.ConversationItem_sending);
|
||||||
else dateText.setText(DateUtils.getRelativeTimeSpanString(getContext(),
|
else dateText.setText(DateUtils.getRelativeTimeSpanString(getContext(),
|
||||||
messageRecord.getDate(),
|
messageRecord.getDate(),
|
||||||
false));
|
false));
|
||||||
@ -380,8 +382,8 @@ public class ConversationItem extends LinearLayout {
|
|||||||
|
|
||||||
private void saveToSdCard() {
|
private void saveToSdCard() {
|
||||||
progressDialog = new ProgressDialog(context);
|
progressDialog = new ProgressDialog(context);
|
||||||
progressDialog.setTitle(context.getString(R.string.saving_attachment));
|
progressDialog.setTitle(context.getString(R.string.ConversationItem_saving_attachment));
|
||||||
progressDialog.setMessage(context.getString(R.string.saving_attachment_to_sd_card));
|
progressDialog.setMessage(context.getString(R.string.ConversationItem_saving_attachment_to_sd_card));
|
||||||
progressDialog.setCancelable(false);
|
progressDialog.setCancelable(false);
|
||||||
progressDialog.setIndeterminate(true);
|
progressDialog.setIndeterminate(true);
|
||||||
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
||||||
@ -391,10 +393,10 @@ public class ConversationItem extends LinearLayout {
|
|||||||
|
|
||||||
public boolean onLongClick(View v) {
|
public boolean onLongClick(View v) {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||||
builder.setTitle(R.string.save_to_sd_card);
|
builder.setTitle(R.string.ConversationItem_save_to_sd_card);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
builder.setCancelable(true);
|
builder.setCancelable(true);
|
||||||
builder.setMessage(R.string.this_media_has_been_stored_in_an_encrypted_database_warning);
|
builder.setMessage(R.string.ConversationItem_this_media_has_been_stored_in_an_encrypted_database_warning);
|
||||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
saveToSdCard();
|
saveToSdCard();
|
||||||
@ -410,15 +412,15 @@ public class ConversationItem extends LinearLayout {
|
|||||||
public void handleMessage(Message message) {
|
public void handleMessage(Message message) {
|
||||||
switch (message.what) {
|
switch (message.what) {
|
||||||
case FAILURE:
|
case FAILURE:
|
||||||
Toast.makeText(context, R.string.error_while_saving_attachment_to_sd_card,
|
Toast.makeText(context, R.string.ConversationItem_error_while_saving_attachment_to_sd_card,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
break;
|
break;
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
Toast.makeText(context, R.string.success_exclamation,
|
Toast.makeText(context, R.string.ConversationItem_success_exclamation,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
break;
|
break;
|
||||||
case WRITE_ACCESS_FAILURE:
|
case WRITE_ACCESS_FAILURE:
|
||||||
Toast.makeText(context, R.string.unable_to_write_to_sd_card_exclamation,
|
Toast.makeText(context, R.string.ConversationItem_unable_to_write_to_sd_card_exclamation,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -453,10 +455,10 @@ public class ConversationItem extends LinearLayout {
|
|||||||
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||||
builder.setTitle(R.string.view_secure_media_question);
|
builder.setTitle(R.string.ConversationItem_view_secure_media_question);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
builder.setCancelable(true);
|
builder.setCancelable(true);
|
||||||
builder.setMessage(R.string.this_media_has_been_stored_in_an_encrypted_database_external_viewer_warning);
|
builder.setMessage(R.string.ConversationItem_this_media_has_been_stored_in_an_encrypted_database_external_viewer_warning);
|
||||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
fireIntent();
|
fireIntent();
|
||||||
|
@ -78,10 +78,10 @@ public class ConversationListAdapter extends CursorAdapter {
|
|||||||
if (body == null) body = "(No subject)";
|
if (body == null) body = "(No subject)";
|
||||||
|
|
||||||
if (body.startsWith(Prefix.SYMMETRIC_ENCRYPT) || body.startsWith(Prefix.ASYMMETRIC_ENCRYPT) || body.startsWith(Prefix.ASYMMETRIC_LOCAL_ENCRYPT)) {
|
if (body.startsWith(Prefix.SYMMETRIC_ENCRYPT) || body.startsWith(Prefix.ASYMMETRIC_ENCRYPT) || body.startsWith(Prefix.ASYMMETRIC_LOCAL_ENCRYPT)) {
|
||||||
message.setBody(context.getString(R.string.encrypted_message_enter_passphrase));
|
message.setBody(context.getString(R.string.ConversationListAdapter_encrypted_message_enter_passphrase));
|
||||||
message.setEmphasis(true);
|
message.setEmphasis(true);
|
||||||
} else if (body.startsWith(Prefix.KEY_EXCHANGE)) {
|
} else if (body.startsWith(Prefix.KEY_EXCHANGE)) {
|
||||||
message.setBody(context.getString(R.string.key_exchange_message));
|
message.setBody(context.getString(R.string.ConversationListAdapter_key_exchange_message));
|
||||||
message.setEmphasis(true);
|
message.setEmphasis(true);
|
||||||
} else {
|
} else {
|
||||||
message.setBody(body);
|
message.setBody(body);
|
||||||
|
@ -148,11 +148,11 @@ private void initializeSearch(android.widget.SearchView searchView) {
|
|||||||
private void handleDeleteAllSelected() {
|
private void handleDeleteAllSelected() {
|
||||||
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
|
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
|
||||||
alert.setIcon(android.R.drawable.ic_dialog_alert);
|
alert.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
alert.setTitle(R.string.delete_threads_question);
|
alert.setTitle(R.string.ConversationListFragment_delete_threads_question);
|
||||||
alert.setMessage(R.string.are_you_sure_you_wish_to_delete_all_selected_conversation_threads);
|
alert.setMessage(R.string.ConversationListFragment_are_you_sure_you_wish_to_delete_all_selected_conversation_threads);
|
||||||
alert.setCancelable(true);
|
alert.setCancelable(true);
|
||||||
|
|
||||||
alert.setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() {
|
alert.setPositiveButton(R.string.ConversationListFragment_delete, new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
Set<Long> selectedConversations = ((ConversationListAdapter)getListAdapter())
|
Set<Long> selectedConversations = ((ConversationListAdapter)getListAdapter())
|
||||||
.getBatchSelections();
|
.getBatchSelections();
|
||||||
@ -164,7 +164,7 @@ private void initializeSearch(android.widget.SearchView searchView) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
alert.setNegativeButton(R.string.cancel, null);
|
alert.setNegativeButton(R.string.ConversationListFragment_cancel, null);
|
||||||
alert.show();
|
alert.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,7 +90,8 @@ public class ConversationListItem extends RelativeLayout {
|
|||||||
this.fromView.setText(formatFrom(recipients, message.getCount(), message.getRead()));
|
this.fromView.setText(formatFrom(recipients, message.getCount(), message.getRead()));
|
||||||
|
|
||||||
if (message.isKeyExchange())
|
if (message.isKeyExchange())
|
||||||
this.subjectView.setText(R.string.key_exchange_message, TextView.BufferType.SPANNABLE);
|
this.subjectView.setText(R.string.ConversationListItem_key_exchange_message,
|
||||||
|
TextView.BufferType.SPANNABLE);
|
||||||
else
|
else
|
||||||
this.subjectView.setText(message.getBody(), TextView.BufferType.SPANNABLE);
|
this.subjectView.setText(message.getBody(), TextView.BufferType.SPANNABLE);
|
||||||
|
|
||||||
|
@ -78,7 +78,8 @@ public abstract class KeyScanningActivity extends SherlockActivity {
|
|||||||
Dialogs.displayAlert(this, getNotVerifiedTitle(), getNotVerifiedMessage(), android.R.drawable.ic_dialog_alert);
|
Dialogs.displayAlert(this, getNotVerifiedTitle(), getNotVerifiedMessage(), android.R.drawable.ic_dialog_alert);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(this, R.string.no_scanned_key_found_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(this, R.string.KeyScanningActivity_no_scanned_key_found_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ public class PassphraseChangeActivity extends PassphraseActivity {
|
|||||||
try {
|
try {
|
||||||
if (!passphrase.equals(passphraseRepeat)) {
|
if (!passphrase.equals(passphraseRepeat)) {
|
||||||
Toast.makeText(getApplicationContext(),
|
Toast.makeText(getApplicationContext(),
|
||||||
R.string.passphrases_dont_match_exclamation,
|
R.string.PassphraseChangeActivity_passphrases_dont_match_exclamation,
|
||||||
Toast.LENGTH_SHORT).show();
|
Toast.LENGTH_SHORT).show();
|
||||||
this.newPassphrase.setText("");
|
this.newPassphrase.setText("");
|
||||||
this.repeatPassphrase.setText("");
|
this.repeatPassphrase.setText("");
|
||||||
@ -88,7 +88,8 @@ public class PassphraseChangeActivity extends PassphraseActivity {
|
|||||||
setMasterSecret(masterSecret);
|
setMasterSecret(masterSecret);
|
||||||
}
|
}
|
||||||
} catch (InvalidPassphraseException e) {
|
} catch (InvalidPassphraseException e) {
|
||||||
Toast.makeText(this, R.string.incorrect_old_passphrase_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(this, R.string.PassphraseChangeActivity_incorrect_old_passphrase_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
this.originalPassphrase.setText("");
|
this.originalPassphrase.setText("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,8 @@ public class PassphraseCreateActivity extends PassphraseActivity {
|
|||||||
String passphraseRepeat = this.passphraseRepeatEdit.getText().toString();
|
String passphraseRepeat = this.passphraseRepeatEdit.getText().toString();
|
||||||
|
|
||||||
if (!passphrase.equals(passphraseRepeat)) {
|
if (!passphrase.equals(passphraseRepeat)) {
|
||||||
Toast.makeText(getApplicationContext(), R.string.passphrases_dont_match_exclamation,
|
Toast.makeText(getApplicationContext(),
|
||||||
|
R.string.PassphraseCreateActivity_passphrases_dont_match_exclamation,
|
||||||
Toast.LENGTH_SHORT).show();
|
Toast.LENGTH_SHORT).show();
|
||||||
this.passphraseEdit.setText("");
|
this.passphraseEdit.setText("");
|
||||||
this.passphraseRepeatEdit.setText("");
|
this.passphraseRepeatEdit.setText("");
|
||||||
@ -97,8 +98,8 @@ public class PassphraseCreateActivity extends PassphraseActivity {
|
|||||||
|
|
||||||
public void generate() {
|
public void generate() {
|
||||||
progressDialog = new ProgressDialog(PassphraseCreateActivity.this);
|
progressDialog = new ProgressDialog(PassphraseCreateActivity.this);
|
||||||
progressDialog.setTitle(R.string.generating_keypair);
|
progressDialog.setTitle(R.string.PassphraseCreateActivity_generating_keypair);
|
||||||
progressDialog.setMessage(getString(R.string.generating_a_local_encryption_keypair));
|
progressDialog.setMessage(getString(R.string.PassphraseCreateActivity_generating_a_local_encryption_keypair));
|
||||||
progressDialog.setCancelable(false);
|
progressDialog.setCancelable(false);
|
||||||
progressDialog.setIndeterminate(true);
|
progressDialog.setIndeterminate(true);
|
||||||
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
||||||
|
@ -68,7 +68,7 @@ public class PassphrasePromptActivity extends PassphraseActivity {
|
|||||||
setMasterSecret(masterSecret);
|
setMasterSecret(masterSecret);
|
||||||
} catch (InvalidPassphraseException ipe) {
|
} catch (InvalidPassphraseException ipe) {
|
||||||
Toast.makeText(getApplicationContext(),
|
Toast.makeText(getApplicationContext(),
|
||||||
R.string.invalid_passphrase_exclamation,
|
R.string.PassphrasePromptActivity_invalid_passphrase_exclamation,
|
||||||
Toast.LENGTH_SHORT).show();
|
Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,18 +91,18 @@ public class ReceiveKeyActivity extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initializeCorruptedKeyText() {
|
private void initializeCorruptedKeyText() {
|
||||||
descriptionText.setText(R.string.error_you_have_received_a_corrupted_public_key);
|
descriptionText.setText(R.string.ReceiveKeyActivity_error_you_have_received_a_corrupted_public_key);
|
||||||
confirmButton.setVisibility(View.GONE);
|
confirmButton.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeBadVersionText() {
|
private void initializeBadVersionText() {
|
||||||
descriptionText.setText(R.string.error_you_have_received_a_public_key_from_an_unsupported_version_of_the_protocol);
|
descriptionText.setText(R.string.ReceiveKeyActivity_error_you_have_received_a_public_key_from_an_unsupported_version_of_the_protocol);
|
||||||
confirmButton.setVisibility(View.GONE);
|
confirmButton.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeSignatureText() {
|
private void initializeSignatureText() {
|
||||||
if (!keyExchangeMessage.hasIdentityKey()) {
|
if (!keyExchangeMessage.hasIdentityKey()) {
|
||||||
signatureText.setText(R.string.this_key_exchange_message_does_not_include_an_identity_signature);
|
signatureText.setText(R.string.ReceiveKeyActivity_this_key_exchange_message_does_not_include_an_identity_signature);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,25 +110,25 @@ public class ReceiveKeyActivity extends Activity {
|
|||||||
String identityName = DatabaseFactory.getIdentityDatabase(this).getNameForIdentity(masterSecret, identityKey);
|
String identityName = DatabaseFactory.getIdentityDatabase(this).getNameForIdentity(masterSecret, identityKey);
|
||||||
|
|
||||||
if (identityName == null) {
|
if (identityName == null) {
|
||||||
signatureText.setText(R.string.this_key_exchange_message_includes_an_identity_signature_but_you_do_not_yet_trust_it);
|
signatureText.setText(R.string.ReceiveKeyActivity_this_key_exchange_message_includes_an_identity_signature_but_you_do_not_yet_trust_it);
|
||||||
} else {
|
} else {
|
||||||
signatureText.setText(String.format(getString(R.string.this_key_exchange_message_includes_an_identity_signature_which_you_trust_for_s), identityName));
|
signatureText.setText(String.format(getString(R.string.ReceiveKeyActivity_this_key_exchange_message_includes_an_identity_signature_which_you_trust_for_s), identityName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeTextForExistingSession() {
|
private void initializeTextForExistingSession() {
|
||||||
if (keyExchangeProcessor.isRemoteKeyExchangeForExistingSession(keyExchangeMessage)) {
|
if (keyExchangeProcessor.isRemoteKeyExchangeForExistingSession(keyExchangeMessage)) {
|
||||||
descriptionText.setText(String.format(getString(R.string.this_is_the_key_that_you_sent_to_start_your_current_encrypted_session_with_s), recipient.toShortString()));
|
descriptionText.setText(String.format(getString(R.string.ReceiveKeyActivity_this_is_the_key_that_you_sent_to_start_your_current_encrypted_session_with_s), recipient.toShortString()));
|
||||||
this.confirmButton.setVisibility(View.GONE);
|
this.confirmButton.setVisibility(View.GONE);
|
||||||
this.verifySessionButton.setVisibility(View.VISIBLE);
|
this.verifySessionButton.setVisibility(View.VISIBLE);
|
||||||
this.verifyIdentityButton.setVisibility(View.VISIBLE);
|
this.verifyIdentityButton.setVisibility(View.VISIBLE);
|
||||||
} else if (keyExchangeProcessor.isLocalKeyExchangeForExistingSession(keyExchangeMessage)) {
|
} else if (keyExchangeProcessor.isLocalKeyExchangeForExistingSession(keyExchangeMessage)) {
|
||||||
descriptionText.setText(String.format(getString(R.string.this_is_the_key_that_you_received_to_start_your_current_encrypted_session_with_s), recipient.toShortString()));
|
descriptionText.setText(String.format(getString(R.string.ReceiveKeyActivity_this_is_the_key_that_you_received_to_start_your_current_encrypted_session_with_s), recipient.toShortString()));
|
||||||
this.confirmButton.setVisibility(View.GONE);
|
this.confirmButton.setVisibility(View.GONE);
|
||||||
this.verifySessionButton.setVisibility(View.VISIBLE);
|
this.verifySessionButton.setVisibility(View.VISIBLE);
|
||||||
this.verifyIdentityButton.setVisibility(View.VISIBLE);
|
this.verifyIdentityButton.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
descriptionText.setText(String.format(getString(R.string.you_have_received_a_key_exchange_message_from_s_warning_you_already_have_an_encrypted_session), recipient.toShortString()));
|
descriptionText.setText(String.format(getString(R.string.ReceiveKeyActivity_you_have_received_a_key_exchange_message_from_s_warning_you_already_have_an_encrypted_session), recipient.toShortString()));
|
||||||
this.confirmButton.setVisibility(View.VISIBLE);
|
this.confirmButton.setVisibility(View.VISIBLE);
|
||||||
this.verifyIdentityButton.setVisibility(View.GONE);
|
this.verifyIdentityButton.setVisibility(View.GONE);
|
||||||
this.verifySessionButton.setVisibility(View.GONE);
|
this.verifySessionButton.setVisibility(View.GONE);
|
||||||
@ -137,11 +137,11 @@ public class ReceiveKeyActivity extends Activity {
|
|||||||
|
|
||||||
private void initializeTextForNewSession() {
|
private void initializeTextForNewSession() {
|
||||||
if (keyExchangeProcessor.hasInitiatedSession() && !this.sent)
|
if (keyExchangeProcessor.hasInitiatedSession() && !this.sent)
|
||||||
descriptionText.setText(String.format(getString(R.string.you_have_received_a_key_exchange_message_from_s_you_have_previously_initiated), recipient.toShortString()));
|
descriptionText.setText(String.format(getString(R.string.ReceiveKeyActivity_you_have_received_a_key_exchange_message_from_s_you_have_previously_initiated), recipient.toShortString()));
|
||||||
else if (keyExchangeProcessor.hasInitiatedSession() && this.sent)
|
else if (keyExchangeProcessor.hasInitiatedSession() && this.sent)
|
||||||
descriptionText.setText(String.format(getString(R.string.you_have_initiated_a_key_exchange_message_with_s_but_have_not_yet_received_a_reply), recipient.toShortString()));
|
descriptionText.setText(String.format(getString(R.string.ReceiveKeyActivity_you_have_initiated_a_key_exchange_message_with_s_but_have_not_yet_received_a_reply), recipient.toShortString()));
|
||||||
else if (!keyExchangeProcessor.hasInitiatedSession() && !this.sent)
|
else if (!keyExchangeProcessor.hasInitiatedSession() && !this.sent)
|
||||||
descriptionText.setText(String.format(getString(R.string.you_have_received_a_key_exchange_message_from_s_you_have_no_existing_session), recipient.toShortString()));
|
descriptionText.setText(String.format(getString(R.string.ReceiveKeyActivity_you_have_received_a_key_exchange_message_from_s_you_have_no_existing_session), recipient.toShortString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeKey() throws InvalidKeyException, InvalidVersionException {
|
private void initializeKey() throws InvalidKeyException, InvalidVersionException {
|
||||||
|
@ -127,10 +127,12 @@ public class ReviewIdentitiesActivity extends SherlockListActivity {
|
|||||||
startActivity(viewIntent);
|
startActivity(viewIntent);
|
||||||
} catch (InvalidKeyException ike) {
|
} catch (InvalidKeyException ike) {
|
||||||
Log.w("ReviewIdentitiesActivity", ike);
|
Log.w("ReviewIdentitiesActivity", ike);
|
||||||
Toast.makeText(this, R.string.unable_to_view_corrupted_identity_key_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(this, R.string.ReviewIdentitiesActivity_unable_to_view_corrupted_identity_key_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.w("ReviewIdentitiesActivity", e);
|
Log.w("ReviewIdentitiesActivity", e);
|
||||||
Toast.makeText(this, R.string.unable_to_view_corrupted_identity_key_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(this, R.string.ReviewIdentitiesActivity_unable_to_view_corrupted_identity_key_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ public class SaveIdentityActivity extends SherlockActivity {
|
|||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (identityName.getText() == null || identityName.getText().toString().trim().length() == 0) {
|
if (identityName.getText() == null || identityName.getText().toString().trim().length() == 0) {
|
||||||
Toast.makeText(SaveIdentityActivity.this,
|
Toast.makeText(SaveIdentityActivity.this,
|
||||||
R.string.you_must_specify_a_name_for_this_identity_exclamation,
|
R.string.SaveIdentityActivity_you_must_specify_a_name_for_this_identity_exclamation,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -95,16 +95,17 @@ public class SaveIdentityActivity extends SherlockActivity {
|
|||||||
DatabaseFactory.getIdentityDatabase(SaveIdentityActivity.this).saveIdentity(masterSecret, identityKey, identityName.getText().toString());
|
DatabaseFactory.getIdentityDatabase(SaveIdentityActivity.this).saveIdentity(masterSecret, identityKey, identityName.getText().toString());
|
||||||
} catch (InvalidKeyException e) {
|
} catch (InvalidKeyException e) {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(SaveIdentityActivity.this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(SaveIdentityActivity.this);
|
||||||
builder.setTitle(R.string.identity_name_exists_exclamation);
|
builder.setTitle(R.string.SaveIdentityActivity_identity_name_exists_exclamation);
|
||||||
builder.setMessage(R.string.an_identity_key_with_the_specified_name_already_exists);
|
builder.setMessage(R.string.SaveIdentityActivity_an_identity_key_with_the_specified_name_already_exists);
|
||||||
builder.setPositiveButton(R.string.manage_identities, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.SaveIdentityActivity_manage_identities,
|
||||||
|
new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
Intent intent = new Intent(SaveIdentityActivity.this, ReviewIdentitiesActivity.class);
|
Intent intent = new Intent(SaveIdentityActivity.this, ReviewIdentitiesActivity.class);
|
||||||
intent.putExtra("master_secret", masterSecret);
|
intent.putExtra("master_secret", masterSecret);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
builder.setNegativeButton(R.string.cancel, null);
|
builder.setNegativeButton(android.R.string.cancel, null);
|
||||||
builder.show();
|
builder.show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -62,10 +62,11 @@ public class VerifyIdentityActivity extends KeyVerifyingActivity {
|
|||||||
protected void handleVerified() {
|
protected void handleVerified() {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
builder.setTitle(R.string.mark_identity_verified_question);
|
builder.setTitle(R.string.VerifyIdentityActivity_mark_identity_verified_question);
|
||||||
builder.setMessage(R.string.are_you_sure_you_have_validated_the_recipients_identity_fingerprint_and_would_like_to_mark_it_as_verified);
|
builder.setMessage(R.string.VerifyIdentityActivity_are_you_sure_you_have_validated_the_recipients_identity_fingerprint_and_would_like_to_mark_it_as_verified);
|
||||||
|
|
||||||
builder.setPositiveButton(R.string.mark_verified, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.VerifyIdentityActivity_mark_verified,
|
||||||
|
new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
SessionRecord sessionRecord = new SessionRecord(VerifyIdentityActivity.this,
|
SessionRecord sessionRecord = new SessionRecord(VerifyIdentityActivity.this,
|
||||||
@ -91,7 +92,7 @@ public class VerifyIdentityActivity extends KeyVerifyingActivity {
|
|||||||
|
|
||||||
private void initializeLocalIdentityKey() {
|
private void initializeLocalIdentityKey() {
|
||||||
if (!IdentityKeyUtil.hasIdentityKey(this)) {
|
if (!IdentityKeyUtil.hasIdentityKey(this)) {
|
||||||
localIdentityFingerprint.setText(R.string.you_do_not_have_an_identity_key);
|
localIdentityFingerprint.setText(R.string.VerifyIdentityActivity_you_do_not_have_an_identity_key);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,7 +104,7 @@ public class VerifyIdentityActivity extends KeyVerifyingActivity {
|
|||||||
IdentityKey identityKey = sessionRecord.getIdentityKey();
|
IdentityKey identityKey = sessionRecord.getIdentityKey();
|
||||||
|
|
||||||
if (identityKey == null) {
|
if (identityKey == null) {
|
||||||
remoteIdentityFingerprint.setText(R.string.recipient_has_no_identity_key);
|
remoteIdentityFingerprint.setText(R.string.VerifyIdentityActivity_recipient_has_no_identity_key);
|
||||||
} else {
|
} else {
|
||||||
remoteIdentityFingerprint.setText(identityKey.getFingerprint());
|
remoteIdentityFingerprint.setText(identityKey.getFingerprint());
|
||||||
}
|
}
|
||||||
@ -124,7 +125,9 @@ public class VerifyIdentityActivity extends KeyVerifyingActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void initiateDisplay() {
|
protected void initiateDisplay() {
|
||||||
if (!IdentityKeyUtil.hasIdentityKey(this)) {
|
if (!IdentityKeyUtil.hasIdentityKey(this)) {
|
||||||
Toast.makeText(this, R.string.you_don_t_have_an_identity_key_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(this,
|
||||||
|
R.string.VerifyIdentityActivity_you_don_t_have_an_identity_key_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,7 +140,8 @@ public class VerifyIdentityActivity extends KeyVerifyingActivity {
|
|||||||
IdentityKey identityKey = sessionRecord.getIdentityKey();
|
IdentityKey identityKey = sessionRecord.getIdentityKey();
|
||||||
|
|
||||||
if (identityKey == null) {
|
if (identityKey == null) {
|
||||||
Toast.makeText(this, R.string.recipient_has_no_identity_key_exclamation, Toast.LENGTH_LONG).show();
|
Toast.makeText(this, R.string.VerifyIdentityActivity_recipient_has_no_identity_key_exclamation,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
} else {
|
} else {
|
||||||
super.initiateScan();
|
super.initiateScan();
|
||||||
}
|
}
|
||||||
@ -145,12 +149,12 @@ public class VerifyIdentityActivity extends KeyVerifyingActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getScanString() {
|
protected String getScanString() {
|
||||||
return getString(R.string.scan_their_key_to_compare);
|
return getString(R.string.VerifyIdentityActivity_scan_their_key_to_compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDisplayString() {
|
protected String getDisplayString() {
|
||||||
return getString(R.string.get_my_key_scanned);
|
return getString(R.string.VerifyIdentityActivity_get_my_key_scanned);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -166,21 +170,21 @@ public class VerifyIdentityActivity extends KeyVerifyingActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedMessage() {
|
protected String getNotVerifiedMessage() {
|
||||||
return getString(R.string.warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully);
|
return getString(R.string.VerifyIdentityActivity_warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedTitle() {
|
protected String getNotVerifiedTitle() {
|
||||||
return getString(R.string.not_verified_exclamation);
|
return getString(R.string.VerifyIdentityActivity_not_verified_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedMessage() {
|
protected String getVerifiedMessage() {
|
||||||
return getString(R.string.their_key_is_correct_it_is_also_necessary_to_verify_your_key_with_them_as_well);
|
return getString(R.string.VerifyIdentityActivity_their_key_is_correct_it_is_also_necessary_to_verify_your_key_with_them_as_well);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedTitle() {
|
protected String getVerifiedTitle() {
|
||||||
return getString(R.string.verified_exclamation);
|
return getString(R.string.VerifyIdentityActivity_verified_exclamation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,15 +107,15 @@ public class VerifyImportedIdentityActivity extends KeyScanningActivity {
|
|||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (identityName.getText() == null || identityName.getText().length() == 0) {
|
if (identityName.getText() == null || identityName.getText().length() == 0) {
|
||||||
Toast.makeText(VerifyImportedIdentityActivity.this,
|
Toast.makeText(VerifyImportedIdentityActivity.this,
|
||||||
R.string.you_must_specify_a_name_for_this_contact_exclamation,
|
R.string.VerifyImportedIdentityActivity_you_must_specify_a_name_for_this_contact_exclamation,
|
||||||
Toast.LENGTH_LONG);
|
Toast.LENGTH_LONG);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(VerifyImportedIdentityActivity.this);
|
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(VerifyImportedIdentityActivity.this);
|
||||||
dialogBuilder.setTitle(R.string.save_identity_key_question);
|
dialogBuilder.setTitle(R.string.VerifyImportedIdentityActivity_save_identity_key_question);
|
||||||
dialogBuilder.setIcon(android.R.drawable.ic_dialog_info);
|
dialogBuilder.setIcon(android.R.drawable.ic_dialog_info);
|
||||||
dialogBuilder.setMessage(String.format(getString(R.string.are_you_sure_that_you_would_like_to_mark_this_as_a_valid_identity_key_for_all_future_correspondence_with_s), identityName.getText()));
|
dialogBuilder.setMessage(String.format(getString(R.string.VerifyImportedIdentityActivity_are_you_sure_that_you_would_like_to_mark_this_as_a_valid_identity_key_for_all_future_correspondence_with_s), identityName.getText()));
|
||||||
dialogBuilder.setCancelable(true);
|
dialogBuilder.setCancelable(true);
|
||||||
dialogBuilder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
dialogBuilder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface arg0, int arg1) {
|
public void onClick(DialogInterface arg0, int arg1) {
|
||||||
@ -124,8 +124,8 @@ public class VerifyImportedIdentityActivity extends KeyScanningActivity {
|
|||||||
} catch (InvalidKeyException ike) {
|
} catch (InvalidKeyException ike) {
|
||||||
Log.w("VerifiedButtonListener", ike);
|
Log.w("VerifiedButtonListener", ike);
|
||||||
Dialogs.displayAlert(VerifyImportedIdentityActivity.this,
|
Dialogs.displayAlert(VerifyImportedIdentityActivity.this,
|
||||||
getString(R.string.error_saving_identity_key_exclamation),
|
getString(R.string.VerifyImportedIdentityActivity_error_saving_identity_key_exclamation),
|
||||||
getString(R.string.this_identity_key_or_an_identity_key_with_the_same_name_already_exists_please_edit_your_key_database),
|
getString(R.string.VerifyImportedIdentityActivity_this_identity_key_or_an_identity_key_with_the_same_name_already_exists_please_edit_your_key_database),
|
||||||
android.R.drawable.ic_dialog_alert);
|
android.R.drawable.ic_dialog_alert);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -140,12 +140,12 @@ public class VerifyImportedIdentityActivity extends KeyScanningActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getScanString() {
|
protected String getScanString() {
|
||||||
return getString(R.string.scan_to_compare);
|
return getString(R.string.VerifyImportedIdentityActivity_scan_to_compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDisplayString() {
|
protected String getDisplayString() {
|
||||||
return getString(R.string.get_scanned_to_compare);
|
return getString(R.string.VerifyImportedIdentityActivity_get_scanned_to_compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -160,21 +160,21 @@ public class VerifyImportedIdentityActivity extends KeyScanningActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedMessage() {
|
protected String getNotVerifiedMessage() {
|
||||||
return getString(R.string.warning_the_scanned_key_does_not_match_exclamation);
|
return getString(R.string.VerifyImportedIdentityActivity_warning_the_scanned_key_does_not_match_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedTitle() {
|
protected String getNotVerifiedTitle() {
|
||||||
return getString(R.string.not_verified_exclamation2);
|
return getString(R.string.VerifyImportedIdentityActivity_not_verified_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedMessage() {
|
protected String getVerifiedMessage() {
|
||||||
return getString(R.string.the_scanned_key_matches_exclamation);
|
return getString(R.string.VerifyImportedIdentityActivity_the_scanned_key_matches_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedTitle() {
|
protected String getVerifiedTitle() {
|
||||||
return getString(R.string.verified_exclamation2);
|
return getString(R.string.VerifyImportedIdentityActivity_verified_exclamation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,9 +64,10 @@ public class VerifyKeysActivity extends KeyVerifyingActivity {
|
|||||||
protected void handleVerified() {
|
protected void handleVerified() {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
builder.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
builder.setTitle(R.string.mark_session_verified_question);
|
builder.setTitle(R.string.VerifyKeysActivity_mark_session_verified_question);
|
||||||
builder.setMessage(R.string.are_you_sure_that_you_have_validated_these_fingerprints_and_would_like_to_mark_this_session_as_verified);
|
builder.setMessage(R.string.VerifyKeysActivity_are_you_sure_that_you_have_validated_these_fingerprints_and_would_like_to_mark_this_session_as_verified);
|
||||||
builder.setPositiveButton(R.string.mark_verified2, new DialogInterface.OnClickListener() {
|
builder.setPositiveButton(R.string.VerifyKeysActivity_mark_verified,
|
||||||
|
new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
SessionRecord sessionRecord = new SessionRecord(VerifyKeysActivity.this, masterSecret,
|
SessionRecord sessionRecord = new SessionRecord(VerifyKeysActivity.this, masterSecret,
|
||||||
@ -77,7 +78,7 @@ public class VerifyKeysActivity extends KeyVerifyingActivity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.setNegativeButton(R.string.cancel, null);
|
builder.setNegativeButton(android.R.string.cancel, null);
|
||||||
builder.show();
|
builder.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,12 +100,12 @@ public class VerifyKeysActivity extends KeyVerifyingActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDisplayString() {
|
protected String getDisplayString() {
|
||||||
return getString(R.string.get_my_fingerprint_scanned);
|
return getString(R.string.VerifyKeysActivity_get_my_fingerprint_scanned);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getScanString() {
|
protected String getScanString() {
|
||||||
return getString(R.string.scan_their_fingerprint);
|
return getString(R.string.VerifyKeysActivity_scan_their_fingerprint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -119,22 +120,22 @@ public class VerifyKeysActivity extends KeyVerifyingActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedMessage() {
|
protected String getNotVerifiedMessage() {
|
||||||
return getString(R.string.warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully2);
|
return getString(R.string.VerifyKeysActivity_warning_the_scanned_key_does_not_match_please_check_the_fingerprint_text_carefully2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedTitle() {
|
protected String getNotVerifiedTitle() {
|
||||||
return getString(R.string.not_verified_exclamation3);
|
return getString(R.string.VerifyKeysActivity_not_verified_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedMessage() {
|
protected String getVerifiedMessage() {
|
||||||
return getString(R.string.their_key_is_correct_it_is_also_necessary_to_get_your_fingerprint_scanned_as_well);
|
return getString(R.string.VerifyKeysActivity_their_key_is_correct_it_is_also_necessary_to_get_your_fingerprint_scanned_as_well);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedTitle() {
|
protected String getVerifiedTitle() {
|
||||||
return getString(R.string.verified_exclamation3);
|
return getString(R.string.VerifyKeysActivity_verified_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class FingerprintKey implements SerializableKey {
|
private class FingerprintKey implements SerializableKey {
|
||||||
|
@ -47,7 +47,7 @@ public class ViewIdentityActivity extends KeyScanningActivity {
|
|||||||
|
|
||||||
private void initializeFingerprint() {
|
private void initializeFingerprint() {
|
||||||
if (identityKey == null) {
|
if (identityKey == null) {
|
||||||
identityFingerprint.setText(R.string.you_do_not_have_an_identity_key2);
|
identityFingerprint.setText(R.string.ViewIdentityActivity_you_do_not_have_an_identity_key);
|
||||||
} else {
|
} else {
|
||||||
identityFingerprint.setText(identityKey.getFingerprint());
|
identityFingerprint.setText(identityKey.getFingerprint());
|
||||||
}
|
}
|
||||||
@ -79,12 +79,12 @@ public class ViewIdentityActivity extends KeyScanningActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getScanString() {
|
protected String getScanString() {
|
||||||
return getString(R.string.scan_to_compare2);
|
return getString(R.string.ViewIdentityActivity_scan_to_compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDisplayString() {
|
protected String getDisplayString() {
|
||||||
return getString(R.string.get_scanned_to_compare2);
|
return getString(R.string.ViewIdentityActivity_get_scanned_to_compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -99,21 +99,21 @@ public class ViewIdentityActivity extends KeyScanningActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedMessage() {
|
protected String getNotVerifiedMessage() {
|
||||||
return getString(R.string.warning_the_scanned_key_does_not_match_exclamation2);
|
return getString(R.string.ViewIdentityActivity_warning_the_scanned_key_does_not_match_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getNotVerifiedTitle() {
|
protected String getNotVerifiedTitle() {
|
||||||
return getString(R.string.not_verified_exclamation4);
|
return getString(R.string.ViewIdentityActivity_not_verified_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedMessage() {
|
protected String getVerifiedMessage() {
|
||||||
return getString(R.string.the_scanned_key_matches_exclamation2);
|
return getString(R.string.ViewIdentityActivity_the_scanned_key_matches_exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getVerifiedTitle() {
|
protected String getVerifiedTitle() {
|
||||||
return getString(R.string.verified_exclamation4);
|
return getString(R.string.ViewIdentityActivity_verified_exclamation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright (C) 2011 Whisper Systems
|
* Copyright (C) 2011 Whisper Systems
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
@ -10,13 +10,16 @@
|
|||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package org.thoughtcrime.securesms.crypto;
|
package org.thoughtcrime.securesms.crypto;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import android.app.AlertDialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.database.LocalKeyRecord;
|
import org.thoughtcrime.securesms.database.LocalKeyRecord;
|
||||||
@ -24,45 +27,42 @@ import org.thoughtcrime.securesms.recipients.Recipient;
|
|||||||
import org.thoughtcrime.securesms.recipients.Recipients;
|
import org.thoughtcrime.securesms.recipients.Recipients;
|
||||||
import org.thoughtcrime.securesms.sms.MessageSender;
|
import org.thoughtcrime.securesms.sms.MessageSender;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import java.util.LinkedList;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
public class KeyExchangeInitiator {
|
public class KeyExchangeInitiator {
|
||||||
|
|
||||||
public static void initiate(final Context context, final MasterSecret masterSecret, final Recipient recipient, boolean promptOnExisting) {
|
public static void initiate(final Context context, final MasterSecret masterSecret, final Recipient recipient, boolean promptOnExisting) {
|
||||||
if (promptOnExisting && hasInitiatedSession(context, masterSecret, recipient)) {
|
if (promptOnExisting && hasInitiatedSession(context, masterSecret, recipient)) {
|
||||||
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
|
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
|
||||||
dialog.setTitle(R.string.initiate_despite_existing_request_question);
|
dialog.setTitle(R.string.KeyExchangeInitiator_initiate_despite_existing_request_question);
|
||||||
dialog.setMessage(R.string.youve_already_sent_a_session_initiation_request_to_this_recipient_are_you_sure);
|
dialog.setMessage(R.string.KeyExchangeInitiator_youve_already_sent_a_session_initiation_request_to_this_recipient_are_you_sure);
|
||||||
dialog.setIcon(android.R.drawable.ic_dialog_alert);
|
dialog.setIcon(android.R.drawable.ic_dialog_alert);
|
||||||
dialog.setCancelable(true);
|
dialog.setCancelable(true);
|
||||||
dialog.setPositiveButton(R.string.send, new DialogInterface.OnClickListener() {
|
dialog.setPositiveButton(R.string.KeyExchangeInitiator_send, new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
initiateKeyExchange(context, masterSecret, recipient);
|
initiateKeyExchange(context, masterSecret, recipient);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
dialog.setNegativeButton(R.string.cancel, null);
|
dialog.setNegativeButton(android.R.string.cancel, null);
|
||||||
dialog.show();
|
dialog.show();
|
||||||
} else {
|
} else {
|
||||||
initiateKeyExchange(context, masterSecret, recipient);
|
initiateKeyExchange(context, masterSecret, recipient);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initiateKeyExchange(Context context, MasterSecret masterSecret, Recipient recipient) {
|
private static void initiateKeyExchange(Context context, MasterSecret masterSecret, Recipient recipient) {
|
||||||
LocalKeyRecord record = KeyUtil.initializeRecordFor(recipient, context, masterSecret);
|
LocalKeyRecord record = KeyUtil.initializeRecordFor(recipient, context, masterSecret);
|
||||||
KeyExchangeMessage message = new KeyExchangeMessage(context, masterSecret, 1, record, 0);
|
KeyExchangeMessage message = new KeyExchangeMessage(context, masterSecret, 1, record, 0);
|
||||||
|
|
||||||
Log.w("SendKeyActivity", "Sending public key: " + record.getCurrentKeyPair().getPublicKey().getFingerprint());
|
Log.w("SendKeyActivity", "Sending public key: " + record.getCurrentKeyPair().getPublicKey().getFingerprint());
|
||||||
LinkedList<Recipient> list = new LinkedList<Recipient>();
|
LinkedList<Recipient> list = new LinkedList<Recipient>();
|
||||||
list.add(recipient);
|
list.add(recipient);
|
||||||
|
|
||||||
MessageSender.send(context, masterSecret, new Recipients(list), -1, message.serialize(), false);
|
MessageSender.send(context, masterSecret, new Recipients(list), -1, message.serialize(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean hasInitiatedSession(Context context, MasterSecret masterSecret, Recipient recipient) {
|
private static boolean hasInitiatedSession(Context context, MasterSecret masterSecret, Recipient recipient) {
|
||||||
return
|
return
|
||||||
LocalKeyRecord.hasRecord(context, recipient) &&
|
LocalKeyRecord.hasRecord(context, recipient) &&
|
||||||
new LocalKeyRecord(context, masterSecret, recipient).getCurrentKeyPair() != null;
|
new LocalKeyRecord(context, masterSecret, recipient).getCurrentKeyPair() != null;
|
||||||
}
|
}
|
||||||
|
@ -92,13 +92,13 @@ public class MessageDisplayHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isUnreadableAsymmetricMessage(message.getType())) {
|
if (isUnreadableAsymmetricMessage(message.getType())) {
|
||||||
message.setBody(context.getString(R.string.bad_encrypted_message));
|
message.setBody(context.getString(R.string.MessageDisplayHelper_bad_encrypted_message));
|
||||||
message.setEmphasis(true);
|
message.setEmphasis(true);
|
||||||
} else if (isInProcessAsymmetricMessage(body, message.getType())) {
|
} else if (isInProcessAsymmetricMessage(body, message.getType())) {
|
||||||
message.setBody(context.getString(R.string.decrypting_please_wait));
|
message.setBody(context.getString(R.string.MessageDisplayHelper_decrypting_please_wait));
|
||||||
message.setEmphasis(true);
|
message.setEmphasis(true);
|
||||||
} else if (isRogueAsymmetricMessage(message.getType())) {
|
} else if (isRogueAsymmetricMessage(message.getType())) {
|
||||||
message.setBody(context.getString(R.string.message_encrypted_for_non_existing_session));
|
message.setBody(context.getString(R.string.MessageDisplayHelper_message_encrypted_for_non_existing_session));
|
||||||
message.setEmphasis(true);
|
message.setEmphasis(true);
|
||||||
} else if (isKeyExchange(body)) {
|
} else if (isKeyExchange(body)) {
|
||||||
message.setKeyExchange(true);
|
message.setKeyExchange(true);
|
||||||
@ -117,7 +117,7 @@ public class MessageDisplayHelper {
|
|||||||
message.setEmphasis(false);
|
message.setEmphasis(false);
|
||||||
}
|
}
|
||||||
} catch (InvalidMessageException ime) {
|
} catch (InvalidMessageException ime) {
|
||||||
message.setBody(context.getString(R.string.decryption_error_local_message_corrupted_mac_doesn_t_match_potential_tampering_question));
|
message.setBody(context.getString(R.string.MessageDisplayHelper_decryption_error_local_message_corrupted_mac_doesn_t_match_potential_tampering_question));
|
||||||
message.setEmphasis(true);
|
message.setEmphasis(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,7 @@ public class MmsDatabase extends Database {
|
|||||||
if (encodedFrom != null)
|
if (encodedFrom != null)
|
||||||
return new String(encodedFrom.getTextString(), CharacterSets.MIMENAME_ISO_8859_1);
|
return new String(encodedFrom.getTextString(), CharacterSets.MIMENAME_ISO_8859_1);
|
||||||
else
|
else
|
||||||
return context.getString(R.string.anonymous);
|
return context.getString(R.string.MmsDatabase_anonymous);
|
||||||
} catch (UnsupportedEncodingException e) {
|
} catch (UnsupportedEncodingException e) {
|
||||||
throw new AssertionError(e);
|
throw new AssertionError(e);
|
||||||
}
|
}
|
||||||
@ -563,12 +563,12 @@ public class MmsDatabase extends Database {
|
|||||||
Log.w("MmsDatabase", "Getting label for status: " + status);
|
Log.w("MmsDatabase", "Getting label for status: " + status);
|
||||||
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case DOWNLOAD_CONNECTING: return context.getString(R.string.connecting_to_mms_server);
|
case DOWNLOAD_CONNECTING: return context.getString(R.string.MmsDatabase_connecting_to_mms_server);
|
||||||
case DOWNLOAD_INITIALIZED: return context.getString(R.string.downloading_mms);
|
case DOWNLOAD_INITIALIZED: return context.getString(R.string.MmsDatabase_downloading_mms);
|
||||||
case DOWNLOAD_HARD_FAILURE: return context.getString(R.string.mms_download_failed);
|
case DOWNLOAD_HARD_FAILURE: return context.getString(R.string.MmsDatabase_mms_download_failed);
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.getString(R.string.downloading);
|
return context.getString(R.string.MmsDatabase_downloading);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isHardError(int status) {
|
public static boolean isHardError(int status) {
|
||||||
|
@ -126,16 +126,16 @@ public class MmsMessageRecord extends MessageRecord {
|
|||||||
private void setBodyIfTextAvailable(Context context) {
|
private void setBodyIfTextAvailable(Context context) {
|
||||||
switch ((int)mailbox) {
|
switch ((int)mailbox) {
|
||||||
case MmsDatabase.Types.MESSAGE_BOX_DECRYPTING_INBOX:
|
case MmsDatabase.Types.MESSAGE_BOX_DECRYPTING_INBOX:
|
||||||
setBody(context.getString(R.string.decrypting_mms_please_wait));
|
setBody(context.getString(R.string.MmsMessageRecord_decrypting_mms_please_wait));
|
||||||
setEmphasis(true);
|
setEmphasis(true);
|
||||||
return;
|
return;
|
||||||
case MmsDatabase.Types.MESSAGE_BOX_DECRYPT_FAILED_INBOX:
|
case MmsDatabase.Types.MESSAGE_BOX_DECRYPT_FAILED_INBOX:
|
||||||
setBody(context.getString(R.string.bad_encrypted_mms_message));
|
setBody(context.getString(R.string.MmsMessageRecord_bad_encrypted_mms_message));
|
||||||
setEmphasis(true);
|
setEmphasis(true);
|
||||||
return;
|
return;
|
||||||
case MmsDatabase.Types.MESSAGE_BOX_NO_SESSION_INBOX:
|
case MmsDatabase.Types.MESSAGE_BOX_NO_SESSION_INBOX:
|
||||||
setBody(context
|
setBody(context
|
||||||
.getString(R.string.mms_message_encrypted_for_non_existing_session));
|
.getString(R.string.MmsMessageRecord_mms_message_encrypted_for_non_existing_session));
|
||||||
setEmphasis(true);
|
setEmphasis(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,8 @@ public class ApplicationMigrationService extends Service
|
|||||||
|
|
||||||
private Notification initializeBackgroundNotification() {
|
private Notification initializeBackgroundNotification() {
|
||||||
Intent intent = new Intent(this, ConversationListActivity.class);
|
Intent intent = new Intent(this, ConversationListActivity.class);
|
||||||
Notification notification = new Notification(R.drawable.icon, getString(R.string.migrating),
|
Notification notification = new Notification(R.drawable.icon,
|
||||||
|
getString(R.string.ApplicationMigrationService_migrating),
|
||||||
System.currentTimeMillis());
|
System.currentTimeMillis());
|
||||||
|
|
||||||
notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT;
|
notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT;
|
||||||
@ -89,7 +90,8 @@ public class ApplicationMigrationService extends Service
|
|||||||
|
|
||||||
notification.contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
|
notification.contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
|
||||||
notification.contentView.setImageViewResource(R.id.status_icon, R.drawable.icon);
|
notification.contentView.setImageViewResource(R.id.status_icon, R.drawable.icon);
|
||||||
notification.contentView.setTextViewText(R.id.status_text, getString(R.string.migrating_system_text_messages));
|
notification.contentView.setTextViewText(R.id.status_text,
|
||||||
|
getString(R.string.ApplicationMigrationService_migrating_system_text_messages));
|
||||||
notification.contentView.setProgressBar(R.id.status_progress, 10000, 0, false);
|
notification.contentView.setProgressBar(R.id.status_progress, 10000, 0, false);
|
||||||
|
|
||||||
stopForeground(true);
|
stopForeground(true);
|
||||||
|
@ -160,12 +160,14 @@ public class KeyCachingService extends Service {
|
|||||||
|
|
||||||
private void foregroundServiceLegacy() {
|
private void foregroundServiceLegacy() {
|
||||||
Notification notification = new Notification(R.drawable.icon_cached,
|
Notification notification = new Notification(R.drawable.icon_cached,
|
||||||
getString(R.string.textsecure_passphrase_cached),
|
getString(R.string.KeyCachingService_textsecure_passphrase_cached),
|
||||||
System.currentTimeMillis());
|
System.currentTimeMillis());
|
||||||
Intent intent = new Intent(this, ConversationListActivity.class);
|
Intent intent = new Intent(this, ConversationListActivity.class);
|
||||||
PendingIntent launchIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
|
PendingIntent launchIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
|
||||||
notification.setLatestEventInfo(getApplicationContext(), getString(R.string.passphrase_cached),
|
notification.setLatestEventInfo(getApplicationContext(),
|
||||||
getString(R.string.textsecure_passphrase_cached), launchIntent);
|
getString(R.string.KeyCachingService_passphrase_cached),
|
||||||
|
getString(R.string.KeyCachingService_textsecure_passphrase_cached),
|
||||||
|
launchIntent);
|
||||||
|
|
||||||
stopForeground(true);
|
stopForeground(true);
|
||||||
startForeground(SERVICE_RUNNING_ID, notification);
|
startForeground(SERVICE_RUNNING_ID, notification);
|
||||||
|
@ -70,22 +70,22 @@ public class MessageNotifier {
|
|||||||
Recipient recipient = recipients.getPrimaryRecipient();
|
Recipient recipient = recipients.getPrimaryRecipient();
|
||||||
|
|
||||||
if (recipient == null) {
|
if (recipient == null) {
|
||||||
return String.format(context.getString(R.string._d_new_messages), count);
|
return String.format(context.getString(R.string.MessageNotifier_d_new_messages), count);
|
||||||
} else {
|
} else {
|
||||||
return String.format(context.getString(R.string._d_new_messages_most_recent_from_s), count,
|
return String.format(context.getString(R.string.MessageNotifier_d_new_messages_most_recent_from_s), count,
|
||||||
recipient.getName() == null ? recipient.getNumber() : recipient.getName());
|
recipient.getName() == null ? recipient.getNumber() : recipient.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String buildTitleMessage(Context context, int count) {
|
private static String buildTitleMessage(Context context, int count) {
|
||||||
return String.format(context.getString(R.string._d_new_messages), count);
|
return String.format(context.getString(R.string.MessageNotifier_d_new_messages), count);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String buildSubtitleMessage(Context context, Recipients recipients) {
|
private static String buildSubtitleMessage(Context context, Recipients recipients) {
|
||||||
Recipient recipient = recipients.getPrimaryRecipient();
|
Recipient recipient = recipients.getPrimaryRecipient();
|
||||||
|
|
||||||
if (recipient != null) {
|
if (recipient != null) {
|
||||||
return String.format(context.getString(R.string.most_recent_from_s),
|
return String.format(context.getString(R.string.MessageNotifier_most_recent_from_s),
|
||||||
(recipient.getName() == null ? recipient.getNumber() : recipient.getName()));
|
(recipient.getName() == null ? recipient.getNumber() : recipient.getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user