Project Information
- Repository: https://github.com/gsantner/memetastic
- Title: Sharing images which amount to 3000 in height or width or both crashes memetastic.
Expected behavior
It is possible to import images of various length and width to MemeTastic without having any issue. I expected the same behavior when sharing images of specific length and width to MemeTastic.
Actual behavior
Sharing Pictures which range from 3000 height or 3000width and above to MemeTastic causes a fatal exception and the app crashes.
How to reproduce
Launch inbuilt gallery app and locate a picture of 3000width or 3000 height and above.
You can view this detail by clicking on the three vertical dots at the upper right corner of the picture view in your gallery app and choosing
details
from the list of options
Choose to share the picture.
And select MemeTastic from the list of destination apps that will be provided.
Browser/App version: V1.4.2
Operating system: Android v4.2.2
NB: This issue was also reproducible on android v6.0 marshmallow (spread chipset)
- Device: Tecno G9 (MediaTek chipset)
Recording Of The Bug
Proof of work done
Log
05-19 15:05:16.790 E/AndroidRuntime(927): java.lang.RuntimeException: Unable to start activity ComponentInfo{io.github.gsantner.memetastic/io.github.gsantner.memetastic.activity.MemeCreateActivity}: java.lang.NullPointerException
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3910)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.ActivityThread.access$700(ActivityThread.java:165)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.os.Handler.dispatchMessage(Handler.java:107)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.os.Looper.loop(Looper.java:194) 05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.ActivityThread.main(ActivityThread.java:5370)
05-19 15:05:16.790 E/AndroidRuntime(927): at java.lang.reflect.Method.invokeNative(Native Method)
05-19 15:05:16.790 E/AndroidRuntime(927): at java.lang.reflect.Method.invoke(Method.java:525)
05-19 15:05:16.790 E/AndroidRuntime(927): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 05-19 15:05:16.790 E/AndroidRuntime(927): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
05-19 15:05:16.790 E/AndroidRuntime(927): at dalvik.system.NativeStart.main(Native Method)
05-19 15:05:16.790 E/AndroidRuntime(927): Caused by: java.lang.NullPointerException
05-19 15:05:16.790 E/AndroidRuntime(927): at android.graphics.Canvas.(Canvas.java:126)
05-19 15:05:16.790 E/AndroidRuntime(927): at io.github.gsantner.memetastic.activity.MemeCreateActivity.makeMemeImageFromElements(MemeCreateActivity.java:778)
05-19 15:05:16.790 E/AndroidRuntime(927): at io.github.gsantner.memetastic.activity.MemeCreateActivity.onMemeEditorObjectChanged(MemeCreateActivity.java:871)
05-19 15:05:16.790 E/AndroidRuntime(927): at io.github.gsantner.memetastic.activity.MemeCreateActivity$11.onProgressChanged(MemeCreateActivity.java:699)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.widget.SeekBar.onProgressRefresh(SeekBar.java:91)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.widget.ProgressBar.refreshProgress(ProgressBar.java:698)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.widget.ProgressBar.setProgress(ProgressBar.java:745)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.widget.ProgressBar.setProgress(ProgressBar.java:726)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.widget.ProgressBar.onRestoreInstanceState(ProgressBar.java:1184)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.View.dispatchRestoreInstanceState(View.java:12229)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2686)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.view.View.restoreHierarchyState(View.java:12207) 05-19 15:05:16.790 E/AndroidRuntime(927): at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1661)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.Activity.onRestoreInstanceState(Activity.java:947)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.Activity.performRestoreInstanceState(Activity.java:919)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1202)
05-19 15:05:16.790 E/AndroidRuntime(927): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329)
05-19 15:05:16.790 E/AndroidRuntime(927): ... 12 more```