Archived
60 lines
2.0 KiB
Kotlin
60 lines
2.0 KiB
Kotlin
package com.denizd.textbasic.fragment
|
|
|
|
import android.animation.LayoutTransition
|
|
import android.os.Bundle
|
|
import android.view.View
|
|
import androidx.recyclerview.widget.ItemTouchHelper
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
|
import com.denizd.textbasic.adapter.QuoteAdapter
|
|
import com.denizd.textbasic.db.QuoteStorage
|
|
import com.denizd.textbasic.util.viewBinding
|
|
import com.denizd.textbasic.R
|
|
import com.denizd.textbasic.adapter.RecyclerRowMoveCallback
|
|
import com.denizd.textbasic.databinding.FragmentQuoteBinding
|
|
import com.google.android.material.transition.MaterialSharedAxis
|
|
|
|
class QuoteFragment : BaseFragment(R.layout.fragment_quote) {
|
|
|
|
private lateinit var storage: QuoteStorage
|
|
private lateinit var quoteAdapter: QuoteAdapter
|
|
|
|
private val binding: FragmentQuoteBinding by viewBinding(FragmentQuoteBinding::bind)
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
|
|
exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true)
|
|
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
|
|
|
enterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
|
returnTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true)
|
|
}
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
super.onViewCreated(view, savedInstanceState)
|
|
|
|
binding.quoteConstraintLayout.layoutTransition.enableTransitionType(LayoutTransition.CHANGING)
|
|
|
|
storage = QuoteStorage(context)
|
|
quoteAdapter = QuoteAdapter(storage.getAllQuotes())
|
|
|
|
binding.quoteScroller.let { s ->
|
|
s.layoutManager = LinearLayoutManager(context)
|
|
ItemTouchHelper(RecyclerRowMoveCallback(quoteAdapter)).attachToRecyclerView(s)
|
|
s.adapter = quoteAdapter
|
|
}
|
|
|
|
binding.addFab.setOnClickListener {
|
|
quoteAdapter.addNewQuote()
|
|
}
|
|
}
|
|
|
|
private fun save() {
|
|
storage.saveQuotes(quoteAdapter.getAllQuotes())
|
|
}
|
|
|
|
override fun onPause() {
|
|
save()
|
|
super.onPause()
|
|
}
|
|
} |