lemberg / connfa-android

Open Source Android app for Conferences and Events
http://connfa.com
Apache License 2.0
100 stars 111 forks source link

Android. OS 7. Split mode. App crashes with split mode #18

Open danylopidhainyi23 opened 7 years ago

danylopidhainyi23 commented 7 years ago

Device: Nexus 5X, OS 7.0

There are 2 ways to reproduce it:

1

2

Crash log attached: 12-01 15:59:27.611: E/AndroidRuntime(19996): FATAL EXCEPTION: main 12-01 15:59:27.611: E/AndroidRuntime(19996): Process: com.ls.drupalconapp, PID: 19996 12-01 15:59:27.611: E/AndroidRuntime(19996): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.model.PreferencesManager.(PreferencesManager.java:29) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.model.PreferencesManager.create(PreferencesManager.java:23) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.utils.DateUtils.getTimeZone(DateUtils.java:18) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.utils.DateUtils.isToday(DateUtils.java:38) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.ui.fragment.EventHolderFragment.switchToCurrentDay(EventHolderFragment.java:272) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.ui.fragment.EventHolderFragment.updateViews(EventHolderFragment.java:266) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.ui.fragment.EventHolderFragment.access$300(EventHolderFragment.java:38) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.ui.fragment.EventHolderFragment$LoadData.onPostExecute(EventHolderFragment.java:193) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.connfa.ui.fragment.EventHolderFragment$LoadData.onPostExecute(EventHolderFragment.java:184) 12-01 15:59:27.611: E/AndroidRuntime(19996): at android.os.AsyncTask.finish(AsyncTask.java:660) 12-01 15:59:27.611: E/AndroidRuntime(19996): at android.os.AsyncTask.-wrap1(AsyncTask.java) 12-01 15:59:27.611: E/AndroidRuntime(19996): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:677) 12-01 15:59:27.611: E/AndroidRuntime(19996): at android.os.Handler.dispatchMessage(Handler.java:102) 12-01 15:59:27.611: E/AndroidRuntime(19996): at android.os.Looper.loop(Looper.java:154) 12-01 15:59:27.611: E/AndroidRuntime(19996): at android.app.ActivityThread.main(ActivityThread.java:6077) 12-01 15:59:27.611: E/AndroidRuntime(19996): at java.lang.reflect.Method.invoke(Native Method) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 12-01 15:59:27.611: E/AndroidRuntime(19996): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

rock3r commented 7 years ago

I have observed some concerning behaviour with regards to split screen mode:

split

If you don't cancel the splitscreen selection as shown above (i.e., you select the secondary window, then close splitscreen mode), then the behaviour does not happen.

TarasKunyk commented 7 years ago

Hello, App wasn't designed to support split screen mode (since it was added in Nougat). So this feature was never tested. So we have two options to resolve this issue:

rock3r commented 7 years ago

Well if an app is well designed it should work -- or almost work -- out of the box in split screen mode (usually the only thing you need to do is move code from onResume/onPause to onStart/onStop). I'm looking into solving the problem at the root, currently. In the meantime I'll add the resizeableActivity attribute, but that's just a workaround

developerRojina commented 2 years ago

You can have a look at this: https://github.com/wix/react-native-navigation/issues/2191#issuecomment-362186304