diff --git a/app/src/main/java/eu/faircode/email/FixedImageButton.java b/app/src/main/java/eu/faircode/email/FixedImageButton.java new file mode 100644 index 0000000000..55a4fe6801 --- /dev/null +++ b/app/src/main/java/eu/faircode/email/FixedImageButton.java @@ -0,0 +1,56 @@ +package eu.faircode.email; + +/* + This file is part of FairEmail. + + FairEmail is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + FairEmail is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FairEmail. If not, see . + + Copyright 2018-2021 by Marcel Bokhorst (M66B) +*/ + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.AppCompatImageButton; + +public class FixedImageButton extends AppCompatImageButton { + public FixedImageButton(@NonNull Context context) { + super(context); + } + + public FixedImageButton(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + } + + public FixedImageButton(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + protected void onDraw(Canvas canvas) { + try { + super.onDraw(canvas); + } catch (RuntimeException ex) { + Log.e(ex); + Context context = getContext(); + Drawable d = context.getDrawable(R.drawable.twotone_broken_image_24); + d.setBounds(getDrawable().getBounds()); + d.draw(canvas); + } + } +} diff --git a/app/src/main/java/eu/faircode/email/FixedImageView.java b/app/src/main/java/eu/faircode/email/FixedImageView.java new file mode 100644 index 0000000000..cce57eea9d --- /dev/null +++ b/app/src/main/java/eu/faircode/email/FixedImageView.java @@ -0,0 +1,56 @@ +package eu.faircode.email; + +/* + This file is part of FairEmail. + + FairEmail is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + FairEmail is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FairEmail. If not, see . + + Copyright 2018-2021 by Marcel Bokhorst (M66B) +*/ + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +public class FixedImageView extends androidx.appcompat.widget.AppCompatImageView { + + public FixedImageView(@NonNull Context context) { + super(context); + } + + public FixedImageView(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + } + + public FixedImageView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + protected void onDraw(Canvas canvas) { + try { + super.onDraw(canvas); + } catch (RuntimeException ex) { + Log.e(ex); + Context context = getContext(); + Drawable d = context.getDrawable(R.drawable.twotone_broken_image_24); + d.setBounds(getDrawable().getBounds()); + d.draw(canvas); + } + } +} diff --git a/app/src/main/res/layout/action_button.xml b/app/src/main/res/layout/action_button.xml index f43b763f12..ce526e0892 100644 --- a/app/src/main/res/layout/action_button.xml +++ b/app/src/main/res/layout/action_button.xml @@ -1,5 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -