mirror of https://github.com/tasks/tasks
Edit widget settings from app preferences
parent
087c387462
commit
d19bd08208
@ -0,0 +1,50 @@
|
||||
package org.tasks.preferences.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.preference.Preference
|
||||
import org.tasks.R
|
||||
import org.tasks.injection.FragmentComponent
|
||||
import org.tasks.injection.InjectingPreferenceFragment
|
||||
import org.tasks.preferences.DefaultFilterProvider
|
||||
import org.tasks.preferences.Preferences
|
||||
import org.tasks.widget.AppWidgetManager
|
||||
import org.tasks.widget.WidgetConfigActivity
|
||||
import org.tasks.widget.WidgetPreferences
|
||||
import javax.inject.Inject
|
||||
|
||||
|
||||
class Widgets : InjectingPreferenceFragment() {
|
||||
|
||||
@Inject lateinit var preferences: Preferences
|
||||
@Inject lateinit var defaultFilterProvider: DefaultFilterProvider
|
||||
@Inject lateinit var appWidgetManager: AppWidgetManager
|
||||
|
||||
override fun getPreferenceXml() = R.xml.preferences_widgets
|
||||
|
||||
override fun setupPreferences(savedInstanceState: Bundle?) {
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
preferenceScreen.removeAll()
|
||||
appWidgetManager.widgetIds.forEach {
|
||||
val widgetPrefs = WidgetPreferences(context, preferences, it)
|
||||
val pref = Preference(context)
|
||||
val filter = defaultFilterProvider.getFilterFromPreference(widgetPrefs.filterId)
|
||||
pref.title = filter.listingTitle
|
||||
pref.summary = getString(R.string.widget_id, it)
|
||||
val intent = Intent(context, WidgetConfigActivity::class.java)
|
||||
intent.putExtra(android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID, it)
|
||||
intent.action = "widget_settings"
|
||||
pref.setOnPreferenceClickListener {
|
||||
startActivity(intent)
|
||||
false
|
||||
}
|
||||
preferenceScreen.addPreference(pref)
|
||||
}
|
||||
}
|
||||
|
||||
override fun inject(component: FragmentComponent) = component.inject(this)
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M16.66,4.52l2.83,2.83 -2.83,2.83 -2.83,-2.83 2.83,-2.83M9,5v4L5,9L5,5h4m10,10v4h-4v-4h4M9,15v4L5,19v-4h4m7.66,-13.31L11,7.34 16.66,13l5.66,-5.66 -5.66,-5.65zM11,3L3,3v8h8L11,3zM21,13h-8v8h8v-8zM11,13L3,13v8h8v-8z"/>
|
||||
</vector>
|
||||
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen/>
|
||||
Loading…
Reference in New Issue