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 3a266be..7e99a0d 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 @@ -74,6 +74,9 @@ class HomeActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityHomeBinding.inflate(layoutInflater) + if (getSharedPreferences("prefs", MODE_PRIVATE).getBoolean("block_screenshots", true)) { + window.addFlags(android.view.WindowManager.LayoutParams.FLAG_SECURE) + } setContentView(binding.root) setSupportActionBar(binding.toolbar) diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt index 5841373..ab8443e 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/SettingsFragment.kt @@ -116,6 +116,15 @@ class SettingsFragment : Fragment() { } } + // Block screenshots + val blockScreenshots = prefs.getBoolean("block_screenshots", true) + binding.switchBlockScreenshots.isChecked = blockScreenshots + applyFlagSecure(blockScreenshots) + binding.switchBlockScreenshots.setOnCheckedChangeListener { _, isChecked -> + prefs.edit().putBoolean("block_screenshots", isChecked).apply() + applyFlagSecure(isChecked) + } + // Add account binding.btnAddAccount.setOnClickListener { startActivity(Intent(requireContext(), LoginActivity::class.java)) @@ -289,6 +298,15 @@ class SettingsFragment : Fragment() { buildLoginsSection() } + private fun applyFlagSecure(enabled: Boolean) { + val win = activity?.window ?: return + if (enabled) { + win.addFlags(android.view.WindowManager.LayoutParams.FLAG_SECURE) + } else { + win.clearFlags(android.view.WindowManager.LayoutParams.FLAG_SECURE) + } + } + private fun clearAllCaches(ctx: Context) { AccountCache.clear(ctx) ContactsCache.clear(ctx) diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index ad1ceae..45f881b 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -36,6 +36,8 @@ android:layout_marginBottom="24dp" android:text="@string/nav_add_account" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - diff --git a/app/src/main/res/values-b+dv/strings.xml b/app/src/main/res/values-b+dv/strings.xml index 3976d6a..e4e6485 100644 --- a/app/src/main/res/values-b+dv/strings.xml +++ b/app/src/main/res/values-b+dv/strings.xml @@ -91,6 +91,9 @@ ބަސް English ދިވެހި + ޕްރައިވެސީ + ސްކްރީންޝޮޓް ބްލޮކްކުރޭ + ރިސެންޓްސް ސްކްރީނުންނާއި ސްކްރީން ކެޕްޗާ ހުއްޓުވައިދޭ ކޭޝް ކޭޝް ސާފުކުރޭ ކޭޝް ސާފުކުރެވިއްޖެ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a02a1b2..01cdce6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -109,6 +109,9 @@ Language English ދިވެހި + Privacy + Block Screenshots + Prevents the app from appearing in the recents screen and blocks screen capture Cache Clear Cache Cache cleared