diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt | 55 |
1 files changed, 9 insertions, 46 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt b/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt index f55579e0..21d019e7 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt @@ -5,34 +5,26 @@ import android.support.v4.widget.SwipeRefreshLayout import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import butterknife.ButterKnife -import butterknife.Unbinder -import com.pitchedapps.frost.R -import com.pitchedapps.frost.utils.bindView import com.pitchedapps.frost.utils.putString import com.pitchedapps.frost.web.FrostWebView -import com.pitchedapps.frost.web.WebStatus +import com.pitchedapps.frost.web.FrostWebViewCore /** * Created by Allan Wang on 2017-05-29. */ -class WebFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener { - - override fun onRefresh() { - web.reload() - } +class WebFragment : BaseFragment() { companion object { private const val ARG_URL = "arg_url" fun newInstance(position: Int, url: String) = BaseFragment.newInstance(WebFragment(), position).putString(ARG_URL, url) } - val refresh: SwipeRefreshLayout by bindView(R.id.swipe_refresh) - val web: FrostWebView by bindView(R.id.frost_webview) + val refresh: SwipeRefreshLayout by lazy { frostWebView.refresh } + val web: FrostWebViewCore by lazy { frostWebView.web } lateinit var url: String - private lateinit var unbinder: Unbinder + lateinit private var frostWebView: FrostWebView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -41,39 +33,10 @@ class WebFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { super.onCreateView(inflater, container, savedInstanceState) - val view = inflater.inflate(R.layout.swipe_webview, container, false) - unbinder = ButterKnife.bind(this, view) - return view - } - - override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - web.baseUrl = url - web.observable.subscribe { - t: WebStatus -> - when (t) { - WebStatus.LOADED, WebStatus.ERROR -> refresh.isRefreshing = false - WebStatus.LOADING -> refresh.isRefreshing = true - } - } - refresh.setOnRefreshListener(this) -// refresh.shouldSwipe = { -// L.e("Y ${web.scrollY}") -// SwipeRefreshBase.shouldScroll(web) -// } - web.loadUrl(url) + frostWebView = FrostWebView(context) + frostWebView.baseUrl = url + return frostWebView } - override fun onDestroyView() { - super.onDestroyView() - unbinder.unbind() - } - - override fun onBackPressed(): Boolean { - if (web.canGoBack()) { - web.goBack() - return true - } - return false - } + override fun onBackPressed() = frostWebView.onBackPressed() }
\ No newline at end of file |