Запуск Android 10 обновлений тем для макета виджета - PullRequest
1 голос
/ 16 апреля 2020

С выпуском Android 10 несколько виджетов (Gmail, Новости Google, Samsung Email) теперь обновляют свою тему при переключении в темный режим. Я пытаюсь повторить это поведение. У меня есть виджет списка с AppWidgetProvider и RemoteViewsFactory. Однако при переключении темного режима элементы ListView переключаются на темную тему, но не сам макет:

Темный режим выключен:

Dark mode off

Темный режим включен:

Dark mode on

В моем коде я устанавливаю макет в методе OnUpdate () в AppWidgetProvider:

    override fun onUpdate(
    context: Context,
    appWidgetManager: AppWidgetManager?,
    appWidgetIds: IntArray?
) {

    Log.d(TAG, "Updating Transaction Widget")

    GlobalScope.launch(Dispatchers.IO ) {
        updateTransactionTable(context)
        for (i in appWidgetIds!!.indices) {
            val layout: RemoteViews = buildLayout(context, appWidgetIds[i])
            appWidgetManager!!.updateAppWidget(appWidgetIds[i], layout)
        }
        super.onUpdate(context, appWidgetManager, appWidgetIds)
    }
}

onUpdate не вызывается при переключении темного режима. Однако я не могу найти какой-либо метод, который вызывается в AppWidgetProvider при переключении темного режима, поэтому я не уверен, где вызывать новую компоновку компоновки и даже как определять, когда необходимо изменение.

Любая помощь будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...