Created
July 13, 2016 15:08
-
-
Save marcospaulo/5dc697641da7027a9e0918b4e9d8992c to your computer and use it in GitHub Desktop.
PlayerView Class
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<animated-vector | |
android:drawable="@drawable/ic_play" | |
xmlns:android="http://schemas.android.com/apk/res/android" > | |
<target | |
android:animation="@animator/anim_play_to_stop" | |
android:name="play"/> | |
<target | |
android:animation="@animator/anim_rotate_left" | |
android:name="group"/> | |
</animated-vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" | |
android:drawable="@drawable/ic_stop"> | |
<target | |
android:name="stop" | |
android:animation="@animator/anim_stop_to_play" /> | |
<target | |
android:name="group" | |
android:animation="@animator/anim_rotate_right" /> | |
</animated-vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
07-13 16:41:30.617 11297-11297/ca.bellmedia.iheartradio.qa E/AndroidRuntime: FATAL EXCEPTION: main | |
Process: ca.bellmedia.iheartradio.qa, PID: 11297 | |
java.lang.RuntimeException: Unable to start activity ComponentInfo{ca.bellmedia.iheartradio.qa/ca.bellmedia.iheartradio.home.HomeActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.graphics.drawable.VectorDrawableCompat.isStateful()' on a null object reference | |
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339) | |
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413) | |
at android.app.ActivityThread.access$800(ActivityThread.java:155) | |
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) | |
at android.os.Handler.dispatchMessage(Handler.java:102) | |
at android.os.Looper.loop(Looper.java:135) | |
at android.app.ActivityThread.main(ActivityThread.java:5343) | |
at java.lang.reflect.Method.invoke(Native Method) | |
at java.lang.reflect.Method.invoke(Method.java:372) | |
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) | |
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) | |
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.graphics.drawable.VectorDrawableCompat.isStateful()' on a null object reference | |
at android.support.graphics.drawable.AnimatedVectorDrawableCompat.isStateful(AnimatedVectorDrawableCompat.java:294) | |
at android.widget.ImageView.updateDrawable(ImageView.java:833) | |
at android.widget.ImageView.setImageDrawable(ImageView.java:464) | |
at ca.bellmedia.iheartradio.player.customview.PlayerView.onFinishInflate(PlayerView.java:145) | |
at android.view.LayoutInflater.rInflate(LayoutInflater.java:814) | |
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) | |
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916) | |
at android.view.LayoutInflater.rInflate(LayoutInflater.java:802) | |
at android.view.LayoutInflater.inflate(LayoutInflater.java:504) | |
at android.view.LayoutInflater.inflate(LayoutInflater.java:414) | |
at android.view.LayoutInflater.inflate(LayoutInflater.java:365) | |
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) | |
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) | |
at ca.bellmedia.iheartradio.player.BasePlayerActivity.onCreate(BasePlayerActivity.java:88) | |
at ca.bellmedia.iheartradio.home.HomeActivity.onCreate(HomeActivity.java:50) | |
at android.app.Activity.performCreate(Activity.java:6010) | |
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1129) | |
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292) | |
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413) | |
at android.app.ActivityThread.access$800(ActivityThread.java:155) | |
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) | |
at android.os.Handler.dispatchMessage(Handler.java:102) | |
at android.os.Looper.loop(Looper.java:135) | |
at android.app.ActivityThread.main(ActivityThread.java:5343) | |
at java.lang.reflect.Method.invoke(Native Method) | |
at java.lang.reflect.Method.invoke(Method.java:372) | |
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) | |
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<vector xmlns:android="http://schemas.android.com/apk/res/android" | |
android:width="48dp" | |
android:height="48dp" | |
android:viewportHeight="48" | |
android:viewportWidth="48"> | |
<group | |
android:name="group" | |
android:pivotX="24" | |
android:pivotY="24"> | |
<path android:pathData="M 0 0 L 48 0 L 48 48 L 0 48 Z" /> | |
<path | |
android:name="play" | |
android:fillColor="@android:color/white" | |
android:pathData="M 20 15 L 32 24 L 32 24 L 20 33 Z" /> | |
</group> | |
</vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<animated-selector | |
xmlns:android="http://schemas.android.com/apk/res/android" | |
android:constantSize="true"> | |
<item | |
android:id="@+id/playing" | |
android:state_checked="true" | |
android:drawable="@drawable/ic_stop" /> | |
<item | |
android:id="@+id/stopped" | |
android:drawable="@drawable/ic_play" /> | |
<transition | |
android:fromId="@id/stopped" | |
android:toId="@id/playing" | |
android:drawable="@drawable/avd_play_to_stop" /> | |
<transition | |
android:fromId="@id/playing" | |
android:toId="@id/stopped" | |
android:drawable="@drawable/avd_stop_to_play" /> | |
</animated-selector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<vector xmlns:android="http://schemas.android.com/apk/res/android" | |
android:width="48dp" | |
android:height="48dp" | |
android:viewportHeight="48" | |
android:viewportWidth="48"> | |
<group | |
android:name="group" | |
android:pivotX="24" | |
android:pivotY="24" | |
android:rotation="270"> | |
<path android:pathData="M 0 0 L 48 0 L 48 48 L 0 48 Z" /> | |
<path | |
android:name="stop" | |
android:fillColor="@android:color/white" | |
android:pathData="M 16 16 L 32 16 L 32 32 L 16 32 Z" /> | |
</group> | |
</vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if (PlatformUtils.isLollipopOrHigher()) { | |
AnimatedVectorDrawableCompat animatedVectorDrawableCompatPlayStop = AnimatedVectorDrawableCompat.create(getContext(), R.drawable.ic_play_stop); | |
AnimatedVectorDrawableCompat animatedVectorDrawableCompatPlayStopMinimized = AnimatedVectorDrawableCompat.create(getContext(), R.drawable.ic_play_stop); | |
ibPlayStop.setImageDrawable(animatedVectorDrawableCompatPlayStop); | |
ibPlayStopMinimized.setImageDrawable(animatedVectorDrawableCompatPlayStopMinimized); | |
} else { | |
ibPlayStop.setImageDrawable(DrawableHelper.createStateListCheckableDrawable(getResources(), R.drawable.ic_play, R.drawable.ic_stop)); | |
ibPlayStopMinimized.setImageDrawable(DrawableHelper.createStateListCheckableDrawable(getResources(), R.drawable.ic_play, R.drawable.ic_stop)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment