SimpleDateFormat is nor working for Android anymore

75 views
Skip to first unread message

Carlos Verdier

unread,
Jun 30, 2019, 6:48:28 AM6/30/19
to CodenameOne Discussions
Hi

I've found that SimpleDateFormat fails to parse for Android devices since the last version. Works fine for Simulator and iOS. Building against 6.0 makes it work again.

So this code is not working for the last version:

SimpleDateFormat formatoPicker = new SimpleDateFormat("d-MMM-yyyy");
Picker calendarioInicio = findPicker(f);
calendarioInicio
.setFormatter(formatoPicker);


Shai Almog

unread,
Jun 30, 2019, 11:37:05 PM6/30/19
to CodenameOne Discussions
Hi,
yes it seems that this is a regression due to this fix https://github.com/codenameone/CodenameOne/issues/2773
It fixed localization but parsing broke as a result.

Carlos Verdier

unread,
Jul 1, 2019, 10:32:06 AM7/1/19
to CodenameOne Discussions
Oh, Ok. Will this be fixed on this Friday update?

Shai Almog

unread,
Jul 2, 2019, 12:35:44 AM7/2/19
to CodenameOne Discussions
Hopefully, this is the next thing on my agenda for today.

Carlos Verdier

unread,
Jul 16, 2019, 6:18:25 AM7/16/19
to CodenameOne Discussions
Hi, Shai

Did you have the time to get into this? I'm still having the same problem.

Thank you

Shai Almog

unread,
Jul 16, 2019, 11:02:24 PM7/16/19
to CodenameOne Discussions
Hi,
this was fixed back then but going over the code there might be one place I missed. I fixed that and it should be within the Friday update.

Carlos Verdier

unread,
Jul 30, 2019, 11:43:30 AM7/30/19
to CodenameOne Discussions
I'm afraid this is still going on.

Again, it works on simulator and iOS. Only fails on Android.

[Network Thread] 0:0:2,194 - Codename One revisions: 0032c9410c22a253523f1f1c612c55e5a0b3c67c

[Network Thread] 0:0:2,197 - Failed to parse expires date wed, 29-jan-2020 15:29:51 gmt for cookie
[Network Thread] 0:0:2,229 - Failed to parse expires date thu, 29-aug-2019 15:29:51 gmt for cookie
[EDT] 0:0:4,811 - Exception: java.lang.StringIndexOutOfBoundsException - length=2; index=3
java.lang.StringIndexOutOfBoundsException: length=2; index=3
        at java.lang.String.substring(String.java:1971)
        at com.codename1.n.b.k(DateFormatSymbols.java:340)
        at com.codename1.n.b.a(DateFormatSymbols.java:228)
        at com.codename1.n.b.f(DateFormatSymbols.java:288)
        at com.codename1.n.f.a(SimpleDateFormat.java:350)
        at com.codename1.n.a.a(DateFormat.java:116)
        at com.codename1.n.a.a(DateFormat.java:88)
        at com.codename1.z.i.k.cn(Picker.java:1191)
        at com.codename1.z.i.k.a(Picker.java:1400)
        at d.a.q(StateMachine.java:2700)
        at b.a.f(StateMachineBase.java:964)
        at com.codename1.z.l.f.a(UIBuilder.java:2518)
        at com.codename1.z.l.f.a(UIBuilder.java:2565)
        at d.a.j(StateMachine.java:880)
        at d.hk.a(Unknown Source:4)
        at com.codename1.z.l.c.a(EventDispatcher.java:459)
        at com.codename1.z.l.c.a(EventDispatcher.java:362)
        at com.codename1.z.e.a(Button.java:571)
        at com.codename1.z.e.b_(Button.java:605)
        at com.codename1.z.e.b(Button.java:709)
        at com.codename1.z.x.b(Form.java:3601)
        at com.codename1.z.x.b(Form.java:3524)
        at com.codename1.z.m.f(Component.java:4629)
        at com.codename1.z.s.a(Display.java:2249)
        at com.codename1.z.s.l(Display.java:1212)
        at com.codename1.z.s.k(Display.java:1130)
        at com.codename1.z.an.run(RunnableWrapper.java:120)
        at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
        at java.lang.Thread.run(Thread.java:764)
[EDT] 0:0:4,815 - Exception: java.lang.StringIndexOutOfBoundsException - length=2; index=3
java.lang.StringIndexOutOfBoundsException: length=2; index=3
        at java.lang.String.substring(String.java:1971)
        at com.codename1.n.b.k(DateFormatSymbols.java:340)
        at com.codename1.n.b.a(DateFormatSymbols.java:228)
        at com.codename1.n.b.f(DateFormatSymbols.java:288)
        at com.codename1.n.f.a(SimpleDateFormat.java:350)
        at com.codename1.n.a.a(DateFormat.java:116)
        at com.codename1.n.a.a(DateFormat.java:88)
        at com.codename1.z.i.k.cn(Picker.java:1191)
        at com.codename1.z.i.k.a(Picker.java:1400)
        at d.a.q(StateMachine.java:2700)
        at b.a.f(StateMachineBase.java:964)
        at com.codename1.z.l.f.a(UIBuilder.java:2518)
        at com.codename1.z.l.f.a(UIBuilder.java:2565)
        at d.a.j(StateMachine.java:880)
        at d.hk.a(Unknown Source:4)
        at com.codename1.z.l.c.a(EventDispatcher.java:459)
        at com.codename1.z.l.c.a(EventDispatcher.java:362)
        at com.codename1.z.e.a(Button.java:571)
        at com.codename1.z.e.b_(Button.java:605)
        at com.codename1.z.e.b(Button.java:709)
        at com.codename1.z.x.b(Form.java:3601)
        at com.codename1.z.x.b(Form.java:3524)
        at com.codename1.z.m.f(Component.java:4629)
        at com.codename1.z.s.a(Display.java:2249)
        at com.codename1.z.s.l(Display.java:1212)
        at com.codename1.z.s.k(Display.java:1130)
        at com.codename1.z.an.run(RunnableWrapper.java:120)
        at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
        at java.lang.Thread.run(Thread.java:764)
[Network Thread] 0:0:5,159 - Failed to parse expires date wed, 29-jul-20 15:29:54 gmt for cookie


Shai Almog

unread,
Jul 30, 2019, 10:25:48 PM7/30/19
to CodenameOne Discussions
That's a different issue. Odd that it would only happen on Android. We have a fix for it and it will be a part of the coming update this Friday.

Carlos Verdier

unread,
Jul 31, 2019, 3:08:48 AM7/31/19
to CodenameOne Discussions
Great, thank you
Reply all
Reply to author
Forward
0 new messages