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", "") == "") {
showNameDialog()
} else {
updateCheck()
}
updateCheck()
}
override fun onPostCreate(savedInstanceState: Bundle?) {

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

@ -124,12 +124,14 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/fab_margin"
android:gravity="center_vertical"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:clipToPadding="false"
android:padding="12dp"
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
android:id="@+id/fab"

Loading…
Cancel
Save