From 8df1b38df53c96901c578c8d772a9723758e7c23 Mon Sep 17 00:00:00 2001 From: Olga Miller Date: Tue, 23 Oct 2018 17:36:39 +0200 Subject: [PATCH] Get MainActivity from ContextWrapper in CropView to fix ClassCastException for Android 4.4 --- app/src/main/java/om/sstvencoder/CropView.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/om/sstvencoder/CropView.java b/app/src/main/java/om/sstvencoder/CropView.java index 1396002..bca37af 100644 --- a/app/src/main/java/om/sstvencoder/CropView.java +++ b/app/src/main/java/om/sstvencoder/CropView.java @@ -16,6 +16,7 @@ limitations under the License. package om.sstvencoder; import android.content.Context; +import android.content.ContextWrapper; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapRegionDecoder; @@ -449,7 +450,7 @@ public class CropView extends AppCompatImageView { private void editLabelBegin(float x, float y) { Label label = mLabelCollection.editLabelBegin(x, y); - ((MainActivity) getContext()).startEditTextActivity(label); + GetActivity().startEditTextActivity(label); } public void editLabelEnd(Label label) { @@ -460,4 +461,13 @@ public class CropView extends AppCompatImageView { public LabelCollection getLabels() { return mLabelCollection; } + + private MainActivity GetActivity() { + MainActivity activity; + Context context = getContext(); + if (!(context instanceof MainActivity)) + context = ((ContextWrapper) context).getBaseContext(); + activity = (MainActivity) context; + return activity; + } }