From 697eeb61d2f5d9c4d8011cebfecc4dbb94745b61 Mon Sep 17 00:00:00 2001 From: tom5079 <7948651+tom5079@users.noreply.github.com> Date: Sat, 8 Mar 2025 08:59:05 -0800 Subject: [PATCH] base component activity --- .../java/xyz/quaver/pupil/ui/BaseActivity.kt | 57 +++++++++++++++---- .../java/xyz/quaver/pupil/ui/MainActivity.kt | 10 ---- 2 files changed, 45 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/BaseActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/BaseActivity.kt index 96d8b3b3..120a9986 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/BaseActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/BaseActivity.kt @@ -18,29 +18,27 @@ package xyz.quaver.pupil.ui -import android.app.Activity import android.content.Intent import android.os.Bundle import android.os.PersistableBundle import android.view.WindowManager +import androidx.activity.ComponentActivity import androidx.activity.result.contract.ActivityResultContracts import androidx.annotation.CallSuper import androidx.appcompat.app.AppCompatActivity -import xyz.quaver.pupil.R import xyz.quaver.pupil.util.LockManager import xyz.quaver.pupil.util.Preferences -import xyz.quaver.pupil.util.normalizeID - -open class BaseActivity : AppCompatActivity() { +open class BaseComponentActivity : ComponentActivity() { private var locked: Boolean = true - private val lockLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { - if (it.resultCode == Activity.RESULT_OK) - locked = false - else - finish() - } + private val lockLauncher = + registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { + if (it.resultCode == RESULT_OK) + locked = false + else + finish() + } @CallSuper override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { @@ -56,12 +54,47 @@ open class BaseActivity : AppCompatActivity() { if (Preferences["security_mode"]) window.setFlags( WindowManager.LayoutParams.FLAG_SECURE, - WindowManager.LayoutParams.FLAG_SECURE) + WindowManager.LayoutParams.FLAG_SECURE + ) else window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) if (locked) lockLauncher.launch(Intent(this, LockActivity::class.java)) } +} +open class BaseActivity : AppCompatActivity() { + private var locked: Boolean = true + + private val lockLauncher = + registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { + if (it.resultCode == RESULT_OK) + locked = false + else + finish() + } + + @CallSuper + override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { + super.onCreate(savedInstanceState, persistentState) + + locked = !LockManager(this).locks.isNullOrEmpty() + } + + @CallSuper + override fun onResume() { + super.onResume() + + if (Preferences["security_mode"]) + window.setFlags( + WindowManager.LayoutParams.FLAG_SECURE, + WindowManager.LayoutParams.FLAG_SECURE + ) + else + window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) + + if (locked) + lockLauncher.launch(Intent(this, LockActivity::class.java)) + } } \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt index 26496b90..425cb60d 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt @@ -93,16 +93,6 @@ import kotlin.math.max import kotlin.math.min import kotlin.math.roundToInt -val sortModeLookup = mapOf( - R.id.main_menu_sort_date_added to SortMode.DATE_ADDED, - R.id.main_menu_sort_date_published to SortMode.DATE_PUBLISHED, - R.id.main_menu_sort_popular_today to SortMode.POPULAR_TODAY, - R.id.main_menu_sort_popular_week to SortMode.POPULAR_WEEK, - R.id.main_menu_sort_popular_month to SortMode.POPULAR_MONTH, - R.id.main_menu_sort_popular_year to SortMode.POPULAR_YEAR, - R.id.main_menu_sort_random to SortMode.RANDOM -) - class MainActivity : BaseActivity(), NavigationView.OnNavigationItemSelectedListener {