Detailed changes
@@ -140,7 +140,7 @@
transform="translate(0,-2)">
<g
id="g3759"
- style="fill:#4b9b4a;fill-opacity:1;stroke:none;fill-rule:nonzero;filter:url(#filter3811)">
+ style="fill:#4d8e50;fill-opacity:1;stroke:none;fill-rule:nonzero;filter:url(#filter3811)">
<path
style="display:none"
d="m 8,6 c 2,2 4,6 4,10 L 16,6 z"
@@ -140,7 +140,7 @@
transform="translate(0,-2)">
<g
id="g3759"
- style="fill:#326130;fill-opacity:1;stroke:none;fill-rule:nonzero;filter:url(#filter3811)">
+ style="fill:#295e2d;fill-opacity:1;stroke:none;fill-rule:nonzero;filter:url(#filter3811)">
<path
style="display:none"
d="m 8,6 c 2,2 4,6 4,10 L 16,6 z"
@@ -249,7 +249,7 @@ public class NotificationService {
}
private void setNotificationColor(final Builder mBuilder) {
- mBuilder.setColor(ContextCompat.getColor(mXmppConnectionService, R.color.primary500));
+ mBuilder.setColor(ContextCompat.getColor(mXmppConnectionService, R.color.green600));
}
public void updateNotification(final boolean notify) {
@@ -438,7 +438,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp
TextView keyType = (TextView) view.findViewById(R.id.key_type);
keyType.setText(R.string.openpgp_key_id);
if ("pgp".equals(messageFingerprint)) {
- keyType.setTextColor(ContextCompat.getColor(this, R.color.accent));
+ keyType.setTextAppearance(this, R.style.TextAppearance_Conversations_Caption_Highlight);
}
key.setText(OpenPgpUtils.convertKeyIdToHex(contact.getPgpKeyId()));
final OnClickListener openKey = v -> launchOpenKeyChain(contact.getPgpKeyId());
@@ -405,7 +405,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
body.setSpan(new DividerSpan(false), end, end + 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
int color = darkBackground ? this.getMessageTextColor(darkBackground, false)
- : ContextCompat.getColor(activity, R.color.bubble);
+ : ContextCompat.getColor(activity, R.color.green700_desaturated);
DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
body.setSpan(new QuoteSpan(color, metrics), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return 0;
@@ -1,7 +1,6 @@
package eu.siacs.conversations.ui.forms;
import android.content.Context;
-import android.support.v4.content.ContextCompat;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
@@ -11,6 +10,7 @@ import android.view.View;
import java.util.List;
import eu.siacs.conversations.R;
+import eu.siacs.conversations.ui.util.Color;
import eu.siacs.conversations.xmpp.forms.Field;
public abstract class FormFieldWrapper {
@@ -58,7 +58,7 @@ public abstract class FormFieldWrapper {
int start = label.length();
int end = label.length() + 2;
spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), start, end, 0);
- spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.accent)), start, end, 0);
+ spannableString.setSpan(new ForegroundColorSpan(Color.get(context,R.attr.colorAccent)), start, end, 0);
}
return spannableString;
}
@@ -70,7 +70,7 @@ public class AudioPlayer implements View.OnClickListener, MediaPlayer.OnCompleti
}
viewHolder.progress.setOnSeekBarChangeListener(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- ColorStateList color = ContextCompat.getColorStateList(messageAdapter.getContext(), viewHolder.darkBackground ? R.color.white70 : R.color.bubble);
+ ColorStateList color = ContextCompat.getColorStateList(messageAdapter.getContext(), viewHolder.darkBackground ? R.color.white70 : R.color.green700_desaturated);
viewHolder.progress.setThumbTintList(color);
viewHolder.progress.setProgressTintList(color);
}
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2018, Daniel Gultsch All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * 3. Neither the name of the copyright holder nor the names of its contributors
+ * may be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package eu.siacs.conversations.ui.util;
+
+import java.util.List;
+
+import eu.siacs.conversations.entities.IndividualMessage;
+import eu.siacs.conversations.entities.Message;
+import eu.siacs.conversations.utils.UIHelper;
+
+public class DateSeparator {
+
+ public static void addAll(List<Message> messages) {
+ for (int i = 0; i < messages.size(); ++i) {
+ final Message current = messages.get(i);
+ if (i == 0 || !UIHelper.sameDay(messages.get(i - 1).getTimeSent(), current.getTimeSent())) {
+ messages.add(i, IndividualMessage.createDateSeparator(current));
+ i++;
+ }
+ }
+ }
+}
@@ -8,6 +8,7 @@ import android.graphics.Paint;
import android.graphics.Point;
import android.location.Location;
import android.os.Build;
+import android.support.v4.content.ContextCompat;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapView;
@@ -24,23 +25,11 @@ public class MyLocation extends SimpleLocationOverlay {
private final Paint fill;
private final Paint outline;
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- private int getColor(final Context ctx) {
- final int accent;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- accent = ctx.getResources().getColor(R.color.accent, ctx.getTheme());
- } else {
- //noinspection deprecation
- accent = ctx.getResources().getColor(R.color.accent);
- }
- return accent;
- }
-
public MyLocation(final Context ctx, final Bitmap icon, final Location position) {
super(icon);
this.mapCenterPoint = new Point();
this.fill = new Paint(Paint.ANTI_ALIAS_FLAG);
- final int accent = this.getColor(ctx);
+ final int accent = ContextCompat.getColor(ctx,R.color.blue500);
fill.setColor(accent);
fill.setStyle(Paint.Style.FILL);
this.outline = new Paint(Paint.ANTI_ALIAS_FLAG);
@@ -37,7 +37,7 @@ public class UnreadCountCustomView extends View {
private void initXMLAttrs(Context context, AttributeSet attrs) {
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.UnreadCountCustomView);
- setBackgroundColor(a.getColor(a.getIndex(0), ContextCompat.getColor(context, R.color.unreadcountlight)));
+ setBackgroundColor(a.getColor(a.getIndex(0), ContextCompat.getColor(context, R.color.green700_desaturated)));
a.recycle();
}
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
@@ -23,6 +24,7 @@
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
+ app:backgroundTint="?colorPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
@@ -210,7 +210,7 @@
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/disable"
- android:textColor="@color/accent"/>
+ android:textColor="?colorAccent"/>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
@@ -608,7 +608,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/clear_other_devices"
- android:textColor="@color/accent"/>
+ android:textColor="?colorAccent"/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
@@ -1,5 +1,6 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools">
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
@@ -26,6 +27,7 @@
android:layout_alignParentEnd="true"
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
+ app:backgroundTint="?colorPrimary"
android:contentDescription="@string/action_unfix_from_location"
android:src="?attr/icon_gps_fixed"/>
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools">
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:layout_width="match_parent"
@@ -26,6 +27,7 @@
android:layout_margin="16dp"
android:contentDescription="@string/action_unfix_from_location"
android:src="?attr/icon_directions"
- android:tint="@color/white"/>
+ app:backgroundTint="?colorPrimary"
+ app:tint="@color/white"/>
</RelativeLayout>
</layout>
@@ -18,6 +18,7 @@
app:tabGravity="fill"
app:tabTextColor="@color/white70"
app:tabSelectedTextColor="@color/white"
+ app:tabIndicatorColor="@color/white87"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
<android.support.v4.view.ViewPager
android:id="@+id/start_conversation_view_pager"
@@ -30,6 +31,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
+ app:backgroundTint="?colorPrimary"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:src="?attr/icon_add_person"
@@ -82,7 +82,7 @@
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/disable_encryption"
- android:textColor="@color/accent"/>
+ android:textColor="?colorAccent"/>
</LinearLayout>
</LinearLayout>
@@ -1,4 +1,5 @@
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.CoordinatorLayout
android:background="?attr/color_background_primary"
@@ -16,6 +17,7 @@
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
+ app:backgroundTint="?colorPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
@@ -65,7 +65,7 @@
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/next"
- android:textColor="@color/accent"/>
+ android:textColor="?colorAccent"/>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
@@ -17,7 +17,7 @@
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/load_more_messages"
- android:textColor="@color/accent"/>
+ android:textColor="?colorAccent"/>
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/message_photo"
@@ -49,7 +49,7 @@
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/create_account"
- android:textColor="@color/accent"/>
+ android:textColor="?colorAccent"/>
<Button
android:id="@+id/use_own_provider"
style="@style/Widget.Conversations.Button.Borderless"
@@ -1,10 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <color name="primary500">#ff259b24</color>
- <color name="primary700">#ff0a7e07</color>
- <color name="primary800">#ff026100</color>
- <color name="primary900">#ff024500</color>
- <color name="accent">#ff0091ea</color>
<color name="black">#ff000000</color>
<color name="black87">#de000000</color>
<color name="black54">#8a000000</color>
@@ -25,11 +20,19 @@
<color name="red_a100">#ffff8a80</color>
<color name="red800">#ffc62828</color>
<color name="orange500">#ffff9800</color>
- <color name="green500">#ff259b24</color>
- <color name="bubble">#ff4b9b4a</color>
- <color name="unreadcountlight">#ff4b9b4a</color>
- <color name="unreadcountdark">#ff326130</color>
+ <color name="deep_purple_a100">#ffB388FF</color>
+ <color name="deep_purple_a200">#ff7C4DFF</color>
+ <color name="green500">#ff4CAF50</color>
+ <color name="green600">#ff43A047</color>
+ <color name="green700">#ff388E3C</color>
+ <color name="green800">#ff2E7D32</color>
+ <color name="green900">#ff1B5E20</color>
+
+ <color name="green700_desaturated">#ff4d8e50</color> <!-- desaturated by 15 -->
+ <color name="green900_desaturated">#ff295e2d</color> <!-- desaturated by 15 -->
<!-- scanner -->
<color name="scan_result_dots">#c04CAF50</color>
+
+ <color name="blue500">#ff2196f3</color>
</resources>
@@ -2,9 +2,9 @@
<resources>
<style name="ConversationsTheme" parent="Theme.AppCompat.Light.NoActionBar">
- <item name="colorPrimary">@color/primary500</item>
- <item name="colorPrimaryDark">@color/primary700</item>
- <item name="colorAccent">@color/accent</item>
+ <item name="colorPrimary">@color/green600</item>
+ <item name="colorPrimaryDark">@color/green700</item>
+ <item name="colorAccent">@color/deep_purple_a200</item>
<item name="popupOverlayStyle">@style/ThemeOverlay.AppCompat.Light</item>
<item name="color_background_primary">@color/grey50</item>
@@ -19,7 +19,7 @@
<item name="EmojiColor">@color/black</item>
<item name="windowActionModeOverlay">true</item>
- <item name="android:actionModeBackground">@color/accent</item>
+ <item name="android:actionModeBackground">@color/deep_purple_a200</item>
<item name="TextSizeCaption">12sp</item>
<item name="TextSizeBody1">14sp</item>
@@ -51,9 +51,9 @@
<item type="reference" name="message_bubble_sent">@drawable/message_bubble_sent</item>
<item type="reference" name="message_bubble_received_green">@drawable/message_bubble_received</item>
- <item name="unread_count">@color/unreadcountlight</item>
+ <item name="unread_count">@color/green700_desaturated</item>
- <item name="conversations_overview_background">@color/primary700</item>
+ <item name="conversations_overview_background">@color/green700</item>
<item type="float" name="icon_alpha">0.54</item>
@@ -97,9 +97,9 @@
</style>
<style name="ConversationsTheme.Dark" parent="Theme.AppCompat.NoActionBar">
- <item name="colorPrimary">@color/primary800</item>
- <item name="colorPrimaryDark">@color/primary900</item>
- <item name="colorAccent">@color/accent</item>
+ <item name="colorPrimary">@color/green800</item>
+ <item name="colorPrimaryDark">@color/green900</item>
+ <item name="colorAccent">@color/deep_purple_a100</item>
<item name="popupOverlayStyle">@style/ThemeOverlay.AppCompat.Dark</item>
<item name="color_background_primary">@color/grey800</item>
@@ -114,7 +114,7 @@
<item name="EmojiColor">@color/white</item>
<item name="windowActionModeOverlay">true</item>
- <item name="android:actionModeBackground">@color/accent</item>
+ <item name="android:actionModeBackground">@color/deep_purple_a100</item>
<item name="TextSizeCaption">12sp</item>
<item name="TextSizeBody1">14sp</item>
@@ -146,9 +146,9 @@
<item type="reference" name="message_bubble_sent">@drawable/message_bubble_sent_grey</item>
<item type="reference" name="message_bubble_received_green">@drawable/message_bubble_received_dark</item>
- <item name="unread_count">@color/unreadcountdark</item>
+ <item name="unread_count">@color/green900_desaturated</item>
- <item name="conversations_overview_background">@color/primary900</item>
+ <item name="conversations_overview_background">@color/green900</item>
<item type="float" name="icon_alpha">0.7</item>
@@ -236,8 +236,8 @@
</style>
<style name="ConversationsTheme.FullScreen" parent="@style/Theme.AppCompat.Light">
- <item name="colorPrimary">@color/primary500</item>
- <item name="colorPrimaryDark">@color/primary700</item>
+ <item name="colorPrimary">@color/green600</item>
+ <item name="colorPrimaryDark">@color/green700</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
@@ -251,9 +251,9 @@
</style>
<style name="ConversationsTheme.Dialog" parent="@style/Theme.AppCompat.Light.Dialog">
- <item name="colorPrimary">@color/primary500</item>
- <item name="colorPrimaryDark">@color/primary700</item>
- <item name="colorAccent">@color/accent</item>
+ <item name="colorPrimary">@color/green600</item>
+ <item name="colorPrimaryDark">@color/green700</item>
+ <item name="colorAccent">@color/deep_purple_a200</item>
<item name="color_background_primary">@color/grey50</item>
<item name="divider">@color/black12</item>
<item name="TextSizeBody2">14sp</item>
@@ -262,9 +262,9 @@
</style>
<style name="ConversationsTheme.Dark.Dialog" parent="@style/Theme.AppCompat.Dialog">
- <item name="colorPrimary">@color/primary500</item>
- <item name="colorPrimaryDark">@color/primary700</item>
- <item name="colorAccent">@color/accent</item>
+ <item name="colorPrimary">@color/green800</item>
+ <item name="colorPrimaryDark">@color/green900</item>
+ <item name="colorAccent">@color/deep_purple_a100</item>
<item name="color_background_primary">@color/grey800</item>
<item name="divider">@color/white12</item>
<item name="TextSizeBody2">14sp</item>