Merge pull request 'colored send buttons' (#7) from aman9das/monocles_chat:master into master

Reviewed-on: https://codeberg.org/Arne/monocles_chat/pulls/7
This commit is contained in:
Arne-Brün Vogelsang 2021-09-30 10:06:20 +02:00
commit 1d4fe5a316
55 changed files with 91 additions and 32 deletions

View file

@ -28,7 +28,7 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg5" /> inkscape:current-layer="svg5" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 24.75,10.125 v 15.871094 c 0,3.132812 -2.296875,5.925781 -5.414062,6.222656 C 15.75,32.566406 12.75,29.761719 12.75,26.25 V 7.710938 c 0,-1.964844 1.410156,-3.75 3.359375,-3.945313 C 18.359375,3.539062 20.25,5.296875 20.25,7.5 v 15.75 c 0,0.824219 -0.675781,1.5 -1.5,1.5 -0.824219,0 -1.5,-0.675781 -1.5,-1.5 V 10.125 C 17.25,9.511719 16.738281,9 16.125,9 15.511719,9 15,9.511719 15,10.125 v 12.914062 c 0,1.964844 1.410156,3.75 3.359375,3.945313 C 20.609375,27.210938 22.5,25.453125 22.5,23.25 V 7.753906 C 22.5,4.621094 20.203125,1.828125 17.085938,1.53125 13.515625,1.183594 10.5,3.988281 10.5,7.5 v 18.40625 c 0,4.304688 3.148438,8.160156 7.441406,8.5625 C 22.875,34.921875 27,31.078125 27,26.25 V 10.125 C 27,9.511719 26.488281,9 25.875,9 25.261719,9 24.75,9.511719 24.75,10.125 Z m 0,0" d="m 24.75,10.125 v 15.871094 c 0,3.132812 -2.296875,5.925781 -5.414062,6.222656 C 15.75,32.566406 12.75,29.761719 12.75,26.25 V 7.710938 c 0,-1.964844 1.410156,-3.75 3.359375,-3.945313 C 18.359375,3.539062 20.25,5.296875 20.25,7.5 v 15.75 c 0,0.824219 -0.675781,1.5 -1.5,1.5 -0.824219,0 -1.5,-0.675781 -1.5,-1.5 V 10.125 C 17.25,9.511719 16.738281,9 16.125,9 15.511719,9 15,9.511719 15,10.125 v 12.914062 c 0,1.964844 1.410156,3.75 3.359375,3.945313 C 20.609375,27.210938 22.5,25.453125 22.5,23.25 V 7.753906 C 22.5,4.621094 20.203125,1.828125 17.085938,1.53125 13.515625,1.183594 10.5,3.988281 10.5,7.5 v 18.40625 c 0,4.304688 3.148438,8.160156 7.441406,8.5625 C 22.875,34.921875 27,31.078125 27,26.25 V 10.125 C 27,9.511719 26.488281,9 25.875,9 25.261719,9 24.75,9.511719 24.75,10.125 Z m 0,0"
id="path2" /> id="path2" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -5,7 +5,7 @@
viewBox="0 0 36 36" viewBox="0 0 36 36"
version="1.1" version="1.1"
id="svg1551" id="svg1551"
sodipodi:docname="ic_send_cancel_offline_white.png.svg" sodipodi:docname="ic_send_cancel_offline_white.svg"
inkscape:version="1.1 (c68e22c387, 2021-05-23)" inkscape:version="1.1 (c68e22c387, 2021-05-23)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@ -28,7 +28,7 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg1551" /> inkscape:current-layer="svg1551" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 18,3 C 9.703125,3 3,9.703125 3,18 3,26.296875 9.703125,33 18,33 26.296875,33 33,26.296875 33,18 33,9.703125 26.296875,3 18,3 Z m 6.449219,21.449219 c -0.585938,0.585937 -1.527344,0.585937 -2.113281,0 L 18,20.113281 13.664062,24.449219 c -0.585937,0.585937 -1.527343,0.585937 -2.113281,0 -0.585937,-0.585938 -0.585937,-1.527344 0,-2.113281 L 15.886719,18 11.550781,13.664062 c -0.585937,-0.585937 -0.585937,-1.527343 0,-2.113281 0.585938,-0.585937 1.527344,-0.585937 2.113281,0 L 18,15.886719 22.335938,11.550781 c 0.585937,-0.585937 1.527343,-0.585937 2.113281,0 0.585937,0.585938 0.585937,1.527344 0,2.113281 L 20.113281,18 l 4.335938,4.335938 c 0.570312,0.570312 0.570312,1.527343 0,2.113281 z m 0,0" d="M 18,3 C 9.703125,3 3,9.703125 3,18 3,26.296875 9.703125,33 18,33 26.296875,33 33,26.296875 33,18 33,9.703125 26.296875,3 18,3 Z m 6.449219,21.449219 c -0.585938,0.585937 -1.527344,0.585937 -2.113281,0 L 18,20.113281 13.664062,24.449219 c -0.585937,0.585937 -1.527343,0.585937 -2.113281,0 -0.585937,-0.585938 -0.585937,-1.527344 0,-2.113281 L 15.886719,18 11.550781,13.664062 c -0.585937,-0.585937 -0.585937,-1.527343 0,-2.113281 0.585938,-0.585937 1.527344,-0.585937 2.113281,0 L 18,15.886719 22.335938,11.550781 c 0.585937,-0.585937 1.527343,-0.585937 2.113281,0 0.585937,0.585938 0.585937,1.527344 0,2.113281 L 20.113281,18 l 4.335938,4.335938 c 0.570312,0.570312 0.570312,1.527343 0,2.113281 z m 0,0"
id="path1548" /> id="path1548" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -28,7 +28,7 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg1838" /> inkscape:current-layer="svg1838" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 18,3.242188 c -6.300781,0 -12,4.828124 -12,12.300781 0,4.769531 3.675781,10.378906 11.011719,16.84375 0.566406,0.496093 1.421875,0.496093 1.992187,0 C 26.324219,25.921875 30,20.3125 30,15.542969 30,8.070312 24.300781,3.242188 18,3.242188 Z m 0,15 c -1.648438,0 -3,-1.351563 -3,-3 0,-1.648438 1.351562,-3 3,-3 1.648438,0 3,1.351562 3,3 0,1.648437 -1.351562,3 -3,3 z m 0,0" d="m 18,3.242188 c -6.300781,0 -12,4.828124 -12,12.300781 0,4.769531 3.675781,10.378906 11.011719,16.84375 0.566406,0.496093 1.421875,0.496093 1.992187,0 C 26.324219,25.921875 30,20.3125 30,15.542969 30,8.070312 24.300781,3.242188 18,3.242188 Z m 0,15 c -1.648438,0 -3,-1.351563 -3,-3 0,-1.648438 1.351562,-3 3,-3 1.648438,0 3,1.351562 3,3 0,1.648437 -1.351562,3 -3,3 z m 0,0"
id="path1835" /> id="path1835" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -28,11 +28,11 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg2181" /> inkscape:current-layer="svg2181" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 22.5,19.5 c 0,2.484375 -2.015625,4.5 -4.5,4.5 -2.484375,0 -4.5,-2.015625 -4.5,-4.5 0,-2.484375 2.015625,-4.5 4.5,-4.5 2.484375,0 4.5,2.015625 4.5,4.5 z m 0,0" d="m 22.5,19.5 c 0,2.484375 -2.015625,4.5 -4.5,4.5 -2.484375,0 -4.5,-2.015625 -4.5,-4.5 0,-2.484375 2.015625,-4.5 4.5,-4.5 2.484375,0 4.5,2.015625 4.5,4.5 z m 0,0"
id="path2176" /> id="path2176" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 30,7.5 H 25.246094 L 23.386719,5.476562 C 22.828125,4.859375 22.019531,4.5 21.179688,4.5 h -6.359376 c -0.839843,0 -1.648437,0.359375 -2.21875,0.976562 L 10.753906,7.5 H 6 c -1.648438,0 -3,1.351562 -3,3 v 18 c 0,1.648438 1.351562,3 3,3 h 24 c 1.648438,0 3,-1.351562 3,-3 v -18 c 0,-1.648438 -1.351562,-3 -3,-3 z M 18,27 c -4.140625,0 -7.5,-3.359375 -7.5,-7.5 0,-4.140625 3.359375,-7.5 7.5,-7.5 4.140625,0 7.5,3.359375 7.5,7.5 0,4.140625 -3.359375,7.5 -7.5,7.5 z m 0,0" d="M 30,7.5 H 25.246094 L 23.386719,5.476562 C 22.828125,4.859375 22.019531,4.5 21.179688,4.5 h -6.359376 c -0.839843,0 -1.648437,0.359375 -2.21875,0.976562 L 10.753906,7.5 H 6 c -1.648438,0 -3,1.351562 -3,3 v 18 c 0,1.648438 1.351562,3 3,3 h 24 c 1.648438,0 3,-1.351562 3,-3 v -18 c 0,-1.648438 -1.351562,-3 -3,-3 z M 18,27 c -4.140625,0 -7.5,-3.359375 -7.5,-7.5 0,-4.140625 3.359375,-7.5 7.5,-7.5 4.140625,0 7.5,3.359375 7.5,7.5 0,4.140625 -3.359375,7.5 -7.5,7.5 z m 0,0"
id="path2178" /> id="path2178" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -28,7 +28,7 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg2481" /> inkscape:current-layer="svg2481" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 31.5,28.5 v -21 c 0,-1.648438 -1.351562,-3 -3,-3 h -21 c -1.648438,0 -3,1.351562 -3,3 v 21 c 0,1.648438 1.351562,3 3,3 h 21 c 1.648438,0 3,-1.351562 3,-3 z M 13.351562,20.96875 16.5,24.765625 21.148438,18.78125 c 0.300781,-0.390625 0.902343,-0.390625 1.203124,0.01563 l 5.261719,7.019531 c 0.375,0.492188 0.01563,1.199219 -0.597656,1.199219 H 9.03125 c -0.632812,0 -0.976562,-0.71875 -0.585938,-1.214844 L 12.179688,21 c 0.285156,-0.390625 0.855468,-0.40625 1.171874,-0.03125 z m 0,0" d="m 31.5,28.5 v -21 c 0,-1.648438 -1.351562,-3 -3,-3 h -21 c -1.648438,0 -3,1.351562 -3,3 v 21 c 0,1.648438 1.351562,3 3,3 h 21 c 1.648438,0 3,-1.351562 3,-3 z M 13.351562,20.96875 16.5,24.765625 21.148438,18.78125 c 0.300781,-0.390625 0.902343,-0.390625 1.203124,0.01563 l 5.261719,7.019531 c 0.375,0.492188 0.01563,1.199219 -0.597656,1.199219 H 9.03125 c -0.632812,0 -0.976562,-0.71875 -0.585938,-1.214844 L 12.179688,21 c 0.285156,-0.390625 0.855468,-0.40625 1.171874,-0.03125 z m 0,0"
id="path2478" /> id="path2478" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -28,7 +28,7 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg1039" /> inkscape:current-layer="svg1039" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none;stroke-width:0.951123" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.951123"
d="M 4.8658105,31.249153 32.386765,19.449765 c 1.277274,-0.550338 1.277274,-2.349199 0,-2.899537 L 4.8658105,4.750841 C 3.8226351,4.2949645 2.6726773,5.0670791 2.6726773,6.1882876 l -0.016428,7.2693754 c 0,0.788544 0.5831934,1.466196 1.3717359,1.560656 L 26.312524,17.999997 4.0279853,20.965245 c -0.7885425,0.11089 -1.3717359,0.788542 -1.3717359,1.577084 l 0.016428,7.269378 c 0,1.121207 1.1499578,1.893321 2.1931331,1.437446 z m 0,0" d="M 4.8658105,31.249153 32.386765,19.449765 c 1.277274,-0.550338 1.277274,-2.349199 0,-2.899537 L 4.8658105,4.750841 C 3.8226351,4.2949645 2.6726773,5.0670791 2.6726773,6.1882876 l -0.016428,7.2693754 c 0,0.788544 0.5831934,1.466196 1.3717359,1.560656 L 26.312524,17.999997 4.0279853,20.965245 c -0.7885425,0.11089 -1.3717359,0.788542 -1.3717359,1.577084 l 0.016428,7.269378 c 0,1.121207 1.1499578,1.893321 2.1931331,1.437446 z m 0,0"
id="path1036" /> id="path1036" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -28,7 +28,7 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg2768" /> inkscape:current-layer="svg2768" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 25.5,15.75 V 10.5 C 25.5,9.675781 24.824219,9 24,9 H 6 C 5.175781,9 4.5,9.675781 4.5,10.5 v 15 C 4.5,26.324219 5.175781,27 6,27 h 18 c 0.824219,0 1.5,-0.675781 1.5,-1.5 v -5.25 l 3.433594,3.433594 C 29.878906,24.628906 31.5,23.953125 31.5,22.621094 v -9.257813 c 0,-1.332031 -1.621094,-2.007812 -2.566406,-1.0625 z m 0,0" d="M 25.5,15.75 V 10.5 C 25.5,9.675781 24.824219,9 24,9 H 6 C 5.175781,9 4.5,9.675781 4.5,10.5 v 15 C 4.5,26.324219 5.175781,27 6,27 h 18 c 0.824219,0 1.5,-0.675781 1.5,-1.5 v -5.25 l 3.433594,3.433594 C 29.878906,24.628906 31.5,23.953125 31.5,22.621094 v -9.257813 c 0,-1.332031 -1.621094,-2.007812 -2.566406,-1.0625 z m 0,0"
id="path2765" /> id="path2765" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -28,7 +28,7 @@
inkscape:cy="24.040816" inkscape:cy="24.040816"
inkscape:current-layer="svg3055" /> inkscape:current-layer="svg3055" />
<path <path
style="fill:#ffffff;fill-opacity:0.627451;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 18,21.75 c 2.488281,0 4.5,-2.011719 4.5,-4.5 v -9 c 0,-2.488281 -2.011719,-4.5 -4.5,-4.5 -2.492188,0 -4.5,2.011719 -4.5,4.5 v 9 c 0,2.488281 2.007812,4.5 4.5,4.5 z m 8.863281,-4.5 c -0.734375,0 -1.351562,0.539062 -1.46875,1.273438 C 24.777344,22.050781 21.703125,24.75 18,24.75 14.292969,24.75 11.21875,22.050781 10.601562,18.523438 10.484375,17.789062 9.867188,17.25 9.132812,17.25 c -0.914062,0 -1.632812,0.808594 -1.5,1.710938 0.734376,4.5 4.335938,8.023437 8.867188,8.667968 V 30.75 c 0,0.824219 0.671875,1.5 1.5,1.5 0.824219,0 1.5,-0.675781 1.5,-1.5 v -3.121094 c 4.527344,-0.644531 8.128906,-4.167968 8.863281,-8.667968 0.148438,-0.902344 -0.585937,-1.710938 -1.5,-1.710938 z m 0,0" d="m 18,21.75 c 2.488281,0 4.5,-2.011719 4.5,-4.5 v -9 c 0,-2.488281 -2.011719,-4.5 -4.5,-4.5 -2.492188,0 -4.5,2.011719 -4.5,4.5 v 9 c 0,2.488281 2.007812,4.5 4.5,4.5 z m 8.863281,-4.5 c -0.734375,0 -1.351562,0.539062 -1.46875,1.273438 C 24.777344,22.050781 21.703125,24.75 18,24.75 14.292969,24.75 11.21875,22.050781 10.601562,18.523438 10.484375,17.789062 9.867188,17.25 9.132812,17.25 c -0.914062,0 -1.632812,0.808594 -1.5,1.710938 0.734376,4.5 4.335938,8.023437 8.867188,8.667968 V 30.75 c 0,0.824219 0.671875,1.5 1.5,1.5 0.824219,0 1.5,-0.675781 1.5,-1.5 v -3.121094 c 4.527344,-0.644531 8.128906,-4.167968 8.863281,-8.667968 0.148438,-0.902344 -0.585937,-1.710938 -1.5,-1.710938 z m 0,0"
id="path3052" /> id="path3052" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -15,6 +15,7 @@ import android.content.IntentSender.SendIntentException;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
@ -55,10 +56,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.StringRes; import androidx.annotation.StringRes;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.view.menu.MenuBuilder; import androidx.appcompat.view.menu.MenuBuilder;
import androidx.appcompat.view.menu.MenuPopupHelper; import androidx.appcompat.view.menu.MenuPopupHelper;
import androidx.appcompat.widget.PopupMenu; import androidx.appcompat.widget.PopupMenu;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.view.inputmethod.InputConnectionCompat; import androidx.core.view.inputmethod.InputConnectionCompat;
import androidx.core.view.inputmethod.InputContentInfoCompat; import androidx.core.view.inputmethod.InputContentInfoCompat;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
@ -1233,7 +1236,10 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
} else { } else {
binding.recordVoiceButton.setVisibility(View.GONE); binding.recordVoiceButton.setVisibility(View.GONE);
} }
binding.recordVoiceButton.setImageResource(activity.getThemeResource(R.attr.ic_send_voice_offline, R.drawable.ic_send_voice_offline)); Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_voice_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
binding.recordVoiceButton.setImageResource(R.drawable.ic_send_voice_offline_white);
} }
private void quoteMessage(Message message, @Nullable String user) { private void quoteMessage(Message message, @Nullable String user) {

View file

@ -36,6 +36,7 @@ import android.widget.TextView;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.graphics.drawable.DrawableCompat;
import com.google.common.base.Strings; import com.google.common.base.Strings;
@ -1152,7 +1153,9 @@ public class MessageAdapter extends ArrayAdapter<Message> {
viewHolder.status_message.setText(DateUtils.formatDateTime(activity, message.getTimeSent(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR)); viewHolder.status_message.setText(DateUtils.formatDateTime(activity, message.getTimeSent(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR));
} }
viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.date_bubble_dark : R.drawable.date_bubble); viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.date_bubble_dark : R.drawable.date_bubble);
activity.setBubbleColor(viewHolder.message_box, StyledAttributes.getColor(activity, R.attr.colorAccent), -1);
int date_bubble_color = ColorUtils.setAlphaComponent(StyledAttributes.getColor(activity, R.attr.colorAccent), 80);
activity.setBubbleColor(viewHolder.message_box, (date_bubble_color), -1);
return view; return view;
} else if (type == RTP_SESSION) { } else if (type == RTP_SESSION) {
final boolean isDarkTheme = activity.isDarkTheme(); final boolean isDarkTheme = activity.isDarkTheme();
@ -1176,7 +1179,9 @@ public class MessageAdapter extends ArrayAdapter<Message> {
viewHolder.indicatorReceived.setImageResource(RtpSessionStatus.getDrawable(received, rtpSessionStatus.successful, isDarkTheme)); viewHolder.indicatorReceived.setImageResource(RtpSessionStatus.getDrawable(received, rtpSessionStatus.successful, isDarkTheme));
viewHolder.indicatorReceived.setAlpha(isDarkTheme ? 0.7f : 0.57f); viewHolder.indicatorReceived.setAlpha(isDarkTheme ? 0.7f : 0.57f);
viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.date_bubble_dark : R.drawable.date_bubble); viewHolder.message_box.setBackgroundResource(darkBackground ? R.drawable.date_bubble_dark : R.drawable.date_bubble);
activity.setBubbleColor(viewHolder.message_box, StyledAttributes.getColor(activity, R.attr.colorAccent), -1);
int date_bubble_color = ColorUtils.setAlphaComponent(StyledAttributes.getColor(activity, R.attr.colorAccent), 80);
activity.setBubbleColor(viewHolder.message_box, (date_bubble_color), -1);
return view; return view;
} else if (type == STATUS) { } else if (type == STATUS) {
if ("LOAD_MORE".equals(message.getBody())) { if ("LOAD_MORE".equals(message.getBody())) {

View file

@ -30,10 +30,17 @@
package eu.siacs.conversations.ui.util; package eu.siacs.conversations.ui.util;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import eu.siacs.conversations.R; import eu.siacs.conversations.R;
import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Conversation;
import eu.siacs.conversations.entities.Presence; import eu.siacs.conversations.entities.Presence;
@ -99,6 +106,9 @@ public class SendButtonTool {
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_text_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_text_online; return R.drawable.ic_send_text_online;
case AWAY: case AWAY:
return R.drawable.ic_send_text_away; return R.drawable.ic_send_text_away;
@ -106,12 +116,18 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_text_dnd; return R.drawable.ic_send_text_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_text_offline, R.drawable.ic_send_text_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_text_offline_white);
wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_text_offline_white;
} }
case RECORD_VIDEO: case RECORD_VIDEO:
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_videocam_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_videocam_online; return R.drawable.ic_send_videocam_online;
case AWAY: case AWAY:
return R.drawable.ic_send_videocam_away; return R.drawable.ic_send_videocam_away;
@ -119,12 +135,17 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_videocam_dnd; return R.drawable.ic_send_videocam_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_videocam_offline, R.drawable.ic_send_videocam_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_videocam_offline_white);
} wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_videocam_offline_white; }
case TAKE_PHOTO: case TAKE_PHOTO:
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_photo_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_photo_online; return R.drawable.ic_send_photo_online;
case AWAY: case AWAY:
return R.drawable.ic_send_photo_away; return R.drawable.ic_send_photo_away;
@ -132,12 +153,17 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_photo_dnd; return R.drawable.ic_send_photo_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_photo_offline, R.drawable.ic_send_photo_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_photo_offline_white);
} wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_photo_offline_white; }
case RECORD_VOICE: case RECORD_VOICE:
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_voice_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_voice_online; return R.drawable.ic_send_voice_online;
case AWAY: case AWAY:
return R.drawable.ic_send_voice_away; return R.drawable.ic_send_voice_away;
@ -145,12 +171,17 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_voice_dnd; return R.drawable.ic_send_voice_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_voice_offline, R.drawable.ic_send_voice_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_voice_offline_white);
} wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_voice_offline_white; }
case SEND_LOCATION: case SEND_LOCATION:
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_location_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_location_online; return R.drawable.ic_send_location_online;
case AWAY: case AWAY:
return R.drawable.ic_send_location_away; return R.drawable.ic_send_location_away;
@ -158,12 +189,17 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_location_dnd; return R.drawable.ic_send_location_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_location_offline, R.drawable.ic_send_location_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_location_offline_white);
} wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_location_offline_white; }
case CANCEL: case CANCEL:
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_cancel_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_cancel_online; return R.drawable.ic_send_cancel_online;
case AWAY: case AWAY:
return R.drawable.ic_send_cancel_away; return R.drawable.ic_send_cancel_away;
@ -171,12 +207,17 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_cancel_dnd; return R.drawable.ic_send_cancel_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_cancel_offline, R.drawable.ic_send_cancel_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_cancel_offline_white);
} wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_cancel_offline_white; }
case CHOOSE_PICTURE: case CHOOSE_PICTURE:
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_picture_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_picture_online; return R.drawable.ic_send_picture_online;
case AWAY: case AWAY:
return R.drawable.ic_send_picture_away; return R.drawable.ic_send_picture_away;
@ -184,13 +225,18 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_picture_dnd; return R.drawable.ic_send_picture_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_picture_offline, R.drawable.ic_send_picture_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_picture_offline_white);
} wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_picture_offline_white; }
case CHOOSE_ATTACHMENT: case CHOOSE_ATTACHMENT:
switch (status) { switch (status) {
case CHAT: case CHAT:
case ONLINE: case ONLINE:
Drawable unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_attachment_offline_white);
Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_attachment_online; return R.drawable.ic_send_attachment_online;
case AWAY: case AWAY:
return R.drawable.ic_send_attachment_away; return R.drawable.ic_send_attachment_away;
@ -198,8 +244,10 @@ public class SendButtonTool {
case DND: case DND:
return R.drawable.ic_send_attachment_dnd; return R.drawable.ic_send_attachment_dnd;
default: default:
return getThemeResource(activity, R.attr.ic_send_attachment_offline, R.drawable.ic_send_attachment_offline); unwrappedDrawable = AppCompatResources.getDrawable(activity.getBaseContext(), R.drawable.ic_send_attachment_offline_white);
} wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
DrawableCompat.setTint(wrappedDrawable, StyledAttributes.getColor(activity, R.attr.colorAccent));
return R.drawable.ic_send_attachment_offline_white; }
} }
return getThemeResource(activity, R.attr.ic_send_text_offline, R.drawable.ic_send_text_offline); return getThemeResource(activity, R.attr.ic_send_text_offline, R.drawable.ic_send_text_offline);
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 926 B

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 B

After

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 952 B

After

Width:  |  Height:  |  Size: 922 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 882 B

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 631 B

After

Width:  |  Height:  |  Size: 638 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 653 B

After

Width:  |  Height:  |  Size: 714 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 B

After

Width:  |  Height:  |  Size: 428 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 866 B

After

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 B

After

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 718 B

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 649 B

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 444 B

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 B

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 B

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 527 B

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -26,7 +26,7 @@
android:text="01.01.2017" android:text="01.01.2017"
android:textAppearance="@style/TextAppearance.Conversations.Body1" android:textAppearance="@style/TextAppearance.Conversations.Body1"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/white"/> />
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>

View file

@ -28,7 +28,7 @@
<bool name="last_activity">true</bool> <bool name="last_activity">true</bool>
<bool name="dont_trust_system_cas">false</bool> <bool name="dont_trust_system_cas">false</bool>
<bool name="btbv">true</bool> <bool name="btbv">true</bool>
<bool name="send_button_status">true</bool> <bool name="send_button_status">false</bool>
<bool name="display_enter_key">false</bool> <bool name="display_enter_key">false</bool>
<bool name="show_dynamic_tags">true</bool> <bool name="show_dynamic_tags">true</bool>
<bool name="presence_colored_names">false</bool> <bool name="presence_colored_names">false</bool>

