Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package biz.elpass.elpassintercity.ui.fragment.main.card
- import android.app.AlertDialog
- import android.content.SharedPreferences
- import android.os.Bundle
- import android.support.design.widget.TabLayout
- import android.support.v4.view.ViewPager
- import android.util.Log
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.widget.Button
- import biz.elpass.elpassintercity.R
- import biz.elpass.elpassintercity.data.view.CardInfoViewData
- import biz.elpass.elpassintercity.presentation.presenter.main.card.UserCardsPresenter
- import biz.elpass.elpassintercity.presentation.view.main.card.IUserCardsFragment
- import biz.elpass.elpassintercity.ui.base.BaseFragment
- import biz.elpass.elpassintercity.util.adapter.login.UserCardsViewPagerAdapter
- import butterknife.BindView
- import butterknife.ButterKnife
- import butterknife.OnClick
- import butterknife.Unbinder
- import com.arellomobile.mvp.presenter.InjectPresenter
- import com.arellomobile.mvp.presenter.ProvidePresenter
- import javax.inject.Inject
- /**
- * @author: timur.mukhortov
- * date: 25.10.2017
- * time: 16:54
- * @LinkedIn: linkedin.com/in/timurmukhortov
- **/
- class UserCardsFragment : BaseFragment(), IUserCardsFragment {
- companion object {
- fun newInstance() = UserCardsFragment()
- }
- @Inject
- @InjectPresenter
- lateinit var presenter: UserCardsPresenter
- @ProvidePresenter
- fun providePresenter() = presenter
- @BindView(R.id.view_pager)
- protected lateinit var viewPager: ViewPager
- @BindView(R.id.tab_cards_dots)
- protected lateinit var tabLayout: TabLayout
- @BindView(R.id.button_history_travel)
- protected lateinit var buttonHistoryTravel: Button
- @BindView(R.id.button_personify)
- protected lateinit var buttonPersonify: Button
- @BindView(R.id.button_un_personify)
- protected lateinit var buttonUnPersonify: Button
- @BindView(R.id.button_lock)
- protected lateinit var buttonLock: Button
- @BindView(R.id.button_unlock)
- protected lateinit var buttonUnlock: Button
- private lateinit var unbinder: Unbinder
- private lateinit var viewPagerAdapter: UserCardsViewPagerAdapter
- private val INDEX_POSITION = "TEST1_CUR_CARD_ID"
- private lateinit var sharedPreferences: SharedPreferences
- private var selectedIndex: Int = 0
- private var TAG = "UserCardsFragment"
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? = inflater
- .inflate(R.layout.fragment_user_cards, container, false)
- .also {
- Log.i(TAG, "onCreate")
- unbinder = ButterKnife.bind(this@UserCardsFragment, it)
- viewPagerAdapter = UserCardsViewPagerAdapter(childFragmentManager)
- viewPager.adapter = viewPagerAdapter
- viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
- override fun onPageScrollStateChanged(state: Int) {}
- override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
- override fun onPageSelected(position: Int) {
- selectedIndex = position
- presenter.checkButtons(position)
- }
- })
- presenter.loadCard()
- tabLayout.setupWithViewPager(viewPager, true)
- }
- override fun onStart() {
- super.onStart()
- Log.i(TAG, "onStart")
- }
- override fun onPause() {
- super.onPause()
- Log.i(TAG, "onPause")
- saveIdCard()
- }
- override fun onResume() {
- super.onResume()
- Log.i(TAG, "onResume")
- //refreshCard()
- // viewPager.currentItem = sharedPreferences.getString("password", "0").toInt()
- presenter.loadCard()
- loadIdCard()
- // tabLayout.setupWithViewPager(viewPager, true)
- }
- override fun onStop() {
- super.onStop()
- Log.i(TAG, "onStop")
- }
- override fun onDestroyView() {
- super.onDestroyView()
- Log.i(TAG, "onDestroy")
- unbinder.unbind()
- }
- override fun showLoading(isLoading: Boolean) {
- //пока непонятно что тут должно загружаться
- }
- override fun showCards(cards: List<CardInfoViewData>) {
- viewPagerAdapter.updateCardsAdapter(cards)
- // cards.forEach { viewPagerAdapter.addFragment(UserCardFragment.newInstance(it)) }
- }
- override fun showHistoryButton(show: Boolean) {
- if (show) buttonHistoryTravel.visibility = View.VISIBLE else buttonHistoryTravel.visibility = View.GONE
- }
- override fun showPersonifyDepersonalize(show: String) {
- if (show == "hide") {
- buttonPersonify.visibility = View.GONE
- buttonUnPersonify.visibility = View.GONE
- } else {
- if (show == "true") {
- buttonPersonify.visibility = View.VISIBLE
- buttonUnPersonify.visibility = View.GONE
- } else {
- buttonPersonify.visibility = View.GONE
- buttonUnPersonify.visibility = View.VISIBLE
- }
- }
- }
- override fun showLockUnlock(show: String) {
- if (show == "hide") {
- buttonLock.visibility = View.GONE
- buttonUnlock.visibility = View.GONE
- } else {
- if (show == "true") {
- buttonLock.visibility = View.VISIBLE
- buttonUnlock.visibility = View.GONE
- } else {
- buttonLock.visibility = View.GONE
- buttonUnlock.visibility = View.VISIBLE
- }
- }
- }
- override fun historyTravelAlert(msg: String) {
- AlertDialog
- .Builder(context)
- .setMessage(msg)
- .setPositiveButton("OK", { dialog, _ -> dialog.cancel() })
- .show()
- }
- override fun refreshCard() {
- viewPagerAdapter.refreshFragment()
- }
- override fun saveIdCard(){
- val idCard = presenter.currentCardId(viewPager.currentItem)
- Log.i(TAG, "Ид карты до сохранения: "+ idCard)
- if (idCard != null) {
- sharedPreferences = activity.getPreferences(0)
- val editor = sharedPreferences.edit()
- editor.putString(INDEX_POSITION, idCard)
- editor.commit()
- }
- }
- override fun loadIdCard(){
- sharedPreferences = activity.getPreferences(0)
- val idSaveCard = sharedPreferences.getString(INDEX_POSITION, presenter.currentCardId(0))
- if (idSaveCard != null) {
- Log.i(TAG, "Ид капрты после сохранения: " + idSaveCard)
- val positionCard = viewPagerAdapter.getItemById(idSaveCard)
- Log.i(TAG, "Позиция карты по ИД из адаптера:" + positionCard)
- viewPagerAdapter.notifyDataSetChanged()
- viewPager.currentItem = positionCard
- }
- }
- @OnClick(R.id.button_personify)
- protected fun onButtonPersonify() {
- //saveCurPosition()
- presenter.onPersonify(viewPager.currentItem)
- }
- @OnClick(R.id.button_un_personify)
- protected fun onButtonUnPersonify() {
- AlertDialog
- .Builder(context)
- .setMessage("Вы действительно хотите деперсонифицировать карту?")
- .setPositiveButton(R.string.ok, { _, _ -> presenter.onUnPersonify(viewPager.currentItem) })
- .setNegativeButton(R.string.answer_cancel, { dialog, _ -> dialog.cancel() })
- .show()
- }
- @OnClick(R.id.button_history_travel)
- protected fun onButtonPayHistory() {
- presenter.onPayHistory(viewPager.currentItem)
- }
- @OnClick(R.id.button_lock)
- protected fun onBlockButtonClick() {
- blockAlert()
- }
- @OnClick(R.id.button_unlock)
- protected fun onUnlockButtonClick() {
- presenter.onUnLockCard(viewPager.currentItem)
- }
- @OnClick(R.id.button_add_card)
- protected fun onAddCardButtonClick() {
- presenter.onAddCard()
- }
- private fun blockAlert() {
- AlertDialog.Builder(context)
- .setMessage("Заблокировать карту?")
- .setPositiveButton(R.string.answer_lock, { _, _ -> blockCard() })
- .setNegativeButton(R.string.answer_cancel, { dialog, _ -> dialog.cancel() })
- .show()
- }
- private fun blockCard() {
- presenter.onBlockCard(viewPager.currentItem)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement