Android app goes to black or white screen when you rotate

343 views
Skip to first unread message

Gareth Murfin

unread,
Jan 3, 2014, 7:35:05 AM1/3/14
to codenameone...@googlegroups.com
I have noticed a few times if my phone rotates my app just disappears and a white or black screen appears instead. This also happens when I receive a phone call when using my app, what could I be doing wrong? it looks like the activity should just reappear but it doesn't. 

If I use advanced task killer then flip back to the app it reloads and works, until I rotate the screen and it goes to the black screen again...

Shai Almog

unread,
Jan 3, 2014, 2:55:02 PM1/3/14
to codenameone...@googlegroups.com
I'm guessing you got an exception or an infinite loop.

Gareth Murfin

unread,
Jan 4, 2014, 10:19:37 AM1/4/14
to codenameone...@googlegroups.com
Oh yes, I wouldnt have noticed that! .. weird error!! Whats this about, im not even showing a modal..

[EDT] 0:0:6,320 - java.lang.NullPointerException
[EDT] 0:0:6,323 - java.lang.NullPointerException
     at com.codename1.impl.android.AndroidImplementation.getNativeGraphics(AndroidImplementation.java:1033)
     at com.codename1.ui.Display.edtLoopImpl(Display.java:997)
     at com.codename1.ui.Display.flushEdt(Display.java:813)
     at com.codename1.ui.Form.showModal(Form.java:1400)
     at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
     at com.codename1.ui.Form.showDialog(Form.java:1497)
     at com.codename1.ui.Form.showModal(Form.java:1484)
     at com.codename1.ui.Dialog.showImpl(Dialog.java:1043)
     at com.codename1.ui.Dialog.show(Dialog.java:1027)
     at com.codename1.ui.Dialog.show(Dialog.java:985)
     at com.codename1.ui.Dialog.show(Dialog.java:774)
     at com.codename1.ui.Dialog.show(Dialog.java:727)
     at com.codename1.ui.Dialog.show(Dialog.java:692)
     at com.codename1.ui.Dialog.show(Dialog.java:536)
     at com.codename1.ui.Dialog.show(Dialog.java:788)
     at com.codename1.ui.Display.mainEDTLoop(Display.java:908)
     at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
     at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
     at java.lang.Thread.run(Thread.java:864)

Shai Almog

unread,
Jan 4, 2014, 2:36:33 PM1/4/14
to codenameone...@googlegroups.com
This means there was an exception while the app was deinitialized and we are trying to show the exception dialog. Is there additional output before that?

Gareth Murfin

unread,
Jan 6, 2014, 9:55:33 AM1/6/14
to codenameone...@googlegroups.com
I/System.out(16340): showKeyboard false
W/System.err(16340): java.lang.NullPointerException
W/System.err(16340):    at com.codename1.impl.android.AndroidImplementation.confirmControlView(AndroidImplementation.java:568)
W/System.err(16340):    at com.codename1.ui.Display.setCurrentForm(Display.java:1374)
W/System.err(16340):    at com.codename1.ui.Display.setCurrent(Display.java:1319)
W/System.err(16340):    at com.codename1.ui.Form.show(Form.java:1297)
W/System.err(16340):    at com.codename1.ui.Form.show(Form.java:1275)
W/System.err(16340):    at com.sasol.fuelapp.Sasol.start(Sasol.java:17)
W/System.err(16340):    at com.sasol.fuelapp.SasolStub.run(SasolStub.java:119)
W/System.err(16340):    at com.codename1.ui.Display.processSerialCalls(Display.java:1075)
W/System.err(16340):    at com.codename1.ui.Display.mainEDTLoop(Display.java:897)
W/System.err(16340):    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
W/System.err(16340):    at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
W/System.err(16340):    at java.lang.Thread.run(Thread.java:864)
W/ResourceType(16340): No package identifier when getting value for resource number 0x00000000
W/System.err(16340): java.lang.NullPointerException
W/System.err(16340):    at com.codename1.impl.android.AndroidImplementation.getNativeGraphics(AndroidImplementation.java:1033)
W/System.err(16340):    at com.codename1.ui.Display.edtLoopImpl(Display.java:997)
W/System.err(16340):    at com.codename1.ui.Display.flushEdt(Display.java:813)
W/System.err(16340):    at com.codename1.ui.Form.showModal(Form.java:1400)
W/System.err(16340):    at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
W/System.err(16340):    at com.codename1.ui.Form.showDialog(Form.java:1497)
W/System.err(16340):    at com.codename1.ui.Form.showModal(Form.java:1484)
W/System.err(16340):    at com.codename1.ui.Dialog.showImpl(Dialog.java:1043)
W/System.err(16340):    at com.codename1.ui.Dialog.show(Dialog.java:1027)
W/System.err(16340):    at com.codename1.ui.Dialog.show(Dialog.java:985)
W/System.err(16340):    at com.codename1.ui.Dialog.show(Dialog.java:774)
W/System.err(16340):    at com.codename1.ui.Dialog.show(Dialog.java:727)
W/System.err(16340):    at com.codename1.ui.Dialog.show(Dialog.java:692)
W/System.err(16340):    at com.codename1.ui.Dialog.show(Dialog.java:536)
W/System.err(16340):    at com.codename1.ui.Dialog.show(Dialog.java:788)
W/System.err(16340):    at com.codename1.ui.Display.mainEDTLoop(Display.java:908)
W/System.err(16340):    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
W/System.err(16340):    at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
W/System.err(16340):    at java.lang.Thread.run(Thread.java:864)
D/Sasol   (16340): [EDT] 0:0:13,828 - java.lang.NullPointerException
I/Codename One(16340): Resource not found: methodData.dat
D/Sasol   (16340): [EDT] 0:0:13,832 - java.lang.NullPointerException
D/Sasol   (16340):      at com.codename1.impl.android.AndroidImplementation.getNativeGraphics(AndroidImplementation.java:1033)
D/Sasol   (16340):      at com.codename1.ui.Display.edtLoopImpl(Display.java:997)
D/Sasol   (16340):      at com.codename1.ui.Display.flushEdt(Display.java:813)
D/Sasol   (16340):      at com.codename1.ui.Form.showModal(Form.java:1400)
D/Sasol   (16340):      at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
D/Sasol   (16340):      at com.codename1.ui.Form.showDialog(Form.java:1497)
D/Sasol   (16340):      at com.codename1.ui.Form.showModal(Form.java:1484)
D/Sasol   (16340):      at com.codename1.ui.Dialog.showImpl(Dialog.java:1043)
D/Sasol   (16340):      at com.codename1.ui.Dialog.show(Dialog.java:1027)
D/Sasol   (16340):      at com.codename1.ui.Dialog.show(Dialog.java:985)
D/Sasol   (16340):      at com.codename1.ui.Dialog.show(Dialog.java:774)
D/Sasol   (16340):      at com.codename1.ui.Dialog.show(Dialog.java:727)
D/Sasol   (16340):      at com.codename1.ui.Dialog.show(Dialog.java:692)
D/Sasol   (16340):      at com.codename1.ui.Dialog.show(Dialog.java:536)
D/Sasol   (16340):      at com.codename1.ui.Dialog.show(Dialog.java:788)
D/Sasol   (16340):      at com.codename1.ui.Display.mainEDTLoop(Display.java:908)
D/Sasol   (16340):      at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
D/Sasol   (16340):      at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
D/Sasol   (16340):      at java.lang.Thread.run(Thread.java:864)
D/qdmemalloc(  215): ion: Allocated buffer base:0x44b01000 size:8355840 fd:47
D/qdmemalloc(  215): ion: Allocated buffer base:0x4002a000 size:4096 fd:34

Gareth Murfin

unread,
Jan 6, 2014, 9:57:05 AM1/6/14
to codenameone...@googlegroups.com
PS on iphone it doesnt seem to crash when rotating, nor on simulator

Chen Fishbein

unread,
Jan 6, 2014, 10:03:30 AM1/6/14
to codenameone...@googlegroups.com
 this is very strange, did you built the app with our build server? is it possible you manually changed the manifest?
does a simple hello world app also causes this exception for you?

Gareth Murfin

unread,
Jan 6, 2014, 6:48:18 PM1/6/14
to codenameone...@googlegroups.com
I used the cloud (no changes to manifest at all- I think ive specified some android hints in netbeans tho) , I dont think it used to happen to be honest as I remember showing off my app in the way that it could rotate and work on any screen, so its either something I have added or something you guys have added. I wish I did have the build server working locally as I could then pin point the exact line but I havent had time to set it up yet.

Earlier on in my code if I enable the EDT detector I see some fairly serious looking messages complaining about when I show forms, Im wondering if its something like that, or maybe something in the transition stuff, I dont know, seems to happen in all points within my app which is confusing. 

I doubt very much whether a hello world app will exhibit this but I will do some tests tommorrow and get back to you. 
Thanks for the support,
Gaz.


On 6 January 2014 23:03, Chen Fishbein <cf2...@gmail.com> wrote:
 this is very strange, did you built the app with our build server? is it possible you manually changed the manifest?
does a simple hello world app also causes this exception for you?

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/r621ZSZhELc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discu...@googlegroups.com.
Visit this group at http://groups.google.com/group/codenameone-discussions.
To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/3bcc5c82-04ba-4c91-8f6f-28510127e0be%40googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

Gareth Murfin

unread,
Jan 9, 2014, 3:59:28 PM1/9/14
to codenameone...@googlegroups.com
Im still having this problem, I cannot figure it out at all, any suggestions?? would it help if I sent my Jar file or something to you guys?

Help would be appreciated, thanks guys.


On Tuesday, January 7, 2014 7:48:18 AM UTC+8, Gareth Murfin wrote:
I used the cloud (no changes to manifest at all- I think ive specified some android hints in netbeans tho) , I dont think it used to happen to be honest as I remember showing off my app in the way that it could rotate and work on any screen, so its either something I have added or something you guys have added. I wish I did have the build server working locally as I could then pin point the exact line but I havent had time to set it up yet.

Earlier on in my code if I enable the EDT detector I see some fairly serious looking messages complaining about when I show forms, Im wondering if its something like that, or maybe something in the transition stuff, I dont know, seems to happen in all points within my app which is confusing. 

I doubt very much whether a hello world app will exhibit this but I will do some tests tommorrow and get back to you. 
Thanks for the support,
Gaz.
On 6 January 2014 23:03, Chen Fishbein <cf2...@gmail.com> wrote:
 this is very strange, did you built the app with our build server? is it possible you manually changed the manifest?
does a simple hello world app also causes this exception for you?

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/r621ZSZhELc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discussions+unsub...@googlegroups.com.

Shai Almog

unread,
Jan 10, 2014, 12:27:33 AM1/10/14
to codenameone...@googlegroups.com
You said that you would try to reproduce it as standalone app. A jar wouldn't help us, we need an actual testcase.

Gareth Murfin

unread,
Jan 15, 2014, 5:33:29 AM1/15/14
to codenameone...@googlegroups.com
A helloworld app doesnt crash like this (just tested on my device), it must be something in my code, but theres 30,000 lines of it, can you give me a hint what might cause this?

Gareth Murfin

unread,
Jan 15, 2014, 5:34:19 AM1/15/14
to codenameone...@googlegroups.com
(14982): [EDT] 0:6:56,159 - java.lang.NullPointerException
(14982): [EDT] 0:6:56,162 - java.lang.NullPointerException
(14982):      at com.codename1.impl.android.AndroidImplementation.confirmControlView(AndroidImplementation.java:569)
(14982):      at com.codename1.ui.Display.setCurrentForm(Display.java:1374)
(14982):      at com.codename1.ui.Display.setCurrent(Display.java:1319)
(14982):      at com.codename1.ui.Form.showModal(Form.java:1468)
(14982):      at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
(14982):      at com.codename1.ui.Form.showDialog(Form.java:1497)
(14982):      at com.codename1.ui.Form.showModal(Form.java:1484)
(14982):      at com.codename1.ui.Dialog.showImpl(Dialog.java:1043)
(14982):      at com.codename1.ui.Dialog.show(Dialog.java:1027)
(14982):      at com.codename1.ui.Dialog.show(Dialog.java:985)
(14982):      at com.codename1.ui.Dialog.show(Dialog.java:774)
(14982):      at com.codename1.ui.Dialog.show(Dialog.java:727)
(14982):      at com.codename1.ui.Dialog.show(Dialog.java:692)
(14982):      at com.codename1.ui.Dialog.show(Dialog.java:536)
(14982):      at com.codename1.ui.Dialog.show(Dialog.java:788)
(14982):      at com.codename1.ui.Display.mainEDTLoop(Display.java:938)
(14982):      at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
(14982):      at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
(14982):      at java.lang.Thread.run(Thread.java:864)

Gareth Murfin

unread,
Jan 15, 2014, 5:36:23 AM1/15/14
to codenameone...@googlegroups.com
a bit more details from my phone 

