AntipodalWall icon indicating copy to clipboard operation
AntipodalWall copied to clipboard

Error inflating class com.antipodalwall.AntipodalWallLayout cause by ArrayIndexOutOfBoundsException at android.content.res.TypedArray.getBoolean at line 213

Open giorgio-zamparelli opened this issue 10 years ago • 1 comments

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)

giorgio-zamparelli avatar Nov 07 '13 11:11 giorgio-zamparelli

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

giorgio-zamparelli avatar Dec 02 '13 12:12 giorgio-zamparelli