Optimiere Abfrage des Admin-Status

master
Niko Diamadis 5 years ago
parent a2480dfedc
commit a602ad87fe

@ -52,9 +52,9 @@ class MainActivity : AppCompatActivity() {
if (sharedPref.getString("name", "") == "") { if (sharedPref.getString("name", "") == "") {
showNameDialog() showNameDialog()
} else {
updateCheck()
} }
updateCheck()
} }
override fun onPostCreate(savedInstanceState: Bundle?) { override fun onPostCreate(savedInstanceState: Bundle?) {

@ -28,7 +28,7 @@ class ListingFragment : Fragment() {
private var _binding: FragmentListingBinding? = null private var _binding: FragmentListingBinding? = null
private lateinit var myContext: Context private lateinit var myContext: Context
private var adminMode = false private var adminMode: Boolean? = null
private val data: MutableList<ProjectViewState.ProjectEntry> = mutableListOf() private val data: MutableList<ProjectViewState.ProjectEntry> = mutableListOf()
private var isFABOpen = false private var isFABOpen = false
private lateinit var sharedPref: SharedPreferences private lateinit var sharedPref: SharedPreferences
@ -65,7 +65,7 @@ class ListingFragment : Fragment() {
findNavController().navigate(action) findNavController().navigate(action)
} }
vh.itemView.setOnLongClickListener { vh.itemView.setOnLongClickListener {
if (adminMode) { if (adminMode != null && adminMode!!) {
val action = ListingFragmentDirections.navigateToPusher( val action = ListingFragmentDirections.navigateToPusher(
childKey = text.childKey, childKey = text.childKey,
name = text.text, name = text.text,
@ -108,12 +108,13 @@ class ListingFragment : Fragment() {
closeFABMenu() closeFABMenu()
} }
return root if (adminMode == null && sharedPref.getString("name", "") != "") {
} updateAdminStatus()
} else if (adminMode != null && adminMode!!) {
binding.fabContainer.visibility = View.VISIBLE
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { return root
super.onViewCreated(view, savedInstanceState)
updateAdminStatus()
} }
private fun loadEntries(adapter: RecyclerViewAdapter<ProjectViewState, RecyclerViewHolder<ProjectViewState>>) { private fun loadEntries(adapter: RecyclerViewAdapter<ProjectViewState, RecyclerViewHolder<ProjectViewState>>) {
@ -160,7 +161,7 @@ class ListingFragment : Fragment() {
if (e == null) { if (e == null) {
if (techniker.getBoolean("admin")) { if (techniker.getBoolean("admin")) {
adminMode = true adminMode = true
sharedPrefEditor.putBoolean("admin", adminMode) sharedPrefEditor.putBoolean("admin", adminMode!!)
binding.fabContainer.visibility = View.VISIBLE binding.fabContainer.visibility = View.VISIBLE
binding.fab1.setOnClickListener { binding.fab1.setOnClickListener {
val action = ListingFragmentDirections.navigateToPusher() val action = ListingFragmentDirections.navigateToPusher()
@ -172,14 +173,14 @@ class ListingFragment : Fragment() {
} }
} else { } else {
adminMode = false adminMode = false
sharedPrefEditor.putBoolean("admin", adminMode) sharedPrefEditor.putBoolean("admin", adminMode!!)
binding.fabContainer.visibility = View.INVISIBLE binding.fabContainer.visibility = View.INVISIBLE
} }
sharedPrefEditor.putString("technikerId", techniker.objectId).apply() sharedPrefEditor.putString("technikerId", techniker.objectId).apply()
} else { } else {
binding.fabContainer.visibility = View.INVISIBLE binding.fabContainer.visibility = View.INVISIBLE
adminMode = false adminMode = false
sharedPrefEditor.putBoolean("admin", adminMode).apply() sharedPrefEditor.putBoolean("admin", adminMode!!).apply()
Toasty.error(myContext, "Adminstatus unbekannt", Toasty.LENGTH_SHORT).show() Toasty.error(myContext, "Adminstatus unbekannt", Toasty.LENGTH_SHORT).show()
Log.e("TechnikLogger.TechSuche", e.message.toString()) Log.e("TechnikLogger.TechSuche", e.message.toString())
} }

@ -124,12 +124,14 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/fab_margin" android:layout_marginEnd="@dimen/fab_margin"
android:gravity="center_vertical" android:gravity="center_vertical"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:clipToPadding="false" android:clipToPadding="false"
android:padding="12dp" android:padding="12dp"
android:layout_marginBottom="@dimen/fab_margin" android:layout_marginBottom="@dimen/fab_margin"
android:layout_gravity="bottom|end"> android:layout_gravity="bottom|end"
tools:visibility="visible">
<com.google.android.material.floatingactionbutton.FloatingActionButton <com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab" android:id="@+id/fab"

Loading…
Cancel
Save