mirror of
https://github.com/thunderbird/thunderbird-android.git
synced 2024-09-20 20:13:04 +02:00
Retain fully-qualified name of MessageListWidgetProvider
in the manifest
This commit is contained in:
parent
c9d89657b0
commit
2640c0e0a7
@ -315,7 +315,7 @@
|
||||
</receiver>
|
||||
|
||||
<receiver
|
||||
android:name="app.k9mail.ui.widget.list.MessageListWidgetProvider"
|
||||
android:name=".widget.list.MessageListWidgetProvider"
|
||||
android:icon="@drawable/message_list_widget_preview"
|
||||
android:label="@string/mail_list_widget_text"
|
||||
android:exported="false">
|
||||
|
@ -12,6 +12,7 @@ import com.fsck.k9.preferences.K9StoragePersister
|
||||
import com.fsck.k9.preferences.StoragePersister
|
||||
import com.fsck.k9.resources.resourcesModule
|
||||
import com.fsck.k9.storage.storageModule
|
||||
import com.fsck.k9.widget.list.messageListWidgetConfigModule
|
||||
import com.fsck.k9.widget.unread.UnreadWidgetUpdateListener
|
||||
import com.fsck.k9.widget.unread.unreadWidgetModule
|
||||
import org.koin.core.qualifier.named
|
||||
@ -35,6 +36,7 @@ private val mainAppModule = module {
|
||||
|
||||
val appModules = listOf(
|
||||
mainAppModule,
|
||||
messageListWidgetConfigModule,
|
||||
messageListWidgetModule,
|
||||
unreadWidgetModule,
|
||||
notificationModule,
|
||||
|
@ -0,0 +1,8 @@
|
||||
package com.fsck.k9.widget.list
|
||||
|
||||
import app.k9mail.ui.widget.list.MessageListWidgetConfig
|
||||
import org.koin.dsl.module
|
||||
|
||||
val messageListWidgetConfigModule = module {
|
||||
single<MessageListWidgetConfig> { K9MessageListWidgetConfig() }
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.fsck.k9.widget.list
|
||||
|
||||
import app.k9mail.ui.widget.list.MessageListWidgetConfig
|
||||
|
||||
class MessageListWidgetProvider : app.k9mail.ui.widget.list.MessageListWidgetProvider()
|
||||
|
||||
internal class K9MessageListWidgetConfig : MessageListWidgetConfig {
|
||||
override val providerClass = MessageListWidgetProvider::class.java
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
package app.k9mail.ui.widget.list
|
||||
|
||||
interface MessageListWidgetConfig {
|
||||
val providerClass: Class<out MessageListWidgetProvider>
|
||||
}
|
@ -14,6 +14,8 @@ import com.fsck.k9.activity.MessageList.Companion.intentDisplaySearch
|
||||
import com.fsck.k9.helper.PendingIntentCompat.FLAG_IMMUTABLE
|
||||
import com.fsck.k9.helper.PendingIntentCompat.FLAG_MUTABLE
|
||||
import com.fsck.k9.search.SearchAccount.Companion.createUnifiedInboxAccount
|
||||
import org.koin.core.component.KoinComponent
|
||||
import org.koin.core.component.inject
|
||||
import com.fsck.k9.ui.R as UiR
|
||||
|
||||
open class MessageListWidgetProvider : AppWidgetProvider() {
|
||||
@ -84,16 +86,19 @@ open class MessageListWidgetProvider : AppWidgetProvider() {
|
||||
return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or FLAG_IMMUTABLE)
|
||||
}
|
||||
|
||||
companion object {
|
||||
companion object : KoinComponent {
|
||||
private const val ACTION_UPDATE_MESSAGE_LIST = "UPDATE_MESSAGE_LIST"
|
||||
|
||||
private val messageListWidgetConfig: MessageListWidgetConfig by inject()
|
||||
|
||||
fun triggerMessageListWidgetUpdate(context: Context) {
|
||||
val appContext = context.applicationContext
|
||||
val widgetManager = AppWidgetManager.getInstance(appContext)
|
||||
|
||||
val widget = ComponentName(appContext, MessageListWidgetProvider::class.java)
|
||||
val providerClass = messageListWidgetConfig.providerClass
|
||||
val widget = ComponentName(appContext, providerClass)
|
||||
val widgetIds = widgetManager.getAppWidgetIds(widget)
|
||||
val intent = Intent(context, MessageListWidgetProvider::class.java).apply {
|
||||
val intent = Intent(context, providerClass).apply {
|
||||
action = ACTION_UPDATE_MESSAGE_LIST
|
||||
putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIds)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user