diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 3999b4876ba4bcc4a4598a05924204c5270c4a1d..7cec02641ed54b207ee00faef0bd146c6132aa7e 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="27" + android:versionName="0.7.1" > + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/docs/XEPs.md b/docs/XEPs.md new file mode 100644 index 0000000000000000000000000000000000000000..8d1d0d5c5fd08f4e4c6cc99af295c82fd271cfee --- /dev/null +++ b/docs/XEPs.md @@ -0,0 +1,17 @@ +* XEP-0030: Service Discovery +* XEP-0045: Multi-User Chat +* XEP-0048: Bookmarks +* XEP-0115: Entity Capabilities +* XEP-0138: Stream Compression +* XEP-0163: Personal Eventing Protocol (avatars and nicks) +* XEP-0166: Jingle (only used for file transfer) +* XEP-0184: Message Delivery Receipts (reply only) +* XEP-0198: Stream Management +* XEP-0234: Jingle File Transfer +* XEP-0237: Roster Versioning +* XEP-0249: Direct MUC Invitations (receiving only) +* XEP-0260: Jingle SOCKS5 Bytestreams Transport Method +* XEP-0261: Jingle In-Band Bytestreams Transport Method +* XEP-0280: Message Carbons +* XEP-0333: Chat Markers +* XEP-0352: Client State Indication diff --git a/res/drawable-hdpi/ic_action_send_now.png b/res/drawable-hdpi/ic_action_send_now.png deleted file mode 100644 index ff0e369ee4e77c759668f484b413bd8bbadabd7e..0000000000000000000000000000000000000000 Binary files a/res/drawable-hdpi/ic_action_send_now.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_action_send_now_away.png b/res/drawable-hdpi/ic_action_send_now_away.png new file mode 100644 index 0000000000000000000000000000000000000000..505cbe63abc1a4af6e3dd2eef57a82e53edd0e60 Binary files /dev/null and b/res/drawable-hdpi/ic_action_send_now_away.png differ diff --git a/res/drawable-hdpi/ic_action_send_now_dnd.png b/res/drawable-hdpi/ic_action_send_now_dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..a376524d76e2bef02443ca4603222906203063d6 Binary files /dev/null and b/res/drawable-hdpi/ic_action_send_now_dnd.png differ diff --git a/res/drawable-hdpi/ic_action_send_now_offline.png b/res/drawable-hdpi/ic_action_send_now_offline.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d2d5103000557b5c46fce4a6a2602436b747ab Binary files /dev/null and b/res/drawable-hdpi/ic_action_send_now_offline.png differ diff --git a/res/drawable-hdpi/ic_action_send_now_online.png b/res/drawable-hdpi/ic_action_send_now_online.png new file mode 100644 index 0000000000000000000000000000000000000000..48676f7bdfd6584d541b65a8d9768703f483e953 Binary files /dev/null and b/res/drawable-hdpi/ic_action_send_now_online.png differ diff --git a/res/drawable-mdpi/ic_action_send_now_away.png b/res/drawable-mdpi/ic_action_send_now_away.png new file mode 100644 index 0000000000000000000000000000000000000000..0fdca901a5d8443e450e352629fc618bab00be46 Binary files /dev/null and b/res/drawable-mdpi/ic_action_send_now_away.png differ diff --git a/res/drawable-mdpi/ic_action_send_now_dnd.png b/res/drawable-mdpi/ic_action_send_now_dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..c0aef36ccb0a258d97aed7a967b18af587f358b1 Binary files /dev/null and b/res/drawable-mdpi/ic_action_send_now_dnd.png differ diff --git a/res/drawable-mdpi/ic_action_send_now_offline.png b/res/drawable-mdpi/ic_action_send_now_offline.png new file mode 100644 index 0000000000000000000000000000000000000000..7723f4aa94b7a5eec5fc5baf0ce02de7afebd030 Binary files /dev/null and b/res/drawable-mdpi/ic_action_send_now_offline.png differ diff --git a/res/drawable-mdpi/ic_action_send_now_online.png b/res/drawable-mdpi/ic_action_send_now_online.png new file mode 100644 index 0000000000000000000000000000000000000000..39d00ee482965004debc7e134f1ba96469487ff2 Binary files /dev/null and b/res/drawable-mdpi/ic_action_send_now_online.png differ diff --git a/res/drawable-xhdpi/ic_action_send_now.png b/res/drawable-xhdpi/ic_action_send_now.png deleted file mode 100644 index 373dde239e0ebd7e9935ae186473c955cfce9081..0000000000000000000000000000000000000000 Binary files a/res/drawable-xhdpi/ic_action_send_now.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_action_send_now_away.png b/res/drawable-xhdpi/ic_action_send_now_away.png new file mode 100644 index 0000000000000000000000000000000000000000..bb999d85d4e128d988763034bd6735356693c388 Binary files /dev/null and b/res/drawable-xhdpi/ic_action_send_now_away.png differ diff --git a/res/drawable-xhdpi/ic_action_send_now_dnd.png b/res/drawable-xhdpi/ic_action_send_now_dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..a0bf5561c76fd8479e3268eadd05a19962391656 Binary files /dev/null and b/res/drawable-xhdpi/ic_action_send_now_dnd.png differ diff --git a/res/drawable-xhdpi/ic_action_send_now_offline.png b/res/drawable-xhdpi/ic_action_send_now_offline.png new file mode 100644 index 0000000000000000000000000000000000000000..6da9ff7bd40abf3ffa2437cc91fa4ae1724dc695 Binary files /dev/null and b/res/drawable-xhdpi/ic_action_send_now_offline.png differ diff --git a/res/drawable-xhdpi/ic_action_send_now_online.png b/res/drawable-xhdpi/ic_action_send_now_online.png new file mode 100644 index 0000000000000000000000000000000000000000..348ba657d5efc149aa5f60c89e1a0241b226f77b Binary files /dev/null and b/res/drawable-xhdpi/ic_action_send_now_online.png differ diff --git a/res/drawable-xxhdpi/ic_action_send_now_away.png b/res/drawable-xxhdpi/ic_action_send_now_away.png new file mode 100644 index 0000000000000000000000000000000000000000..12ec4d33f19d18ef0bde48e635cdc671609bcee5 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_send_now_away.png differ diff --git a/res/drawable-xxhdpi/ic_action_send_now_dnd.png b/res/drawable-xxhdpi/ic_action_send_now_dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..7719f81a9a42aeae09dcd7d226ec6c241b6d6162 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_send_now_dnd.png differ diff --git a/res/drawable-xxhdpi/ic_action_send_now_offline.png b/res/drawable-xxhdpi/ic_action_send_now_offline.png new file mode 100644 index 0000000000000000000000000000000000000000..1889581322980550b9d312e62980aed751d33286 Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_send_now_offline.png differ diff --git a/res/drawable-xxhdpi/ic_action_send_now_online.png b/res/drawable-xxhdpi/ic_action_send_now_online.png new file mode 100644 index 0000000000000000000000000000000000000000..29bde36e3f72c35ed863e3db4c780dab0ab0de0f Binary files /dev/null and b/res/drawable-xxhdpi/ic_action_send_now_online.png differ diff --git a/res/drawable/actionbar_tab_indicator.xml b/res/drawable/actionbar_tab_indicator.xml index 102b75d8128cd3ad8cac17a57cb8a6b28e5797dd..5598ee424aa739e7cd9be8cd1a5f243bc6167c45 100644 --- a/res/drawable/actionbar_tab_indicator.xml +++ b/res/drawable/actionbar_tab_indicator.xml @@ -1,19 +1,21 @@ + - - + + - - + + - - - + + + + + + + - - - - \ No newline at end of file + \ No newline at end of file diff --git a/res/drawable/es_slidingpane_shadow.xml b/res/drawable/es_slidingpane_shadow.xml index 5b6037f712969ac0eb4249f0062e97a891f29351..44ffd4ea620f082508504bdf03e15dfe182cd0fe 100644 --- a/res/drawable/es_slidingpane_shadow.xml +++ b/res/drawable/es_slidingpane_shadow.xml @@ -1,7 +1,12 @@ - - + + + + + \ No newline at end of file diff --git a/res/drawable/grey.xml b/res/drawable/grey.xml index bdb9383fc1f1fd3c2f95783c63fd70504c5a5c94..2e90d96d0dd7542e14738d57f6a553abc74c6cb6 100644 --- a/res/drawable/grey.xml +++ b/res/drawable/grey.xml @@ -1,5 +1,7 @@ - + + + \ No newline at end of file diff --git a/res/drawable/greybackground.xml b/res/drawable/greybackground.xml index 529af5e8a2a7e38e0c67f3efe449f2a6b69d04f1..bedc4b17a6f8af3ae5084642c9b02aeecd7e5481 100644 --- a/res/drawable/greybackground.xml +++ b/res/drawable/greybackground.xml @@ -1,6 +1,6 @@ - - - + + + + + \ No newline at end of file diff --git a/res/drawable/message_border.xml b/res/drawable/message_border.xml index 4a581e7df37e786f1425841de401840afdd0e05e..b463d788efe7f259cd9571d66efa02a49e6a76e6 100644 --- a/res/drawable/message_border.xml +++ b/res/drawable/message_border.xml @@ -1,6 +1,15 @@ - - - - + + + + + + + + \ No newline at end of file diff --git a/res/drawable/section_header.xml b/res/drawable/section_header.xml index e4cb9742708f2a65844bb83bf2a8a4997f3c4bc4..9db04f9063c44c5f4411a273b269410e1ec669e1 100644 --- a/res/drawable/section_header.xml +++ b/res/drawable/section_header.xml @@ -7,4 +7,5 @@ android:width="2000dp" /> + \ No newline at end of file diff --git a/res/drawable/snackbar.xml b/res/drawable/snackbar.xml index 5f5dc430f7b53bbf24ad40b60671c925c76dceb2..951d7aee8d8d99f5f428f337bde8e769f349b9f3 100644 --- a/res/drawable/snackbar.xml +++ b/res/drawable/snackbar.xml @@ -1,6 +1,14 @@ - - - - + + + + + + + + \ No newline at end of file diff --git a/res/layout-sw360dp/fragment_conversations_overview.xml b/res/layout-sw360dp/fragment_conversations_overview.xml index ceb3b5fa85ca4450fcebee8fe8fe0806dbab0e97..ef8a1b6e298a215d6f45768b3eb0fba7a6cc315e 100644 --- a/res/layout-sw360dp/fragment_conversations_overview.xml +++ b/res/layout-sw360dp/fragment_conversations_overview.xml @@ -1,30 +1,30 @@ - + + - - - - - - - + android:orientation="vertical" > + + + + + + + \ No newline at end of file diff --git a/res/layout-sw384dp/fragment_conversations_overview.xml b/res/layout-sw384dp/fragment_conversations_overview.xml index 26d79d233d4ed87ede554f1388b5048ab958b82e..2a42205235290645f93c27c748fc94252683855b 100644 --- a/res/layout-sw384dp/fragment_conversations_overview.xml +++ b/res/layout-sw384dp/fragment_conversations_overview.xml @@ -1,30 +1,30 @@ - + + - - - - - - - + android:orientation="vertical" > + + + + + + + \ No newline at end of file diff --git a/res/layout-sw600dp/fragment_conversations_overview.xml b/res/layout-sw600dp/fragment_conversations_overview.xml index f26c840b4df2fb1d16771c49d3cab6959c147f8e..5dfdceff55d328a957c0770d75d195c29e638e23 100644 --- a/res/layout-sw600dp/fragment_conversations_overview.xml +++ b/res/layout-sw600dp/fragment_conversations_overview.xml @@ -1,30 +1,30 @@ - + + - - - - - - - + android:orientation="vertical" > + + + + + + + \ No newline at end of file diff --git a/res/layout-sw720dp/fragment_conversations_overview.xml b/res/layout-sw720dp/fragment_conversations_overview.xml index b85f111671c3fce7ac8492500f5fb925fba2aba8..bc52ec461376dd59f54f107f1630747614646a7a 100644 --- a/res/layout-sw720dp/fragment_conversations_overview.xml +++ b/res/layout-sw720dp/fragment_conversations_overview.xml @@ -1,30 +1,30 @@ - + + - - - - - - - + android:orientation="vertical" > + + + + + + + \ No newline at end of file diff --git a/res/layout/account_row.xml b/res/layout/account_row.xml index 230a5a982a1b6f14a8dc774da37774e434746f20..2d1190a3a1e63e9f1e3a83303b422601a5ec3dd3 100644 --- a/res/layout/account_row.xml +++ b/res/layout/account_row.xml @@ -16,8 +16,8 @@ @@ -35,9 +35,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/account_status_unknown" - android:textSize="?attr/TextSizeBody" android:textColor="@color/secondarytext" - android:textStyle="bold"/> + android:textSize="?attr/TextSizeBody" + android:textStyle="bold" /> \ No newline at end of file diff --git a/res/layout/actionview_search.xml b/res/layout/actionview_search.xml index 7030091325060ede1ba700811d2f98eaada380ce..64b75f0ede3c60516469586f56348bad758244cf 100644 --- a/res/layout/actionview_search.xml +++ b/res/layout/actionview_search.xml @@ -14,6 +14,6 @@ android:layout_height="wrap_content" android:focusable="true" android:inputType="textEmailAddress|textNoSuggestions" - android:textColor="@color/ondarktext"/> + android:textColor="@color/ondarktext" /> \ No newline at end of file diff --git a/res/layout/activity_contact_details.xml b/res/layout/activity_contact_details.xml index b3672e599024360ac38bb28c03a78b1735814b87..f4fd9c1e14f01833b871a5ec17d14b7362a576e5 100644 --- a/res/layout/activity_contact_details.xml +++ b/res/layout/activity_contact_details.xml @@ -2,124 +2,127 @@ + android:background="@color/primarybackground" > - - - - + android:orientation="vertical" > - + - + android:minHeight="88dp" + android:padding="8dp" > - + - - - - - + android:layout_centerVertical="true" + android:layout_toRightOf="@+id/details_contact_badge" + android:orientation="vertical" + android:paddingLeft="8dp" > - - - - + - + + + + + + + + + + + - - - - - - + android:id="@+id/details_send_presence" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/send_presence_updates" + android:textColor="@color/primarytext" + android:textSize="?attr/TextSizeBody" /> + + + + + + + + + \ No newline at end of file diff --git a/res/layout/activity_muc_details.xml b/res/layout/activity_muc_details.xml index c3eb263dc8f65d9c752b21a68a6ef0a2f2eadb7b..1a676548bb8730213f763f2c7f0903873dfaab60 100644 --- a/res/layout/activity_muc_details.xml +++ b/res/layout/activity_muc_details.xml @@ -24,7 +24,7 @@ android:singleLine="true" android:text="@string/account_settings_example_jabber_id" android:textColor="@color/primarytext" - android:textSize="?attr/TextSizeBody"/> + android:textSize="?attr/TextSizeBody" /> - + android:padding="8dp" + android:src="@drawable/ic_action_edit_dark" /> - + - - + android:textSize="?attr/TextSizeHeadline" /> + + android:textSize="?attr/TextSizeBody" /> \ No newline at end of file diff --git a/res/layout/activity_start_conversation.xml b/res/layout/activity_start_conversation.xml index 9c757540e41c9fe4c0a5d92a4eb2b1f4b68bc684..f9c98529232d8b36b4130c97c88bf751bf35904d 100644 --- a/res/layout/activity_start_conversation.xml +++ b/res/layout/activity_start_conversation.xml @@ -3,6 +3,6 @@ android:id="@+id/start_conversation_view_pager" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/primarybackground"> + android:background="@color/primarybackground" > \ No newline at end of file diff --git a/res/layout/contact.xml b/res/layout/contact.xml index ff55ccac16ada45c7697cc898653779240176a7f..12ab3da1ba8b62838bf1abc154e42ae0a067285c 100644 --- a/res/layout/contact.xml +++ b/res/layout/contact.xml @@ -27,8 +27,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" - android:textSize="?attr/TextSizeHeadline" - android:textColor="@color/primarytext" /> + android:textColor="@color/primarytext" + android:textSize="?attr/TextSizeHeadline" /> + android:visibility="invisible" /> \ No newline at end of file diff --git a/res/layout/conversation_list_row.xml b/res/layout/conversation_list_row.xml index 8fdd64b7cefaa6295b020f602d5f3a03366a2ecc..21147b4a09e87214417e2002baf22047959b1635 100644 --- a/res/layout/conversation_list_row.xml +++ b/res/layout/conversation_list_row.xml @@ -2,71 +2,67 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:padding="8dp"> - + android:padding="8dp" > - + - + - - - - - - + - - + + + + + + + + + - - - \ No newline at end of file diff --git a/res/layout/create_contact_dialog.xml b/res/layout/create_contact_dialog.xml index a1e6f6ad2079836ce219c033d3285880c31b612f..1ab4b6862ea6def6b7a40ce76dd467c5124b2151 100644 --- a/res/layout/create_contact_dialog.xml +++ b/res/layout/create_contact_dialog.xml @@ -3,36 +3,37 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:padding="8dp"> + android:padding="8dp" > - + android:textSize="?attr/TextSizeBody" /> + - - + android:textSize="?attr/TextSizeBody" /> + - + android:textColorHint="@color/secondarytext" /> + + \ No newline at end of file diff --git a/res/layout/dialog_clear_history.xml b/res/layout/dialog_clear_history.xml index 7edb4b87a284c7de72afe5e1c9233e8eac18792b..252808c847e64311a326620b40929e7021d7f984 100644 --- a/res/layout/dialog_clear_history.xml +++ b/res/layout/dialog_clear_history.xml @@ -3,16 +3,19 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:padding="8dp"> + android:padding="8dp" > + + android:textSize="?attr/TextSizeBody" /> + - + android:text="@string/also_end_conversation" /> + + \ No newline at end of file diff --git a/res/layout/dialog_verify_otr.xml b/res/layout/dialog_verify_otr.xml index 301f465a071d778cb82ee0632095d96e2fc9cd6a..831f06edc42016b2975fed2bb526c916d22a1456 100644 --- a/res/layout/dialog_verify_otr.xml +++ b/res/layout/dialog_verify_otr.xml @@ -3,55 +3,58 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:paddingLeft="8dp" android:paddingBottom="16dp" - android:paddingRight="8dp"> - - + + + android:textSize="?attr/TextSizeHeadline" /> - + + + android:textSize="?attr/TextSizeHeadline" /> - + + + android:textColor="@color/primarytext" + android:textSize="?attr/TextSizeHeadline" /> - + android:typeface="monospace" /> + + \ No newline at end of file diff --git a/res/layout/fragment_conversation.xml b/res/layout/fragment_conversation.xml index b16e41132d323f87c06aa3cce4b5bed9bbd323c9..0f5f692e4d82d6bdba0892f98a65dc528cd6e366 100644 --- a/res/layout/fragment_conversation.xml +++ b/res/layout/fragment_conversation.xml @@ -5,8 +5,6 @@ android:layout_height="match_parent" android:background="@color/secondarybackground" > - - - + + android:textColor="@color/primarytext" > + @@ -58,46 +57,46 @@ android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="?android:selectableItemBackground" - android:src="@drawable/ic_action_send_now" /> + android:src="@drawable/ic_action_send_now_offline" /> - + - + - - + + \ No newline at end of file diff --git a/res/layout/fragment_conversations_overview.xml b/res/layout/fragment_conversations_overview.xml index b85f111671c3fce7ac8492500f5fb925fba2aba8..bc52ec461376dd59f54f107f1630747614646a7a 100644 --- a/res/layout/fragment_conversations_overview.xml +++ b/res/layout/fragment_conversations_overview.xml @@ -1,30 +1,30 @@ - + + - - - - - - - + android:orientation="vertical" > + + + + + + + \ No newline at end of file diff --git a/res/layout/join_conference_dialog.xml b/res/layout/join_conference_dialog.xml index a36a5ef7851b2fed1915aa3035e695d936a8af87..95c9d24cb6d4112fbeecb95400859ca2077bd683 100644 --- a/res/layout/join_conference_dialog.xml +++ b/res/layout/join_conference_dialog.xml @@ -3,45 +3,45 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:padding="8dp"> + android:padding="8dp" > - + android:textSize="?attr/TextSizeBody" /> + - - + android:textSize="?attr/TextSizeBody" /> + + android:textColorHint="@color/secondarytext" /> + android:layout_marginTop="8dp" + android:checked="true" + android:text="@string/save_as_bookmark" /> - + \ No newline at end of file diff --git a/res/layout/manage_accounts.xml b/res/layout/manage_accounts.xml index 71eb75728a1d93bcdd675ad2784465c5ae282a76..11ce35b2fb56ff223499c879708c00373c894ca1 100644 --- a/res/layout/manage_accounts.xml +++ b/res/layout/manage_accounts.xml @@ -3,14 +3,14 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" - android:background="@color/primarybackground"> + android:background="@color/primarybackground" > + android:dividerHeight="1dp" > \ No newline at end of file diff --git a/res/layout/message_null.xml b/res/layout/message_null.xml index 4c7dd9389139e7a220e97bad7d0da34dfadecd9a..1e1485857b1a92e0d2e7880b746ce7da1e73a057 100644 --- a/res/layout/message_null.xml +++ b/res/layout/message_null.xml @@ -1,5 +1,6 @@ + android:layout_height="wrap_content" > + \ No newline at end of file diff --git a/res/layout/message_status.xml b/res/layout/message_status.xml index 33487984b08e1d0ecca434dac6086311a031d29d..d5f8bb33f2b8186c43bcb7444cbb8487da68aee7 100644 --- a/res/layout/message_status.xml +++ b/res/layout/message_status.xml @@ -3,11 +3,11 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:paddingTop="6dp" android:paddingBottom="6dp" + android:paddingLeft="8dp" android:paddingRight="6dp" - android:paddingLeft="8dp"> - + android:paddingTop="6dp" > + + android:src="@drawable/ic_profile" /> \ No newline at end of file diff --git a/res/layout/quickedit.xml b/res/layout/quickedit.xml index 07a7ac3b35d607c6b0378b2cf8ef5065379e4bba..20a2868acbb89b1dec9f355ca37849a0cdc503ea 100644 --- a/res/layout/quickedit.xml +++ b/res/layout/quickedit.xml @@ -3,16 +3,17 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:padding="16dp"> + android:padding="16dp" > + + android:textColor="@color/primarytext" > - - + + \ No newline at end of file diff --git a/res/menu/attachment_choices.xml b/res/menu/attachment_choices.xml index 6a4f295a22d35f261b23dac42a61163427f60b97..20932489da0d1f864ee5551c3d6a6ccd35e28ca9 100644 --- a/res/menu/attachment_choices.xml +++ b/res/menu/attachment_choices.xml @@ -7,8 +7,9 @@ - + + \ No newline at end of file diff --git a/res/menu/choose_contact.xml b/res/menu/choose_contact.xml index 3f402664aad18fd407d0c172116db5d459c23c73..e39091b3841b4a0e9601d20a767adecba6f643e3 100644 --- a/res/menu/choose_contact.xml +++ b/res/menu/choose_contact.xml @@ -7,4 +7,5 @@ android:icon="@drawable/ic_action_search" android:showAsAction="collapseActionView|always" android:title="@string/search"/> + \ No newline at end of file diff --git a/res/menu/contact_details.xml b/res/menu/contact_details.xml index 43e8ea6a2f87a09e7307e3a6bd14ec5ebb612f9e..02f2e8131235d31a622f4f2d64170dafc1eb670f 100644 --- a/res/menu/contact_details.xml +++ b/res/menu/contact_details.xml @@ -1,27 +1,27 @@ + + android:title="@string/action_edit_contact"/> + android:title="@string/action_delete_contact"/> - + android:title="@string/action_accounts"/> - + + \ No newline at end of file diff --git a/res/menu/encryption_choices.xml b/res/menu/encryption_choices.xml index 0596bfbc1300b33d8353ba4d677c0f6497431be3..adf0ad8dc1ccb83cd267dd886988bae3edd000f1 100644 --- a/res/menu/encryption_choices.xml +++ b/res/menu/encryption_choices.xml @@ -1,17 +1,16 @@ - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/res/menu/manageaccounts.xml b/res/menu/manageaccounts.xml index 1d81ba3c6f00bc597b30effa40a787146c8f376c..b5cd9b50b90380b5050bf089926fa50e2117e970 100644 --- a/res/menu/manageaccounts.xml +++ b/res/menu/manageaccounts.xml @@ -1,12 +1,15 @@ - - + - + + \ No newline at end of file diff --git a/res/menu/muc_details.xml b/res/menu/muc_details.xml index 685109cd100cd5321f7ceaf6dfc0a4c6ec669a4d..97369098447a8ec1214de9ca0bc37da4dd313f13 100644 --- a/res/menu/muc_details.xml +++ b/res/menu/muc_details.xml @@ -1,21 +1,21 @@ + + android:title="@string/action_edit_subject"/> - + android:title="@string/action_accounts"/> - + + \ No newline at end of file diff --git a/res/menu/start_conversation.xml b/res/menu/start_conversation.xml index 271bac187e06f58021a0c22beba637c53137595e..f72301693bf576189d5ae0c873e672c5118b6d51 100644 --- a/res/menu/start_conversation.xml +++ b/res/menu/start_conversation.xml @@ -7,7 +7,6 @@ android:icon="@drawable/ic_action_search" android:showAsAction="collapseActionView|always" android:title="@string/search"/> - - + Mòbil Telèfon @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index b9b2c5328c8cf33054eead50bb6f9a56a8013752..cfbe428bf1e7e8b1d56f8ae7bf8d9656b4dc8e91 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -60,11 +60,11 @@ Missatge xifrat rebut. Prem per desxifrar i veure-ho. Imatge xifrada rebuda. Prem per desxifrar i veure-la. Imatge rebuda. Prem per veure - Recursos XMPP + Recursos XMPP El nom que identifica aquest client amb - Acceptar fitxers - Accepta fitxers automàticament amb una mida menor a… - Ajustos de notificacions + Acceptar fitxers + Accepta fitxers automàticament amb una mida menor a… + Ajustos de notificacions Notificacions Notifica quan arriba un nou missatge Vibra @@ -77,6 +77,7 @@ Desactiva les notificacions durant un breu termini després de rebre una còpia de missatges carbon Opcions avançades Mai enviïs informes d\'errors - Enviant traces d\'execució ajudes al futur desenvolupament del Conversations. - - + Enviant traces d\'execució ajudes al futur desenvolupament del Conversations. + Opcions de UI + + \ No newline at end of file diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml index e095ed1439b26a78498cb4b3213f98d7acd74501..e468f478b0ba2d073c7d57bf390820ca394220e4 100644 --- a/res/values-de/arrays.xml +++ b/res/values-de/arrays.xml @@ -1,5 +1,6 @@ + Mobile Phone @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 4267f483756f2c3385ecb8379e2d024bfb6aa324..e653147d53e977f51bbb48b3afa9ed5abfa1241b 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -1,5 +1,6 @@ + Conversations Einstellungen Neue Unterhaltung @@ -230,4 +231,6 @@ Aktuelle Sitzung wiederhergestellt Zusätzliche Informationen Überspringen - + Benutzeroberfläche + + \ No newline at end of file diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml index 48996a69d250628579aaec6ef2cf8c2c72ca056d..15231955947877277e7f930198ff56ada74f40ef 100644 --- a/res/values-es/arrays.xml +++ b/res/values-es/arrays.xml @@ -1,5 +1,6 @@ + Móvil Teléfono @@ -26,6 +27,7 @@ 8 horas Hasta nuevo aviso + 1800 3600 @@ -33,4 +35,5 @@ 28800 -1 - + + \ No newline at end of file diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 53e45ed1115a75786cabe769dd049374aea4f10b..d6fbc7cb7e8939b801a86a043985345d297bc0f8 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -254,4 +254,5 @@ Por favor, cuidado con estas opciones Incrementar tamaño de fuente Usar fuentes grandes en toda la aplicación - + + \ No newline at end of file diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml index 21b20afbe10124aaa54791e35e33b8957ba3da2f..eed87d35b8e7078bfeb2a45701ad6adde62e5dd5 100644 --- a/res/values-eu/arrays.xml +++ b/res/values-eu/arrays.xml @@ -1,5 +1,6 @@ + Mugikorra Telefonoa @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 8b5d92544d4fb221f679a4bc622129c7753d4786..2ca26c3d73fcc6b424183c135f9c5cf43159fc13 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -230,5 +230,6 @@ Uneko saioa ezarri da Informazio gehiago Orain ez + Erabiltzaile-interfazearen aukerak - + \ No newline at end of file diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml index 978429068995308383865613a1773e944777a45d..ae140796a10c016b88f4f8805d9cfff8b6f622b5 100644 --- a/res/values-fr/arrays.xml +++ b/res/values-fr/arrays.xml @@ -1,5 +1,6 @@ + Mobile Téléphone @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index df9ab3f5bf16d75e6ebe72273ace7c387059a28d..e15ef416fac7894f75a85382a9961e83b6503b34 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -207,5 +207,6 @@ Votre correspondant vous a ajouté dans sa liste de contacts Ajouter également %s a lu les messages précédents. + Options d\'affichage - + \ No newline at end of file diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml index 95c990773d049874fce52f19a1fb7bfccb9c8bac..19424a783e0d36c8345444feda19fefe87bf706d 100644 --- a/res/values-gl/arrays.xml +++ b/res/values-gl/arrays.xml @@ -1,5 +1,6 @@ + Móvil Teléfono @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index ae488614b3b1e45c1bca4fae0eff90e321e7369c..581164630a1e37a4db570459a471cc38219e41c8 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -66,9 +66,9 @@ Imaxe recibida. Pulsa para ver Recurso O nome que identifica o cliente que estás a empregar - Aceptar arquivos + Aceptar arquivos De forma automática aceptar arquivos menores de… - Axustes de notificación + Axustes de notificación Notificacións Notifica cuando chega unha nova mensaxe Tremer @@ -125,4 +125,6 @@ Gardar As contrasinais non coinciden O identificador non é un identificador de Jabber válido - + Opcións de interfaz + + \ No newline at end of file diff --git a/res/values-he/arrays.xml b/res/values-he/arrays.xml index 1895dee53a8292e3b6d81a9dfdc1054b5300dd7b..28768d6c4556cc0c11052819ec6ffabce464b6a9 100644 --- a/res/values-he/arrays.xml +++ b/res/values-he/arrays.xml @@ -1,5 +1,6 @@ + נייד טלפון @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-he/strings.xml b/res/values-he/strings.xml index 65684cd75dc44c8ee052884eaa3beda9e2cbe91e..fd8eaa0ba3a60f8868f7a248734654371463f9c5 100644 --- a/res/values-he/strings.xml +++ b/res/values-he/strings.xml @@ -219,4 +219,6 @@ בפרטי בפרטי אל %s שלח הודעה פרטית אל %s - + אפשרויות ממשק משתמש + + \ No newline at end of file diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml index 1a464a5a1fdd07126292bb9bc3503c7421c6188f..9ced79f49c25e24c9238bb510573606dd7dd9563 100644 --- a/res/values-nl/arrays.xml +++ b/res/values-nl/arrays.xml @@ -1,5 +1,6 @@ + Mobiel Telefoon @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 97b67224e270bdbc42e251824be816990b8f0fc0..7b3faca9908a815718ac13c790d8905463684053 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -153,7 +153,7 @@ Bevestig wachtwoord Wachtwoorden komen niet overeen Dit is geen geldig Jabber ID - Geen geheugen beschikbaar. Afbeelding is te groot + Geen geheugen beschikbaar. Afbeelding is te groot Wilt U %s toevoegen aan de contactenlijst op uw telefoon? online beschikbaar @@ -178,7 +178,6 @@ Onbekende OTR vingerafdruk OpenPGP encrypted messages found Ontvangen mislukt - Aan groepsconversatie deelnemen Contact uitnodigen Uw vingerafdruk @@ -229,4 +228,6 @@ Huidige sessie opgezet (Of houdt lang ingedrukt om de oorspronkelijke terug te zetten) beschikbaar - + UI Opties + + \ No newline at end of file diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml index d73bdef5ae05f1d094b9795258c1e9fe36a20afd..d01d4eb9bc01875fa108a8f12172e6380b39d589 100644 --- a/res/values-ru/arrays.xml +++ b/res/values-ru/arrays.xml @@ -1,5 +1,6 @@ + Мобильный Телефон @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 5009097aa08e5e3a4490d40e124e248109d3722d..9f3992f28641b1e89a11e939e723f6ffd49196cd 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -229,5 +229,6 @@ Сохранить закладку Удалить закладку Такая закладка уже существует + Параметры интерфейса - + \ No newline at end of file diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml index c7cc9f2dd0c9ce9f7cea4063804f850aaf799152..890e2915f857885457bed1268c4a8612e6d1c326 100644 --- a/res/values-sv/arrays.xml +++ b/res/values-sv/arrays.xml @@ -1,5 +1,6 @@ + Mobile Phone @@ -19,4 +20,5 @@ 524288 1048576 - + + \ No newline at end of file diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index abd99dbcf0ab2bb08557baf6845c771adb263952..a3ed9112e6007852a401a05fc2fa1892664b8074 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -17,7 +17,6 @@ Inställningar Konferensdetaljer Kontaktdetaljer - Konversationer Dela med konversation Starta konversation Välj kontakt @@ -65,7 +64,6 @@ Vill du ta bort alla meddelanden i denna konversation?\n\nVarning: Detta kommer inte påverka meddelanden lagrade på andra enheter eller servrar. Ta bort meddelanden Avsluta denna konversation efter - Välj närvaro till kontakt Skicka meddelande i klartext Skicka OTR-krypterat meddelande Skicka OpenPGP-krypterat meddelande @@ -101,7 +99,6 @@ Konferensnotifieringar Notifiera alltid när nytt konferensmeddelande tagits emot istället för endast vid highlight Notifieringsfrist - Deaktivera notifieringar en kort stund efter att en carbon copy tagits emot Avancerade inställningar Skicka aldrig krasch-rapporter Genom att skicka in stack traces hjälper du utvecklarna av Conversations @@ -128,7 +125,6 @@ Generellt I/O-fel. Du kanske fick slut på plats? Applikationen du använde för att välja bilden gav inte tillräckliga rättigheter för att läsa filen.\n\nAnvänd en annan filhanterare för att välja bild Okänd - Tillfälligt deaktiverad Online Ansluter\u2026 Offline @@ -144,7 +140,6 @@ OpenPGP Ändra konto Ta bort - Deaktivera tillfälligt Aktivera Är du säker? Om du tar bort kontot kommer all konversationshistorik att försvinna @@ -208,7 +203,6 @@ Addera tillbaks %s har läst fram hit Nästa - Notera: Alla som kan se dina närvarouppdateringar kommer se denna bild. otillgänglig Publisera OpenPGP publik nyckel Ytterligare information @@ -231,5 +225,36 @@ Generellt Publicera privat meddelande + UI inställningar + Aktivera + Varning: Skicka detta utan gemensamma tillgänglighetsuppdateringar kan ge oväntade problem.\n\nGå till kontaktdetaljer för att verifiera dina tillgänglighetsuppdateringar. + Inaktivera notifieringar + Begär tillgänglighetsuppdateringar från din kontakt först.\n\nDetta används för att se vilken klient/klienter din kontakt använder. + Konferensen kräver lösenord + Spara in krypterade meddelanden + Krypteringsinställningar + Färglägg skickaknappen för att indikera kontaktens status + Saknar tillgänglighetsuppdateringar från kontakt + Expertinställningar + Sänd alltid krypterade meddelanden (utom för konferenser) + Var försiktig med dem + Inaktivera notifieringar för denna konversation + Skickaknappen indikerar status + Fyll i lösenord + Notifieringar är inaktiverade + Tvinga kryptering + Är du säker på att du vill ta bort detta fingeravtryck? + Ignorera + Använd större teckenstorlek för hela applikationen + Öka teckenstorlek + Varning: Detta kan leda till att meddelanden förloras + Ta bort fingeravtryck + Begär nu + Conversations + Notera: Alla som kan se dina tillgänglighetsuppdateringar kommer se denna bild. + Välj tillgänglighet till kontakt + Inaktivera notifieringar en kort stund efter att en carbon copy tagits emot + Tillfälligt inaktiverad + Inaktivera tillfälligt - + \ No newline at end of file diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 1d2a5ac9b34f56d8c264a44206b91f49fb7d87ac..1a4fd25d1763cf0e8f88854ade338e4d5e0fed2b 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1,5 +1,6 @@ + Mobile Phone @@ -26,6 +27,7 @@ 8 hours until further notice + 1800 3600 @@ -33,4 +35,5 @@ 28800 -1 - + + \ No newline at end of file diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 793b5604bd0a209477b4f817ec44bf317d05191b..2354a5e8c9cc455e9167a0e30a64d470684ab5de 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -1,6 +1,8 @@ - - - - + + + + + + \ No newline at end of file diff --git a/res/values/colors.xml b/res/values/colors.xml index ed0a0ffbff6bdfb6f7c0f23e80c0fe8d7f54e008..908b8b89a3ee03d30887608b9f68d53cb5696918 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -1,5 +1,6 @@ + #ff259b24 #ff0a7e07 #de000000 @@ -9,5 +10,8 @@ #ffeeeeee #ff323232 #1f000000 - #ffe51c23 + #ffe51c23 + #ffff9800 + #ff259b24 + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 75ddbbc4544fcbc83623da634cb2cd22e7fdbee6..75eb3b4d53c6eb434621f21da385151406e6dbfe 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -250,8 +250,11 @@ Always send messages encrypted (execpt for conferences) Don’t save encrypted messages Warning: This could lead to message loss - Expert options - Please be very careful with those - Increase font size - Use larger font sizes across the entire app + Expert options + Please be very careful with those + Increase font size + Use larger font sizes across the entire app + Send button indicates status + Colorize send button to indicate a contacs status + \ No newline at end of file diff --git a/res/values/themes.xml b/res/values/themes.xml index e2d4dcbe4efad4bd66349602bcad1c65bb9c8385..fa7973d207129ee08b13228194dbb162c029ad1f 100644 --- a/res/values/themes.xml +++ b/res/values/themes.xml @@ -9,7 +9,7 @@ 14sp 20sp - + - + \ No newline at end of file diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index f0d64e39cc373b0dcc08c528ead73115ba071334..7d0886bcfd17274fb1508f1783fac68c09e08269 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -62,13 +62,17 @@ android:summary="@string/pref_notification_grace_period_summary" android:title="@string/pref_notification_grace_period" /> - - + + android:summary="@string/pref_use_larger_font_summary" + android:title="@string/pref_use_larger_font" /> + 1) { diff --git a/src/eu/siacs/conversations/ui/ConversationActivity.java b/src/eu/siacs/conversations/ui/ConversationActivity.java index 5eedda1c7229cd87ee92365b91de67f532b88276..40ad0f33a1d19907829ef6066d0b881d10c5ee71 100644 --- a/src/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/eu/siacs/conversations/ui/ConversationActivity.java @@ -7,7 +7,9 @@ import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Contact; import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Message; +import eu.siacs.conversations.services.XmppConnectionService.OnAccountUpdate; import eu.siacs.conversations.services.XmppConnectionService.OnConversationUpdate; +import eu.siacs.conversations.services.XmppConnectionService.OnRosterUpdate; import eu.siacs.conversations.ui.adapter.ConversationAdapter; import eu.siacs.conversations.utils.ExceptionHelper; import eu.siacs.conversations.utils.UIHelper; @@ -39,7 +41,8 @@ import android.widget.PopupMenu; import android.widget.PopupMenu.OnMenuItemClickListener; import android.widget.Toast; -public class ConversationActivity extends XmppActivity { +public class ConversationActivity extends XmppActivity implements + OnAccountUpdate, OnConversationUpdate, OnRosterUpdate { public static final String VIEW_CONVERSATION = "viewConversation"; public static final String CONVERSATION = "conversationUuid"; @@ -67,34 +70,6 @@ public class ConversationActivity extends XmppActivity { private boolean paneShouldBeOpen = true; private ArrayAdapter listAdapter; - private OnConversationUpdate onConvChanged = new OnConversationUpdate() { - - @Override - public void onConversationUpdate() { - runOnUiThread(new Runnable() { - - @Override - public void run() { - updateConversationList(); - if (paneShouldBeOpen) { - if (conversationList.size() >= 1) { - swapConversationFragment(); - } else { - startActivity(new Intent(getApplicationContext(), - StartConversationActivity.class)); - finish(); - } - } - ConversationFragment selectedFragment = (ConversationFragment) getFragmentManager() - .findFragmentByTag("conversation"); - if (selectedFragment != null) { - selectedFragment.updateMessages(); - } - } - }); - } - }; - protected ConversationActivity activity = this; private Toast prepareImageToast; @@ -602,7 +577,7 @@ public class ConversationActivity extends XmppActivity { this.onBackendConnected(); } if (conversationList.size() >= 1) { - onConvChanged.onConversationUpdate(); + this.onConversationUpdate(); } } @@ -610,6 +585,8 @@ public class ConversationActivity extends XmppActivity { protected void onStop() { if (xmppConnectionServiceBound) { xmppConnectionService.removeOnConversationListChangedListener(); + xmppConnectionService.removeOnAccountListChangedListener(); + xmppConnectionService.removeOnRosterUpdateListener(); } super.onStop(); } @@ -672,8 +649,9 @@ public class ConversationActivity extends XmppActivity { public void registerListener() { if (xmppConnectionServiceBound) { - xmppConnectionService - .setOnConversationListChangedListener(this.onConvChanged); + xmppConnectionService.setOnConversationListChangedListener(this); + xmppConnectionService.setOnAccountListChangedListener(this); + xmppConnectionService.setOnRosterUpdateListener(this); } } @@ -806,7 +784,65 @@ public class ConversationActivity extends XmppActivity { } public boolean forceEncryption() { - return PreferenceManager.getDefaultSharedPreferences( - getApplicationContext()).getBoolean("force_encryption", false); + return getPreferences().getBoolean("force_encryption", false); + } + + public boolean useSendButtonToIndicateStatus() { + return getPreferences().getBoolean("send_button_status", false); + } + + @Override + public void onAccountUpdate() { + final ConversationFragment fragment = (ConversationFragment) getFragmentManager() + .findFragmentByTag("conversation"); + if (fragment != null) { + runOnUiThread(new Runnable() { + + @Override + public void run() { + fragment.updateMessages(); + } + }); + } + } + + @Override + public void onConversationUpdate() { + runOnUiThread(new Runnable() { + + @Override + public void run() { + updateConversationList(); + if (paneShouldBeOpen) { + if (conversationList.size() >= 1) { + swapConversationFragment(); + } else { + startActivity(new Intent(getApplicationContext(), + StartConversationActivity.class)); + finish(); + } + } + ConversationFragment selectedFragment = (ConversationFragment) getFragmentManager() + .findFragmentByTag("conversation"); + if (selectedFragment != null) { + selectedFragment.updateMessages(); + } + } + }); + } + + @Override + public void onRosterUpdate() { + final ConversationFragment fragment = (ConversationFragment) getFragmentManager() + .findFragmentByTag("conversation"); + if (fragment != null) { + runOnUiThread(new Runnable() { + + @Override + public void run() { + fragment.updateMessages(); + } + }); + } } } diff --git a/src/eu/siacs/conversations/ui/ConversationFragment.java b/src/eu/siacs/conversations/ui/ConversationFragment.java index b73bcadbe317c7aad72d5759fe023029fcf69d32..e09958cb549af51a5a124f74e6e3eb8825c594b3 100644 --- a/src/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/eu/siacs/conversations/ui/ConversationFragment.java @@ -12,6 +12,7 @@ import eu.siacs.conversations.entities.Contact; import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Message; import eu.siacs.conversations.entities.MucOptions; +import eu.siacs.conversations.entities.Presences; import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.ui.EditMessage.OnEnterPressed; import eu.siacs.conversations.ui.XmppActivity.OnPresenceSelected; @@ -61,6 +62,7 @@ public class ConversationFragment extends Fragment { protected String queuedPqpMessage = null; private EditMessage mEditMessage; + private ImageButton mSendButton; private String pastedText = null; private RelativeLayout snackbar; private TextView snackbarMessage; @@ -255,9 +257,8 @@ public class ConversationFragment extends Fragment { } }); - ImageButton sendButton = (ImageButton) view - .findViewById(R.id.textSendButton); - sendButton.setOnClickListener(this.mSendButtonListener); + mSendButton = (ImageButton) view.findViewById(R.id.textSendButton); + mSendButton.setOnClickListener(this.mSendButtonListener); snackbar = (RelativeLayout) view.findViewById(R.id.snackbar); snackbarMessage = (TextView) view.findViewById(R.id.snackbar_message); @@ -485,6 +486,7 @@ public class ConversationFragment extends Fragment { activity.getConversationList(), null, false); activity.updateConversationList(); } + this.updateSendButton(); } } @@ -497,6 +499,55 @@ public class ConversationFragment extends Fragment { updateChatMsgHint(); } + public void updateSendButton() { + Conversation c = this.conversation; + if (activity.useSendButtonToIndicateStatus() && c != null + && c.getAccount().getStatus() == Account.STATUS_ONLINE) { + if (c.getMode() == Conversation.MODE_SINGLE) { + switch (c.getContact().getMostAvailableStatus()) { + case Presences.CHAT: + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_online); + break; + case Presences.ONLINE: + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_online); + break; + case Presences.AWAY: + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_away); + break; + case Presences.XA: + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_away); + break; + case Presences.DND: + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_dnd); + break; + default: + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_offline); + break; + } + } else if (c.getMode() == Conversation.MODE_MULTI) { + if (c.getMucOptions().online()) { + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_online); + } else { + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_offline); + } + } else { + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_offline); + } + } else { + this.mSendButton + .setImageResource(R.drawable.ic_action_send_now_offline); + } + } + protected void updateStatusMessages() { if (conversation.getMode() == Conversation.MODE_SINGLE) { for (int i = this.messageList.size() - 1; i >= 0; --i) { diff --git a/src/eu/siacs/conversations/ui/XmppActivity.java b/src/eu/siacs/conversations/ui/XmppActivity.java index f13c112a9316204eef797ec9fd32e366590c6049..4ee51580499592acf4b65620a3700c50e271f66c 100644 --- a/src/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/eu/siacs/conversations/ui/XmppActivity.java @@ -2,6 +2,7 @@ package eu.siacs.conversations.ui; import java.io.FileNotFoundException; import java.lang.ref.WeakReference; +import java.util.List; import java.util.concurrent.RejectedExecutionException; import eu.siacs.conversations.Config; @@ -24,6 +25,8 @@ import android.content.DialogInterface; import android.content.SharedPreferences; import android.content.DialogInterface.OnClickListener; import android.content.IntentSender.SendIntentException; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.content.Intent; import android.content.ServiceConnection; @@ -55,7 +58,9 @@ public abstract class XmppActivity extends Activity { protected int mPrimaryTextColor; protected int mSecondaryTextColor; - protected int mWarningTextColor; + protected int mColorRed; + protected int mColorOrange; + protected int mColorGreen; protected int mPrimaryColor; private DisplayMetrics metrics; @@ -151,8 +156,20 @@ public abstract class XmppActivity extends Activity { public void onClick(DialogInterface dialog, int which) { Uri uri = Uri .parse("market://details?id=org.sufficientlysecure.keychain"); - Intent intent = new Intent(Intent.ACTION_VIEW, uri); - startActivity(intent); + Intent marketIntent = new Intent(Intent.ACTION_VIEW, + uri); + PackageManager manager = getApplicationContext() + .getPackageManager(); + List infos = manager + .queryIntentActivities(marketIntent, 0); + if (infos.size() > 0) { + startActivity(marketIntent); + } else { + uri = Uri.parse("http://www.openkeychain.org/"); + Intent browserIntent = new Intent( + Intent.ACTION_VIEW, uri); + startActivity(browserIntent); + } finish(); } }); @@ -183,7 +200,9 @@ public abstract class XmppActivity extends Activity { ExceptionHelper.init(getApplicationContext()); mPrimaryTextColor = getResources().getColor(R.color.primarytext); mSecondaryTextColor = getResources().getColor(R.color.secondarytext); - mWarningTextColor = getResources().getColor(R.color.warningtext); + mColorRed = getResources().getColor(R.color.red); + mColorOrange = getResources().getColor(R.color.orange); + mColorGreen = getResources().getColor(R.color.green); mPrimaryColor = getResources().getColor(R.color.primary); if (getPreferences().getBoolean("use_larger_font", false)) { setTheme(R.style.ConversationsTheme_LargerText); @@ -475,7 +494,7 @@ public abstract class XmppActivity extends Activity { } public int getWarningTextColor() { - return this.mWarningTextColor; + return this.mColorRed; } public int getPrimaryColor() { diff --git a/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 967042d802aaeb50b6cda85dfeed04574673d6ac..db01eabee4d8190978cf7a10ec1ba904471319c5 100644 --- a/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -145,7 +145,7 @@ public class MessageAdapter extends ArrayAdapter { break; } if (error) { - viewHolder.time.setTextColor(0xFFe92727); + viewHolder.time.setTextColor(activity.getWarningTextColor()); } else { viewHolder.time.setTextColor(activity.getSecondaryTextColor()); } @@ -191,7 +191,7 @@ public class MessageAdapter extends ArrayAdapter { viewHolder.image.setVisibility(View.GONE); viewHolder.messageBody.setVisibility(View.VISIBLE); viewHolder.messageBody.setText(getContext().getString(r)); - viewHolder.messageBody.setTextColor(0xff33B5E5); + viewHolder.messageBody.setTextColor(activity.getSecondaryTextColor()); viewHolder.messageBody.setTypeface(null, Typeface.ITALIC); viewHolder.messageBody.setTextIsSelectable(false); } @@ -204,7 +204,7 @@ public class MessageAdapter extends ArrayAdapter { viewHolder.messageBody.setVisibility(View.VISIBLE); viewHolder.messageBody.setText(getContext().getString( R.string.decryption_failed)); - viewHolder.messageBody.setTextColor(0xFFe92727); + viewHolder.messageBody.setTextColor(activity.getWarningTextColor()); viewHolder.messageBody.setTypeface(null, Typeface.NORMAL); viewHolder.messageBody.setTextIsSelectable(false); } diff --git a/src/eu/siacs/conversations/xmpp/stanzas/MessagePacket.java b/src/eu/siacs/conversations/xmpp/stanzas/MessagePacket.java index 386d9dc8ba6072b19376a0388d1114251a458789..4e7b532bf147f4fcd60daadbdba97c45f8b1f1a1 100644 --- a/src/eu/siacs/conversations/xmpp/stanzas/MessagePacket.java +++ b/src/eu/siacs/conversations/xmpp/stanzas/MessagePacket.java @@ -4,7 +4,6 @@ import eu.siacs.conversations.xml.Element; public class MessagePacket extends AbstractStanza { public static final int TYPE_CHAT = 0; - public static final int TYPE_UNKNOWN = 1; public static final int TYPE_NORMAL = 2; public static final int TYPE_GROUPCHAT = 3; public static final int TYPE_ERROR = 4; @@ -38,8 +37,6 @@ public class MessagePacket extends AbstractStanza { case TYPE_GROUPCHAT: this.setAttribute("type", "groupchat"); break; - case TYPE_UNKNOWN: - break; case TYPE_NORMAL: break; default: @@ -63,7 +60,7 @@ public class MessagePacket extends AbstractStanza { } else if (type.equals("headline")) { return TYPE_HEADLINE; } else { - return TYPE_UNKNOWN; + return TYPE_NORMAL; } } }