View file

@ -548,7 +548,7 @@
<item name="color_bubble_dark">@color/lightmonocles2</item> <item name="color_bubble_dark">@color/lightmonocles2</item>
<item name="color_bubble_date">@color/lightgreen</item> <item name="color_bubble_date">@color/lightgreen</item>
<item name="color_bubble_warning">@color/lightred</item> <item name="color_bubble_warning">@color/lightred</item>
<item name="chat_bg">@drawable/bg_light_orange</item> <item name="chat_bg">@drawable/bg_light_blue</item>
<item name="android:actionModeBackground">@color/accent_monocles</item> <item name="android:actionModeBackground">@color/accent_monocles</item>
</style> </style>
@ -563,7 +563,7 @@
<item name="colorControlActivated">@color/accent_monocles</item> <item name="colorControlActivated">@color/accent_monocles</item>
<item name="color_bubble_light">@color/middlemonocles</item> <item name="color_bubble_light">@color/middlemonocles</item>
<item name="color_bubble_dark">@color/darkmonocles</item> <item name="color_bubble_dark">@color/darkmonocles</item>
<item name="chat_bg">@drawable/bg_dark_orange</item> <item name="chat_bg">@drawable/bg_dark_blue</item>
<item name="android:actionModeBackground">@color/accent_monocles</item> <item name="android:actionModeBackground">@color/accent_monocles</item>
</style> </style>