mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-02 19:10:11 +01:00
Refactoring
This commit is contained in:
@@ -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()) {
|
||||
|
||||
@@ -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<ShortcutInfo> 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
|
||||
|
||||
@@ -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<AdapterMessage.ViewHold
|
||||
|
||||
this.date = prefs.getBoolean("date", true);
|
||||
this.threading = prefs.getBoolean("threading", true);
|
||||
this.contacts = (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS)
|
||||
== PackageManager.PERMISSION_GRANTED);
|
||||
this.contacts = Helper.hasPermission(context, Manifest.permission.READ_CONTACTS);
|
||||
this.search = (context.getPackageManager().getComponentEnabledSetting(
|
||||
new ComponentName(context, ActivitySearch.class)) ==
|
||||
PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.Manifest;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
@@ -20,8 +19,6 @@ import java.util.Map;
|
||||
import javax.mail.Address;
|
||||
import javax.mail.internet.InternetAddress;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
public class ContactInfo {
|
||||
private String email;
|
||||
private Bitmap bitmap;
|
||||
@@ -91,8 +88,7 @@ public class ContactInfo {
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS)
|
||||
== PackageManager.PERMISSION_GRANTED)
|
||||
if (Helper.hasPermission(context, Manifest.permission.READ_CONTACTS))
|
||||
try {
|
||||
Cursor cursor = null;
|
||||
try {
|
||||
@@ -159,8 +155,7 @@ public class ContactInfo {
|
||||
return null;
|
||||
InternetAddress address = (InternetAddress) addresses[0];
|
||||
|
||||
if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS)
|
||||
!= PackageManager.PERMISSION_GRANTED)
|
||||
if (!Helper.hasPermission(context, Manifest.permission.READ_CONTACTS))
|
||||
return null;
|
||||
|
||||
try {
|
||||
|
||||
@@ -78,7 +78,6 @@ import javax.mail.Session;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.Group;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import static android.accounts.AccountManager.newChooseAccountIntent;
|
||||
@@ -349,7 +348,7 @@ public class FragmentAccount extends FragmentBase {
|
||||
if ("com.google".equals(provider.type)) {
|
||||
String permission = Manifest.permission.GET_ACCOUNTS;
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O &&
|
||||
ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED) {
|
||||
!Helper.hasPermission(getContext(), permission)) {
|
||||
Log.i("Requesting " + permission);
|
||||
requestPermissions(new String[]{permission}, ActivitySetup.REQUEST_PERMISSION);
|
||||
} else
|
||||
|
||||
@@ -136,4 +136,11 @@ public class FragmentBase extends Fragment {
|
||||
Bundle args = getArguments();
|
||||
return (args != null && args.getBoolean("pane"));
|
||||
}
|
||||
|
||||
boolean hasPermission(String name) {
|
||||
ActivityBase activity = (ActivityBase) getActivity();
|
||||
if (activity == null)
|
||||
return false;
|
||||
return activity.hasPermission(name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +124,6 @@ import javax.mail.internet.MimeMessage;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.Group;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.cursoradapter.widget.SimpleCursorAdapter;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
@@ -398,8 +397,7 @@ public class FragmentCompose extends FragmentBase {
|
||||
getActivity().invalidateOptionsMenu();
|
||||
Helper.setViewsEnabled(view, false);
|
||||
|
||||
if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.READ_CONTACTS)
|
||||
== PackageManager.PERMISSION_GRANTED) {
|
||||
if (Helper.hasPermission(getContext(), Manifest.permission.READ_CONTACTS)) {
|
||||
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
|
||||
getContext(),
|
||||
android.R.layout.simple_list_item_2,
|
||||
|
||||
@@ -63,7 +63,6 @@ import javax.mail.Transport;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import static android.accounts.AccountManager.newChooseAccountIntent;
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
@@ -104,7 +103,7 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||
public void onClick(View v) {
|
||||
String permission = Manifest.permission.GET_ACCOUNTS;
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O &&
|
||||
ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED) {
|
||||
!Helper.hasPermission(getContext(), permission)) {
|
||||
Log.i("Requesting " + permission);
|
||||
requestPermissions(new String[]{permission}, ActivitySetup.REQUEST_CHOOSE_ACCOUNT);
|
||||
} else
|
||||
|
||||
@@ -90,6 +90,7 @@ import javax.mail.internet.InternetAddress;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
|
||||
@@ -113,6 +114,10 @@ public class Helper {
|
||||
}
|
||||
};
|
||||
|
||||
static boolean hasPermission(Context context, String name) {
|
||||
return (ContextCompat.checkSelfPermission(context, name) == PackageManager.PERMISSION_GRANTED);
|
||||
}
|
||||
|
||||
static void view(Context context, LifecycleOwner owner, Intent intent) {
|
||||
Uri uri = intent.getData();
|
||||
if ("http".equals(uri.getScheme()) || "https".equals(uri.getScheme()))
|
||||
|
||||
Reference in New Issue
Block a user