2020-04-09 17:31:13 +00:00
|
|
|
package com.vanced.manager.ui.fragments
|
2020-03-18 18:10:54 +00:00
|
|
|
|
2020-05-10 13:07:00 +00:00
|
|
|
import android.animation.ObjectAnimator
|
2020-04-22 09:41:18 +00:00
|
|
|
import android.content.Context
|
2020-04-24 16:10:29 +00:00
|
|
|
import android.net.ConnectivityManager
|
|
|
|
import android.net.Network
|
|
|
|
import android.net.NetworkCapabilities
|
|
|
|
import android.net.NetworkRequest
|
2020-03-18 18:10:54 +00:00
|
|
|
import android.os.Bundle
|
2020-04-19 17:21:40 +00:00
|
|
|
import android.view.*
|
2020-04-10 12:45:09 +00:00
|
|
|
import androidx.viewpager2.widget.ViewPager2
|
2020-04-22 09:41:18 +00:00
|
|
|
import com.google.android.material.card.MaterialCardView
|
2020-04-10 12:45:09 +00:00
|
|
|
import com.google.android.material.tabs.TabLayout
|
|
|
|
import com.google.android.material.tabs.TabLayoutMediator
|
2020-04-09 17:31:13 +00:00
|
|
|
import com.vanced.manager.R
|
2020-04-24 16:10:29 +00:00
|
|
|
import com.vanced.manager.adapter.SectionPageAdapter
|
|
|
|
import com.vanced.manager.core.fragments.Home
|
2020-03-18 18:10:54 +00:00
|
|
|
|
2020-04-24 16:10:29 +00:00
|
|
|
class HomeFragment : Home() {
|
2020-03-18 18:10:54 +00:00
|
|
|
|
2020-04-12 12:00:14 +00:00
|
|
|
private lateinit var sectionPageAdapter: SectionPageAdapter
|
2020-04-10 12:45:09 +00:00
|
|
|
private lateinit var viewPager: ViewPager2
|
|
|
|
|
2020-03-18 18:10:54 +00:00
|
|
|
override fun onCreateView(
|
|
|
|
inflater: LayoutInflater, container: ViewGroup?,
|
|
|
|
savedInstanceState: Bundle?
|
|
|
|
): View? {
|
2020-04-22 09:41:18 +00:00
|
|
|
activity?.title = getString(R.string.title_home)
|
|
|
|
setHasOptionsMenu(true)
|
2020-04-22 18:00:00 +00:00
|
|
|
|
2020-04-09 17:31:13 +00:00
|
|
|
return inflater.inflate(R.layout.fragment_home, container, false)
|
2020-03-19 19:55:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
2020-03-28 13:29:48 +00:00
|
|
|
|
2020-04-22 09:41:18 +00:00
|
|
|
connectionStatus()
|
|
|
|
|
2020-04-22 18:00:00 +00:00
|
|
|
super.onViewCreated(view, savedInstanceState)
|
|
|
|
|
2020-04-12 12:00:14 +00:00
|
|
|
sectionPageAdapter = SectionPageAdapter(this)
|
2020-04-10 12:45:09 +00:00
|
|
|
val tabLayout = view.findViewById(R.id.tablayout) as TabLayout
|
2020-04-12 12:00:14 +00:00
|
|
|
viewPager = view.findViewById(R.id.viewpager)
|
|
|
|
viewPager.adapter = sectionPageAdapter
|
2020-04-10 12:45:09 +00:00
|
|
|
|
|
|
|
TabLayoutMediator(tabLayout, viewPager) { tab, position ->
|
|
|
|
when (position) {
|
|
|
|
0 -> tab.text = "Vanced"
|
|
|
|
1 -> tab.text = "MicroG"
|
|
|
|
}
|
|
|
|
}.attach()
|
|
|
|
|
2020-03-18 18:10:54 +00:00
|
|
|
}
|
|
|
|
|
2020-04-19 17:21:40 +00:00
|
|
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
|
|
|
inflater.inflate(R.menu.toolbar_menu, menu)
|
2020-04-22 09:41:18 +00:00
|
|
|
super .onCreateOptionsMenu(menu, inflater)
|
2020-04-19 17:21:40 +00:00
|
|
|
}
|
|
|
|
|
2020-04-22 09:41:18 +00:00
|
|
|
private var networkCallback = object: ConnectivityManager.NetworkCallback() {
|
|
|
|
|
|
|
|
override fun onLost(network: Network) {
|
|
|
|
super.onLost(network)
|
|
|
|
|
2020-04-23 07:23:05 +00:00
|
|
|
activity?.runOnUiThread {
|
2020-04-22 09:41:18 +00:00
|
|
|
|
|
|
|
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
|
2020-05-10 13:42:49 +00:00
|
|
|
val oa0 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", 0f, -1f)
|
2020-05-10 13:25:03 +00:00
|
|
|
val oa1 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", -1f, 0.3f)
|
|
|
|
val oa2 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", 0.3f, 0f)
|
2020-04-23 14:21:53 +00:00
|
|
|
|
2020-05-10 13:42:49 +00:00
|
|
|
oa0.start()
|
2020-04-22 09:41:18 +00:00
|
|
|
networkErrorLayout?.visibility = View.VISIBLE
|
2020-05-10 13:25:03 +00:00
|
|
|
oa1.start()
|
|
|
|
oa2.start()
|
2020-04-22 09:41:18 +00:00
|
|
|
|
2020-04-23 07:23:05 +00:00
|
|
|
}
|
2020-04-22 09:41:18 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2020-04-23 06:58:20 +00:00
|
|
|
override fun onUnavailable() {
|
|
|
|
super.onUnavailable()
|
2020-04-22 09:41:18 +00:00
|
|
|
|
2020-04-22 18:00:00 +00:00
|
|
|
activity?.runOnUiThread {
|
2020-04-22 09:41:18 +00:00
|
|
|
|
|
|
|
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
|
|
|
|
networkErrorLayout?.visibility = View.VISIBLE
|
|
|
|
|
2020-04-22 18:00:00 +00:00
|
|
|
}
|
2020-04-22 09:41:18 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onAvailable(network: Network) {
|
|
|
|
super.onAvailable(network)
|
|
|
|
|
2020-04-22 18:00:00 +00:00
|
|
|
activity?.runOnUiThread {
|
2020-04-22 09:41:18 +00:00
|
|
|
|
|
|
|
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
|
2020-05-10 13:25:03 +00:00
|
|
|
val oa1 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", 0f, 0.3f)
|
|
|
|
val oa2 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", 0.3f, -1f)
|
2020-04-22 09:41:18 +00:00
|
|
|
|
2020-05-10 13:25:03 +00:00
|
|
|
oa1.start()
|
|
|
|
oa2.start()
|
2020-04-22 09:41:18 +00:00
|
|
|
networkErrorLayout?.visibility = View.GONE
|
2020-04-22 18:00:00 +00:00
|
|
|
}
|
2020-04-22 09:41:18 +00:00
|
|
|
|
|
|
|
}
|
2020-04-23 14:21:53 +00:00
|
|
|
|
2020-04-22 09:41:18 +00:00
|
|
|
}
|
|
|
|
|
2020-05-10 13:20:15 +00:00
|
|
|
private fun connectionStatus() {
|
2020-04-22 09:41:18 +00:00
|
|
|
val connectivityManager = context?.applicationContext?.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
|
|
|
val networkRequest = NetworkRequest.Builder()
|
|
|
|
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
|
|
|
.build()
|
|
|
|
try {
|
|
|
|
connectivityManager.unregisterNetworkCallback(networkCallback)
|
2020-05-10 13:42:49 +00:00
|
|
|
} catch (e: Exception) {}
|
2020-04-22 09:41:18 +00:00
|
|
|
connectivityManager.registerNetworkCallback(networkRequest, networkCallback)
|
|
|
|
}
|
|
|
|
|
2020-03-18 18:10:54 +00:00
|
|
|
}
|
2020-04-03 16:40:54 +00:00
|
|
|
|