adding a couple monthly widget improvements

This commit is contained in:
tibbi 2017-10-14 10:50:32 +02:00
parent 659af8ae83
commit 0adbc34dcc
4 changed files with 30 additions and 15 deletions

View File

@ -268,7 +268,7 @@ fun Context.addDayNumber(rawTextColor: Int, day: DayMonthly, linearLayout: Linea
if (!day.isThisMonth) if (!day.isThisMonth)
textColor = textColor.adjustAlpha(LOW_ALPHA) textColor = textColor.adjustAlpha(LOW_ALPHA)
(View.inflate(this, R.layout.day_monthly_item_view, null) as TextView).apply { (View.inflate(this, R.layout.day_monthly_number_view, null) as TextView).apply {
setTextColor(textColor) setTextColor(textColor)
text = day.value.toString() text = day.value.toString()
gravity = Gravity.TOP or Gravity.CENTER_HORIZONTAL gravity = Gravity.TOP or Gravity.CENTER_HORIZONTAL
@ -310,7 +310,7 @@ fun Context.addDayEvents(day: DayMonthly, linearLayout: LinearLayout, res: Resou
textColor = textColor.adjustAlpha(0.25f) textColor = textColor.adjustAlpha(0.25f)
} }
(View.inflate(this, R.layout.day_monthly_item_view, null) as TextView).apply { (View.inflate(this, R.layout.day_monthly_event_view, null) as TextView).apply {
setTextColor(textColor) setTextColor(textColor)
text = it.title.replace(" ", "\u00A0") // allow word break by char text = it.title.replace(" ", "\u00A0") // allow word break by char
background = backgroundDrawable background = backgroundDrawable

View File

@ -29,7 +29,6 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
private var mTextColor = 0 private var mTextColor = 0
private var mCalendar: MonthlyCalendarImpl? = null private var mCalendar: MonthlyCalendarImpl? = null
private var mRemoteViews: RemoteViews? = null
private var mSmallerFontSize = 0f private var mSmallerFontSize = 0f
private var mMediumFontSize = 0f private var mMediumFontSize = 0f
@ -42,6 +41,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
companion object { companion object {
private var mTargetDate = DateTime() private var mTargetDate = DateTime()
private var mRemoteViews: RemoteViews? = null
} }
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) { override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) {
@ -112,7 +112,6 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {
if (mCalendar == null || mRemoteViews == null) { if (mCalendar == null || mRemoteViews == null) {
initVariables(context) initVariables(context)
return
} }
val action = intent.action val action = intent.action
@ -178,10 +177,10 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
backgroundColor = backgroundColor.adjustAlpha(0.25f) backgroundColor = backgroundColor.adjustAlpha(0.25f)
} }
val newRemoteView = RemoteViews(packageName, R.layout.day_monthly_item_view).apply { val newRemoteView = RemoteViews(packageName, R.layout.day_monthly_event_view).apply {
setTextViewText(R.id.day_monthly_id, it.title.replace(" ", "\u00A0")) setTextViewText(R.id.day_monthly_event_id, it.title.replace(" ", "\u00A0"))
setTextColor(R.id.day_monthly_id, eventTextColor) setTextColor(R.id.day_monthly_event_id, eventTextColor)
setBackgroundColor(R.id.day_monthly_id, backgroundColor) setBackgroundColor(R.id.day_monthly_event_id, backgroundColor)
} }
mRemoteViews!!.addView(id, newRemoteView) mRemoteViews!!.addView(id, newRemoteView)
} }
@ -189,13 +188,13 @@ class MyWidgetMonthlyProvider : AppWidgetProvider(), MonthlyCalendar {
} }
private fun addDayNumber(day: DayMonthly, packageName: String, textColor: Int, id: Int, primaryColor: Int) { private fun addDayNumber(day: DayMonthly, packageName: String, textColor: Int, id: Int, primaryColor: Int) {
val newRemoteView = RemoteViews(packageName, R.layout.day_monthly_item_view).apply { val newRemoteView = RemoteViews(packageName, R.layout.day_monthly_number_view).apply {
setTextViewText(R.id.day_monthly_id, day.value.toString()) setTextViewText(R.id.day_monthly_number_id, day.value.toString())
setTextColor(R.id.day_monthly_id, textColor) setTextColor(R.id.day_monthly_number_id, textColor)
if (day.isToday) { if (day.isToday) {
setViewPadding(R.id.day_monthly_id, 10, 0, 10, 0) setViewPadding(R.id.day_monthly_number_id, 10, 0, 10, 0)
setBackgroundColor(R.id.day_monthly_id, primaryColor) setBackgroundColor(R.id.day_monthly_number_id, primaryColor)
} }
} }
mRemoteViews!!.addView(id, newRemoteView) mRemoteViews!!.addView(id, newRemoteView)

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/day_monthly_event_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/tiny_margin"
android:layout_marginRight="@dimen/tiny_margin"
android:ellipsize="none"
android:gravity="start"
android:maxLines="1"
android:paddingLeft="@dimen/tiny_margin"
android:paddingRight="@dimen/tiny_margin"
android:textSize="@dimen/day_monthly_text_size"
tools:text="1"/>

View File

@ -2,13 +2,13 @@
<TextView <TextView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/day_monthly_id" android:id="@+id/day_monthly_number_id"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/tiny_margin" android:layout_marginLeft="@dimen/tiny_margin"
android:layout_marginRight="@dimen/tiny_margin" android:layout_marginRight="@dimen/tiny_margin"
android:ellipsize="none" android:ellipsize="none"
android:gravity="start" android:gravity="center_horizontal"
android:maxLines="1" android:maxLines="1"
android:paddingLeft="@dimen/tiny_margin" android:paddingLeft="@dimen/tiny_margin"
android:paddingRight="@dimen/tiny_margin" android:paddingRight="@dimen/tiny_margin"