Update align support
BIN
.idea/caches/build_file_checksums.ser
generated
@ -83,7 +83,7 @@ object Constants {
|
|||||||
|
|
||||||
enum class WidgetAlign(val rawValue: Int) {
|
enum class WidgetAlign(val rawValue: Int) {
|
||||||
LEFT(0),
|
LEFT(0),
|
||||||
RIGHT(1),
|
// RIGHT(1),
|
||||||
CENTER(2)
|
CENTER(2)
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,9 +9,11 @@ import android.provider.Settings
|
|||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
|
import android.view.Gravity
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.LinearLayout
|
||||||
import android.widget.RelativeLayout
|
import android.widget.RelativeLayout
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
@ -42,7 +44,8 @@ class MainFragment : Fragment() {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance() = MainFragment()
|
fun newInstance() = MainFragment()
|
||||||
private var PREVIEW_BASE_HEIGHT: Int = if (Preferences.widgetAlign == Constants.WidgetAlign.CENTER.rawValue) 120 else 200
|
private val PREVIEW_BASE_HEIGHT: Int
|
||||||
|
get() = if (Preferences.widgetAlign == Constants.WidgetAlign.CENTER.rawValue) 120 else 200
|
||||||
}
|
}
|
||||||
|
|
||||||
private lateinit var viewModel: MainViewModel
|
private lateinit var viewModel: MainViewModel
|
||||||
@ -154,6 +157,10 @@ class MainFragment : Fragment() {
|
|||||||
|
|
||||||
viewModel.widgetAlign.observe(viewLifecycleOwner) {
|
viewModel.widgetAlign.observe(viewLifecycleOwner) {
|
||||||
updatePreviewVisibility()
|
updatePreviewVisibility()
|
||||||
|
lifecycleScope.launch {
|
||||||
|
delay(350)
|
||||||
|
updateClock()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
viewModel.showPreview.observe(viewLifecycleOwner) {
|
viewModel.showPreview.observe(viewLifecycleOwner) {
|
||||||
@ -252,6 +259,10 @@ class MainFragment : Fragment() {
|
|||||||
binding.widgetDetail.clockBottomMarginLarge.isVisible =
|
binding.widgetDetail.clockBottomMarginLarge.isVisible =
|
||||||
Preferences.showClock && Preferences.clockBottomMargin == Constants.ClockBottomMargin.LARGE.rawValue
|
Preferences.showClock && Preferences.clockBottomMargin == Constants.ClockBottomMargin.LARGE.rawValue
|
||||||
|
|
||||||
|
// Align
|
||||||
|
binding.widgetDetail.timeContainer.layoutParams = (binding.widgetDetail.timeContainer.layoutParams as LinearLayout.LayoutParams).apply {
|
||||||
|
gravity = if (Preferences.widgetAlign == Constants.WidgetAlign.CENTER.rawValue) Gravity.CENTER_HORIZONTAL else Gravity.NO_GRAVITY
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateClockVisibility(showClock: Boolean) {
|
private fun updateClockVisibility(showClock: Boolean) {
|
||||||
@ -261,7 +272,7 @@ class MainFragment : Fragment() {
|
|||||||
updatePreviewVisibility()
|
updatePreviewVisibility()
|
||||||
|
|
||||||
if (showClock) {
|
if (showClock) {
|
||||||
binding.widgetDetail.timeContainer.layoutParams = binding.widgetDetail.timeContainer.layoutParams.apply {
|
binding.widgetDetail.timeContainer.layoutParams = (binding.widgetDetail.timeContainer.layoutParams as LinearLayout.LayoutParams).apply {
|
||||||
height = RelativeLayout.LayoutParams.WRAP_CONTENT
|
height = RelativeLayout.LayoutParams.WRAP_CONTENT
|
||||||
}
|
}
|
||||||
binding.widgetDetail.timeContainer.measure(0, 0)
|
binding.widgetDetail.timeContainer.measure(0, 0)
|
||||||
|
@ -6,6 +6,7 @@ import android.util.Log
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
@ -98,9 +99,14 @@ class LayoutFragment : Fragment() {
|
|||||||
|
|
||||||
viewModel.widgetAlign.observe(viewLifecycleOwner) {
|
viewModel.widgetAlign.observe(viewLifecycleOwner) {
|
||||||
maintainScrollPosition {
|
maintainScrollPosition {
|
||||||
|
binding.widgetAlignIcon.setImageDrawable(when (it) {
|
||||||
|
Constants.WidgetAlign.LEFT.rawValue -> ContextCompat.getDrawable(requireContext(), R.drawable.round_align_horizontal_left_24)
|
||||||
|
Constants.WidgetAlign.CENTER.rawValue -> ContextCompat.getDrawable(requireContext(), R.drawable.round_align_horizontal_center_24)
|
||||||
|
else -> ContextCompat.getDrawable(requireContext(), R.drawable.round_align_horizontal_center_24)
|
||||||
|
})
|
||||||
|
|
||||||
binding.widgetAlignLabel.text = when (it) {
|
binding.widgetAlignLabel.text = when (it) {
|
||||||
Constants.WidgetAlign.LEFT.rawValue -> getString(R.string.settings_widget_align_left_subtitle)
|
Constants.WidgetAlign.LEFT.rawValue -> getString(R.string.settings_widget_align_left_subtitle)
|
||||||
Constants.WidgetAlign.RIGHT.rawValue -> getString(R.string.settings_widget_align_right_subtitle)
|
|
||||||
Constants.WidgetAlign.CENTER.rawValue -> getString(R.string.settings_widget_align_center_subtitle)
|
Constants.WidgetAlign.CENTER.rawValue -> getString(R.string.settings_widget_align_center_subtitle)
|
||||||
else -> getString(R.string.settings_widget_align_center_subtitle)
|
else -> getString(R.string.settings_widget_align_center_subtitle)
|
||||||
}
|
}
|
||||||
@ -204,10 +210,6 @@ class LayoutFragment : Fragment() {
|
|||||||
getString(R.string.settings_widget_align_left_subtitle),
|
getString(R.string.settings_widget_align_left_subtitle),
|
||||||
Constants.WidgetAlign.LEFT.rawValue
|
Constants.WidgetAlign.LEFT.rawValue
|
||||||
)
|
)
|
||||||
.addItem(
|
|
||||||
getString(R.string.settings_widget_align_right_subtitle),
|
|
||||||
Constants.WidgetAlign.RIGHT.rawValue
|
|
||||||
)
|
|
||||||
.addOnSelectItemListener { value ->
|
.addOnSelectItemListener { value ->
|
||||||
Preferences.widgetAlign = value
|
Preferences.widgetAlign = value
|
||||||
}.show()
|
}.show()
|
||||||
|
@ -132,6 +132,7 @@ class MainViewModel(context: Application) : AndroidViewModel(context) {
|
|||||||
addSource(Preferences.asLiveData(Preferences::customFontName)) { value = true }
|
addSource(Preferences.asLiveData(Preferences::customFontName)) { value = true }
|
||||||
addSource(Preferences.asLiveData(Preferences::customFontVariant)) { value = true }
|
addSource(Preferences.asLiveData(Preferences::customFontVariant)) { value = true }
|
||||||
addSource(Preferences.asLiveData(Preferences::secondRowInformation)) { value = true }
|
addSource(Preferences.asLiveData(Preferences::secondRowInformation)) { value = true }
|
||||||
|
addSource(Preferences.asLiveData(Preferences::widgetAlign)) { value = true }
|
||||||
addSource(Preferences.asLiveData(Preferences::showDividers)) { value = true }
|
addSource(Preferences.asLiveData(Preferences::showDividers)) { value = true }
|
||||||
addSource(Preferences.asLiveData(Preferences::secondRowTopMargin)) { value = true }
|
addSource(Preferences.asLiveData(Preferences::secondRowTopMargin)) { value = true }
|
||||||
addSource(Preferences.asLiveData(Preferences::isDateCapitalize)) { value = true }
|
addSource(Preferences.asLiveData(Preferences::isDateCapitalize)) { value = true }
|
||||||
|
@ -7,6 +7,7 @@ import android.content.Intent
|
|||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.graphics.Typeface
|
import android.graphics.Typeface
|
||||||
import android.text.format.DateUtils
|
import android.text.format.DateUtils
|
||||||
|
import android.util.Log
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@ -16,6 +17,7 @@ import android.widget.RemoteViews
|
|||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import androidx.core.view.updateMargins
|
||||||
import com.tommasoberlose.anotherwidget.R
|
import com.tommasoberlose.anotherwidget.R
|
||||||
import com.tommasoberlose.anotherwidget.databinding.LeftAlignedWidgetBinding
|
import com.tommasoberlose.anotherwidget.databinding.LeftAlignedWidgetBinding
|
||||||
import com.tommasoberlose.anotherwidget.db.EventRepository
|
import com.tommasoberlose.anotherwidget.db.EventRepository
|
||||||
@ -127,7 +129,7 @@ class LeftAlignedWidget(val context: Context) {
|
|||||||
PendingIntent.FLAG_UPDATE_CURRENT
|
PendingIntent.FLAG_UPDATE_CURRENT
|
||||||
)
|
)
|
||||||
views.setOnClickPendingIntent(R.id.date_rect, calPIntent)
|
views.setOnClickPendingIntent(R.id.date_rect, calPIntent)
|
||||||
views.setViewVisibility(R.id.date_layout, View.VISIBLE)
|
views.setViewVisibility(R.id.first_line_rect, View.VISIBLE)
|
||||||
|
|
||||||
val nextEvent = eventRepository.getNextEvent()
|
val nextEvent = eventRepository.getNextEvent()
|
||||||
val nextAlarm = AlarmHelper.getNextAlarm(context)
|
val nextAlarm = AlarmHelper.getNextAlarm(context)
|
||||||
@ -184,7 +186,7 @@ class LeftAlignedWidget(val context: Context) {
|
|||||||
views.setViewVisibility(R.id.next_event_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.next_event_rect, View.VISIBLE)
|
||||||
|
|
||||||
// Event time difference
|
// Event time difference
|
||||||
if (Preferences.showDiffTime && Calendar.getInstance().timeInMillis < (nextEvent.startDate - 1000 * 60 * 60)) {
|
if (Preferences.showDiffTime && Calendar.getInstance().timeInMillis < nextEvent.startDate) {
|
||||||
views.setImageViewBitmap(
|
views.setImageViewBitmap(
|
||||||
R.id.next_event_difference_time_rect,
|
R.id.next_event_difference_time_rect,
|
||||||
BitmapHelper.getBitmapFromView(
|
BitmapHelper.getBitmapFromView(
|
||||||
@ -192,8 +194,9 @@ class LeftAlignedWidget(val context: Context) {
|
|||||||
draw = false
|
draw = false
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
views.setViewVisibility(R.id.next_event_difference_time_rect, View.VISIBLE)
|
|
||||||
views.setOnClickPendingIntent(R.id.next_event_difference_time_rect, eventIntent)
|
views.setOnClickPendingIntent(R.id.next_event_difference_time_rect, eventIntent)
|
||||||
|
views.setViewVisibility(R.id.next_event_difference_time_rect, View.VISIBLE)
|
||||||
} else {
|
} else {
|
||||||
views.setViewVisibility(R.id.next_event_difference_time_rect, View.GONE)
|
views.setViewVisibility(R.id.next_event_difference_time_rect, View.GONE)
|
||||||
}
|
}
|
||||||
@ -227,12 +230,14 @@ class LeftAlignedWidget(val context: Context) {
|
|||||||
)
|
)
|
||||||
views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
|
||||||
|
|
||||||
// Second row
|
views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
|
||||||
views.setImageViewBitmap(
|
|
||||||
R.id.sub_line_rect,
|
|
||||||
BitmapHelper.getBitmapFromView(bindingView.subLine, draw = false)
|
|
||||||
)
|
|
||||||
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
||||||
|
views.setViewVisibility(R.id.weather_sub_line_rect, View.VISIBLE)
|
||||||
|
views.setViewVisibility(R.id.first_line_rect, View.GONE)
|
||||||
|
|
||||||
|
views.setViewVisibility(R.id.sub_line_top_margin_small_sans, View.GONE)
|
||||||
|
views.setViewVisibility(R.id.sub_line_top_margin_medium_sans, View.GONE)
|
||||||
|
views.setViewVisibility(R.id.sub_line_top_margin_large_sans, View.GONE)
|
||||||
} else if (GlanceProviderHelper.showGlanceProviders(context) && bindingView.calendarLayout.isVisible) {
|
} else if (GlanceProviderHelper.showGlanceProviders(context) && bindingView.calendarLayout.isVisible) {
|
||||||
var showSomething = false
|
var showSomething = false
|
||||||
loop@ for (provider: Constants.GlanceProviderId in GlanceProviderHelper.getGlanceProviders(context)) {
|
loop@ for (provider: Constants.GlanceProviderId in GlanceProviderHelper.getGlanceProviders(context)) {
|
||||||
@ -354,15 +359,11 @@ class LeftAlignedWidget(val context: Context) {
|
|||||||
|
|
||||||
|
|
||||||
if (showSomething) {
|
if (showSomething) {
|
||||||
views.setImageViewBitmap(
|
|
||||||
R.id.sub_line_rect,
|
|
||||||
BitmapHelper.getBitmapFromView(bindingView.subLine, draw = false)
|
|
||||||
)
|
|
||||||
|
|
||||||
views.setViewVisibility(R.id.first_line_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.first_line_rect, View.VISIBLE)
|
||||||
views.setViewVisibility(R.id.calendar_layout_rect, View.GONE)
|
views.setViewVisibility(R.id.weather_rect, View.VISIBLE)
|
||||||
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
||||||
|
|
||||||
|
views.setViewVisibility(R.id.calendar_layout_rect, View.GONE)
|
||||||
views.setViewVisibility(R.id.weather_sub_line_rect, View.GONE)
|
views.setViewVisibility(R.id.weather_sub_line_rect, View.GONE)
|
||||||
} else {
|
} else {
|
||||||
// Spacing
|
// Spacing
|
||||||
@ -371,6 +372,12 @@ class LeftAlignedWidget(val context: Context) {
|
|||||||
views.setViewVisibility(R.id.sub_line_top_margin_large_sans, View.GONE)
|
views.setViewVisibility(R.id.sub_line_top_margin_large_sans, View.GONE)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Second row
|
||||||
|
views.setImageViewBitmap(
|
||||||
|
R.id.sub_line_rect,
|
||||||
|
BitmapHelper.getBitmapFromView(bindingView.subLine, draw = false)
|
||||||
|
)
|
||||||
} catch (ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
ex.printStackTrace()
|
ex.printStackTrace()
|
||||||
CrashlyticsReceiver.sendCrash(context, ex)
|
CrashlyticsReceiver.sendCrash(context, ex)
|
||||||
@ -542,12 +549,9 @@ class LeftAlignedWidget(val context: Context) {
|
|||||||
bindingView.subLine.isVisible = true
|
bindingView.subLine.isVisible = true
|
||||||
bindingView.weatherSubLine.isVisible = true
|
bindingView.weatherSubLine.isVisible = true
|
||||||
|
|
||||||
bindingView.subLineTopMarginSmall.visibility =
|
bindingView.subLineTopMarginSmall.visibility = View.GONE
|
||||||
if (Preferences.secondRowTopMargin == Constants.SecondRowTopMargin.SMALL.rawValue) View.VISIBLE else View.GONE
|
bindingView.subLineTopMarginMedium.visibility = View.GONE
|
||||||
bindingView.subLineTopMarginMedium.visibility =
|
bindingView.subLineTopMarginLarge.visibility = View.GONE
|
||||||
if (Preferences.secondRowTopMargin == Constants.SecondRowTopMargin.MEDIUM.rawValue) View.VISIBLE else View.GONE
|
|
||||||
bindingView.subLineTopMarginLarge.visibility =
|
|
||||||
if (Preferences.secondRowTopMargin == Constants.SecondRowTopMargin.LARGE.rawValue) View.VISIBLE else View.GONE
|
|
||||||
} else if (GlanceProviderHelper.showGlanceProviders(context)) {
|
} else if (GlanceProviderHelper.showGlanceProviders(context)) {
|
||||||
bindingView.subLineIcon.isVisible = true
|
bindingView.subLineIcon.isVisible = true
|
||||||
var showSomething = false
|
var showSomething = false
|
||||||
|
@ -99,7 +99,6 @@ class MainWidget : AppWidgetProvider() {
|
|||||||
WidgetHelper.runWithCustomTypeface(context) {
|
WidgetHelper.runWithCustomTypeface(context) {
|
||||||
val views = when (Preferences.widgetAlign) {
|
val views = when (Preferences.widgetAlign) {
|
||||||
Constants.WidgetAlign.LEFT.rawValue -> LeftAlignedWidget(context).generateWidget(appWidgetId, min(dimensions.first - 8.toPixel(context), min(width, height) - 16.toPixel(context)), it)
|
Constants.WidgetAlign.LEFT.rawValue -> LeftAlignedWidget(context).generateWidget(appWidgetId, min(dimensions.first - 8.toPixel(context), min(width, height) - 16.toPixel(context)), it)
|
||||||
Constants.WidgetAlign.RIGHT.rawValue -> LeftAlignedWidget(context).generateWidget(appWidgetId, min(dimensions.first - 8.toPixel(context), min(width, height) - 16.toPixel(context)), it)
|
|
||||||
else -> StandardWidget(context).generateWidget(appWidgetId, min(dimensions.first - 8.toPixel(context), min(width, height) - 16.toPixel(context)), it)
|
else -> StandardWidget(context).generateWidget(appWidgetId, min(dimensions.first - 8.toPixel(context), min(width, height) - 16.toPixel(context)), it)
|
||||||
}
|
}
|
||||||
appWidgetManager.updateAppWidget(appWidgetId, views)
|
appWidgetManager.updateAppWidget(appWidgetId, views)
|
||||||
@ -109,7 +108,6 @@ class MainWidget : AppWidgetProvider() {
|
|||||||
fun getWidgetView(context: Context, typeface: Typeface?): ViewBinding {
|
fun getWidgetView(context: Context, typeface: Typeface?): ViewBinding {
|
||||||
return when (Preferences.widgetAlign) {
|
return when (Preferences.widgetAlign) {
|
||||||
Constants.WidgetAlign.LEFT.rawValue -> LeftAlignedWidget(context).generateWidgetView(typeface)
|
Constants.WidgetAlign.LEFT.rawValue -> LeftAlignedWidget(context).generateWidgetView(typeface)
|
||||||
Constants.WidgetAlign.RIGHT.rawValue -> LeftAlignedWidget(context).generateWidgetView(typeface)
|
|
||||||
else -> StandardWidget(context).generateWidgetView(typeface)
|
else -> StandardWidget(context).generateWidgetView(typeface)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -129,7 +129,13 @@ class StandardWidget(val context: Context) {
|
|||||||
PendingIntent.FLAG_UPDATE_CURRENT
|
PendingIntent.FLAG_UPDATE_CURRENT
|
||||||
)
|
)
|
||||||
views.setOnClickPendingIntent(R.id.date_rect, calPIntent)
|
views.setOnClickPendingIntent(R.id.date_rect, calPIntent)
|
||||||
views.setViewVisibility(R.id.date_layout, View.VISIBLE)
|
views.setViewVisibility(R.id.first_line_rect, View.VISIBLE)
|
||||||
|
|
||||||
|
// Second row
|
||||||
|
views.setImageViewBitmap(
|
||||||
|
R.id.sub_line_rect,
|
||||||
|
BitmapHelper.getBitmapFromView(bindingView.subLine, draw = false)
|
||||||
|
)
|
||||||
|
|
||||||
val nextEvent = eventRepository.getNextEvent()
|
val nextEvent = eventRepository.getNextEvent()
|
||||||
val nextAlarm = AlarmHelper.getNextAlarm(context)
|
val nextAlarm = AlarmHelper.getNextAlarm(context)
|
||||||
@ -207,7 +213,7 @@ class StandardWidget(val context: Context) {
|
|||||||
views.setViewVisibility(R.id.next_event_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.next_event_rect, View.VISIBLE)
|
||||||
|
|
||||||
// Event time difference
|
// Event time difference
|
||||||
if (Preferences.showDiffTime && Calendar.getInstance().timeInMillis < (nextEvent.startDate - 1000 * 60 * 60)) {
|
if (Preferences.showDiffTime && Calendar.getInstance().timeInMillis < nextEvent.startDate) {
|
||||||
views.setImageViewBitmap(
|
views.setImageViewBitmap(
|
||||||
R.id.next_event_difference_time_rect,
|
R.id.next_event_difference_time_rect,
|
||||||
BitmapHelper.getBitmapFromView(
|
BitmapHelper.getBitmapFromView(
|
||||||
@ -249,13 +255,11 @@ class StandardWidget(val context: Context) {
|
|||||||
BitmapHelper.getBitmapFromView(bindingView.nextEvent, draw = false)
|
BitmapHelper.getBitmapFromView(bindingView.nextEvent, draw = false)
|
||||||
)
|
)
|
||||||
views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.calendar_layout_rect, View.VISIBLE)
|
||||||
|
|
||||||
// Second row
|
|
||||||
views.setImageViewBitmap(
|
|
||||||
R.id.sub_line_rect,
|
|
||||||
BitmapHelper.getBitmapFromView(bindingView.subLine, draw = false)
|
|
||||||
)
|
|
||||||
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
||||||
|
views.setViewVisibility(R.id.weather_sub_line_rect, View.VISIBLE)
|
||||||
|
|
||||||
|
views.setViewVisibility(R.id.first_line_rect, View.GONE)
|
||||||
|
|
||||||
} else if (GlanceProviderHelper.showGlanceProviders(context) && bindingView.calendarLayout.isVisible) {
|
} else if (GlanceProviderHelper.showGlanceProviders(context) && bindingView.calendarLayout.isVisible) {
|
||||||
var showSomething = false
|
var showSomething = false
|
||||||
loop@ for (provider: Constants.GlanceProviderId in GlanceProviderHelper.getGlanceProviders(context)) {
|
loop@ for (provider: Constants.GlanceProviderId in GlanceProviderHelper.getGlanceProviders(context)) {
|
||||||
@ -383,9 +387,9 @@ class StandardWidget(val context: Context) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
views.setViewVisibility(R.id.first_line_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.first_line_rect, View.VISIBLE)
|
||||||
views.setViewVisibility(R.id.calendar_layout_rect, View.GONE)
|
|
||||||
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
views.setViewVisibility(R.id.sub_line_rect, View.VISIBLE)
|
||||||
|
|
||||||
|
views.setViewVisibility(R.id.calendar_layout_rect, View.GONE)
|
||||||
views.setViewVisibility(R.id.weather_sub_line_rect, View.GONE)
|
views.setViewVisibility(R.id.weather_sub_line_rect, View.GONE)
|
||||||
} else {
|
} else {
|
||||||
// Spacing
|
// Spacing
|
||||||
|
@ -21,7 +21,9 @@ import android.content.res.Resources
|
|||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
|
import android.view.animation.AlphaAnimation
|
||||||
import android.widget.RelativeLayout
|
import android.widget.RelativeLayout
|
||||||
|
import androidx.annotation.UiThread
|
||||||
import androidx.browser.customtabs.CustomTabColorSchemeParams
|
import androidx.browser.customtabs.CustomTabColorSchemeParams
|
||||||
import androidx.core.animation.addListener
|
import androidx.core.animation.addListener
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 210 B |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 292 B |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 184 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 174 B |
After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 187 B |
After Width: | Height: | Size: 189 B |
After Width: | Height: | Size: 174 B |
After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 166 B |
After Width: | Height: | Size: 172 B |
After Width: | Height: | Size: 123 B |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 172 B |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 159 B |
After Width: | Height: | Size: 122 B |
After Width: | Height: | Size: 174 B |
After Width: | Height: | Size: 176 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 163 B |
After Width: | Height: | Size: 125 B |
After Width: | Height: | Size: 174 B |
After Width: | Height: | Size: 175 B |
After Width: | Height: | Size: 213 B |
After Width: | Height: | Size: 188 B |
After Width: | Height: | Size: 187 B |
After Width: | Height: | Size: 124 B |
After Width: | Height: | Size: 124 B |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 176 B |
After Width: | Height: | Size: 181 B |
After Width: | Height: | Size: 179 B |
After Width: | Height: | Size: 285 B |
After Width: | Height: | Size: 274 B |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 329 B |
After Width: | Height: | Size: 328 B |
After Width: | Height: | Size: 331 B |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 216 B |
After Width: | Height: | Size: 172 B |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 308 B |
After Width: | Height: | Size: 174 B |
After Width: | Height: | Size: 211 B |
After Width: | Height: | Size: 176 B |
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 312 B |
After Width: | Height: | Size: 174 B |
After Width: | Height: | Size: 216 B |
After Width: | Height: | Size: 175 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 313 B |
After Width: | Height: | Size: 292 B |
After Width: | Height: | Size: 287 B |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 483 B |
After Width: | Height: | Size: 464 B |
After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 254 B |
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 448 B |
After Width: | Height: | Size: 466 B |
After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 444 B |
After Width: | Height: | Size: 466 B |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 366 B |
After Width: | Height: | Size: 308 B |
After Width: | Height: | Size: 464 B |
After Width: | Height: | Size: 596 B |
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 369 B |
After Width: | Height: | Size: 312 B |
After Width: | Height: | Size: 466 B |
After Width: | Height: | Size: 592 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 367 B |
After Width: | Height: | Size: 313 B |
After Width: | Height: | Size: 466 B |
After Width: | Height: | Size: 588 B |
@ -0,0 +1,10 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24"
|
||||||
|
android:tint="?attr/colorControlNormal">
|
||||||
|
<path
|
||||||
|
android:fillColor="@android:color/white"
|
||||||
|
android:pathData="M12,2L12,2c0.55,0 1,0.45 1,1v4l6.5,0C20.33,7 21,7.67 21,8.5v0c0,0.83 -0.67,1.5 -1.5,1.5H13v4h3.5c0.83,0 1.5,0.67 1.5,1.5v0c0,0.83 -0.67,1.5 -1.5,1.5H13v4c0,0.55 -0.45,1 -1,1h0c-0.55,0 -1,-0.45 -1,-1v-4H7.5C6.67,17 6,16.33 6,15.5v0C6,14.67 6.67,14 7.5,14H11v-4H4.5C3.67,10 3,9.33 3,8.5v0C3,7.67 3.67,7 4.5,7H11l0,-4C11,2.45 11.45,2 12,2z"/>
|
||||||
|
</vector>
|