From 17385892cbe4e0359c45a6221036dd5d6c9cb283 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 19 Apr 2020 13:16:25 +0530 Subject: PasswordFragment: Replace fab options with descriptive bottom sheet Signed-off-by: Harsh Shandilya --- .../java/com/zeapo/pwdstore/PasswordFragment.kt | 28 +++++++--------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt') diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt index 5e12697d..2b1551fa 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.kt @@ -22,13 +22,13 @@ import androidx.lifecycle.observe import androidx.recyclerview.widget.FixOnItemTouchDispatchRecyclerView import androidx.recyclerview.widget.LinearLayoutManager import androidx.swiperefreshlayout.widget.SwipeRefreshLayout -import com.google.android.material.floatingactionbutton.FloatingActionButton import com.google.android.material.snackbar.Snackbar import com.zeapo.pwdstore.databinding.PasswordRecyclerViewBinding import com.zeapo.pwdstore.git.BaseGitActivity import com.zeapo.pwdstore.git.GitOperationActivity import com.zeapo.pwdstore.ui.OnOffItemAnimator import com.zeapo.pwdstore.ui.adapters.PasswordItemRecyclerAdapter +import com.zeapo.pwdstore.ui.dialogs.ItemCreationBottomSheet import com.zeapo.pwdstore.utils.PasswordItem import com.zeapo.pwdstore.utils.PasswordRepository import java.io.File @@ -57,17 +57,10 @@ class PasswordFragment : Fragment() { ): View? { _binding = PasswordRecyclerViewBinding.inflate(inflater, container, false) initializePasswordList() - val fab = binding.fab - fab.setOnClickListener { - toggleFabExpand(fab) - } - binding.createFolder.setOnClickListener { - requireStore().createFolder() - toggleFabExpand(fab) - } - binding.createPassword.setOnClickListener { - requireStore().createPassword() - toggleFabExpand(fab) + binding.fab.setOnClickListener { + ItemCreationBottomSheet().apply { + setTargetFragment(this@PasswordFragment, 1000) + }.show(parentFragmentManager, "BOTTOM_SHEET") } return binding.root } @@ -145,14 +138,7 @@ class PasswordFragment : Fragment() { super.onDestroyView() } - private fun toggleFabExpand(fab: FloatingActionButton) = with(fab) { - isExpanded = !isExpanded - isActivated = isExpanded - animate().rotationBy(if (isExpanded) -45f else 45f).setDuration(100).start() - } - private val actionModeCallback = object : ActionMode.Callback { - // Called when the action mode is created; startActionMode() was called override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { // Inflate a menu resource providing context menu items @@ -282,6 +268,10 @@ class PasswordFragment : Fragment() { actionMode?.finish() } + fun createFolder() = requireStore().createFolder() + + fun createPassword() = requireStore().createPassword() + interface OnFragmentInteractionListener { fun onFragmentInteraction(item: PasswordItem) } -- cgit v1.2.3