diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsFragment.kt b/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsFragment.kt index d71b947..4c60b6c 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsFragment.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsFragment.kt @@ -6,7 +6,6 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.view.WindowManager import android.webkit.WebView import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProviders @@ -26,24 +25,20 @@ class NewsFragment : Fragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View? { - var root = inflater.inflate(R.layout.fragment_news, container, false) as View if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) { - root = inflater.inflate(R.layout.fragment_news, container, false) as androidx.coordinatorlayout.widget.CoordinatorLayout - activity?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) - val webView = WebView(context) - newsViewModel = - ViewModelProviders.of(this).get(NewsViewModel::class.java) + ViewModelProviders.of(this).get(NewsViewModel::class.java) if (!newsViewModel.isWebViewLoaded) { try { - val webViewS = root.findViewById(R.id.news_webview) - val webViewChat = WebViewNews(webViewS as WebView) - webViewChat.start() + newsViewModel.root = inflater.inflate(R.layout.fragment_chat, container, false) + newsViewModel.webView = newsViewModel.root.findViewById(R.id.news_webview) + newsViewModel.webViewNews = WebViewNews(newsViewModel.webView as WebView) + newsViewModel.webViewNews!!.start() } catch (e: Exception) { - root = inflater.inflate(R.layout.fragment_error_chat, container, false) + newsViewModel.root = inflater.inflate(R.layout.fragment_error_chat, container, false) } newsViewModel.isWebViewLoaded = true @@ -52,13 +47,13 @@ class NewsFragment : Fragment() { Log.d(tag, "webview already created!?") } - return root + return newsViewModel.root } newsViewModel = ViewModelProviders.of(this).get(NewsViewModel::class.java) - root = inflater.inflate(R.layout.fragment_news, container, false) as androidx.swiperefreshlayout.widget.SwipeRefreshLayout + val root = inflater.inflate(R.layout.fragment_news, container, false) as androidx.swiperefreshlayout.widget.SwipeRefreshLayout viewManager = LinearLayoutManager(context) viewAdapter = NewsAdapter(newsViewModel.newsArray, context!!) diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsViewModel.kt b/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsViewModel.kt index b198131..cbbc4e7 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsViewModel.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/NewsViewModel.kt @@ -2,6 +2,8 @@ package fr.forum_thalie.tsumugi.ui.news import android.os.Build import android.util.Log +import android.view.View +import android.webkit.WebView import androidx.lifecycle.ViewModel import androidx.recyclerview.widget.RecyclerView import com.prof.rssparser.Parser @@ -17,12 +19,15 @@ import java.net.URL import java.text.SimpleDateFormat import java.util.* import kotlin.collections.ArrayList -import kotlin.math.max import kotlin.math.min class NewsViewModel : ViewModel() { + lateinit var root: View + var webView: WebView? = null + var webViewNews: WebViewNews? = null + val newsArray : ArrayList = ArrayList() var isWebViewLoaded = false diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/WebViewNews.kt b/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/WebViewNews.kt index a92ef1c..5e349e3 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/WebViewNews.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/ui/news/WebViewNews.kt @@ -15,12 +15,7 @@ class WebViewNews(private val webView: WebView) { webSetting.javaScriptEnabled = true webSetting.setSupportZoom(true) - /* TODO: in the future, it could be nice to have a parameters screen where you can: - - Set the text zoom - - Set your username (to not type it every time, would it be possible?) - - Hide the chat? - - do more? */ - webSetting.textZoom = 90 + webSetting.textZoom = 100 webSetting.setSupportMultipleWindows(true) // needs to open target="_blank" links as KiwiIRC links have this attribute.