mirror of
https://github.com/AllanWang/Frost-for-Facebook.git
synced 2024-09-19 23:21:34 +02:00
Use MaterialDialog for webviews
This commit is contained in:
parent
999e87a8c8
commit
c4afa99d44
@ -282,6 +282,8 @@ dependencies {
|
|||||||
implementation kau.Dependencies.iconicsMaterial
|
implementation kau.Dependencies.iconicsMaterial
|
||||||
implementation kau.Dependencies.iconicsCommunity
|
implementation kau.Dependencies.iconicsCommunity
|
||||||
|
|
||||||
|
implementation kau.Dependencies.materialDialog("input")
|
||||||
|
|
||||||
implementation "org.jsoup:jsoup:${Versions.jsoup}"
|
implementation "org.jsoup:jsoup:${Versions.jsoup}"
|
||||||
|
|
||||||
implementation "com.squareup.okhttp3:okhttp:${Versions.okhttp}"
|
implementation "com.squareup.okhttp3:okhttp:${Versions.okhttp}"
|
||||||
|
@ -19,11 +19,16 @@ package com.pitchedapps.frost.web
|
|||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.webkit.ConsoleMessage
|
import android.webkit.ConsoleMessage
|
||||||
import android.webkit.GeolocationPermissions
|
import android.webkit.GeolocationPermissions
|
||||||
|
import android.webkit.JsPromptResult
|
||||||
|
import android.webkit.JsResult
|
||||||
import android.webkit.ValueCallback
|
import android.webkit.ValueCallback
|
||||||
import android.webkit.WebChromeClient
|
import android.webkit.WebChromeClient
|
||||||
import android.webkit.WebView
|
import android.webkit.WebView
|
||||||
import ca.allanwang.kau.permissions.PERMISSION_ACCESS_FINE_LOCATION
|
import ca.allanwang.kau.permissions.PERMISSION_ACCESS_FINE_LOCATION
|
||||||
import ca.allanwang.kau.permissions.kauRequestPermissions
|
import ca.allanwang.kau.permissions.kauRequestPermissions
|
||||||
|
import ca.allanwang.kau.utils.materialDialog
|
||||||
|
import com.afollestad.materialdialogs.callbacks.onDismiss
|
||||||
|
import com.afollestad.materialdialogs.input.input
|
||||||
import com.pitchedapps.frost.R
|
import com.pitchedapps.frost.R
|
||||||
import com.pitchedapps.frost.contracts.ActivityContract
|
import com.pitchedapps.frost.contracts.ActivityContract
|
||||||
import com.pitchedapps.frost.utils.L
|
import com.pitchedapps.frost.utils.L
|
||||||
@ -73,6 +78,73 @@ class FrostChromeClient(web: FrostWebView) : WebChromeClient() {
|
|||||||
return activity != null
|
return activity != null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onJsAlert(
|
||||||
|
view: WebView,
|
||||||
|
url: String,
|
||||||
|
message: String,
|
||||||
|
result: JsResult
|
||||||
|
): Boolean {
|
||||||
|
view.context.materialDialog {
|
||||||
|
title(text = url)
|
||||||
|
message(text = message)
|
||||||
|
positiveButton { result.confirm() }
|
||||||
|
onDismiss { result.cancel() }
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onJsConfirm(
|
||||||
|
view: WebView,
|
||||||
|
url: String,
|
||||||
|
message: String,
|
||||||
|
result: JsResult
|
||||||
|
): Boolean {
|
||||||
|
view.context.materialDialog {
|
||||||
|
title(text = url)
|
||||||
|
message(text = message)
|
||||||
|
positiveButton { result.confirm() }
|
||||||
|
negativeButton { result.cancel() }
|
||||||
|
onDismiss { result.cancel() }
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onJsBeforeUnload(
|
||||||
|
view: WebView,
|
||||||
|
url: String,
|
||||||
|
message: String,
|
||||||
|
result: JsResult
|
||||||
|
): Boolean {
|
||||||
|
view.context.materialDialog {
|
||||||
|
title(text = url)
|
||||||
|
message(text = message)
|
||||||
|
positiveButton { result.confirm() }
|
||||||
|
negativeButton { result.cancel() }
|
||||||
|
onDismiss { result.cancel() }
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onJsPrompt(
|
||||||
|
view: WebView,
|
||||||
|
url: String,
|
||||||
|
message: String,
|
||||||
|
defaultValue: String?,
|
||||||
|
result: JsPromptResult
|
||||||
|
): Boolean {
|
||||||
|
view.context.materialDialog {
|
||||||
|
title(text = url)
|
||||||
|
message(text = message)
|
||||||
|
input(prefill = defaultValue) { _, charSequence ->
|
||||||
|
result.confirm(charSequence.toString())
|
||||||
|
}
|
||||||
|
// positive button added through input
|
||||||
|
negativeButton { result.cancel() }
|
||||||
|
onDismiss { result.cancel() }
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
override fun onGeolocationPermissionsShowPrompt(
|
override fun onGeolocationPermissionsShowPrompt(
|
||||||
origin: String,
|
origin: String,
|
||||||
callback: GeolocationPermissions.Callback
|
callback: GeolocationPermissions.Callback
|
||||||
|
@ -3,4 +3,6 @@ v2.4.2
|
|||||||
* Fix back stack history
|
* Fix back stack history
|
||||||
* Fix search suggestions
|
* Fix search suggestions
|
||||||
* Redesign navigation layout
|
* Redesign navigation layout
|
||||||
* Update theme
|
* Update theme
|
||||||
|
* Open formatted urls from context menu
|
||||||
|
* Allow copying text with emojis
|
@ -2,6 +2,7 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<color name="frost_splash_background">@color/facebook_blue</color>
|
<color name="frost_splash_background">@color/facebook_blue</color>
|
||||||
<color name="facebook_blue">#3b5998</color>
|
<color name="facebook_blue">#3b5998</color>
|
||||||
|
<color name="facebook_blue_light">#6183C8</color>
|
||||||
<color name="facebook_blue_dark">#2e4b86</color>
|
<color name="facebook_blue_dark">#2e4b86</color>
|
||||||
<color name="frost_notification_accent">@color/facebook_blue</color>
|
<color name="frost_notification_accent">@color/facebook_blue</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<style name="FrostTheme" parent="Theme.MaterialComponents.NoActionBar">
|
<style name="FrostTheme" parent="Theme.MaterialComponents.NoActionBar">
|
||||||
<item name="colorPrimary">@color/facebook_blue</item>
|
<item name="colorPrimary">@color/facebook_blue</item>
|
||||||
<item name="colorPrimaryDark">@color/facebook_blue_dark</item>
|
<item name="colorPrimaryDark">@color/facebook_blue_dark</item>
|
||||||
<item name="colorAccent">@android:color/white</item>
|
<item name="colorAccent">@color/facebook_blue_light</item>
|
||||||
<item name="android:windowContentOverlay">@null</item>
|
<item name="android:windowContentOverlay">@null</item>
|
||||||
<item name="android:windowBackground">@null</item>
|
<item name="android:windowBackground">@null</item>
|
||||||
<item name="android:windowSoftInputMode">adjustResize</item>
|
<item name="android:windowSoftInputMode">adjustResize</item>
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<style name="FrostTheme.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
|
<style name="FrostTheme.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
|
||||||
<item name="colorPrimary">@color/facebook_blue</item>
|
<item name="colorPrimary">@color/facebook_blue</item>
|
||||||
<item name="colorPrimaryDark">@color/facebook_blue_dark</item>
|
<item name="colorPrimaryDark">@color/facebook_blue_dark</item>
|
||||||
<item name="colorAccent">@android:color/black</item>
|
<item name="colorAccent">@color/facebook_blue</item>
|
||||||
<item name="android:windowContentOverlay">@null</item>
|
<item name="android:windowContentOverlay">@null</item>
|
||||||
<item name="android:windowBackground">@null</item>
|
<item name="android:windowBackground">@null</item>
|
||||||
<item name="android:windowSoftInputMode">adjustResize</item>
|
<item name="android:windowSoftInputMode">adjustResize</item>
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
<item text="Fix search suggestions" />
|
<item text="Fix search suggestions" />
|
||||||
<item text="Redesign navigation layout" />
|
<item text="Redesign navigation layout" />
|
||||||
<item text="Update theme" />
|
<item text="Update theme" />
|
||||||
|
<item text="Open formatted urls from context menu" />
|
||||||
|
<item text="Allow copying text with emojis" />
|
||||||
<item text="" />
|
<item text="" />
|
||||||
|
|
||||||
<version title="v2.4.1" />
|
<version title="v2.4.1" />
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
* Fix search suggestions
|
* Fix search suggestions
|
||||||
* Redesign navigation layout
|
* Redesign navigation layout
|
||||||
* Update theme
|
* Update theme
|
||||||
|
* Open formatted urls from context menu
|
||||||
|
* Allow copying text with emojis
|
||||||
|
|
||||||
## v2.4.1
|
## v2.4.1
|
||||||
* Add better support for mobile url conversions
|
* Add better support for mobile url conversions
|
||||||
|
Loading…
Reference in New Issue
Block a user