diff --git a/counterfab/src/main/java/com/andremion/counterfab/CounterFab.java b/counterfab/src/main/java/com/andremion/counterfab/CounterFab.java index efada99..7384225 100644 --- a/counterfab/src/main/java/com/andremion/counterfab/CounterFab.java +++ b/counterfab/src/main/java/com/andremion/counterfab/CounterFab.java @@ -17,6 +17,7 @@ package com.andremion.counterfab; import android.animation.ObjectAnimator; +import android.annotation.TargetApi; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.TypedArray; @@ -27,6 +28,7 @@ import android.graphics.Typeface; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; +import android.os.Build.VERSION_CODES; import android.os.Parcel; import android.os.Parcelable; import android.support.annotation.IntRange; @@ -268,6 +270,19 @@ private SavedState(Parcelable superState) { */ private SavedState(Parcel in) { super(in); + readState(in); + } + + /** + * Constructor called from {@link #CREATOR} + */ + @TargetApi(VERSION_CODES.N) + private SavedState(Parcel in, ClassLoader loader) { + super(in, loader); + readState(in); + } + + private void readState(Parcel in) { count = in.readInt(); } @@ -284,12 +299,19 @@ public String toString() { + " count=" + count + "}"; } - public static final Creator CREATOR - = new Creator() { + public static final Creator CREATOR = new ClassLoaderCreator() { + + @Override + public SavedState createFromParcel(Parcel in, ClassLoader loader) { + return new SavedState(in, loader); + } + + @Override public SavedState createFromParcel(Parcel in) { return new SavedState(in); } + @Override public SavedState[] newArray(int size) { return new SavedState[size]; }