Change some naming
This commit is contained in:
parent
996aa9ef66
commit
03389fc040
@ -95,7 +95,7 @@ import im.vector.riotx.features.settings.ignored.VectorSettingsIgnoredUsersFragm
|
||||
import im.vector.riotx.features.settings.push.PushGatewaysFragment
|
||||
import im.vector.riotx.features.share.IncomingShareFragment
|
||||
import im.vector.riotx.features.signout.soft.SoftLogoutFragment
|
||||
import im.vector.riotx.features.widgets.WidgetFragment
|
||||
import im.vector.riotx.features.widgets.RoomWidgetFragment
|
||||
|
||||
@Module
|
||||
interface FragmentModule {
|
||||
@ -472,6 +472,6 @@ interface FragmentModule {
|
||||
|
||||
@Binds
|
||||
@IntoMap
|
||||
@FragmentKey(WidgetFragment::class)
|
||||
fun bindWidgetFragment(fragment: WidgetFragment): Fragment
|
||||
@FragmentKey(RoomWidgetFragment::class)
|
||||
fun bindWidgetFragment(fragment: RoomWidgetFragment): Fragment
|
||||
}
|
||||
|
@ -16,24 +16,14 @@
|
||||
|
||||
package im.vector.riotx.features.widgets
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Parcelable
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.webkit.CookieManager
|
||||
import android.webkit.PermissionRequest
|
||||
import android.webkit.WebChromeClient
|
||||
import android.webkit.WebSettings
|
||||
import com.airbnb.mvrx.args
|
||||
import com.airbnb.mvrx.fragmentViewModel
|
||||
import com.airbnb.mvrx.withState
|
||||
import im.vector.fragments.roomwidgets.WebviewPermissionUtils
|
||||
import im.vector.riotx.R
|
||||
import im.vector.riotx.core.platform.VectorBaseFragment
|
||||
import im.vector.riotx.features.themes.ThemeUtils
|
||||
import im.vector.riotx.features.webview.VectorWebViewClient
|
||||
import im.vector.riotx.features.webview.WebViewEventListener
|
||||
import im.vector.riotx.features.widgets.webview.clearAfterWidget
|
||||
import im.vector.riotx.features.widgets.webview.setupForWidget
|
||||
@ -47,7 +37,7 @@ data class WidgetArgs(
|
||||
val widgetId: String
|
||||
) : Parcelable
|
||||
|
||||
class WidgetFragment @Inject constructor(
|
||||
class RoomWidgetFragment @Inject constructor(
|
||||
private val viewModelFactory: RoomWidgetViewModel.Factory
|
||||
) : VectorBaseFragment(), RoomWidgetViewModel.Factory by viewModelFactory, WebViewEventListener {
|
||||
|
||||
@ -87,7 +77,6 @@ class WidgetFragment @Inject constructor(
|
||||
}
|
||||
|
||||
override fun onPageStarted(url: String) {
|
||||
|
||||
}
|
||||
|
||||
override fun onPageFinished(url: String) {
|
||||
@ -95,7 +84,5 @@ class WidgetFragment @Inject constructor(
|
||||
}
|
||||
|
||||
override fun onPageError(url: String, errorCode: Int, description: String) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -33,43 +33,41 @@ import im.vector.riotx.features.webview.WebViewEventListener
|
||||
@SuppressLint("NewApi")
|
||||
fun WebView.setupForWidget(webViewEventListener: WebViewEventListener) {
|
||||
// xml value seems ignored
|
||||
this.setBackgroundColor(ThemeUtils.getColor(context, R.attr.vctr_bottom_nav_background_color))
|
||||
setBackgroundColor(ThemeUtils.getColor(context, R.attr.vctr_bottom_nav_background_color))
|
||||
|
||||
// clear caches
|
||||
this.clearHistory()
|
||||
this.clearFormData()
|
||||
this.clearCache(true)
|
||||
clearHistory()
|
||||
clearFormData()
|
||||
clearCache(true)
|
||||
|
||||
this.settings.let { settings ->
|
||||
// does not cache the data
|
||||
settings.cacheMode = WebSettings.LOAD_NO_CACHE
|
||||
// does not cache the data
|
||||
settings.cacheMode = WebSettings.LOAD_NO_CACHE
|
||||
|
||||
// Enable Javascript
|
||||
settings.javaScriptEnabled = true
|
||||
// Enable Javascript
|
||||
settings.javaScriptEnabled = true
|
||||
|
||||
// Use WideViewport and Zoom out if there is no viewport defined
|
||||
settings.useWideViewPort = true
|
||||
settings.loadWithOverviewMode = true
|
||||
// Use WideViewport and Zoom out if there is no viewport defined
|
||||
settings.useWideViewPort = true
|
||||
settings.loadWithOverviewMode = true
|
||||
|
||||
// Enable pinch to zoom without the zoom buttons
|
||||
settings.builtInZoomControls = true
|
||||
// Enable pinch to zoom without the zoom buttons
|
||||
settings.builtInZoomControls = true
|
||||
|
||||
// Allow use of Local Storage
|
||||
settings.domStorageEnabled = true
|
||||
// Allow use of Local Storage
|
||||
settings.domStorageEnabled = true
|
||||
|
||||
settings.allowFileAccessFromFileURLs = true
|
||||
settings.allowUniversalAccessFromFileURLs = true
|
||||
settings.allowFileAccessFromFileURLs = true
|
||||
settings.allowUniversalAccessFromFileURLs = true
|
||||
|
||||
settings.displayZoomControls = false
|
||||
}
|
||||
settings.displayZoomControls = false
|
||||
|
||||
// Permission requests
|
||||
this.webChromeClient = object : WebChromeClient() {
|
||||
webChromeClient = object : WebChromeClient() {
|
||||
override fun onPermissionRequest(request: PermissionRequest) {
|
||||
WebviewPermissionUtils.promptForPermissions(R.string.room_widget_resource_permission_title, request, context)
|
||||
}
|
||||
}
|
||||
this.webViewClient = VectorWebViewClient(webViewEventListener)
|
||||
webViewClient = VectorWebViewClient(webViewEventListener)
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
val cookieManager = CookieManager.getInstance()
|
||||
@ -79,26 +77,26 @@ fun WebView.setupForWidget(webViewEventListener: WebViewEventListener) {
|
||||
|
||||
fun WebView.clearAfterWidget() {
|
||||
// Make sure you remove the WebView from its parent view before doing anything.
|
||||
(this.parent as? ViewGroup)?.removeAllViews()
|
||||
this.webChromeClient = null
|
||||
this.webViewClient = null
|
||||
this.clearHistory()
|
||||
(parent as? ViewGroup)?.removeAllViews()
|
||||
webChromeClient = null
|
||||
webViewClient = null
|
||||
clearHistory()
|
||||
|
||||
// NOTE: clears RAM cache, if you pass true, it will also clear the disk cache.
|
||||
this.clearCache(true)
|
||||
clearCache(true)
|
||||
|
||||
// Loading a blank page is optional, but will ensure that the WebView isn't doing anything when you destroy it.
|
||||
this.loadUrl("about:blank")
|
||||
loadUrl("about:blank")
|
||||
|
||||
this.onPause()
|
||||
this.removeAllViews()
|
||||
onPause()
|
||||
removeAllViews()
|
||||
|
||||
// NOTE: This pauses JavaScript execution for ALL WebViews,
|
||||
// do not use if you have other WebViews still alive.
|
||||
// If you create another WebView after calling this,
|
||||
// make sure to call mWebView.resumeTimers().
|
||||
this.pauseTimers()
|
||||
pauseTimers()
|
||||
|
||||
// NOTE: This can occasionally cause a segfault below API 17 (4.2)
|
||||
this.destroy()
|
||||
destroy()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user