/System.err(17216): java.lang.NullPointerException
/qdmemalloc(  923): ion: Mapped buffer base:0x63c5f000 size:4096 offset:0 fd:79
/System.err(17216):    at com.codename1.impl.android.AndroidImplementation.confirmControlView(AndroidImplementation.java:569)
/System.err(17216):    at com.codename1.ui.Display.setCurrentForm(Display.java:1374)
/System.err(17216):    at com.codename1.ui.Display.setCurrent(Display.java:1319)
/System.err(17216):    at com.codename1.ui.Form.show(Form.java:1297)
/System.err(17216):    at com.codename1.ui.Form.show(Form.java:1275)
/System.err(17216):    at com.sasol.fuelapp.Sasol.start(Sasol.java:17)
/System.err(17216):    at com.sasol.fuelapp.SasolStub.run(SasolStub.java:119)
/System.err(17216):    at com.codename1.ui.Display.processSerialCalls(Display.java:1075)
/System.err(17216):    at com.codename1.ui.Display.mainEDTLoop(Display.java:897)
/System.err(17216):    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
/System.err(17216):    at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
/System.err(17216):    at java.lang.Thread.run(Thread.java:864)
/ResourceType(17216): No package identifier when getting value for resource number 0x00000000
/TELEPHONY_CALLBACK(  923): @onSignalStrengthChanged: SignalStrength: 21 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 gsm|lte
/StatusBar.NetworkController(  923): dumpState[hasService=true ServiceState=0 home Far EasTone Far EasTone 46601  UMTS CSS not supported -1 -1 RoamInd=-1 DefRoamInd=-1EriInd=
-1EriMode= -1RadioPowerSv: false EmergOnly=false PhoneType: 1 IsCdma=false SimState=UNKNOWN GprsState=0 DataState=Not supported data state:-1 DataActivity=NONE NetworkType=UM
S HtcModemLinkOn=false sku_id=73]
/SIGNAL_ICON(  923): updateTelephonySignalStrength
/SILENT_RESET(  923): property=0 mSilentReset=false
/SIGNAL_ICON(  923): mapTelephonySignalStrength
/SIGNAL_ICON(  923): maxLevel=5 asu=21 networkType=UMTS
/SIGNAL_ICON(  923): return iconLevel=5
/StatusBar.NetworkController(  923): dumpIconState[dataVisible=false dataIconId=(null) signalIconId=stat_sys_5signal_5 lastSignalLevel=5 wifiVisible=true wifiIconId=stat_sys_
ifi_signal_4 simCardVisible=false simCardIconId=(null) airplaneMode=false femotcellVisible=false femtocellIconId=(null)]
/System.err(17216): java.lang.NullPointerException
/System.err(17216):    at com.codename1.impl.android.AndroidImplementation.getNativeGraphics(AndroidImplementation.java:1034)
/System.err(17216):    at com.codename1.ui.Display.edtLoopImpl(Display.java:997)
/System.err(17216):    at com.codename1.ui.Display.flushEdt(Display.java:813)
/System.err(17216):    at com.codename1.ui.Form.showModal(Form.java:1400)
/System.err(17216):    at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
/System.err(17216):    at com.codename1.ui.Form.showDialog(Form.java:1497)
/System.err(17216):    at com.codename1.ui.Form.showModal(Form.java:1484)
/System.err(17216):    at com.codename1.ui.Dialog.showImpl(Dialog.java:1043)
/System.err(17216):    at com.codename1.ui.Dialog.show(Dialog.java:1027)
/System.err(17216):    at com.codename1.ui.Dialog.show(Dialog.java:985)
/System.err(17216):    at com.codename1.ui.Dialog.show(Dialog.java:774)
/System.err(17216):    at com.codename1.ui.Dialog.show(Dialog.java:727)
/System.err(17216):    at com.codename1.ui.Dialog.show(Dialog.java:692)
/System.err(17216):    at com.codename1.ui.Dialog.show(Dialog.java:536)
/System.err(17216):    at com.codename1.ui.Dialog.show(Dialog.java:788)
/System.err(17216):    at com.codename1.ui.Display.mainEDTLoop(Display.java:908)
/System.err(17216):    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
/System.err(17216):    at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
/System.err(17216):    at java.lang.Thread.run(Thread.java:864)
/Sasol   (17216): [EDT] 0:0:7,419 - java.lang.NullPointerException
/Codename One(17216): Resource not found: methodData.dat
/Sasol   (17216): [EDT] 0:0:7,422 - java.lang.NullPointerException
/Sasol   (17216):      at com.codename1.impl.android.AndroidImplementation.getNativeGraphics(AndroidImplementation.java:1034)
/Sasol   (17216):      at com.codename1.ui.Display.edtLoopImpl(Display.java:997)
/Sasol   (17216):      at com.codename1.ui.Display.flushEdt(Display.java:813)
/Sasol   (17216):      at com.codename1.ui.Form.showModal(Form.java:1400)
/Sasol   (17216):      at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
/Sasol   (17216):      at com.codename1.ui.Form.showDialog(Form.java:1497)
/Sasol   (17216):      at com.codename1.ui.Form.showModal(Form.java:1484)
/Sasol   (17216):      at com.codename1.ui.Dialog.showImpl(Dialog.java:1043)
/Sasol   (17216):      at com.codename1.ui.Dialog.show(Dialog.java:1027)
/Sasol   (17216):      at com.codename1.ui.Dialog.show(Dialog.java:985)
/Sasol   (17216):      at com.codename1.ui.Dialog.show(Dialog.java:774)
/Sasol   (17216):      at com.codename1.ui.Dialog.show(Dialog.java:727)
/Sasol   (17216):      at com.codename1.ui.Dialog.show(Dialog.java:692)
/Sasol   (17216):      at com.codename1.ui.Dialog.show(Dialog.java:536)
/Sasol   (17216):      at com.codename1.ui.Dialog.show(Dialog.java:788)
/Sasol   (17216):      at com.codename1.ui.Display.mainEDTLoop(Display.java:908)
/Sasol   (17216):      at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
/Sasol   (17216):      at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60)
/Sasol   (17216):      at java.lang.Thread.run(Thread.java:864)
/qdmemalloc(  213): ion: Allocated buffer base:0x44b2b000 size:8355840 fd:39

