mirror of
https://github.com/AllanWang/Frost-for-Facebook.git
synced 2024-11-08 20:12:39 +01:00
Merge branch 'dev' into message-scroll
This commit is contained in:
commit
d96925128f
@ -70,9 +70,9 @@ class StartActivity : KauBaseActivity() {
|
||||
showInvalidWebView()
|
||||
}
|
||||
|
||||
val authDefer = BiometricUtils.authenticate(this@StartActivity)
|
||||
launch {
|
||||
try {
|
||||
val authDefer = BiometricUtils.authenticate(this@StartActivity)
|
||||
FbCookie.switchBackUser()
|
||||
val cookies = ArrayList(cookieDao.selectAll())
|
||||
L.i { "Cookies loaded at time ${System.currentTimeMillis()}" }
|
||||
|
@ -87,6 +87,7 @@ import com.pitchedapps.frost.fragments.BaseFragment
|
||||
import com.pitchedapps.frost.fragments.WebFragment
|
||||
import com.pitchedapps.frost.services.scheduleNotificationsFromPrefs
|
||||
import com.pitchedapps.frost.utils.ACTIVITY_SETTINGS
|
||||
import com.pitchedapps.frost.utils.BiometricUtils
|
||||
import com.pitchedapps.frost.utils.EXTRA_COOKIES
|
||||
import com.pitchedapps.frost.utils.L
|
||||
import com.pitchedapps.frost.utils.MAIN_TIMEOUT_DURATION
|
||||
@ -521,7 +522,9 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract,
|
||||
lastAccessTime = System.currentTimeMillis() // precaution to avoid loops
|
||||
controlWebview?.resumeTimers()
|
||||
launch {
|
||||
val authDefer = BiometricUtils.authenticate(this@BaseMainActivity)
|
||||
FbCookie.switchBackUser()
|
||||
authDefer.await()
|
||||
if (shouldReload && Prefs.autoRefreshFeed) {
|
||||
refreshAll()
|
||||
}
|
||||
|
@ -224,10 +224,11 @@ abstract class WebOverlayActivityBase(private val userAgent: String = USER_AGENT
|
||||
with(web) {
|
||||
userAgentString = userAgent
|
||||
Prefs.prevId = Prefs.userId
|
||||
val authDefer = BiometricUtils.authenticate(this@WebOverlayActivityBase)
|
||||
launch {
|
||||
if (userId != Prefs.userId)
|
||||
val authDefer = BiometricUtils.authenticate(this@WebOverlayActivityBase)
|
||||
if (userId != Prefs.userId) {
|
||||
FbCookie.switchUser(userId)
|
||||
}
|
||||
authDefer.await()
|
||||
reloadBase(true)
|
||||
if (Showcase.firstWebOverlay) {
|
||||
|
@ -21,6 +21,9 @@ import android.hardware.fingerprint.FingerprintManager
|
||||
import android.os.Build
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import androidx.lifecycle.OnLifecycleEvent
|
||||
import ca.allanwang.kau.utils.string
|
||||
import com.pitchedapps.frost.R
|
||||
import kotlinx.coroutines.CompletableDeferred
|
||||
@ -80,7 +83,19 @@ object BiometricUtils {
|
||||
.setTitle(activity.string(R.string.biometrics_prompt_title))
|
||||
.setNegativeButtonText(activity.string(R.string.kau_cancel))
|
||||
.build()
|
||||
BiometricPrompt(activity, executor, Callback(activity, deferred)).authenticate(info)
|
||||
val prompt = BiometricPrompt(activity, executor, Callback(activity, deferred))
|
||||
activity.lifecycle.addObserver(object : LifecycleObserver {
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
|
||||
fun onPause() {
|
||||
if (!deferred.isCompleted) {
|
||||
prompt.cancelAuthentication()
|
||||
deferred.cancel()
|
||||
activity.finish()
|
||||
}
|
||||
activity.lifecycle.removeObserver(this)
|
||||
}
|
||||
})
|
||||
prompt.authenticate(info)
|
||||
return deferred
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ fun FrostWebView.requestWebOverlay(url: String): Boolean {
|
||||
if (!Prefs.overlayEnabled) return false
|
||||
if (context is WebOverlayActivityBase) {
|
||||
val shouldUseDesktop = url.isFacebookUrl
|
||||
//already overlay; manage user agent
|
||||
// already overlay; manage user agent
|
||||
if (userAgentString != USER_AGENT_DESKTOP_CONST && shouldUseDesktop) {
|
||||
L._i { "Switch to desktop agent overlay" }
|
||||
context.launchWebOverlayDesktop(url)
|
||||
|
@ -2,4 +2,5 @@ v2.4.1
|
||||
|
||||
* Add better support for mobile url conversions
|
||||
* Notification tab will keep first page in the same window; fixes marking notifications as read
|
||||
* Fix nav and status bar icon colors for custom themes (Android O+)
|
||||
* Fix nav and status bar icon colors for custom themes (Android O+)
|
||||
* Fix biometric prompt, and prompt on activity resume
|
||||
|
@ -10,7 +10,7 @@
|
||||
<item text="Add better support for mobile url conversions" />
|
||||
<item text="Notification tab will keep first page in the same window; fixes marking notifications as read" />
|
||||
<item text="Fix nav and status bar icon colors for custom themes (Android O+)" />
|
||||
<item text="" />
|
||||
<item text="Fix biometric prompt, and prompt on activity resume" />
|
||||
<item text="" />
|
||||
|
||||
<version title="v2.4.0" />
|
||||
|
@ -4,6 +4,7 @@
|
||||
* Add better support for mobile url conversions
|
||||
* Notification tab will keep first page in the same window; fixes marking notifications as read
|
||||
* Fix nav and status bar icon colors for custom themes (Android O+)
|
||||
* Fix biometric prompt, and prompt on activity resume
|
||||
|
||||
## v2.4.0
|
||||
* Removed request services, which potentially caused phishing warnings.
|
||||
|
Loading…
Reference in New Issue
Block a user