2019-04-29 19:27:51 +02:00
|
|
|
package com.denizd.substitutionplan
|
|
|
|
|
|
2019-05-26 11:35:36 +02:00
|
|
|
import android.content.Context
|
2019-04-30 19:24:13 +02:00
|
|
|
import android.content.SharedPreferences
|
|
|
|
|
import android.os.Bundle
|
|
|
|
|
import android.preference.PreferenceManager
|
|
|
|
|
import android.view.View
|
|
|
|
|
import androidx.fragment.app.Fragment
|
2019-07-06 14:18:59 +02:00
|
|
|
import androidx.lifecycle.Observer
|
|
|
|
|
import androidx.lifecycle.ViewModelProviders
|
2019-05-26 18:40:02 +02:00
|
|
|
import androidx.recyclerview.widget.GridLayoutManager
|
2019-04-30 19:24:13 +02:00
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
|
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
|
|
|
|
|
|
|
|
|
class FoodFragment : Fragment(R.layout.food_layout) {
|
|
|
|
|
|
2019-05-26 14:59:00 +02:00
|
|
|
private val foodArrayList = ArrayList<Food>()
|
2019-04-30 19:24:13 +02:00
|
|
|
private val mAdapter = FoodAdapter(foodArrayList)
|
2019-05-26 11:35:36 +02:00
|
|
|
private lateinit var mContext: Context
|
|
|
|
|
private lateinit var prefs: SharedPreferences
|
2019-05-26 14:59:00 +02:00
|
|
|
private lateinit var edit: SharedPreferences.Editor
|
2019-07-06 14:18:59 +02:00
|
|
|
private lateinit var recyclerView: RecyclerView
|
|
|
|
|
private lateinit var foodViewModel: FoodViewModel
|
2019-04-30 19:24:13 +02:00
|
|
|
|
2019-05-26 11:35:36 +02:00
|
|
|
override fun onAttach(context: Context) {
|
|
|
|
|
super.onAttach(context)
|
|
|
|
|
mContext = context
|
|
|
|
|
prefs = PreferenceManager.getDefaultSharedPreferences(mContext)
|
2019-05-26 14:59:00 +02:00
|
|
|
edit = prefs.edit()
|
2019-05-26 11:35:36 +02:00
|
|
|
}
|
2019-04-30 19:24:13 +02:00
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
|
super.onViewCreated(view, savedInstanceState)
|
2019-05-26 11:35:36 +02:00
|
|
|
val pullToRefresh = view.findViewById<SwipeRefreshLayout>(R.id.pullToRefresh)
|
2019-04-30 19:24:13 +02:00
|
|
|
|
|
|
|
|
try {
|
2019-05-26 11:35:36 +02:00
|
|
|
recyclerView = view.findViewById(R.id.linear_food)
|
2019-04-30 19:24:13 +02:00
|
|
|
recyclerView.hasFixedSize()
|
2019-05-26 18:40:02 +02:00
|
|
|
recyclerView.layoutManager = GridLayoutManager(mContext, 1) // , RecyclerView.VERTICAL,false
|
2019-04-30 19:24:13 +02:00
|
|
|
recyclerView.adapter = mAdapter
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
recyclerView.removeAllViews()
|
2019-05-26 11:35:36 +02:00
|
|
|
} catch (ignored: NullPointerException) {}
|
2019-04-30 19:24:13 +02:00
|
|
|
|
2019-05-26 11:35:36 +02:00
|
|
|
} catch (ignored: NullPointerException) {}
|
2019-04-30 19:24:13 +02:00
|
|
|
|
2019-07-06 14:18:59 +02:00
|
|
|
foodViewModel = ViewModelProviders.of(this).get(FoodViewModel::class.java)
|
|
|
|
|
foodViewModel.allFoods?.observe(this, Observer<List<Food>> { foodList ->
|
|
|
|
|
foodArrayList.clear()
|
|
|
|
|
for (item in foodList) {
|
|
|
|
|
foodArrayList.add(item)
|
|
|
|
|
}
|
|
|
|
|
recyclerView.scheduleLayoutAnimation()
|
|
|
|
|
mAdapter.setFood(foodArrayList)
|
|
|
|
|
})
|
|
|
|
|
|
2019-04-30 19:24:13 +02:00
|
|
|
if (prefs.getBoolean("autoRefresh", false)) {
|
|
|
|
|
pullToRefresh.isRefreshing = true
|
2019-07-06 14:18:59 +02:00
|
|
|
DataFetcher(false, true, false, mContext, activity!!.application, view.rootView).execute()
|
2019-04-30 19:24:13 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pullToRefresh.setOnRefreshListener {
|
|
|
|
|
pullToRefresh.isRefreshing = true
|
2019-07-06 14:18:59 +02:00
|
|
|
DataFetcher(false, true, false, mContext, activity!!.application, view.rootView).execute()
|
2019-05-26 14:59:00 +02:00
|
|
|
}
|
2019-04-30 19:24:13 +02:00
|
|
|
}
|
2019-04-29 19:27:51 +02:00
|
|
|
}
|