From 4b5f12cfc0e3c9c7a46dff79a22915e89e22373d Mon Sep 17 00:00:00 2001 From: Manuel W Date: Mon, 21 Jun 2021 22:22:58 +0200 Subject: [PATCH 1/2] adds option to disable widget background #165 adds setting to the widget settings updates all widget types to use this setting --- .../secuso/privacyfriendlyweather/backup/BackupRestorer.java | 1 + .../preferences/AppPreferencesManager.java | 4 ++++ .../secuso/privacyfriendlyweather/widget/WeatherWidget.java | 2 ++ .../widget/WeatherWidgetFiveDayForecast.java | 2 ++ .../widget/WeatherWidgetOneDayForecast.java | 2 ++ .../widget/WeatherWidgetThreeDayForecast.java | 2 ++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/pref_general.xml | 4 ++++ 12 files changed, 22 insertions(+) diff --git a/app/src/main/java/org/secuso/privacyfriendlyweather/backup/BackupRestorer.java b/app/src/main/java/org/secuso/privacyfriendlyweather/backup/BackupRestorer.java index cfa7ace8..936ef3d8 100644 --- a/app/src/main/java/org/secuso/privacyfriendlyweather/backup/BackupRestorer.java +++ b/app/src/main/java/org/secuso/privacyfriendlyweather/backup/BackupRestorer.java @@ -64,6 +64,7 @@ private void readPreferences(@NonNull JsonReader reader, @NonNull Context contex case "": pref.edit().putBoolean(name, reader.nextBoolean()).apply(); break; + case "showWidgetBackground": case "widgetChoice1": case "widgetChoice2": case "widgetChoice3": diff --git a/app/src/main/java/org/secuso/privacyfriendlyweather/preferences/AppPreferencesManager.java b/app/src/main/java/org/secuso/privacyfriendlyweather/preferences/AppPreferencesManager.java index ab3e43a3..98ead05d 100644 --- a/app/src/main/java/org/secuso/privacyfriendlyweather/preferences/AppPreferencesManager.java +++ b/app/src/main/java/org/secuso/privacyfriendlyweather/preferences/AppPreferencesManager.java @@ -216,6 +216,10 @@ public String convertToCurrentSpeedUnit(float speedInMetersPerSecond) { } } + public boolean getShowWidgetBackground() { + return preferences.getBoolean("showWidgetBackground", true); + } + public int get1dayWidgetInfo() { return Integer.parseInt(preferences.getString("widgetChoice4", "1")); } diff --git a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidget.java b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidget.java index bc4cee90..706a70f4 100644 --- a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidget.java +++ b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidget.java @@ -83,6 +83,8 @@ public static void updateView(Context context, AppWidgetManager appWidgetManager views.setImageViewResource(R.id.widget_city_weather_image_view, UiResourceProvider.getIconResourceForWeatherCategory(weatherData.getWeatherID(), isDay)); + views.setInt(R.id.widget1day_layout, "setBackgroundResource", prefManager.getShowWidgetBackground() ? R.drawable.rounded_corner_dark : 0); + Intent intent = new Intent(context, ForecastCityActivity.class); intent.putExtra("cityId", city.getCityId()); PendingIntent pendingIntent = PendingIntent.getActivity(context, appWidgetId, intent, 0); diff --git a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetFiveDayForecast.java b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetFiveDayForecast.java index 41cd17a5..54eab3fb 100644 --- a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetFiveDayForecast.java +++ b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetFiveDayForecast.java @@ -147,6 +147,8 @@ public static void updateView(Context context, AppWidgetManager appWidgetManager views.setImageViewResource(R.id.widget_city_weather_5day_image4, UiResourceProvider.getIconResourceForWeatherCategory((int) data[3][9], true)); views.setImageViewResource(R.id.widget_city_weather_5day_image5, UiResourceProvider.getIconResourceForWeatherCategory((int) data[4][9], true)); + views.setInt(R.id.widget5day_layout, "setBackgroundResource", prefManager.getShowWidgetBackground() ? R.drawable.rounded_corner_dark : 0); + Intent intent = new Intent(context, ForecastCityActivity.class); intent.putExtra("cityId", city.getCityId()); PendingIntent pendingIntent = PendingIntent.getActivity(context, appWidgetId, intent, 0); diff --git a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetOneDayForecast.java b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetOneDayForecast.java index 49c91061..9328f3c0 100644 --- a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetOneDayForecast.java +++ b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetOneDayForecast.java @@ -131,6 +131,8 @@ public static void updateView(Context context, AppWidgetManager appWidgetManager views.setImageViewResource(R.id.widget_city_weather_1day_image4, UiResourceProvider.getIconResourceForWeatherCategory((int) data[3][5], true)); views.setImageViewResource(R.id.widget_city_weather_1day_image5, UiResourceProvider.getIconResourceForWeatherCategory((int) data[4][5], true)); + views.setInt(R.id.widget1day_layout, "setBackgroundResource", prefManager.getShowWidgetBackground() ? R.drawable.rounded_corner_dark : 0); + Intent intent = new Intent(context, ForecastCityActivity.class); intent.putExtra("cityId", city.getCityId()); PendingIntent pendingIntent = PendingIntent.getActivity(context, appWidgetId, intent, 0); diff --git a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetThreeDayForecast.java b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetThreeDayForecast.java index 7e607fe2..56dcbcde 100644 --- a/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetThreeDayForecast.java +++ b/app/src/main/java/org/secuso/privacyfriendlyweather/widget/WeatherWidgetThreeDayForecast.java @@ -135,6 +135,8 @@ public static void updateView(Context context, AppWidgetManager appWidgetManager views.setImageViewResource(R.id.widget_city_weather_3day_image2, UiResourceProvider.getIconResourceForWeatherCategory((int) data[1][9], true)); views.setImageViewResource(R.id.widget_city_weather_3day_image3, UiResourceProvider.getIconResourceForWeatherCategory((int) data[2][9], true)); + views.setInt(R.id.widget3day_layout, "setBackgroundResource", prefManager.getShowWidgetBackground() ? R.drawable.rounded_corner_dark : 0); + Intent intent = new Intent(context, ForecastCityActivity.class); intent.putExtra("cityId", city.getCityId()); PendingIntent pendingIntent = PendingIntent.getActivity(context, appWidgetId, intent, 0); diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 251d6eac..863ffdb4 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -202,4 +202,5 @@ Berechtigung: An Job-Service binden Um asynchrone Aktualisierungsanforderungen zu ermöglichen und gleichzeitig die App reaktionsfähig zu halten, wird die Wakelock-Berechtigung benötigt. Die Hintergrundaufgaben in Wetter sind nicht lang und werden Ihr Telefon nicht für lange Zeit wach halten. Aber die Berechtigung wird benötigt, um Hintergrunddienste auf diese Weise auszuführen. Die Wetter-App ermöglicht Backups mit unserer Privacy Friendly Backup-App. Um diese Funktionalität zu aktivieren, wird die Berechtigung zum Verbinden mit Diensten benötigt. + Zeige Hintergrund diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fb20bb94..14117c12 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -201,4 +201,5 @@ Autorizzazione: Legare al servizio di lavoro Per abilitare le richieste di aggiornamento asincrone mantenendo l\'app reattiva, è necessario il permesso Wakelock. I compiti in background di Weather non sono lunghi e non terranno il telefono sveglio per molto tempo. Ma il permesso è necessario per eseguire i servizi in background in questo modo. L\'app meteo abilita i backup con la nostra app Privacy Friendly Backup. Per abilitare questa funzionalità, è necessario il permesso di legarsi ai servizi. + Show background diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 96ee09d3..bbc4061b 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -255,5 +255,6 @@ Permission: Bind to Job Service To enable asynchronous update requests while keeping the app responsive, the Wakelock permission is needed. The background tasks in weather are not long and will not keep your phone awake for long times. But the permission is needed to run background services in this way. The weather app enables backups with our Privacy Friendly Backup app. To enable this functionality, the permission to bind with services is needed. + Show background diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index e81bedb4..2b434df1 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -201,4 +201,5 @@ Autorização: Ligar ao Serviço de Emprego Para permitir pedidos de actualização assíncrona enquanto se mantém a resposta do aplicativo, é necessária a permissão Wakelock. As tarefas de fundo no tempo não são longas e não irão manter o telefone acordado durante muito tempo. Mas a permissão é necessária para executar serviços de fundo desta forma. A aplicação meteorológica permite cópias de segurança com a nossa aplicação Privacy Friendly Backup. Para activar esta funcionalidade, é necessária a permissão de ligação com serviços. + Show background diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 57127b9b..e32540c3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -106,6 +106,7 @@ Reset API Key Widgets + Show background Set the additional information for 5-day widgets at the bottom. 5-day widget Set the first additional information for 3-day widgets at the bottom. diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml index af67dcbc..7acd4da8 100644 --- a/app/src/main/res/xml/pref_general.xml +++ b/app/src/main/res/xml/pref_general.xml @@ -54,6 +54,10 @@ + Date: Tue, 22 Jun 2021 14:21:52 +0200 Subject: [PATCH 2/2] improve german translation --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 863ffdb4..33932256 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -202,5 +202,5 @@ Berechtigung: An Job-Service binden Um asynchrone Aktualisierungsanforderungen zu ermöglichen und gleichzeitig die App reaktionsfähig zu halten, wird die Wakelock-Berechtigung benötigt. Die Hintergrundaufgaben in Wetter sind nicht lang und werden Ihr Telefon nicht für lange Zeit wach halten. Aber die Berechtigung wird benötigt, um Hintergrunddienste auf diese Weise auszuführen. Die Wetter-App ermöglicht Backups mit unserer Privacy Friendly Backup-App. Um diese Funktionalität zu aktivieren, wird die Berechtigung zum Verbinden mit Diensten benötigt. - Zeige Hintergrund + Hintergrund anzeigen