Prevent crash

This commit is contained in:
M66B 2020-06-25 16:02:25 +02:00
parent ad75914803
commit f15785ce78
5 changed files with 48 additions and 8 deletions

View File

@ -22,6 +22,7 @@ package eu.faircode.email;
import android.annotation.TargetApi;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@ -42,6 +43,7 @@ import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.PopupMenu;
@ -394,7 +396,12 @@ public class AdapterAccount extends RecyclerView.Adapter<AdapterAccount.ViewHold
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName())
.putExtra(Settings.EXTRA_CHANNEL_ID, EntityAccount.getNotificationChannelId(account.id));
context.startActivity(intent);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, intent), Toast.LENGTH_LONG).show();
}
}
private void onActionCopy() {

View File

@ -20,6 +20,7 @@ package eu.faircode.email;
*/
import android.Manifest;
import android.content.ActivityNotFoundException;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
@ -41,6 +42,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.PopupMenu;
@ -276,8 +278,9 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
private void onActionShare() {
try {
context.startActivity(share);
} catch (Throwable ex) {
Log.unexpectedError(parentFragment.getParentFragmentManager(), ex);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, share), Toast.LENGTH_LONG).show();
}
}

View File

@ -22,6 +22,7 @@ package eu.faircode.email;
import android.app.Dialog;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@ -48,6 +49,7 @@ import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@ -749,7 +751,12 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName())
.putExtra(Settings.EXTRA_CHANNEL_ID, EntityFolder.getNotificationChannelId(folder.id));
context.startActivity(intent);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, intent), Toast.LENGTH_LONG).show();
}
}
@RequiresApi(api = Build.VERSION_CODES.O)

View File

@ -2648,6 +2648,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
try {
context.startActivity((Intent) result);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, result), Toast.LENGTH_LONG).show();
}
}
@ -3215,7 +3216,12 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName())
.putExtra(Settings.EXTRA_CHANNEL_ID, channelId);
context.startActivity(intent);
try {
context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, intent), Toast.LENGTH_LONG).show();
}
}
private void onActionDeleteChannel() {
@ -3315,7 +3321,12 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
Snackbar.make(parentFragment.getView(),
R.string.title_no_contacts, Snackbar.LENGTH_LONG).show();
else
context.startActivity(insert);
try {
context.startActivity(insert);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, insert), Toast.LENGTH_LONG).show();
}
}
private void onEditContact(String name, String email, Uri lookupUri) {
@ -3332,7 +3343,12 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
Snackbar.make(parentFragment.getView(),
R.string.title_no_contacts, Snackbar.LENGTH_LONG).show();
else
context.startActivity(edit);
try {
context.startActivity(edit);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, edit), Toast.LENGTH_LONG).show();
}
}
private void onToggleMessage(TupleMessageEx message) {
@ -4567,7 +4583,13 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
send.putExtra(Intent.EXTRA_STREAM, uri);
send.setType("message/rfc822");
send.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(send);
try {
context.startActivity(send);
} catch (ActivityNotFoundException ex) {
Log.w(ex);
ToastEx.makeText(context, context.getString(R.string.title_no_viewer, send), Toast.LENGTH_LONG).show();
}
}
}

View File

@ -326,6 +326,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
try {
getContext().startActivity(app);
} catch (Throwable ex) {
Log.w(ex);
ToastEx.makeText(getContext(), getString(R.string.title_no_viewer, app), Toast.LENGTH_LONG).show();
}
}