{"action":"closed","issue":{"url":"https://api.github.com/repos/chrisjenx/Calligraphy/issues/131","labels_url":"https://api.github.com/repos/chrisjenx/Calligraphy/issues/131/labels{/name}","comments_url":"https://api.github.com/repos/chrisjenx/Calligraphy/issues/131/comments","events_url":"https://api.github.com/repos/chrisjenx/Calligraphy/issues/131/events","html_url":"https://github.com/chrisjenx/Calligraphy/issues/131","id":56710979,"number":131,"title":"Custom Layout Crash InflateException","user":{"login":"marcoRS","id":507510,"avatar_url":"https://avatars.githubusercontent.com/u/507510?v=3","gravatar_id":"","url":"https://api.github.com/users/marcoRS","html_url":"https://github.com/marcoRS","followers_url":"https://api.github.com/users/marcoRS/followers","following_url":"https://api.github.com/users/marcoRS/following{/other_user}","gists_url":"https://api.github.com/users/marcoRS/gists{/gist_id}","starred_url":"https://api.github.com/users/marcoRS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcoRS/subscriptions","organizations_url":"https://api.github.com/users/marcoRS/orgs","repos_url":"https://api.github.com/users/marcoRS/repos","events_url":"https://api.github.com/users/marcoRS/events{/privacy}","received_events_url":"https://api.github.com/users/marcoRS/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":30,"created_at":"2015-02-05T18:42:15Z","updated_at":"2015-04-28T06:10:58Z","closed_at":"2015-04-28T06:10:58Z","body":"Hello Chris, just wanted to start off by saying thanks for such a great library! With that in mind I'm hoping this crash report helps improve it. \r\n\r\nI'm currently seeing a crash on a couple of Samsung devices where the apps are crashing in what seems to be a failure to inflate a xml file used in a custom layout that extends FrameLayout. Below is the stack trace I've collected:\r\n\r\nandroid.view.InflateException: Binary XML file line #63: Error inflating class <unknown>\r\n       at android.view.LayoutInflater.createView(LayoutInflater.java:626)\r\n       at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.onCreateView(CalligraphyLayoutInflater.java:162)\r\n       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)\r\n       at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.onCreateView(CalligraphyLayoutInflater.java:146)\r\n       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)\r\n       at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)\r\n       at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:498)\r\n       at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:398)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:354)\r\n       at android.view.View.inflate(View.java:18474)\r\n       at re.snapwi.ui.RetryLayout.init(RetryLayout.java:52)\r\n       at re.snapwi.ui.RetryLayout.<init>(RetryLayout.java:31)\r\n       at re.snapwi.ui.photo.PhotoGalleryFragment.onCreateView(PhotoGalleryFragment.java:116)\r\n       at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)\r\n       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)\r\n       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)\r\n       at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)\r\n       at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)\r\n       at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:454)\r\n       at android.os.Handler.handleCallback(Handler.java:733)\r\n       at android.os.Handler.dispatchMessage(Handler.java:95)\r\n       at android.os.Looper.loop(Looper.java:146)\r\n       at android.app.ActivityThread.main(ActivityThread.java:5602)\r\n       at java.lang.reflect.Method.invokeNative(Method.java)\r\n       at java.lang.reflect.Method.invoke(Method.java:515)\r\n       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)\r\n       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)\r\n       at dalvik.system.NativeStart.main(NativeStart.java)\r\nCaused by: java.lang.reflect.InvocationTargetException\r\n       at java.lang.reflect.Constructor.constructNative(Constructor.java)\r\n       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)\r\n       at android.view.LayoutInflater.createView(LayoutInflater.java:600)\r\n       at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.onCreateView(CalligraphyLayoutInflater.java:162)\r\n       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)\r\n       at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.onCreateView(CalligraphyLayoutInflater.java:146)\r\n       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)\r\n       at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)\r\n       at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:498)\r\n       at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:398)\r\n       at android.view.LayoutInflater.inflate(LayoutInflater.java:354)\r\n       at android.view.View.inflate(View.java:18474)\r\n       at re.snapwi.ui.RetryLayout.init(RetryLayout.java:52)\r\n       at re.snapwi.ui.RetryLayout.<init>(RetryLayout.java:31)\r\n\r\nLine 52 of RetryLayout is calling inflate in the custom framelayout:\r\n\r\n    private void init(Context context) {\r\n        setLayoutTransition(new LayoutTransition());\r\n        inflate(context, R.layout.retry_framelayout, this); // This is LINE 52\r\n        progressLayout = findViewById(R.id.retryProgressLayout);\r\n        progressBarDefault = findViewById(R.id.retryProgress);\r\n       topProgressBar = findViewById(R.id.smoothProgressBar);\r\n\r\n       retryLayout = findViewById(R.id.retryButtonLayout);\r\n       mainLayout = (FrameLayout) findViewById(R.id.mainContent);\r\n       retryTextView = (TextView) findViewById(R.id.retryTextView);\r\n       retryTextView.setTextColor(retryTextColor);\r\n       retryButton = (Button) findViewById(R.id.retryButton);\r\n       mShortAnimationDuration = getResources().getInteger(android.R.integer.config_longAnimTime);\r\n     }\r\n\r\nThe inflateException then points to Binary XML file line #63 which is the beginning of a ProgressBar tag\r\n\r\n     <ProgressBar  \r\n        android:id=\"@+id/retryProgress\"\r\n        style=\"@style/SnapwireSpinner\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_gravity=\"center\"\r\n        android:visibility=\"gone\" />\r\n\r\nThe crash is affecting the following Samsung models: SM N910G, GT N7100, SCH S960L\r\n"}}