use the applyColorFilter extension for coloring elements

This commit is contained in:
tibbi
2017-11-13 20:01:41 +01:00
parent 0f8b30df52
commit 919b67d6e1
10 changed files with 26 additions and 27 deletions

View File

@ -3,7 +3,6 @@ package com.simplemobiletools.calendar.activities
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.DatePickerDialog import android.app.DatePickerDialog
import android.app.TimePickerDialog import android.app.TimePickerDialog
import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.text.method.LinkMovementMethod import android.text.method.LinkMovementMethod
import android.view.Menu import android.view.Menu
@ -732,11 +731,12 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
} }
private fun updateIconColors() { private fun updateIconColors() {
event_time_image.setColorFilter(config.textColor, PorterDuff.Mode.SRC_IN) val textColor = config.textColor
event_repetition_image.setColorFilter(config.textColor, PorterDuff.Mode.SRC_IN) event_time_image.applyColorFilter(textColor)
event_reminder_image.setColorFilter(config.textColor, PorterDuff.Mode.SRC_IN) event_repetition_image.applyColorFilter(textColor)
event_type_image.setColorFilter(config.textColor, PorterDuff.Mode.SRC_IN) event_reminder_image.applyColorFilter(textColor)
event_caldav_calendar_image.setColorFilter(config.textColor, PorterDuff.Mode.SRC_IN) event_type_image.applyColorFilter(textColor)
event_caldav_calendar_image.applyColorFilter(textColor)
} }
override fun eventInserted(event: Event) { override fun eventInserted(event: Event) {

View File

@ -6,7 +6,6 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.res.Resources import android.content.res.Resources
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import android.support.v7.app.AppCompatActivity
import android.widget.LinearLayout import android.widget.LinearLayout
@ -23,6 +22,7 @@ import com.simplemobiletools.calendar.interfaces.MonthlyCalendar
import com.simplemobiletools.calendar.models.DayMonthly import com.simplemobiletools.calendar.models.DayMonthly
import com.simplemobiletools.commons.dialogs.ColorPickerDialog import com.simplemobiletools.commons.dialogs.ColorPickerDialog
import com.simplemobiletools.commons.extensions.adjustAlpha import com.simplemobiletools.commons.extensions.adjustAlpha
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beVisible import com.simplemobiletools.commons.extensions.beVisible
import kotlinx.android.synthetic.main.first_row.* import kotlinx.android.synthetic.main.first_row.*
import kotlinx.android.synthetic.main.top_navigation.* import kotlinx.android.synthetic.main.top_navigation.*
@ -130,8 +130,8 @@ class WidgetMonthlyConfigureActivity : AppCompatActivity(), MonthlyCalendar {
mWeakTextColor = mTextColorWithoutTransparency.adjustAlpha(LOW_ALPHA) mWeakTextColor = mTextColorWithoutTransparency.adjustAlpha(LOW_ALPHA)
mPrimaryColor = config.primaryColor mPrimaryColor = config.primaryColor
top_left_arrow.drawable.mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP) top_left_arrow.applyColorFilter(mTextColor)
top_right_arrow.drawable.mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP) top_right_arrow.applyColorFilter(mTextColor)
top_value.setTextColor(mTextColor) top_value.setTextColor(mTextColor)
config_text_color.setBackgroundColor(mTextColor) config_text_color.setBackgroundColor(mTextColor)
config_save.setTextColor(mTextColor) config_save.setTextColor(mTextColor)

View File

@ -1,6 +1,5 @@
package com.simplemobiletools.calendar.adapters package com.simplemobiletools.calendar.adapters
import android.graphics.PorterDuff
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.R
@ -10,6 +9,7 @@ import com.simplemobiletools.calendar.extensions.shareEvents
import com.simplemobiletools.calendar.helpers.Formatter import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.interfaces.DeleteEventsListener import com.simplemobiletools.calendar.interfaces.DeleteEventsListener
import com.simplemobiletools.calendar.models.Event import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beInvisible import com.simplemobiletools.commons.extensions.beInvisible
import com.simplemobiletools.commons.extensions.beInvisibleIf import com.simplemobiletools.commons.extensions.beInvisibleIf
import kotlinx.android.synthetic.main.event_item_day_view.view.* import kotlinx.android.synthetic.main.event_item_day_view.view.*
@ -55,7 +55,7 @@ class DayEventsAdapter(activity: SimpleActivity, val events: List<Event>, val li
event_item_description.text = if (replaceDescriptionWithLocation) event.location else event.description event_item_description.text = if (replaceDescriptionWithLocation) event.location else event.description
event_item_start.text = if (event.getIsAllDay()) allDayString else Formatter.getTimeFromTS(context, event.startTS) event_item_start.text = if (event.getIsAllDay()) allDayString else Formatter.getTimeFromTS(context, event.startTS)
event_item_end.beInvisibleIf(event.startTS == event.endTS) event_item_end.beInvisibleIf(event.startTS == event.endTS)
event_item_color.setColorFilter(event.color, PorterDuff.Mode.SRC_IN) event_item_color.applyColorFilter(event.color)
if (event.startTS != event.endTS) { if (event.startTS != event.endTS) {
val startCode = Formatter.getDayCodeFromTS(event.startTS) val startCode = Formatter.getDayCodeFromTS(event.startTS)

View File

@ -1,6 +1,5 @@
package com.simplemobiletools.calendar.adapters package com.simplemobiletools.calendar.adapters
import android.graphics.PorterDuff
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.R
@ -12,6 +11,7 @@ import com.simplemobiletools.calendar.interfaces.DeleteEventsListener
import com.simplemobiletools.calendar.models.ListEvent import com.simplemobiletools.calendar.models.ListEvent
import com.simplemobiletools.calendar.models.ListItem import com.simplemobiletools.calendar.models.ListItem
import com.simplemobiletools.calendar.models.ListSection import com.simplemobiletools.calendar.models.ListSection
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beInvisible import com.simplemobiletools.commons.extensions.beInvisible
import com.simplemobiletools.commons.extensions.beInvisibleIf import com.simplemobiletools.commons.extensions.beInvisibleIf
import kotlinx.android.synthetic.main.event_list_item.view.* import kotlinx.android.synthetic.main.event_list_item.view.*
@ -72,7 +72,7 @@ class EventListAdapter(activity: SimpleActivity, val listItems: List<ListItem>,
event_item_description.text = if (replaceDescriptionWithLocation) listEvent.location else listEvent.description event_item_description.text = if (replaceDescriptionWithLocation) listEvent.location else listEvent.description
event_item_start.text = if (listEvent.isAllDay) allDayString else Formatter.getTimeFromTS(context, listEvent.startTS) event_item_start.text = if (listEvent.isAllDay) allDayString else Formatter.getTimeFromTS(context, listEvent.startTS)
event_item_end.beInvisibleIf(listEvent.startTS == listEvent.endTS) event_item_end.beInvisibleIf(listEvent.startTS == listEvent.endTS)
event_item_color.setColorFilter(listEvent.color, PorterDuff.Mode.SRC_IN) event_item_color.applyColorFilter(listEvent.color)
if (listEvent.startTS != listEvent.endTS) { if (listEvent.startTS != listEvent.endTS) {
val startCode = Formatter.getDayCodeFromTS(listEvent.startTS) val startCode = Formatter.getDayCodeFromTS(listEvent.startTS)

View File

@ -1,7 +1,6 @@
package com.simplemobiletools.calendar.adapters package com.simplemobiletools.calendar.adapters
import android.content.Context import android.content.Context
import android.graphics.PorterDuff
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
@ -14,6 +13,7 @@ import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.models.ListEvent import com.simplemobiletools.calendar.models.ListEvent
import com.simplemobiletools.calendar.models.ListItem import com.simplemobiletools.calendar.models.ListItem
import com.simplemobiletools.calendar.models.ListSection import com.simplemobiletools.calendar.models.ListSection
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beInvisibleIf import com.simplemobiletools.commons.extensions.beInvisibleIf
import kotlinx.android.synthetic.main.event_list_item_widget.view.* import kotlinx.android.synthetic.main.event_list_item_widget.view.*
@ -69,7 +69,7 @@ class EventListWidgetAdapterOld(val context: Context, val mEvents: List<ListItem
end?.setTextColor(mTextColor) end?.setTextColor(mTextColor)
title.setTextColor(mTextColor) title.setTextColor(mTextColor)
description?.setTextColor(mTextColor) description?.setTextColor(mTextColor)
color?.setColorFilter(mTextColor, PorterDuff.Mode.SRC_IN) color?.applyColorFilter(mTextColor)
} }
} else { } else {
val item = mEvents[position] as ListSection val item = mEvents[position] as ListSection

View File

@ -11,7 +11,6 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.res.Resources import android.content.res.Resources
import android.graphics.Color import android.graphics.Color
import android.graphics.PorterDuff
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.support.v4.app.NotificationCompat import android.support.v4.app.NotificationCompat
@ -298,7 +297,7 @@ fun Context.addDayEvents(day: DayMonthly, linearLayout: LinearLayout, res: Resou
val eventLayoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) val eventLayoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
day.dayEvents.sortedWith(compareBy({ it.startTS }, { it.endTS }, { it.title })).forEach { day.dayEvents.sortedWith(compareBy({ it.startTS }, { it.endTS }, { it.title })).forEach {
backgroundDrawable.mutate().setColorFilter(it.color, PorterDuff.Mode.SRC_IN) backgroundDrawable.applyColorFilter(it.color)
eventLayoutParams.setMargins(dividerMargin, 0, dividerMargin, dividerMargin) eventLayoutParams.setMargins(dividerMargin, 0, dividerMargin, dividerMargin)
var textColor = it.color.getContrastColor() var textColor = it.color.getContrastColor()

View File

@ -2,14 +2,14 @@ package com.simplemobiletools.calendar.extensions
import android.content.res.Resources import android.content.res.Resources
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.PorterDuff
import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.BitmapDrawable
import android.widget.TextView import android.widget.TextView
import com.simplemobiletools.commons.extensions.applyColorFilter
fun TextView.addResizedBackgroundDrawable(res: Resources, drawableHeight: Int, primaryColor: Int, drawableId: Int) { fun TextView.addResizedBackgroundDrawable(res: Resources, drawableHeight: Int, primaryColor: Int, drawableId: Int) {
val baseDrawable = res.getDrawable(drawableId) val baseDrawable = res.getDrawable(drawableId)
val bitmap = (baseDrawable as BitmapDrawable).bitmap val bitmap = (baseDrawable as BitmapDrawable).bitmap
val scaledDrawable = BitmapDrawable(res, Bitmap.createScaledBitmap(bitmap, drawableHeight, drawableHeight, true)) val scaledDrawable = BitmapDrawable(res, Bitmap.createScaledBitmap(bitmap, drawableHeight, drawableHeight, true))
scaledDrawable.mutate().setColorFilter(primaryColor, PorterDuff.Mode.SRC_IN) scaledDrawable.applyColorFilter(primaryColor)
background = scaledDrawable background = scaledDrawable
} }

View File

@ -2,7 +2,6 @@ package com.simplemobiletools.calendar.fragments
import android.content.Intent import android.content.Intent
import android.content.res.Resources import android.content.res.Resources
import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.support.v4.app.Fragment import android.support.v4.app.Fragment
import android.support.v7.app.AlertDialog import android.support.v7.app.AlertDialog
@ -26,6 +25,7 @@ import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.interfaces.DeleteEventsListener import com.simplemobiletools.calendar.interfaces.DeleteEventsListener
import com.simplemobiletools.calendar.interfaces.NavigationListener import com.simplemobiletools.calendar.interfaces.NavigationListener
import com.simplemobiletools.calendar.models.Event import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.extensions.setupDialogStuff
import kotlinx.android.synthetic.main.fragment_day.view.* import kotlinx.android.synthetic.main.fragment_day.view.*
import kotlinx.android.synthetic.main.top_navigation.view.* import kotlinx.android.synthetic.main.top_navigation.view.*
@ -67,8 +67,8 @@ class DayFragment : Fragment(), DBHelper.EventUpdateListener, DeleteEventsListen
mTextColor = context!!.config.textColor mTextColor = context!!.config.textColor
mHolder.apply { mHolder.apply {
top_left_arrow.drawable.mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP) top_left_arrow.applyColorFilter(mTextColor)
top_right_arrow.drawable.mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP) top_right_arrow.applyColorFilter(mTextColor)
top_left_arrow.background = null top_left_arrow.background = null
top_right_arrow.background = null top_right_arrow.background = null

View File

@ -3,7 +3,6 @@ package com.simplemobiletools.calendar.fragments
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.res.Resources import android.content.res.Resources
import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.support.v4.app.Fragment import android.support.v4.app.Fragment
import android.support.v7.app.AlertDialog import android.support.v7.app.AlertDialog
@ -24,6 +23,7 @@ import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.calendar.interfaces.MonthlyCalendar import com.simplemobiletools.calendar.interfaces.MonthlyCalendar
import com.simplemobiletools.calendar.interfaces.NavigationListener import com.simplemobiletools.calendar.interfaces.NavigationListener
import com.simplemobiletools.calendar.models.DayMonthly import com.simplemobiletools.calendar.models.DayMonthly
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beGone import com.simplemobiletools.commons.extensions.beGone
import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.extensions.setupDialogStuff
@ -106,7 +106,7 @@ class MonthFragment : Fragment(), MonthlyCalendar {
mPrimaryColor = mConfig.primaryColor mPrimaryColor = mConfig.primaryColor
mHolder.top_left_arrow.apply { mHolder.top_left_arrow.apply {
drawable.mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP) applyColorFilter(mTextColor)
background = null background = null
setOnClickListener { setOnClickListener {
listener?.goLeft() listener?.goLeft()
@ -114,7 +114,7 @@ class MonthFragment : Fragment(), MonthlyCalendar {
} }
mHolder.top_right_arrow.apply { mHolder.top_right_arrow.apply {
drawable.mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP) applyColorFilter(mTextColor)
background = null background = null
setOnClickListener { setOnClickListener {
listener?.goRight() listener?.goRight()

View File

@ -2,7 +2,6 @@ package com.simplemobiletools.calendar.fragments
import android.content.Intent import android.content.Intent
import android.content.res.Resources import android.content.res.Resources
import android.graphics.PorterDuff
import android.graphics.Rect import android.graphics.Rect
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.os.Bundle import android.os.Bundle
@ -22,6 +21,7 @@ import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.interfaces.WeeklyCalendar import com.simplemobiletools.calendar.interfaces.WeeklyCalendar
import com.simplemobiletools.calendar.models.Event import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.calendar.views.MyScrollView import com.simplemobiletools.calendar.views.MyScrollView
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beGone import com.simplemobiletools.commons.extensions.beGone
import com.simplemobiletools.commons.extensions.getContrastColor import com.simplemobiletools.commons.extensions.getContrastColor
import kotlinx.android.synthetic.main.fragment_week.* import kotlinx.android.synthetic.main.fragment_week.*
@ -306,7 +306,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
val minutes = DateTime().minuteOfDay val minutes = DateTime().minuteOfDay
val todayColumn = getColumnWithId(todayColumnIndex) val todayColumn = getColumnWithId(todayColumnIndex)
(inflater.inflate(R.layout.week_now_marker, null, false) as ImageView).apply { (inflater.inflate(R.layout.week_now_marker, null, false) as ImageView).apply {
setColorFilter(primaryColor, PorterDuff.Mode.SRC_IN) applyColorFilter(primaryColor)
mView.week_events_holder.addView(this, 0) mView.week_events_holder.addView(this, 0)
val extraWidth = (todayColumn.width * 0.3).toInt() val extraWidth = (todayColumn.width * 0.3).toInt()
val markerHeight = resources.getDimension(R.dimen.weekly_view_now_height).toInt() val markerHeight = resources.getDimension(R.dimen.weekly_view_now_height).toInt()