{"action":"created","issue":{"url":"https://api.github.com/repos/himanshu-soni/ChatMessageView/issues/4","labels_url":"https://api.github.com/repos/himanshu-soni/ChatMessageView/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/himanshu-soni/ChatMessageView/issues/4/comments","events_url":"https://api.github.com/repos/himanshu-soni/ChatMessageView/issues/4/events","html_url":"https://github.com/himanshu-soni/ChatMessageView/issues/4","id":112277876,"number":4,"title":"RelativeLayout End/Start crashes on API < 17","user":{"login":"Mathbl","id":906656,"avatar_url":"https://avatars.githubusercontent.com/u/906656?v=3","gravatar_id":"","url":"https://api.github.com/users/Mathbl","html_url":"https://github.com/Mathbl","followers_url":"https://api.github.com/users/Mathbl/followers","following_url":"https://api.github.com/users/Mathbl/following{/other_user}","gists_url":"https://api.github.com/users/Mathbl/gists{/gist_id}","starred_url":"https://api.github.com/users/Mathbl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mathbl/subscriptions","organizations_url":"https://api.github.com/users/Mathbl/orgs","repos_url":"https://api.github.com/users/Mathbl/repos","events_url":"https://api.github.com/users/Mathbl/events{/privacy}","received_events_url":"https://api.github.com/users/Mathbl/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-20T03:19:59Z","updated_at":"2015-11-09T14:26:34Z","closed_at":"2015-11-09T14:26:34Z","body":"Hello,\r\nGot this stack trace on some devices:\r\n```\r\nCaused by: java.lang.ArrayIndexOutOfBoundsException: length=16; index=17\r\n       at android.widget.RelativeLayout$LayoutParams.addRule(RelativeLayout.java:1222)\r\n       at me.himanshusoni.chatmessageview.ChatMessageView.initContent(ChatMessageView.java:118)\r\n       at me.himanshusoni.chatmessageview.ChatMessageView.initialize(ChatMessageView.java:67)\r\n       at me.himanshusoni.chatmessageview.ChatMessageView.<init>(ChatMessageView.java:42)\r\n       at java.lang.reflect.Constructor.constructNative(Constructor.java)\r\n       at java.lang.reflect.Constructor.newInstance(Constructor.java:417)\r\n       at android.view.LayoutInflater.createView(LayoutInflater.java:587)\r\n       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)\r\n       at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:489)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:396)\r\n       at com.classcraft.android.views.adapters.MessagingDiscussionAdapter.getIncomingView(MessagingDiscussionAdapter.java:111)\r\n       at com.classcraft.android.views.adapters.MessagingDiscussionAdapter.getView(MessagingDiscussionAdapter.java:101)\r\n       at android.widget.AbsListView.obtainView(AbsListView.java:2465)\r\n       at android.widget.ListView.makeAndAddView(ListView.java:1775)\r\n       at android.widget.ListView.fillUp(ListView.java:712)\r\n       at android.widget.ListView.layoutChildren(ListView.java:1632)\r\n       at android.widget.AbsListView.onLayout(AbsListView.java:2300)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)\r\n       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)\r\n       at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)\r\n       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)\r\n       at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)\r\n       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)\r\n       at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.widget.FrameLayout.onLayout(FrameLayout.java:448)\r\n       at android.view.View.layout(View.java:13856)\r\n       at android.view.ViewGroup.layout(ViewGroup.java:4424)\r\n       at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1992)\r\n       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1813)\r\n       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1113)\r\n       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4481)\r\n       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)\r\n       at android.view.Choreographer.doCallbacks(Choreographer.java:555)\r\n       at android.view.Choreographer.doFrame(Choreographer.java:525)\r\n       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)\r\n       at android.os.Handler.handleCallback(Handler.java:615)\r\n       at android.os.Handler.dispatchMessage(Handler.java:92)\r\n       at android.os.Looper.loop(Looper.java:137)\r\n       at android.app.ActivityThread.main(ActivityThread.java:4867)\r\n       at java.lang.reflect.Method.invokeNative(Method.java)\r\n       at java.lang.reflect.Method.invoke(Method.java:511)\r\n       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)\r\n       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)\r\n       at dalvik.system.NativeStart.main(NativeStart.java)\r\n```\r\n\r\nAccording to this SO post, problem seems related to Start/End rules. \r\nhttp://stackoverflow.com/questions/25763142/android-arrayindexoutofbounds-exception-on-addrule-in-layoutparams\r\n\r\nThanks for your time."},"comment":{"url":"https://api.github.com/repos/himanshu-soni/ChatMessageView/issues/comments/155078049","html_url":"https://github.com/himanshu-soni/ChatMessageView/issues/4#issuecomment-155078049","issue_url":"https://api.github.com/repos/himanshu-soni/ChatMessageView/issues/4","id":155078049,"user":{"login":"Mathbl","id":906656,"avatar_url":"https://avatars.githubusercontent.com/u/906656?v=3","gravatar_id":"","url":"https://api.github.com/users/Mathbl","html_url":"https://github.com/Mathbl","followers_url":"https://api.github.com/users/Mathbl/followers","following_url":"https://api.github.com/users/Mathbl/following{/other_user}","gists_url":"https://api.github.com/users/Mathbl/gists{/gist_id}","starred_url":"https://api.github.com/users/Mathbl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mathbl/subscriptions","organizations_url":"https://api.github.com/users/Mathbl/orgs","repos_url":"https://api.github.com/users/Mathbl/repos","events_url":"https://api.github.com/users/Mathbl/events{/privacy}","received_events_url":"https://api.github.com/users/Mathbl/received_events","type":"User","site_admin":false},"created_at":"2015-11-09T14:26:34Z","updated_at":"2015-11-09T14:26:34Z","body":"Fixed in #6 "}}