diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 4a4404cf83..860813b90a 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -22,7 +22,6 @@ package eu.faircode.email; import android.Manifest; import android.content.Intent; import android.content.SharedPreferences; -import android.content.pm.PackageManager; import android.content.res.Configuration; import android.os.Bundle; import android.preference.PreferenceManager; @@ -34,7 +33,6 @@ import java.util.List; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; -import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; abstract class ActivityBase extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @@ -44,8 +42,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc protected void onCreate(Bundle savedInstanceState) { Log.i("Create " + this.getClass().getName() + " version=" + BuildConfig.VERSION_NAME); - this.contacts = (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) - == PackageManager.PERMISSION_GRANTED); + this.contacts = hasPermission(Manifest.permission.READ_CONTACTS); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); String theme = prefs.getString("theme", null); @@ -69,9 +66,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc protected void onResume() { Log.i("Resume " + this.getClass().getName()); - boolean contacts = (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) - == PackageManager.PERMISSION_GRANTED); - + boolean contacts = hasPermission(Manifest.permission.READ_CONTACTS); if (!this.getClass().equals(ActivitySetup.class) && this.contacts != contacts) { Log.i("Contacts permission=" + contacts); finish(); @@ -119,6 +114,10 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc finish(); } + public boolean hasPermission(String name) { + return Helper.hasPermission(this, name); + } + protected View getVisibleView() { for (Fragment fragment : getSupportFragmentManager().getFragments()) if (fragment.getUserVisibleHint()) { diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 97211be9e1..72a8bf18e8 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -29,7 +29,6 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.IntentSender; import android.content.SharedPreferences; -import android.content.pm.PackageManager; import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; import android.content.res.Configuration; @@ -89,7 +88,6 @@ import javax.net.ssl.HttpsURLConnection; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.documentfile.provider.DocumentFile; import androidx.drawerlayout.widget.DrawerLayout; import androidx.fragment.app.Fragment; @@ -734,8 +732,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB List shortcuts = new ArrayList<>(); - if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) - == PackageManager.PERMISSION_GRANTED) { + if (hasPermission(Manifest.permission.READ_CONTACTS)) { Cursor cursor = null; try { // https://developer.android.com/guide/topics/providers/contacts-provider#ObsoleteData diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 5272fde58c..848179f99a 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -109,7 +109,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.widget.PopupMenu; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LiveData; import androidx.lifecycle.Observer; @@ -2480,8 +2479,7 @@ public class AdapterMessage extends RecyclerView.Adapter