create a config variable extension

This commit is contained in:
tibbi 2017-01-10 19:48:02 +01:00
parent b02660a459
commit aa827fe2a3
19 changed files with 47 additions and 54 deletions

View File

@ -2,7 +2,6 @@ package com.simplemobiletools.calendar.activities
import android.app.DatePickerDialog
import android.app.TimePickerDialog
import android.graphics.Color
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
@ -11,6 +10,7 @@ import android.view.WindowManager
import android.widget.AdapterView
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.beVisibleIf
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.getAppropriateTheme
import com.simplemobiletools.calendar.extensions.scheduleNotification
import com.simplemobiletools.calendar.helpers.*

View File

@ -13,6 +13,7 @@ import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.adapters.MyMonthPagerAdapter
import com.simplemobiletools.calendar.adapters.MyYearPagerAdapter
import com.simplemobiletools.calendar.dialogs.ChangeViewDialog
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.updateWidgets
import com.simplemobiletools.calendar.fragments.EventListFragment
import com.simplemobiletools.calendar.helpers.*

View File

@ -10,6 +10,7 @@ import android.view.View
import android.widget.AdapterView
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.beVisibleIf
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.commons.extensions.*
import kotlinx.android.synthetic.main.activity_settings.*

View File

@ -1,14 +1,10 @@
package com.simplemobiletools.calendar.activities
import android.os.Bundle
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.commons.activities.BaseSimpleActivity
open class SimpleActivity : BaseSimpleActivity() {
lateinit var config: Config
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
config = Config.newInstance(applicationContext)
}
}

View File