Gareth Murfin

unread,
Jan 15, 2014, 5:39:36 AM1/15/14
to codenameone...@googlegroups.com
Seems to be hitting the null pointer at fis.close(); inside createImage() of AndroidImplementation
Another time it seems to be a null pointer doing Display display = Display.getInstance();

I know it only recently started doing this, possibly in the last 3 weeks, so it must be something ive added but I cannot for the life of me figure out what it is, and its android specific too...

Gareth Murfin

unread,
Jan 15, 2014, 6:01:27 AM1/15/14
to codenameone...@googlegroups.com
Well I managed to narrow it down ,  when you rotate it crashes if you have 

android.targetSDKVersion  = 14

I changed it to android.targetSDKVersion  = 9 and it wont crash on rotate now (but then that pointless black button with 3 dots on it appears at the bottom of my app!)

This actually happens on a fresh hello world version of the app so Im guessing its a bug in cn1 somewhere.

Chen Fishbein

unread,
Jan 15, 2014, 9:23:30 AM1/15/14
to codenameone...@googlegroups.com
Thanks! that was very helpful, I found the issue it's because of this:
The rotation called destroy on your Activity and messed things up, I'll commit a fix for this.

Gareth Murfin

unread,
Jan 15, 2014, 9:28:33 AM1/15/14
to codenameone...@googlegroups.com
Excellent! So awesome that things get done so fast around here in CN1 land :))) Thanks a lot, android is a funny beast eh!


--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/r621ZSZhELc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discu...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

Chen Fishbein

unread,
Jan 15, 2014, 9:45:03 AM1/15/14
to codenameone...@googlegroups.com
it's my favorite beast, easy to debug and to develop not like the other platforms.

Gareth Murfin

unread,
Jan 15, 2014, 9:49:21 AM1/15/14
to codenameone...@googlegroups.com
true, with a device plugged in it feels really fast to test a build and see the feedback, I trust you have seen genymotion.com


On 15 January 2014 22:45, Chen Fishbein <cf2...@gmail.com> wrote:
it's my favorite beast, easy to debug and to develop not like the other platforms.

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/r621ZSZhELc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discu...@googlegroups.com.
Visit this group at http://groups.google.com/group/codenameone-discussions.

For more options, visit https://groups.google.com/groups/opt_out.

Chen Fishbein

unread,
Jan 15, 2014, 10:07:14 AM1/15/14
to codenameone...@googlegroups.com
yes, that's a cool product, I still prefer the device.

Gareth Murfin

unread,
Jan 28, 2014, 5:11:33 AM1/28/14
to codenameone...@googlegroups.com
So was this fixed? can I use android.targetSDKVersion  = 14 without my app crashing on rotate? :-)

Chen Fishbein

unread,
Jan 28, 2014, 6:38:38 AM1/28/14
to codenameone...@googlegroups.com
it's fixed.

rmurr...@gmail.com

unread,
Nov 13, 2017, 9:03:21 AM11/13/17
to CodenameOne Discussions
Reply all
Reply to author
Forward
0 new messages