From f5e00343028f66459cdf3501244eb01e95887f54 Mon Sep 17 00:00:00 2001 From: yattoz <12408848+yattoz@users.noreply.github.com> Date: Tue, 10 Dec 2019 21:53:19 +0100 Subject: [PATCH] moved URLs in string.xml --- .../fr/forum_thalie/tsumugi/MainActivity.kt | 3 +- .../tsumugi/ui/news/NewsFragment.kt | 6 ++-- .../tsumugi/ui/news/NewsViewModel.kt | 31 +++---------------- .../tsumugi/ui/news/WebViewNews.kt | 4 +-- app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 14 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/MainActivity.kt b/app/src/main/java/fr/forum_thalie/tsumugi/MainActivity.kt index acf7cd6..b819d00 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/MainActivity.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/MainActivity.kt @@ -74,6 +74,7 @@ class MainActivity : BaseActivity() { // Handle item selection return when (item.itemId) { /* + // You can add more actions. This one is used in R/a/dio app Radio2. R.id.action_refresh -> { PlayerStore.instance.queue.clear() PlayerStore.instance.lp.clear() @@ -89,7 +90,7 @@ class MainActivity : BaseActivity() { } R.id.action_sleep -> { val i = Intent(this, ParametersActivity::class.java) - i.putExtra("action", ActionOpenParam.SLEEP.name) // TODO change value with Actions.something + i.putExtra("action", ActionOpenParam.SLEEP.name) startActivity(i) true } 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 4251167..252a6cf 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 @@ -36,7 +36,7 @@ class NewsFragment : Fragment() { newsViewModel.root = inflater.inflate(R.layout.fragment_news, container, false) newsViewModel.webView = newsViewModel.root.findViewById(R.id.news_webview) newsViewModel.webViewNews = WebViewNews(newsViewModel.webView as WebView) - newsViewModel.webViewNews!!.start() + newsViewModel.webViewNews!!.start(getString(R.string.website_url)) } catch (e: Exception) { newsViewModel.root = inflater.inflate(R.layout.fragment_error_webview, container, false) } @@ -71,7 +71,7 @@ class NewsFragment : Fragment() { root.setOnRefreshListener { - newsViewModel.fetch(root, viewAdapter) + newsViewModel.fetch(root, viewAdapter, context!!) } @@ -82,7 +82,7 @@ class NewsFragment : Fragment() { newsViewModel = ViewModelProviders.of(this).get(NewsViewModel::class.java) - newsViewModel.fetch() + newsViewModel.fetch(c = context!!) Log.d(tag, "news fetched onCreate") super.onCreate(savedInstanceState) } 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 cbbc4e7..478e79f 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 @@ -1,5 +1,6 @@ package fr.forum_thalie.tsumugi.ui.news +import android.content.Context import android.os.Build import android.util.Log import android.view.View @@ -8,6 +9,7 @@ import androidx.lifecycle.ViewModel import androidx.recyclerview.widget.RecyclerView import com.prof.rssparser.Parser import fr.forum_thalie.tsumugi.Async +import fr.forum_thalie.tsumugi.R import fr.forum_thalie.tsumugi.tag import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -31,35 +33,12 @@ class NewsViewModel : ViewModel() { val newsArray : ArrayList = ArrayList() var isWebViewLoaded = false - private val urlToScrape = "https://tsumugi.forum-thalie.fr/?feed=rss2" - - private val scrape : (Any?) -> Unit = - { - val t = URL(urlToScrape).readText() - val result = JSONArray(t) - newsArray.clear() - for (n in 0 until result.length()) - { - val news = News() - news.title = (result[n] as JSONObject).getString("title") - news.author = (result[n] as JSONObject).getJSONObject("author").getString("user") - news.text = (result[n] as JSONObject).getString("text") - news.header = (result[n] as JSONObject).getString("header") - - val formatter6 = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()) - - news.date = formatter6.parse((result[n] as JSONObject).getString("updated_at")) ?: Date() - - Log.d(tag, "$news") - newsArray.add(news) - } - } - private val viewModelJob = Job() private val coroutineScope = CoroutineScope(Dispatchers.Main + viewModelJob) - fun fetch(root: androidx.swiperefreshlayout.widget.SwipeRefreshLayout? = null, viewAdapter: RecyclerView.Adapter<*>? = null) + fun fetch(root: androidx.swiperefreshlayout.widget.SwipeRefreshLayout? = null, viewAdapter: RecyclerView.Adapter<*>? = null, c: Context) { + val urlToScrape = c.getString(R.string.rss_url) if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) return // the RSS Parser does not support API20- because of no TLS v1.2 @@ -90,7 +69,7 @@ class NewsViewModel : ViewModel() { } // The list contains all article's data. For example you can use it for your adapter. root?.isRefreshing = false - + viewAdapter?.notifyDataSetChanged() } } } \ No newline at end of file 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 5e349e3..51758ef 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 @@ -9,7 +9,7 @@ import android.webkit.WebView class WebViewNews(private val webView: WebView) { @SuppressLint("SetJavaScriptEnabled") - fun start() { + fun start(url: String) { val webSetting = this.webView.settings webSetting.javaScriptEnabled = true @@ -36,7 +36,7 @@ class WebViewNews(private val webView: WebView) { } } - webView.loadUrl("https://tsumugi.forum-thalie.fr/") + webView.loadUrl(url) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 93a0cb4..c4d489c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,5 +41,7 @@ Alarm One minute before the end of the timer, the volume will gradually decrease. Disable + https://tsumugi.forum-thalie.fr/ + https://tsumugi.forum-thalie.fr/?feed=rss2