@ -10,7 +10,7 @@ import android.support.v7.app.AppCompatActivity
import android.widget.SeekBar
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.adapters.EventListWidgetAdapterOld
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.helpers.MyWidgetListProvider
import com.simplemobiletools.calendar.models.ListEvent
@ -61,7 +61,6 @@ class WidgetListConfigureActivity : AppCompatActivity() {
private fun initVariables() {
mRes = resources
val config = Config.newInstance(this)
mTextColorWithoutTransparency = config.widgetTextColor
updateTextColors()
@ -91,7 +90,7 @@ class WidgetListConfigureActivity : AppCompatActivity() {
}
private fun storeWidgetColors() {
Config.newInstance(this).apply {
config.apply {
widgetBgColor = mBgColor
widgetTextColor = mTextColorWithoutTransparency
}

View File

@ -13,8 +13,8 @@ import android.view.View
import android.widget.SeekBar
import android.widget.TextView
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.removeUnderlineFlag
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.helpers.LOW_ALPHA
import com.simplemobiletools.calendar.helpers.MonthlyCalendarImpl
import com.simplemobiletools.calendar.helpers.MyWidgetMonthlyProvider
@ -62,7 +62,6 @@ class WidgetMonthlyConfigureActivity : AppCompatActivity(), MonthlyCalendar {
private fun initVariables() {
mRes = resources
val config = Config.newInstance(this)
mTextColorWithoutTransparency = config.widgetTextColor
updateTextColors()
@ -94,7 +93,7 @@ class WidgetMonthlyConfigureActivity : AppCompatActivity(), MonthlyCalendar {
}
private fun storeWidgetColors() {
Config.newInstance(this).apply {
config.apply {
widgetBgColor = mBgColor
widgetTextColor = mTextColorWithoutTransparency
}
@ -144,7 +143,7 @@ class WidgetMonthlyConfigureActivity : AppCompatActivity(), MonthlyCalendar {
private fun updateDays() {
val len = mDays!!.size
if (Config.newInstance(applicationContext).displayWeekNumbers) {
if (applicationContext.config.displayWeekNumbers) {
week_num.setTextColor(mWeakTextColor)
week_num.visibility = View.VISIBLE

View File

@ -8,7 +8,7 @@ import com.bignerdranch.android.multiselector.MultiSelector
import com.bignerdranch.android.multiselector.SwappingHolder
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.SimpleActivity
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
@ -38,7 +38,7 @@ class DayEventsAdapter(val activity: SimpleActivity, val mItems: List<Event>, va
}
init {
textColor = Config.newInstance(activity).textColor
textColor = activity.config.textColor
}
val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) {

View File

@ -9,7 +9,7 @@ import com.bignerdranch.android.multiselector.MultiSelector
import com.bignerdranch.android.multiselector.SwappingHolder
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.SimpleActivity
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.models.ListEvent
import com.simplemobiletools.calendar.models.ListItem
@ -49,10 +49,9 @@ class EventListAdapter(val activity: SimpleActivity, val mItems: List<ListItem>,
}
init {
val config = Config.newInstance(activity)
textColor = config.textColor
textColor = activity.config.textColor
topDivider = activity.resources.getDrawable(R.drawable.divider)
primaryColor = config.primaryColor
primaryColor = activity.config.primaryColor
val mTodayCode = Formatter.getDayCodeFromTS(mNow)
todayDate = Formatter.getDayTitle(activity, mTodayCode)
}

View File

@ -7,7 +7,7 @@ import android.widget.RemoteViews
import android.widget.RemoteViewsService
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.R.id.event_item_holder
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.DBHelper
import com.simplemobiletools.calendar.helpers.EVENT_ID
import com.simplemobiletools.calendar.helpers.Formatter
@ -24,7 +24,7 @@ class EventListWidgetAdapter(val context: Context, val intent: Intent) : RemoteV
val ITEM_HEADER = 1
var events: List<ListItem> = ArrayList()
val textColor: Int = Config.newInstance(context).widgetTextColor
val textColor: Int = context.config.widgetTextColor
override fun getViewAt(position: Int): RemoteViews {
val type = getItemViewType(position)

View File

@ -5,7 +5,7 @@ import android.support.v7.app.AlertDialog
import android.view.LayoutInflater
import android.widget.RadioGroup
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.EVENTS_LIST_VIEW
import com.simplemobiletools.calendar.helpers.MONTHLY_VIEW
import com.simplemobiletools.calendar.helpers.YEARLY_VIEW
@ -38,7 +38,7 @@ class ChangeViewDialog(val activity: Activity, val callback: (newView: Int) -> U
else -> MONTHLY_VIEW
}
fun getSavedItem() = when (Config.newInstance(activity).storedView) {
fun getSavedItem() = when (activity.config.storedView) {
YEARLY_VIEW -> R.id.dialog_radio_yearly
EVENTS_LIST_VIEW -> R.id.dialog_radio_events_list
else -> R.id.dialog_radio_monthly

View File

@ -95,5 +95,7 @@ private fun getNotificationIntent(context: Context, eventId: Int): PendingIntent
}
fun Context.getAppropriateTheme(): Int {
return if (Config.newInstance(this).backgroundColor.getContrastColor() == Color.WHITE) R.style.MyDialogTheme_Dark else R.style.MyDialogTheme
return if (config.backgroundColor.getContrastColor() == Color.WHITE) R.style.MyDialogTheme_Dark else R.style.MyDialogTheme
}
val Context.config: Config get() = Config.newInstance(this)

View File

@ -15,6 +15,7 @@ import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.EventActivity
import com.simplemobiletools.calendar.activities.SimpleActivity
import com.simplemobiletools.calendar.adapters.DayEventsAdapter
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.getAppropriateTheme
import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.calendar.helpers.Formatter
@ -44,7 +45,7 @@ class DayFragment : Fragment(), DBHelper.EventUpdateListener, DBHelper.GetEvents
mRes = resources
mHolder = view.day_holder
mConfig = Config.newInstance(context)
mConfig = context.config
mDayCode = arguments.getString(DAY_CODE)
val day = Formatter.getDayTitle(activity.applicationContext, mDayCode)

View File

@ -13,10 +13,10 @@ import android.view.ViewGroup
import android.widget.DatePicker
import android.widget.RelativeLayout
import android.widget.TextView
import com.simplemobiletools.calendar.helpers.MonthlyCalendarImpl
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.DayActivity
import com.simplemobiletools.calendar.extensions.beVisibleIf
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.getAppropriateTheme
import com.simplemobiletools.calendar.extensions.removeUnderlineFlag
import com.simplemobiletools.calendar.helpers.*
@ -50,7 +50,7 @@ class MonthFragment : Fragment(), MonthlyCalendar {
mHolder = view.calendar_holder
mDayCode = arguments.getString(DAY_CODE)
mConfig = Config.newInstance(context)
mConfig = context.config
mSundayFirst = mConfig.isSundayFirst
setupButtons()

View File

@ -9,9 +9,9 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.helpers.YearlyCalendarImpl
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.YEAR_LABEL
import com.simplemobiletools.calendar.helpers.YearlyCalendarImpl
import com.simplemobiletools.calendar.interfaces.NavigationListener
import com.simplemobiletools.calendar.interfaces.YearlyCalendar
import com.simplemobiletools.calendar.views.SmallMonthView
@ -41,7 +41,7 @@ class YearFragment : Fragment(), YearlyCalendar {
override fun onResume() {
super.onResume()
val sundayFirst = Config.newInstance(context).isSundayFirst
val sundayFirst = context.config.isSundayFirst
if (sundayFirst != mSundayFirst) {
mSundayFirst = sundayFirst
setupMonths()
@ -75,7 +75,7 @@ class YearFragment : Fragment(), YearlyCalendar {
val now = DateTime()
if (now.year == mYear) {
val monthLabel = mView.findViewById(res.getIdentifier("month_${now.monthOfYear}_label", "id", activity.packageName)) as TextView
monthLabel.setTextColor(Config.newInstance(context).primaryColor)
monthLabel.setTextColor(context.config.primaryColor)
val monthView = mView.findViewById(res.getIdentifier("month_${now.monthOfYear}", "id", activity.packageName)) as SmallMonthView
monthView.setTodaysId(now.dayOfMonth)

View File

@ -1,9 +1,7 @@
package com.simplemobiletools.calendar.helpers
import android.content.Context
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.helpers.DBHelper
import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.interfaces.MonthlyCalendar
import com.simplemobiletools.calendar.models.Day
import com.simplemobiletools.calendar.models.Event
@ -44,7 +42,7 @@ class MonthlyCalendarImpl(val mCallback: MonthlyCalendar, val mContext: Context)
val currMonthDays = mTargetDate.dayOfMonth().maximumValue
var firstDayIndex = mTargetDate.withDayOfMonth(1).dayOfWeek
if (!Config.newInstance(mContext).isSundayFirst)
if (!mContext.config.isSundayFirst)
firstDayIndex -= 1
val prevMonthDays = mTargetDate.minusMonths(1).dayOfMonth().maximumValue

View File

@ -11,6 +11,7 @@ import android.net.Uri
import android.widget.RemoteViews
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.EventActivity
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.services.WidgetService
class MyWidgetListProvider : AppWidgetProvider() {
@ -19,7 +20,6 @@ class MyWidgetListProvider : AppWidgetProvider() {
lateinit var mRemoteViews: RemoteViews
lateinit var mRes: Resources
lateinit var mContext: Context
lateinit var mWidgetManager: AppWidgetManager
lateinit var mIntent: Intent
}
@ -30,18 +30,16 @@ class MyWidgetListProvider : AppWidgetProvider() {
}
private fun initVariables(context: Context) {
mContext = context
mRes = mContext.resources
mRes = context.resources
val config = Config.newInstance(context)
mTextColor = config.widgetTextColor
mTextColor = context.config.widgetTextColor
mWidgetManager = AppWidgetManager.getInstance(mContext)
mWidgetManager = AppWidgetManager.getInstance(context)
mRemoteViews = RemoteViews(mContext.packageName, R.layout.widget_event_list)
mIntent = Intent(mContext, MyWidgetListProvider::class.java)
mRemoteViews = RemoteViews(context.packageName, R.layout.widget_event_list)
mIntent = Intent(context, MyWidgetListProvider::class.java)
mRemoteViews.setInt(R.id.widget_event_list_holder, "setBackgroundColor", config.widgetBgColor)
mRemoteViews.setInt(R.id.widget_event_list_holder, "setBackgroundColor", context.config.widgetBgColor)
mRemoteViews.setInt(R.id.widget_event_list_empty, "setTextColor", mTextColor)
Intent(context, WidgetService::class.java).apply {

View File

@ -13,10 +13,10 @@ import android.text.SpannableString
import android.text.style.UnderlineSpan
import android.view.View
import android.widget.RemoteViews
import com.simplemobiletools.calendar.helpers.MonthlyCalendarImpl
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.DayActivity
import com.simplemobiletools.calendar.activities.MainActivity
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.interfaces.MonthlyCalendar
import com.simplemobiletools.calendar.models.Day
import com.simplemobiletools.commons.extensions.adjustAlpha
@ -49,7 +49,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
mRes = mContext.resources
mCalendar = MonthlyCalendarImpl(this, mContext)
val config = Config.newInstance(context)
val config = context.config
mTextColor = config.widgetTextColor
mWeakTextColor = config.widgetTextColor.adjustAlpha(LOW_ALPHA)
@ -108,7 +108,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
}
fun updateDays(days: List<Day>) {
val displayWeekNumbers = Config.newInstance(mContext).displayWeekNumbers
val displayWeekNumbers = mContext.config.displayWeekNumbers
val len = days.size
val packageName = mContext.packageName
mRemoteViews.setInt(R.id.week_num, "setTextColor", mWeakTextColor)
@ -187,7 +187,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
}
private fun updateLabelColor() {
val mSundayFirst = Config.newInstance(mContext).isSundayFirst
val mSundayFirst = mContext.config.isSundayFirst
val packageName = mContext.packageName
val letters = letterIDs
for (i in 0..6) {

View File

@ -9,9 +9,9 @@ import android.content.Intent
import android.net.Uri
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.EventActivity
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.scheduleNextEvent
import com.simplemobiletools.calendar.extensions.updateListWidget
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.helpers.DBHelper
import com.simplemobiletools.calendar.helpers.EVENT_ID
import com.simplemobiletools.calendar.helpers.Formatter
@ -49,7 +49,7 @@ class NotificationReceiver : BroadcastReceiver() {
}
private fun getNotification(context: Context, pendingIntent: PendingIntent, content: String): Notification {
val soundUri = Uri.parse(Config.newInstance(context).reminderSound)
val soundUri = Uri.parse(context.config.reminderSound)
val builder = Notification.Builder(context)
.setContentTitle(context.resources.getString(R.string.app_name))
.setContentText(content)
@ -59,7 +59,7 @@ class NotificationReceiver : BroadcastReceiver() {
.setAutoCancel(true)
.setSound(soundUri)
if (Config.newInstance(context).vibrateOnReminder)
if (context.config.vibrateOnReminder)
builder.setVibrate(longArrayOf(0, 300, 300, 300))
return builder.build()

View File

@ -6,7 +6,7 @@ import android.graphics.Paint
import android.util.AttributeSet
import android.view.View
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.MEDIUM_ALPHA
import com.simplemobiletools.commons.extensions.adjustAlpha
import java.util.*
@ -55,10 +55,9 @@ class SmallMonthView(context: Context, attrs: AttributeSet, defStyle: Int) : Vie
a.recycle()
}
val config = Config.newInstance(context)
val baseColor = config.textColor
val baseColor = context.config.textColor
mTextColor = baseColor.adjustAlpha(MEDIUM_ALPHA)
mColoredTextColor = config.primaryColor.adjustAlpha(MEDIUM_ALPHA)
mColoredTextColor = context.config.primaryColor.adjustAlpha(MEDIUM_ALPHA)
mPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = mTextColor