1
0
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:
Allan Wang 2019-09-29 01:54:39 -07:00 committed by GitHub
commit d96925128f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 28 additions and 7 deletions

View File

@ -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()}" }

View File

@ -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()
}

View File

@ -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) {

View File

@ -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
}

View File

@ -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)

View File

@ -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

View File

@ -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" />

View File

@ -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.