Prevent crash

This commit is contained in:
M66B 2021-05-13 07:22:35 +02:00
parent 55a2550885
commit 1faaa46df8
4 changed files with 41 additions and 11 deletions

View File

@ -122,7 +122,11 @@ public class FragmentAccounts extends FragmentBase {
btnGrant.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
requestPermissions(Helper.getOAuthPermissions(), REQUEST_IMPORT_OAUTH);
try {
requestPermissions(Helper.getOAuthPermissions(), REQUEST_IMPORT_OAUTH);
} catch (Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex);
}
}
});

View File

@ -2297,12 +2297,16 @@ public class FragmentCompose extends FragmentBase {
@Override
protected void onException(Bundle args, Throwable ex) {
if (ex instanceof SecurityException) {
pickRequest = requestCode;
pickUri = uri;
String permission = Manifest.permission.READ_CONTACTS;
requestPermissions(new String[]{permission}, REQUEST_PERMISSION);
} else
if (ex instanceof SecurityException)
try {
pickRequest = requestCode;
pickUri = uri;
String permission = Manifest.permission.READ_CONTACTS;
requestPermissions(new String[]{permission}, REQUEST_PERMISSION);
} catch (Throwable ex1) {
Log.unexpectedError(getParentFragmentManager(), ex1);
}
else
Log.unexpectedError(getParentFragmentManager(), ex);
}
}.execute(this, args, "compose:picked");

View File

@ -109,7 +109,11 @@ public class FragmentGmail extends FragmentBase {
btnGrant.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
requestPermissions(Helper.getOAuthPermissions(), ActivitySetup.REQUEST_CHOOSE_ACCOUNT);
try {
requestPermissions(Helper.getOAuthPermissions(), ActivitySetup.REQUEST_CHOOSE_ACCOUNT);
} catch (Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex);
}
}
});

View File

@ -336,9 +336,27 @@ public class FragmentSetup extends FragmentBase {
btnPermissions.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
btnPermissions.setEnabled(false);
String permission = Manifest.permission.READ_CONTACTS;
requestPermissions(new String[]{permission}, ActivitySetup.REQUEST_PERMISSION);
try {
btnPermissions.setEnabled(false);
String permission = Manifest.permission.READ_CONTACTS;
requestPermissions(new String[]{permission}, ActivitySetup.REQUEST_PERMISSION);
} catch (Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex);
/*
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.google.android.packageinstaller (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1805)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1634)
at android.app.Activity.startActivityForResult(Activity.java:4583)
at android.app.Activity.requestPermissions(Activity.java:3850)
at androidx.core.app.ActivityCompat.requestPermissions(SourceFile:11)
at androidx.activity.ComponentActivity$2.onLaunch(SourceFile:13)
at androidx.activity.result.ActivityResultRegistry$3.launch(SourceFile:2)
at androidx.activity.result.ActivityResultLauncher.launch(SourceFile:1)
at androidx.fragment.app.FragmentManager.launchRequestPermissions(SourceFile:4)
at androidx.fragment.app.Fragment.requestPermissions(SourceFile:2)
at eu.faircode.email.FragmentSetup$11.onClick(SourceFile:2)
*/
}
}
});