diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt b/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt index 9c233c4..df61ab6 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/HomeActivity.kt @@ -427,14 +427,24 @@ fun applyNavLabelVisibility() { override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == R.id.action_lock) { - lock() + val avd = getDrawable(R.drawable.avd_lock) as? android.graphics.drawable.AnimatedVectorDrawable + if (avd != null) { + item.icon = avd + avd.start() + Handler(Looper.getMainLooper()).postDelayed({ lock() }, 200) + } else { + lock() + } return true } if (item.itemId == R.id.action_hide_amounts) { val newHidden = !(viewModel.hideAmounts.value ?: false) viewModel.hideAmounts.value = newHidden getSharedPreferences("prefs", MODE_PRIVATE).edit().putBoolean("hide_amounts", newHidden).apply() - invalidateOptionsMenu() + val avd = getDrawable(if (newHidden) R.drawable.avd_hide_amounts else R.drawable.avd_show_amounts) + as? android.graphics.drawable.AnimatedVectorDrawable + item.icon = avd + avd?.start() return true } return super.onOptionsItemSelected(item) diff --git a/app/src/main/res/drawable/avd_hide_amounts.xml b/app/src/main/res/drawable/avd_hide_amounts.xml new file mode 100644 index 0000000..f2a780a --- /dev/null +++ b/app/src/main/res/drawable/avd_hide_amounts.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/avd_lock.xml b/app/src/main/res/drawable/avd_lock.xml new file mode 100644 index 0000000..39be77f --- /dev/null +++ b/app/src/main/res/drawable/avd_lock.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/avd_show_amounts.xml b/app/src/main/res/drawable/avd_show_amounts.xml new file mode 100644 index 0000000..90cb717 --- /dev/null +++ b/app/src/main/res/drawable/avd_show_amounts.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_lock.xml b/app/src/main/res/drawable/ic_lock.xml index 72682a1..a37434e 100644 --- a/app/src/main/res/drawable/ic_lock.xml +++ b/app/src/main/res/drawable/ic_lock.xml @@ -5,7 +5,19 @@ android:viewportWidth="24" android:viewportHeight="24" android:tint="?attr/colorControlNormal"> + + + + + + android:fillType="evenOdd" + android:pathData="M6,8H18c1.1,0 2,0.9 2,2V20c0,1.1-0.9,2-2,2H6c-1.1,0-2,-0.9-2,-2V10c0,-1.1 0.9,-2 2,-2zM12,15c-1.1,0-2,0.9-2,2s0.9,2 2,2 2,-0.9 2,-2-0.9,-2-2,-2z"/> +