From 65e620a213f627435db3f4af9bb10213d6fbf38f Mon Sep 17 00:00:00 2001 From: Michael Totschnig Date: Sun, 24 May 2020 08:58:04 +0200 Subject: [PATCH] use suppport libraries saved state that works below API 24 --- library/build.gradle | 1 + .../ExpandableStickyListHeadersListView.java | 18 +++--------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index 16553036..82af0b38 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -2,6 +2,7 @@ apply plugin: 'com.android.library' dependencies { implementation 'com.android.support:support-annotations:28.0.0' + implementation 'com.android.support:customview:28.0.0' } android { diff --git a/library/src/se/emilsjolander/stickylistheaders/ExpandableStickyListHeadersListView.java b/library/src/se/emilsjolander/stickylistheaders/ExpandableStickyListHeadersListView.java index 2d91ac05..cdb4e760 100644 --- a/library/src/se/emilsjolander/stickylistheaders/ExpandableStickyListHeadersListView.java +++ b/library/src/se/emilsjolander/stickylistheaders/ExpandableStickyListHeadersListView.java @@ -1,10 +1,9 @@ package se.emilsjolander.stickylistheaders; import android.content.Context; -import android.os.Build; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.RequiresApi; +import android.support.v4.view.AbsSavedState; import android.util.AttributeSet; import android.view.View; import java.util.ArrayList; @@ -149,7 +148,7 @@ public void onRestoreInstanceState(Parcelable state) { } } - static class SavedState extends BaseSavedState { + static class SavedState extends AbsSavedState { private List collapsedHeaderIds; /** @@ -160,20 +159,11 @@ static class SavedState extends BaseSavedState { this.collapsedHeaderIds = collapsedHeaderIds; } - /** - * Constructor called from {@link #CREATOR} - */ - private SavedState(Parcel in) { - super(in); - readValues(in, null); - } - private void readValues(Parcel in, ClassLoader loader) { collapsedHeaderIds = new ArrayList<>(); in.readList(collapsedHeaderIds, loader); } - @RequiresApi(24) SavedState(Parcel in, ClassLoader loader) { super(in, loader); readValues(in, loader); @@ -188,9 +178,7 @@ public void writeToParcel(Parcel out, int flags) { public static final Creator CREATOR = new ClassLoaderCreator() { @Override public SavedState createFromParcel(Parcel source, ClassLoader loader) { - return Build.VERSION.SDK_INT >= 24 - ? new SavedState(source, loader) - : new SavedState(source); + return new SavedState(source, loader); } @Override