3llomi / RecordView

A Simple Audio Recorder View with "hold to Record Button" and "Swipe to Cancel " Like WhatsApp
Apache License 2.0
364 stars 108 forks source link

android.content.res.Resources$NotFoundException #6

Closed Redman1037 closed 6 years ago

Redman1037 commented 6 years ago

Device :- Samsung galaxy Note 2 Version:- Android 4.4.2

Crash Log

  java.lang.RuntimeException: Unable to start activity ComponentInfo{in.eightfolds.soundvision/in.eightfolds.soundvision.activity.MusicListActivity}: android.view.InflateException: Binary XML file line #43: Error inflating class com.devlomi.record_view.RecordView
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
    at android.app.ActivityThread.access$900(ActivityThread.java:175)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:146)
    at android.app.ActivityThread.main(ActivityThread.java:5602)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
    at dalvik.system.NativeStart.main(Native Method)
 Caused by: android.view.InflateException: Binary XML file line #43: Error inflating class com.devlomi.record_view.RecordView
    at android.view.LayoutInflater.createView(LayoutInflater.java:626)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
    at in.eightfolds.soundvision.activity.MusicListActivity.onCreate(MusicListActivity.java:63)
    at android.app.Activity.performCreate(Activity.java:5451)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
    at android.app.ActivityThread.access$900(ActivityThread.java:175) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:146) 
    at android.app.ActivityThread.main(ActivityThread.java:5602) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
    at dalvik.system.NativeStart.main(Native Method) 
 Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.constructNative(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at android.view.LayoutInflater.createView(LayoutInflater.java:600)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
    at in.eightfolds.soundvision.activity.MusicListActivity.onCreate(MusicListActivity.java:63) 
    at android.app.Activity.performCreate(Activity.java:5451) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
    at android.app.ActivityThread.access$900(ActivityThread.java:175) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:146) 
    at android.app.ActivityThread.main(ActivityThread.java:5602) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
    at dalvik.system.NativeStart.main(Native Method) 
 Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xhdpi-v4/ic_delete.png from xml type xml resource ID #0x7f0700c5
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3715)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3662)
    at android.content.res.Resources.getXml(Resources.java:2207)
    at android.support.graphics.drawable.VectorDrawableCompat.create(VectorDrawableCompat.java:558)
    at android.support.graphics.drawable.AnimatedVectorDrawableCompat.inflate(AnimatedVectorDrawableCompat.java:458)
    at android.support.graphics.drawable.AnimatedVectorDrawableCompat.createFromXmlInner(AnimatedVectorDrawableCompat.java:250)
    at android.support.graphics.drawable.AnimatedVectorDrawableCompat.create(AnimatedVectorDrawableCompat.java:230)
    at com.devlomi.record_view.RecordView.init(RecordView.java:121)
    at com.devlomi.record_view.RecordView.<init>(RecordView.java:69)
    at java.lang.reflect.Constructor.constructNative(Native Method) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:600) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
    at in.eightfolds.soundvision.activity.MusicListActivity.onCreate(MusicListActivity.java:63) 
    at android.app.Activity.performCreate(Activity.java:5451) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
    at android.app.ActivityThread.access$900(ActivityThread.java:175) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:146) 
    at android.app.ActivityThread.main(ActivityThread.java:5602) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
    at dalvik.system.NativeStart.main(Native Method) 
 Caused by: java.io.FileNotFoundException: Corrupt XML binary file
    at android.content.res.AssetManager.openXmlAssetNative(Native Method)
    at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:488)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3693)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3662) 
    at android.content.res.Resources.getXml(Resources.java:2207) 
    at android.support.graphics.drawable.VectorDrawableCompat.create(VectorDrawableCompat.java:558) 
    at android.support.graphics.drawable.AnimatedVectorDrawableCompat.inflate(AnimatedVectorDrawableCompat.java:458) 
    at android.support.graphics.drawable.AnimatedVectorDrawableCompat.createFromXmlInner(AnimatedVectorDrawableCompat.java:250) 
    at android.support.graphics.drawable.AnimatedVectorDrawableCompat.create(AnimatedVectorDrawableCompat.java:230) 
    at com.devlomi.record_view.RecordView.init(RecordView.java:121) 
    at com.devlomi.record_view.RecordView.<init>(RecordView.java:69) 
    at java.lang.reflect.Constructor.constructNative(Native Method) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:600) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
    at in.eightfolds.soundvision.activity.MusicListActivity.onCreate(MusicListActivity.java:63) 
    at android.app.Activity.performCreate(Activity.java:5451) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
    at android.app.ActivityThread.access$900(ActivityThread.java:175) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:146) 
    at android.app.ActivityThread.main(ActivityThread.java:5602) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
    at dalvik.system.NativeStart.main(Native Method) 
Redman1037 commented 6 years ago

The Issue is caused at the line 121 in RecordView ,don't know reason

animatedVectorDrawable = AnimatedVectorDrawableCompat.create(context, R.drawable.basket_animated);

so I added a version check before its usages

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
        animatedVectorDrawable = AnimatedVectorDrawableCompat.create(context, R.drawable.basket_animated);

in animateBasketMethod

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
        basketImg.setImageDrawable(animatedVectorDrawable);
    else
        basketImg.setImageResource(R.drawable.ic_delete);

in OnAnimationEnd

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
                animatedVectorDrawable.start();
3llomi commented 6 years ago

@Redman1037 can you please provide the XML ?

Redman1037 commented 6 years ago
   <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/backGround"
    android:orientation="vertical">

<include layout="@layout/default_toolbar" />

<in.eightfolds.soundvision.utils.MyTextViewCenturyGothic
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Mp3 files"
    style="@style/tvIntermediateHeading"/>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/parent_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.devlomi.recordview.MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview_songsList"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </android.support.v7.widget.RecyclerView>

    <RelativeLayout
        android:id="@+id/relative_mic"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

        <com.devlomi.record_view.RecordView
            android:id="@+id/record_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="15dp"
            android:layout_toLeftOf="@id/record_button"
            app:slide_to_cancel_arrow="@drawable/ic_keyboard_arrow_left"
            app:slide_to_cancel_margin_right="15dp"
            app:slide_to_cancel_text="Slide To Cancel" />

        <com.devlomi.record_view.RecordButton
            android:id="@+id/record_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="15dp"
            android:layout_marginRight="5dp"
            android:background="@drawable/mic_bg"
            android:padding="20dp"
            android:scaleType="centerInside"
            app:src="@drawable/ic_mic_white" />
    </RelativeLayout>

     </RelativeLayout>

     </LinearLayout>
3llomi commented 6 years ago

Hey @Redman1037 the problem is because you have the Drawable with the name ic_delete which is the same name of the Vector Drawable that included in the Library. you can just rename the the drawable ic_delete that you have to another name ,until i push the new Update and change the name of it.

please try it and report back.

3llomi commented 6 years ago

A new update has been published with fixes for the drawables names issues