From 62d2175363ed7971b4ba9ee74b2a5c24d85f8d1f Mon Sep 17 00:00:00 2001 From: david Date: Sun, 12 Sep 2021 12:12:43 -0700 Subject: [PATCH] Allows user to set the selected image overlay via the theme. --- .../esafirm/imagepicker/adapter/ImagePickerAdapter.kt | 11 +++++++---- imagepicker/src/main/res/values/attrs.xml | 3 +++ imagepicker/src/main/res/values/styles.xml | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 imagepicker/src/main/res/values/attrs.xml diff --git a/imagepicker/src/main/java/com/esafirm/imagepicker/adapter/ImagePickerAdapter.kt b/imagepicker/src/main/java/com/esafirm/imagepicker/adapter/ImagePickerAdapter.kt index 99f625ac..02d7bfc4 100644 --- a/imagepicker/src/main/java/com/esafirm/imagepicker/adapter/ImagePickerAdapter.kt +++ b/imagepicker/src/main/java/com/esafirm/imagepicker/adapter/ImagePickerAdapter.kt @@ -3,6 +3,7 @@ package com.esafirm.imagepicker.adapter import android.content.Context import android.net.Uri import android.provider.MediaStore +import android.util.TypedValue import android.view.View import android.view.ViewGroup import android.widget.FrameLayout @@ -94,10 +95,12 @@ class ImagePickerAdapter( addSelected(image, position) } } - container?.foreground = if (isSelected) ContextCompat.getDrawable( - context, - R.drawable.ef_ic_done_white - ) else null + container?.foreground = if (isSelected) { + val typedValue = TypedValue() + context.theme.resolveAttribute(R.attr.ef_selected_image_overlay, typedValue, true) + val imageResId = typedValue.resourceId + ContextCompat.getDrawable(context, imageResId) ?: throw IllegalArgumentException("Cannot load drawable $imageResId") + } else null } } diff --git a/imagepicker/src/main/res/values/attrs.xml b/imagepicker/src/main/res/values/attrs.xml new file mode 100644 index 00000000..534417f8 --- /dev/null +++ b/imagepicker/src/main/res/values/attrs.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/imagepicker/src/main/res/values/styles.xml b/imagepicker/src/main/res/values/styles.xml index 80c4dd53..1a0ce836 100644 --- a/imagepicker/src/main/res/values/styles.xml +++ b/imagepicker/src/main/res/values/styles.xml @@ -10,6 +10,7 @@ @color/ef_colorPrimary @color/ef_colorPrimaryDark @color/ef_colorAccent + @drawable/ef_ic_done_white