diff --git a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCalendarFragment.kt b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCalendarFragment.kt
index 621847fa..488a82a4 100644
--- a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCalendarFragment.kt
+++ b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCalendarFragment.kt
@@ -108,7 +108,7 @@ class PreferencesCalendarFragment : PreferenceFragmentCompat() {
override fun onResume() {
super.onResume()
- (activity as AppCompatActivity).supportActionBar?.setTitle(R.string.preference_screen_calendar)
+ (activity as AppCompatActivity).supportActionBar?.setTitle(R.string.preference_screen_calendarwidget)
hasCalendarPermission = requireActivity().checkPermission(Manifest.permission.READ_CALENDAR)
&& requireActivity().checkPermission(Manifest.permission.WRITE_CALENDAR)
}
diff --git a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesWeatherFragment.kt b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesWeatherFragment.kt
index a721e5a0..d03b01b6 100644
--- a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesWeatherFragment.kt
+++ b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesWeatherFragment.kt
@@ -146,7 +146,7 @@ class PreferencesWeatherFragment : PreferenceFragmentCompat() {
override fun onResume() {
super.onResume()
- (activity as AppCompatActivity).supportActionBar?.setTitle(R.string.preference_screen_weather)
+ (activity as AppCompatActivity).supportActionBar?.setTitle(R.string.preference_screen_weatherwidget)
}
}
diff --git a/app/src/main/res/xml/preferences_main.xml b/app/src/main/res/xml/preferences_main.xml
index 7b1c88a2..c049360d 100644
--- a/app/src/main/res/xml/preferences_main.xml
+++ b/app/src/main/res/xml/preferences_main.xml
@@ -19,12 +19,12 @@
app:icon="@drawable/ic_pref_weather"
app:key="screen_weather"
app:summary="@string/preference_screen_weather_summary"
- app:title="@string/preference_screen_weather" />
+ app:title="@string/preference_screen_weatherwidget" />
+ app:title="@string/preference_screen_calendarwidget" />
Version, Entwickler, Open-Source-Lizenzen
Design, Symbole, Suchleiste, Systemleisten
Provider, Einheiten, Standort
- Wetter
Standort
Automatischer Standort
GPS und Ortungsdienste verwenden, um Standort automatisch zu ermitteln
@@ -160,7 +159,7 @@
Dynamischer Hintergrund
Hintergrundfarbe an Symbol anpassen
Widget
- Kalender
+ Kalender
Kalender, Widgets
Kalender
Berechtigung fehlt
@@ -343,7 +342,6 @@
OneDrive
Telegram-Gruppe
F-Droid-Repository
- Crash-Reporter
Plug-Ins
Plug-Ins aktivieren oder deaktivieren
Installierte Plug-Ins
@@ -424,4 +422,15 @@
Gewähren
Standortzugriff wird benötigt, um den Standort automatisch zu ermitteln
Standort festlegen
+
+ Debug
+ Werkzeuge zur Fehlerbehebung
+
+ Widgets
+ Widgets konfigurieren
+
+ Wetter
+
+ Crash-Reporter
+ Fehler- und Absturzberichte
\ No newline at end of file
diff --git a/i18n/src/main/res/values/strings.xml b/i18n/src/main/res/values/strings.xml
index 3621d044..12461065 100644
--- a/i18n/src/main/res/values/strings.xml
+++ b/i18n/src/main/res/values/strings.xml
@@ -83,7 +83,6 @@
Version, Developer, Open source licenses
Theme, Icons, Search bar, System bars
Provider, Units, location
- Weather
Location
Automatic location
Use GPS and location services to determine location automatically
@@ -210,7 +209,7 @@
Dynamic background
Adjust background color to icon
Widget
- Calendar
+ Calendar
Calendars, Widget settings
Calendars
Permission denied
@@ -342,7 +341,6 @@
OneDrive
Telegram group
F-Droid repository
- Crash reporter
Plugins
Enable or disable plugins
Installed plugins
@@ -462,4 +460,15 @@
Grant
Location access is required to determine the location automatically
Set location
+
+ Debug
+ Troubleshooting tools
+
+ Widgets
+ Configure widgets
+
+ Weather
+
+ Crash reporter
+ Error and crash reports
diff --git a/ui/src/main/java/de/mm20/launcher2/ui/screens/settings/SettingsMainScreen.kt b/ui/src/main/java/de/mm20/launcher2/ui/screens/settings/SettingsMainScreen.kt
index c83ae0eb..5490fb53 100644
--- a/ui/src/main/java/de/mm20/launcher2/ui/screens/settings/SettingsMainScreen.kt
+++ b/ui/src/main/java/de/mm20/launcher2/ui/screens/settings/SettingsMainScreen.kt
@@ -42,12 +42,12 @@ fun SettingsMainScreen() {
)
Preference(
icon = Icons.Rounded.LightMode,
- title = stringResource(id = R.string.preference_screen_weather),
+ title = stringResource(id = R.string.preference_screen_weatherwidget),
summary = stringResource(id = R.string.preference_screen_weather_summary)
)
Preference(
icon = Icons.Rounded.Today,
- title = stringResource(id = R.string.preference_screen_calendar),
+ title = stringResource(id = R.string.preference_screen_calendarwidget),
summary = stringResource(id = R.string.preference_screen_calendar_summary)
)
Preference(
diff --git a/ui/src/main/java/de/mm20/launcher2/ui/settings/SettingsActivity.kt b/ui/src/main/java/de/mm20/launcher2/ui/settings/SettingsActivity.kt
index d3a8c9a5..b720ca40 100644
--- a/ui/src/main/java/de/mm20/launcher2/ui/settings/SettingsActivity.kt
+++ b/ui/src/main/java/de/mm20/launcher2/ui/settings/SettingsActivity.kt
@@ -23,9 +23,11 @@ import de.mm20.launcher2.ui.base.BaseActivity
import de.mm20.launcher2.ui.locals.LocalNavController
import de.mm20.launcher2.ui.settings.about.AboutSettingsScreen
import de.mm20.launcher2.ui.settings.appearance.AppearanceSettingsScreen
+import de.mm20.launcher2.ui.settings.debug.DebugSettingsScreen
import de.mm20.launcher2.ui.settings.license.LicenseScreen
import de.mm20.launcher2.ui.settings.main.MainSettingsScreen
import de.mm20.launcher2.ui.settings.weatherwidget.WeatherWidgetSettingsScreen
+import de.mm20.launcher2.ui.settings.widgets.WidgetsSettingsScreen
class SettingsActivity : BaseActivity() {
@@ -81,12 +83,18 @@ class SettingsActivity : BaseActivity() {
composable("settings/appearance") {
AppearanceSettingsScreen()
}
- composable("settings/weather") {
+ composable("settings/widgets") {
+ WidgetsSettingsScreen()
+ }
+ composable("settings/widgets/weather") {
WeatherWidgetSettingsScreen()
}
composable("settings/about") {
AboutSettingsScreen()
}
+ composable("settings/debug") {
+ DebugSettingsScreen()
+ }
composable(
"settings/license?library={libraryName}",
arguments = listOf(navArgument("libraryName") {
diff --git a/ui/src/main/java/de/mm20/launcher2/ui/settings/debug/DebugSettingsScreen.kt b/ui/src/main/java/de/mm20/launcher2/ui/settings/debug/DebugSettingsScreen.kt
new file mode 100644
index 00000000..fb7d6248
--- /dev/null
+++ b/ui/src/main/java/de/mm20/launcher2/ui/settings/debug/DebugSettingsScreen.kt
@@ -0,0 +1,26 @@
+package de.mm20.launcher2.ui.settings.debug
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import de.mm20.launcher2.crashreporter.CrashReporter
+import de.mm20.launcher2.ui.R
+import de.mm20.launcher2.ui.component.preferences.Preference
+import de.mm20.launcher2.ui.component.preferences.PreferenceScreen
+
+@Composable
+fun DebugSettingsScreen() {
+ val context = LocalContext.current
+ PreferenceScreen(
+ stringResource(R.string.preference_screen_debug)
+ ) {
+ item {
+ Preference(
+ title = stringResource(R.string.preference_crash_reporter),
+ summary = stringResource(R.string.preference_crash_reporter_summary),
+ onClick = {
+ context.startActivity(CrashReporter.getLaunchIntent())
+ })
+ }
+ }
+}
\ No newline at end of file
diff --git a/ui/src/main/java/de/mm20/launcher2/ui/settings/debug/DebugSettingsScreenVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/settings/debug/DebugSettingsScreenVM.kt
new file mode 100644
index 00000000..8691412c
--- /dev/null
+++ b/ui/src/main/java/de/mm20/launcher2/ui/settings/debug/DebugSettingsScreenVM.kt
@@ -0,0 +1,10 @@
+package de.mm20.launcher2.ui.settings.debug
+
+import androidx.lifecycle.ViewModel
+import org.koin.core.component.KoinComponent
+
+class DebugSettingsScreenVM: ViewModel(), KoinComponent {
+ fun exportLog() {
+
+ }
+}
\ No newline at end of file
diff --git a/ui/src/main/java/de/mm20/launcher2/ui/settings/main/MainSettingsScreen.kt b/ui/src/main/java/de/mm20/launcher2/ui/settings/main/MainSettingsScreen.kt
index 7c54b001..ce323693 100644
--- a/ui/src/main/java/de/mm20/launcher2/ui/settings/main/MainSettingsScreen.kt
+++ b/ui/src/main/java/de/mm20/launcher2/ui/settings/main/MainSettingsScreen.kt
@@ -35,6 +35,14 @@ fun MainSettingsScreen() {
title = stringResource(id = R.string.preference_screen_search),
summary = stringResource(id = R.string.preference_screen_search_summary)
)
+ Preference(
+ icon = Icons.Rounded.Widgets,
+ title = stringResource(id = R.string.preference_screen_widgets),
+ summary = stringResource(id = R.string.preference_screen_widgets_summary),
+ onClick = {
+ navController?.navigate("settings/widgets")
+ }
+ )
Preference(
icon = Icons.Rounded.NotificationBadge,
title = stringResource(id = R.string.preference_screen_badges),
@@ -43,19 +51,6 @@ fun MainSettingsScreen() {
navController?.navigate("settings/badges")
}
)
- Preference(
- icon = Icons.Rounded.LightMode,
- title = stringResource(id = R.string.preference_screen_weather),
- summary = stringResource(id = R.string.preference_screen_weather_summary),
- onClick = {
- navController?.navigate("settings/weather")
- }
- )
- Preference(
- icon = Icons.Rounded.Today,
- title = stringResource(id = R.string.preference_screen_calendar),
- summary = stringResource(id = R.string.preference_screen_calendar_summary)
- )
Preference(
icon = Icons.Rounded.AccountBox,
title = stringResource(id = R.string.preference_screen_services),
@@ -64,6 +59,14 @@ fun MainSettingsScreen() {
navController?.navigate("settings/accounts")
}
)
+ Preference(
+ icon = Icons.Rounded.BugReport,
+ title = stringResource(id = R.string.preference_screen_debug),
+ summary = stringResource(id = R.string.preference_screen_debug_summary),
+ onClick = {
+ navController?.navigate("settings/debug")
+ }
+ )
Preference(
icon = Icons.Rounded.Info,
title = stringResource(id = R.string.preference_screen_about),
diff --git a/ui/src/main/java/de/mm20/launcher2/ui/settings/weatherwidget/WeatherWidgetSettingsScreen.kt b/ui/src/main/java/de/mm20/launcher2/ui/settings/weatherwidget/WeatherWidgetSettingsScreen.kt
index 8f3c8f41..7e4798a5 100644
--- a/ui/src/main/java/de/mm20/launcher2/ui/settings/weatherwidget/WeatherWidgetSettingsScreen.kt
+++ b/ui/src/main/java/de/mm20/launcher2/ui/settings/weatherwidget/WeatherWidgetSettingsScreen.kt
@@ -23,7 +23,7 @@ fun WeatherWidgetSettingsScreen() {
val viewModel: WeatherWidgetSettingsScreenVM = viewModel()
val context = LocalContext.current
- PreferenceScreen(title = stringResource(R.string.preference_screen_weather)) {
+ PreferenceScreen(title = stringResource(R.string.preference_screen_weatherwidget)) {
item {
PreferenceCategory {
val weatherProvider by viewModel.weatherProvider.observeAsState()
diff --git a/ui/src/main/java/de/mm20/launcher2/ui/settings/widgets/WidgetsSettingsScreen.kt b/ui/src/main/java/de/mm20/launcher2/ui/settings/widgets/WidgetsSettingsScreen.kt
new file mode 100644
index 00000000..adcfc723
--- /dev/null
+++ b/ui/src/main/java/de/mm20/launcher2/ui/settings/widgets/WidgetsSettingsScreen.kt
@@ -0,0 +1,31 @@
+package de.mm20.launcher2.ui.settings.widgets
+
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.rounded.LightMode
+import androidx.compose.material.icons.rounded.Today
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.stringResource
+import de.mm20.launcher2.ui.R
+import de.mm20.launcher2.ui.component.preferences.Preference
+import de.mm20.launcher2.ui.component.preferences.PreferenceScreen
+import de.mm20.launcher2.ui.locals.LocalNavController
+
+@Composable
+fun WidgetsSettingsScreen() {
+ val navController = LocalNavController.current
+ PreferenceScreen(title = stringResource(R.string.preference_screen_widgets)) {
+ item {
+ Preference(
+ title = stringResource(R.string.preference_screen_weatherwidget),
+ icon = Icons.Rounded.LightMode,
+ onClick = {
+ navController?.navigate("settings/widgets/weather")
+ }
+ )
+ Preference(
+ title = stringResource(R.string.preference_screen_calendarwidget),
+ icon = Icons.Rounded.Today
+ )
+ }
+ }
+}
\ No newline at end of file