mirror of https://github.com/M66B/FairEmail.git
Restart on contacts permission change
This commit is contained in:
parent
66c5d065db
commit
eb7754974f
|
@ -19,8 +19,10 @@ package eu.faircode.email;
|
||||||
Copyright 2018 by Marcel Bokhorst (M66B)
|
Copyright 2018 by Marcel Bokhorst (M66B)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
@ -33,9 +35,12 @@ import java.util.List;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
abstract class ActivityBase extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
abstract class ActivityBase extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
private boolean contacts;
|
||||||
|
|
||||||
private static String[] restart = new String[]{
|
private static String[] restart = new String[]{
|
||||||
"unified", "threading", "compact", "avatars", "identicons", "preview",
|
"unified", "threading", "compact", "avatars", "identicons", "preview",
|
||||||
"browse", "actionbar", "autoclose", "confirm", "debug"
|
"browse", "actionbar", "autoclose", "confirm", "debug"
|
||||||
|
@ -45,6 +50,9 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
Log.i(Helper.TAG, "Create " + this.getClass().getName() + " version=" + BuildConfig.VERSION_NAME);
|
Log.i(Helper.TAG, "Create " + this.getClass().getName() + " version=" + BuildConfig.VERSION_NAME);
|
||||||
|
|
||||||
|
this.contacts = (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS)
|
||||||
|
== PackageManager.PERMISSION_GRANTED);
|
||||||
|
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
if (Helper.isPro(this)) {
|
if (Helper.isPro(this)) {
|
||||||
String theme = prefs.getString("theme", null);
|
String theme = prefs.getString("theme", null);
|
||||||
|
@ -62,6 +70,16 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
Log.i(Helper.TAG, "Resume " + this.getClass().getName());
|
Log.i(Helper.TAG, "Resume " + this.getClass().getName());
|
||||||
|
|
||||||
|
boolean contacts = (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS)
|
||||||
|
== PackageManager.PERMISSION_GRANTED);
|
||||||
|
|
||||||
|
if (!this.getClass().equals(ActivitySetup.class) && this.contacts != contacts) {
|
||||||
|
Log.i(Helper.TAG, "Contacts permission=" + contacts);
|
||||||
|
finish();
|
||||||
|
startActivity(getIntent());
|
||||||
|
}
|
||||||
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue