Refactor badges and notifications, migrate badge settings
This commit is contained in:
@@ -21,6 +21,7 @@ import de.mm20.launcher2.websites.websitesModule
|
||||
import de.mm20.launcher2.widgets.widgetsModule
|
||||
import de.mm20.launcher2.wikipedia.wikipediaModule
|
||||
import de.mm20.launcher2.database.databaseModule
|
||||
import de.mm20.launcher2.notifications.notificationsModule
|
||||
import de.mm20.launcher2.permissions.permissionsModule
|
||||
import de.mm20.launcher2.preferences.preferencesModule
|
||||
import de.mm20.launcher2.weather.weatherModule
|
||||
@@ -68,6 +69,7 @@ class LauncherApplication : Application(), CoroutineScope {
|
||||
hiddenItemsModule,
|
||||
iconsModule,
|
||||
musicModule,
|
||||
notificationsModule,
|
||||
permissionsModule,
|
||||
preferencesModule,
|
||||
searchModule,
|
||||
|
||||
@@ -5,37 +5,26 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import de.mm20.launcher2.R
|
||||
import de.mm20.launcher2.badges.BadgeProvider
|
||||
import de.mm20.launcher2.notifications.NotificationService
|
||||
import org.koin.android.ext.android.inject
|
||||
|
||||
class PreferencesBadgesFragment : PreferenceFragmentCompat() {
|
||||
|
||||
private val badgesProvider: BadgeProvider by inject()
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
addPreferencesFromResource(R.xml.preferences_badges)
|
||||
findPreference<Preference>("notification_badges")?.setOnPreferenceChangeListener { _, newValue ->
|
||||
if (newValue as Boolean) {
|
||||
NotificationService.getInstance()?.generateBadges()
|
||||
} else {
|
||||
badgesProvider.removeNotificationBadges()
|
||||
}
|
||||
true
|
||||
}
|
||||
findPreference<Preference>("suspended_badges")?.setOnPreferenceChangeListener { _, newValue ->
|
||||
if (newValue as Boolean) {
|
||||
badgesProvider.addSuspendBadges()
|
||||
} else {
|
||||
badgesProvider.removeSuspendBadges()
|
||||
}
|
||||
true
|
||||
}
|
||||
findPreference<Preference>("cloud_badges")?.setOnPreferenceChangeListener { _, newValue ->
|
||||
if (newValue as Boolean) {
|
||||
badgesProvider.addCloudBadges()
|
||||
} else {
|
||||
badgesProvider.removeCloudBadges()
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user