diff --git a/app/src/main/java/com/kunzisoft/keepass/view/SpecialModeView.kt b/app/src/main/java/com/kunzisoft/keepass/view/SpecialModeView.kt index 030d330b2..77ab72795 100644 --- a/app/src/main/java/com/kunzisoft/keepass/view/SpecialModeView.kt +++ b/app/src/main/java/com/kunzisoft/keepass/view/SpecialModeView.kt @@ -20,9 +20,14 @@ package com.kunzisoft.keepass.view import android.content.Context +import android.graphics.PorterDuff +import android.graphics.PorterDuffColorFilter import android.util.AttributeSet +import android.util.TypedValue import android.view.View +import androidx.annotation.ColorInt import androidx.appcompat.widget.Toolbar +import androidx.core.content.ContextCompat import com.kunzisoft.keepass.R class SpecialModeView @JvmOverloads constructor(context: Context, @@ -31,7 +36,13 @@ class SpecialModeView @JvmOverloads constructor(context: Context, : Toolbar(context, attrs, defStyle) { init { - setNavigationIcon(R.drawable.ic_arrow_back_white_24dp) + ContextCompat.getDrawable(context, R.drawable.ic_arrow_back_white_24dp)?.let { closeDrawable -> + val typedValue = TypedValue() + context.theme.resolveAttribute(R.attr.colorControlNormal, typedValue, true) + @ColorInt val colorControl = typedValue.data + closeDrawable.colorFilter = PorterDuffColorFilter(colorControl, PorterDuff.Mode.SRC_ATOP) + navigationIcon = closeDrawable + } title = resources.getString(R.string.selection_mode) } diff --git a/app/src/main/java/com/kunzisoft/keepass/view/ToolbarAction.kt b/app/src/main/java/com/kunzisoft/keepass/view/ToolbarAction.kt index cc86a0296..d82f3d151 100644 --- a/app/src/main/java/com/kunzisoft/keepass/view/ToolbarAction.kt +++ b/app/src/main/java/com/kunzisoft/keepass/view/ToolbarAction.kt @@ -19,14 +19,20 @@ */ package com.kunzisoft.keepass.view +import android.annotation.SuppressLint import android.content.Context +import android.graphics.PorterDuff +import android.graphics.PorterDuffColorFilter import android.util.AttributeSet +import android.util.TypedValue import android.view.Menu import android.view.MenuInflater import android.view.View +import androidx.annotation.ColorInt import androidx.appcompat.view.ActionMode import androidx.appcompat.view.SupportMenuInflater import androidx.appcompat.widget.Toolbar +import androidx.core.content.ContextCompat import com.kunzisoft.keepass.R class ToolbarAction @JvmOverloads constructor(context: Context, @@ -39,7 +45,13 @@ class ToolbarAction @JvmOverloads constructor(context: Context, private var isOpen = false init { - setNavigationIcon(R.drawable.ic_close_white_24dp) + ContextCompat.getDrawable(context, R.drawable.ic_close_white_24dp)?.let { closeDrawable -> + val typedValue = TypedValue() + context.theme.resolveAttribute(R.attr.colorControlNormal, typedValue, true) + @ColorInt val colorControl = typedValue.data + closeDrawable.colorFilter = PorterDuffColorFilter(colorControl, PorterDuff.Mode.SRC_ATOP) + navigationIcon = closeDrawable + } } fun startSupportActionMode(actionModeCallback: ActionMode.Callback): ActionMode { @@ -106,6 +118,7 @@ class ToolbarAction @JvmOverloads constructor(context: Context, override fun setCustomView(view: View?) {} + @SuppressLint("RestrictedApi") override fun getMenuInflater(): MenuInflater { return SupportMenuInflater(toolbarAction.context) }