From 65c49f3898ab7362b54e92e95f0a4cf393dad705 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 27 Dec 2022 17:19:42 +0100 Subject: [PATCH] Localized tile services --- .../eu/faircode/email/ServiceTileBase.java | 40 +++++++++++++++++++ .../eu/faircode/email/ServiceTileClear.java | 9 +---- .../email/ServiceTileSynchronize.java | 9 +---- .../eu/faircode/email/ServiceTileUnseen.java | 4 +- 4 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 app/src/main/java/eu/faircode/email/ServiceTileBase.java diff --git a/app/src/main/java/eu/faircode/email/ServiceTileBase.java b/app/src/main/java/eu/faircode/email/ServiceTileBase.java new file mode 100644 index 0000000000..f528396d4f --- /dev/null +++ b/app/src/main/java/eu/faircode/email/ServiceTileBase.java @@ -0,0 +1,40 @@ +package eu.faircode.email; + +/* + This file is part of FairEmail. + + FairEmail is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + FairEmail is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FairEmail. If not, see . + + Copyright 2018-2022 by Marcel Bokhorst (M66B) +*/ + +import android.content.Context; +import android.os.Build; +import android.service.quicksettings.TileService; + +import androidx.annotation.RequiresApi; + +@RequiresApi(api = Build.VERSION_CODES.N) +public class ServiceTileBase extends TileService { + @Override + protected void attachBaseContext(Context base) { + super.attachBaseContext(ApplicationEx.getLocalizedContext(base)); + } + + @Override + public void onDestroy() { + super.onDestroy(); + CoalMine.watch(this, this.getClass().getName() + "#onDestroy"); + } +} diff --git a/app/src/main/java/eu/faircode/email/ServiceTileClear.java b/app/src/main/java/eu/faircode/email/ServiceTileClear.java index f1da133be4..cb680fc5ec 100644 --- a/app/src/main/java/eu/faircode/email/ServiceTileClear.java +++ b/app/src/main/java/eu/faircode/email/ServiceTileClear.java @@ -21,17 +21,10 @@ package eu.faircode.email; import android.annotation.TargetApi; import android.os.Build; -import android.service.quicksettings.TileService; @TargetApi(Build.VERSION_CODES.N) -public class ServiceTileClear extends TileService { +public class ServiceTileClear extends ServiceTileBase { public void onClick() { startActivityAndCollapse(ActivityClear.getIntent(this)); } - - @Override - public void onDestroy() { - super.onDestroy(); - CoalMine.watch(this, this.getClass().getName() + "#onDestroy"); - } } diff --git a/app/src/main/java/eu/faircode/email/ServiceTileSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceTileSynchronize.java index bcc2c50ff3..ec0a79cc09 100644 --- a/app/src/main/java/eu/faircode/email/ServiceTileSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceTileSynchronize.java @@ -24,12 +24,11 @@ import android.content.SharedPreferences; import android.graphics.drawable.Icon; import android.os.Build; import android.service.quicksettings.Tile; -import android.service.quicksettings.TileService; import androidx.preference.PreferenceManager; @TargetApi(Build.VERSION_CODES.N) -public class ServiceTileSynchronize extends TileService implements SharedPreferences.OnSharedPreferenceChangeListener { +public class ServiceTileSynchronize extends ServiceTileBase implements SharedPreferences.OnSharedPreferenceChangeListener { public void onStartListening() { Log.i("Start tile synchronize"); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); @@ -87,10 +86,4 @@ public class ServiceTileSynchronize extends TileService implements SharedPrefere boolean enabled = !prefs.getBoolean("enabled", true); prefs.edit().putBoolean("enabled", enabled).apply(); } - - @Override - public void onDestroy() { - super.onDestroy(); - CoalMine.watch(this, this.getClass().getName() + "#onDestroy"); - } } diff --git a/app/src/main/java/eu/faircode/email/ServiceTileUnseen.java b/app/src/main/java/eu/faircode/email/ServiceTileUnseen.java index f6b4088fa2..0c916a28fe 100644 --- a/app/src/main/java/eu/faircode/email/ServiceTileUnseen.java +++ b/app/src/main/java/eu/faircode/email/ServiceTileUnseen.java @@ -25,7 +25,6 @@ import android.graphics.drawable.Icon; import android.os.Build; import android.os.IBinder; import android.service.quicksettings.Tile; -import android.service.quicksettings.TileService; import androidx.lifecycle.Observer; @@ -33,7 +32,7 @@ import java.util.ArrayList; import java.util.List; @TargetApi(Build.VERSION_CODES.N) -public class ServiceTileUnseen extends TileService { +public class ServiceTileUnseen extends ServiceTileBase { private TwoStateOwner owner = new TwoStateOwner("ServiceTileUnseen"); @Override @@ -91,7 +90,6 @@ public class ServiceTileUnseen extends TileService { public void onDestroy() { owner.destroy(); super.onDestroy(); - CoalMine.watch(this, this.getClass().getName() + "#onDestroy"); } public void onStartListening() {