Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ class AppWidgetConfigActivity : ComponentActivity() {
val providerClass = AppWidgetManager.getInstance(this)
.getAppWidgetInfo(appWidgetId)?.provider?.className
return when (providerClass) {
HeadlinesGlanceReceiver::class.java.name -> AppWidgetType.HEADLINES
PriceGlanceReceiver::class.java.name -> AppWidgetType.PRICE
HeadlinesGlanceReceiver::class.java.name -> AppWidgetType.HEADLINES
BlocksGlanceReceiver::class.java.name -> AppWidgetType.BLOCKS
WeatherGlanceReceiver::class.java.name -> AppWidgetType.WEATHER
else -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ private fun BlockToggleRow(
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (isEnabled) Colors.Brand else Colors.White50,
tint = if (isEnabled) Colors.Brand else Colors.Gray3,
modifier = Modifier.size(32.dp)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ private fun ToggleRow(
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (isEnabled) Colors.Brand else Colors.White50,
tint = if (isEnabled) Colors.Brand else Colors.Gray3,
modifier = Modifier.size(32.dp)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,12 @@ private fun SelectableRow(
color = if (isSelected) Colors.White else Colors.White64,
modifier = Modifier.weight(1f)
)
if (isSelected) {
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = Colors.Brand,
modifier = Modifier.size(32.dp)
)
}
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (isSelected) Colors.Brand else Colors.Gray3,
modifier = Modifier.size(32.dp)
)
}
HorizontalDivider()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ private fun WeatherOptionRow(
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (isSelected) Colors.Brand else Colors.White50,
tint = if (isSelected) Colors.Brand else Colors.Gray3,
modifier = Modifier.size(32.dp)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ package to.bitkit.appwidget.ui.blocks
import android.content.Context
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import dagger.hilt.android.EntryPointAccessors
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import to.bitkit.appwidget.AppWidgetEntryPoint
import to.bitkit.appwidget.AppWidgetRefreshWorker

class BlocksGlanceReceiver : GlanceAppWidgetReceiver() {
Expand All @@ -18,21 +13,6 @@ class BlocksGlanceReceiver : GlanceAppWidgetReceiver() {
AppWidgetRefreshWorker.enqueue(context)
}

override fun onDeleted(context: Context, appWidgetIds: IntArray) {
super.onDeleted(context, appWidgetIds)
val pendingResult = goAsync()
val store = EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
CoroutineScope(Dispatchers.IO).launch {
try {
appWidgetIds.forEach { store.unregisterWidget(it) }
} finally {
pendingResult.finish()
}
}
}

override fun onDisabled(context: Context) {
super.onDisabled(context)
AppWidgetRefreshWorker.cancelIfNoWidgets(context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,12 @@ class BlocksGlanceWidget : GlanceAppWidget() {
)
}
}

override suspend fun onDelete(context: Context, glanceId: GlanceId) {
val appWidgetId = GlanceAppWidgetManager(context).getAppWidgetId(glanceId)
EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
.unregisterWidget(appWidgetId)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ package to.bitkit.appwidget.ui.facts
import android.content.Context
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import dagger.hilt.android.EntryPointAccessors
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import to.bitkit.appwidget.AppWidgetEntryPoint
import to.bitkit.appwidget.AppWidgetRefreshWorker

class FactsGlanceReceiver : GlanceAppWidgetReceiver() {
Expand All @@ -18,21 +13,6 @@ class FactsGlanceReceiver : GlanceAppWidgetReceiver() {
AppWidgetRefreshWorker.enqueue(context)
}

override fun onDeleted(context: Context, appWidgetIds: IntArray) {
super.onDeleted(context, appWidgetIds)
val pendingResult = goAsync()
val store = EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
CoroutineScope(Dispatchers.IO).launch {
try {
appWidgetIds.forEach { store.unregisterWidget(it) }
} finally {
pendingResult.finish()
}
}
}

override fun onDisabled(context: Context) {
super.onDisabled(context)
AppWidgetRefreshWorker.cancelIfNoWidgets(context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,12 @@ class FactsGlanceWidget : GlanceAppWidget() {
FactsGlanceContent(fact = fact)
}
}

override suspend fun onDelete(context: Context, glanceId: GlanceId) {
val appWidgetId = GlanceAppWidgetManager(context).getAppWidgetId(glanceId)
EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
.unregisterWidget(appWidgetId)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ package to.bitkit.appwidget.ui.headlines
import android.content.Context
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import dagger.hilt.android.EntryPointAccessors
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import to.bitkit.appwidget.AppWidgetEntryPoint
import to.bitkit.appwidget.AppWidgetRefreshWorker

class HeadlinesGlanceReceiver : GlanceAppWidgetReceiver() {
Expand All @@ -18,21 +13,6 @@ class HeadlinesGlanceReceiver : GlanceAppWidgetReceiver() {
AppWidgetRefreshWorker.enqueue(context)
}

override fun onDeleted(context: Context, appWidgetIds: IntArray) {
super.onDeleted(context, appWidgetIds)
val pendingResult = goAsync()
CoroutineScope(Dispatchers.IO).launch {
try {
val store = EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
appWidgetIds.forEach { store.unregisterWidget(it) }
} finally {
pendingResult.finish()
}
}
}

override fun onDisabled(context: Context) {
super.onDisabled(context)
AppWidgetRefreshWorker.cancelIfNoWidgets(context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,12 @@ class HeadlinesGlanceWidget : GlanceAppWidget() {
)
}
}

override suspend fun onDelete(context: Context, glanceId: GlanceId) {
val appWidgetId = GlanceAppWidgetManager(context).getAppWidgetId(glanceId)
EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
.unregisterWidget(appWidgetId)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ package to.bitkit.appwidget.ui.price
import android.content.Context
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import dagger.hilt.android.EntryPointAccessors
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import to.bitkit.appwidget.AppWidgetEntryPoint
import to.bitkit.appwidget.AppWidgetRefreshWorker

class PriceGlanceReceiver : GlanceAppWidgetReceiver() {
Expand All @@ -18,21 +13,6 @@ class PriceGlanceReceiver : GlanceAppWidgetReceiver() {
AppWidgetRefreshWorker.enqueue(context)
}

override fun onDeleted(context: Context, appWidgetIds: IntArray) {
super.onDeleted(context, appWidgetIds)
val pendingResult = goAsync()
CoroutineScope(Dispatchers.IO).launch {
try {
val store = EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
appWidgetIds.forEach { store.unregisterWidget(it) }
} finally {
pendingResult.finish()
}
}
}

override fun onDisabled(context: Context) {
super.onDisabled(context)
AppWidgetRefreshWorker.cancelIfNoWidgets(context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,14 @@ class PriceGlanceWidget : GlanceAppWidget() {
}
}

override suspend fun onDelete(context: Context, glanceId: GlanceId) {
val appWidgetId = GlanceAppWidgetManager(context).getAppWidgetId(glanceId)
EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
.unregisterWidget(appWidgetId)
}

private fun resolveWidget(price: PriceDTO?, entry: AppWidgetEntry): PriceWidgetData? {
val widgets = price?.widgets ?: return null
val enabledPairs = entry.pricePreferences.enabledPairs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ package to.bitkit.appwidget.ui.weather
import android.content.Context
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import dagger.hilt.android.EntryPointAccessors
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import to.bitkit.appwidget.AppWidgetEntryPoint
import to.bitkit.appwidget.AppWidgetRefreshWorker

class WeatherGlanceReceiver : GlanceAppWidgetReceiver() {
Expand All @@ -18,21 +13,6 @@ class WeatherGlanceReceiver : GlanceAppWidgetReceiver() {
AppWidgetRefreshWorker.enqueue(context)
}

override fun onDeleted(context: Context, appWidgetIds: IntArray) {
super.onDeleted(context, appWidgetIds)
val pendingResult = goAsync()
CoroutineScope(Dispatchers.IO).launch {
try {
val store = EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
appWidgetIds.forEach { store.unregisterWidget(it) }
} finally {
pendingResult.finish()
}
}
}

override fun onDisabled(context: Context) {
super.onDisabled(context)
AppWidgetRefreshWorker.cancelIfNoWidgets(context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,12 @@ class WeatherGlanceWidget : GlanceAppWidget() {
)
}
}

override suspend fun onDelete(context: Context, glanceId: GlanceId) {
val appWidgetId = GlanceAppWidgetManager(context).getAppWidgetId(glanceId)
EntryPointAccessors
.fromApplication(context, AppWidgetEntryPoint::class.java)
.appWidgetPreferencesStore()
.unregisterWidget(appWidgetId)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ private fun BlockEditOptionRow(
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (isEnabled) Colors.Brand else Colors.White50,
tint = if (isEnabled) Colors.Brand else Colors.Gray3,
modifier = Modifier
.size(32.dp)
.testTag("${testTagPrefix}_toggle_icon")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ fun HeadlinesEditContent(
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (headlinePreferences.showSource) Colors.Brand else Colors.White50,
tint = if (headlinePreferences.showSource) Colors.Brand else Colors.Gray3,
modifier = Modifier
.size(32.dp)
.testTag("source_toggle_icon")
Expand Down Expand Up @@ -192,7 +192,7 @@ fun HeadlinesEditContent(
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (headlinePreferences.showTime) Colors.Brand else Colors.White50,
tint = if (headlinePreferences.showTime) Colors.Brand else Colors.Gray3,
modifier = Modifier
.size(32.dp)
.testTag("time_toggle_icon")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,16 +199,14 @@ private fun SelectableRow(
.weight(1f)
.testTag("${testTagPrefix}_label")
)
if (isSelected) {
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = Colors.Brand,
modifier = Modifier
.size(32.dp)
.testTag("${testTagPrefix}_toggle_icon")
)
}
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (isSelected) Colors.Brand else Colors.Gray3,
modifier = Modifier
.size(32.dp)
.testTag("${testTagPrefix}_toggle_icon")
)
}

HorizontalDivider(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ private fun WeatherEditOptionRow(
Icon(
painter = painterResource(R.drawable.ic_checkmark),
contentDescription = null,
tint = if (isSelected) Colors.Brand else Colors.White50,
tint = if (isSelected) Colors.Brand else Colors.Gray3,
modifier = Modifier
.size(32.dp)
.testTag("${testTagPrefix}_toggle_icon")
Expand Down
1 change: 1 addition & 0 deletions changelog.d/next/935.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix several OS widget issues including an intermittent crash when removing or cancelling a home screen widget, ordering of widget options, and the color of disabled checkboxes in widget configuration screens.
Loading