AntipodalWall
AntipodalWall copied to clipboard
Error inflating class com.antipodalwall.AntipodalWallLayout cause by ArrayIndexOutOfBoundsException at android.content.res.TypedArray.getBoolean at line 213
On some devices Antipodal crashes. A ArrayIndexOutOfBoundsException exception is throwed from the method TypedArray.getBoolean at line 213 called by AntipodalWallLayout's method initializeScrollbars at line 61.
TypedArray sourcecode is available here: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.5_r1/android/content/res/TypedArray.java
The exception is throwed by TypedArray line 213: final int type = data[index+AssetManager.STYLE_TYPE];
this is probably something to do with line 59 of AntipodalWallLayout: final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AntipodalWallAttrs);
Any idea how to fix this?
Below is the full stacktrace:
0
android.view.InflateException: Binary XML file line #20: Error inflating class com.antipodalwall.AntipodalWallLayout
1
at android.view.LayoutInflater.createView(LayoutInflater.java:606)
2
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
3
at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
4
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
5
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
6
at io.waiter.android.view.LoginActivity$LoginCarouselThirdFragment.onCreateView(LoginActivity.java:660)
7
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
8
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
9
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
10
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
11
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
12
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
13
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
14
at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
15
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:550)
16
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:509)
17
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:501)
18
at io.waiter.android.view.LoginActivity$5.run(LoginActivity.java:252)
19
at android.os.Handler.handleCallback(Handler.java:605)
20
at android.os.Handler.dispatchMessage(Handler.java:92)
21
at android.os.Looper.loop(Looper.java:137)
22
at android.app.ActivityThread.main(ActivityThread.java:4424)
23
at java.lang.reflect.Method.invokeNative(Native Method)
24
at java.lang.reflect.Method.invoke(Method.java:511)
25
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
26
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
27
at dalvik.system.NativeStart.main(Native Method)
28
Caused by: java.lang.reflect.InvocationTargetException
29
at java.lang.reflect.Constructor.constructNative(Native Method)
30
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
31
at android.view.LayoutInflater.createView(LayoutInflater.java:586)
32
... 26 more
33
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=114; index=264
34
at android.content.res.TypedArray.getBoolean(TypedArray.java:213)
35
at android.view.View.initializeScrollbars(View.java:3285)
36
at com.antipodalwall.AntipodalWallLayout.(AntipodalWallLayout.java:61)
37
... 29 more
38
java.lang.reflect.InvocationTargetException
39
at java.lang.reflect.Constructor.constructNative(Native Method)
40
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
41
at android.view.LayoutInflater.createView(LayoutInflater.java:586)
42
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
43
at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
44
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
45
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
46
at io.waiter.android.view.LoginActivity$LoginCarouselThirdFragment.onCreateView(LoginActivity.java:660)
47
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
48
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
49
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
50
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
51
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
52
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
53
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
54
at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
55
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:550)
56
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:509)
57
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:501)
58
at io.waiter.android.view.LoginActivity$5.run(LoginActivity.java:252)
59
at android.os.Handler.handleCallback(Handler.java:605)
60
at android.os.Handler.dispatchMessage(Handler.java:92)
61
at android.os.Looper.loop(Looper.java:137)
62
at android.app.ActivityThread.main(ActivityThread.java:4424)
63
at java.lang.reflect.Method.invokeNative(Native Method)
64
at java.lang.reflect.Method.invoke(Method.java:511)
65
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
66
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
67
at dalvik.system.NativeStart.main(Native Method)
68
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=114; index=264
69
at android.content.res.TypedArray.getBoolean(TypedArray.java:213)
70
at android.view.View.initializeScrollbars(View.java:3285)
71
at com.antipodalwall.AntipodalWallLayout.(AntipodalWallLayout.java:61)
72
... 29 more
73
java.lang.ArrayIndexOutOfBoundsException: length=114; index=264
74
at android.content.res.TypedArray.getBoolean(TypedArray.java:213)
75
at android.view.View.initializeScrollbars(View.java:3285)
76
at com.antipodalwall.AntipodalWallLayout.(AntipodalWallLayout.java:61)
77
at java.lang.reflect.Constructor.constructNative(Native Method)
78
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
79
at android.view.LayoutInflater.createView(LayoutInflater.java:586)
80
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
81
at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
82
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
83
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
84
at io.waiter.android.view.LoginActivity$LoginCarouselThirdFragment.onCreateView(LoginActivity.java:660)
85
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
86
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
87
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
88
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
89
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
90
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
91
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
92
at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
93
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:550)
94
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:509)
95
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:501)
96
at io.waiter.android.view.LoginActivity$5.run(LoginActivity.java:252)
97
at android.os.Handler.handleCallback(Handler.java:605)
98
at android.os.Handler.dispatchMessage(Handler.java:92)
99
at android.os.Looper.loop(Looper.java:137)
100
at android.app.ActivityThread.main(ActivityThread.java:4424)
101
at java.lang.reflect.Method.invokeNative(Native Method)
102
at java.lang.reflect.Method.invoke(Method.java:511)
103
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
104
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
105
at dalvik.system.NativeStart.main(Native Method)
this appear to be happening on low cost Sony Experia devices. They all mount Android 4.0.4 and have a low resolution HDPI (almost MDPI).
I couldn't fix the problem so I excluded them from the devices allowed to install my app. These are devices I excluded: ST23a ST18i ST21i ST23i LT15i WT19i ST17i MT11i LT18i