Localized tile services

This commit is contained in:
M66B 2022-12-27 17:19:42 +01:00
parent 19760df631
commit 65c49f3898
4 changed files with 43 additions and 19 deletions

View File

@ -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 <http://www.gnu.org/licenses/>.
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");
}
}

View File

@ -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");
}
}

View File

@ -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");
}
}

View File

@ -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() {