diff --git a/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.java b/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.java
index b127e96..8a11efe 100644
--- a/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.java
+++ b/app/src/main/java/be/digitalia/fosdem/widgets/BookmarkStatusAdapter.java
@@ -1,7 +1,5 @@
package be.digitalia.fosdem.widgets;
-import android.graphics.drawable.Animatable;
-import android.graphics.drawable.Drawable;
import android.widget.ImageButton;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
@@ -23,21 +21,14 @@ public class BookmarkStatusAdapter {
viewModel.getBookmarkStatus().observe(owner, bookmarkStatus -> {
if (bookmarkStatus == null) {
imageButton.setEnabled(false);
- imageButton.setImageResource(R.drawable.ic_bookmark_outline_white_24dp);
+ imageButton.setSelected(false);
} else {
- // Only animate updates, when the button was already enabled
- final boolean animate = bookmarkStatus.isUpdate() && imageButton.isEnabled();
imageButton.setEnabled(true);
- if (bookmarkStatus.isBookmarked()) {
- imageButton.setContentDescription(imageButton.getContext().getString(R.string.remove_bookmark));
- imageButton.setImageResource(animate ? R.drawable.avd_bookmark_add_24dp : R.drawable.ic_bookmark_white_24dp);
- } else {
- imageButton.setContentDescription(imageButton.getContext().getString(R.string.add_bookmark));
- imageButton.setImageResource(animate ? R.drawable.avd_bookmark_remove_24dp : R.drawable.ic_bookmark_outline_white_24dp);
- }
- final Drawable drawable = imageButton.getDrawable();
- if (drawable instanceof Animatable) {
- ((Animatable) drawable).start();
+ imageButton.setContentDescription(imageButton.getContext().getString(bookmarkStatus.isBookmarked() ? R.string.remove_bookmark : R.string.add_bookmark));
+ imageButton.setSelected(bookmarkStatus.isBookmarked());
+ // Only animate updates, when the button was already enabled
+ if (!bookmarkStatus.isUpdate() || !imageButton.isEnabled()) {
+ imageButton.jumpDrawablesToCurrentState();
}
}
});
diff --git a/app/src/main/res/drawable/asld_bookmark_24dp.xml b/app/src/main/res/drawable/asld_bookmark_24dp.xml
new file mode 100644
index 0000000..9a77783
--- /dev/null
+++ b/app/src/main/res/drawable/asld_bookmark_24dp.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 546e1a8..149be1f 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -75,7 +75,7 @@
- false
- @style/ThemeOverlay.AppCompat.Dark
- normal
- - @drawable/ic_bookmark_outline_white_24dp
+ - @drawable/asld_bookmark_24dp