Merge pull request #627 from Bnyro/master

small fixes
This commit is contained in:
Bnyro 2022-06-26 19:35:42 +02:00 committed by GitHub
commit b26d78c502
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 35 deletions

View File

@ -8,12 +8,11 @@ import android.view.View
import android.widget.Button import android.widget.Button
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import androidx.core.os.bundleOf
import androidx.core.text.HtmlCompat import androidx.core.text.HtmlCompat
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.setFragmentResult
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.github.libretube.R import com.github.libretube.R
import com.github.libretube.fragments.Library
import com.github.libretube.obj.Playlists import com.github.libretube.obj.Playlists
import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.PreferenceHelper
import com.github.libretube.util.RetrofitInstance import com.github.libretube.util.RetrofitInstance
@ -87,8 +86,13 @@ class CreatePlaylistDialog : DialogFragment() {
Toast.makeText(context, getString(R.string.unknown_error), Toast.LENGTH_SHORT) Toast.makeText(context, getString(R.string.unknown_error), Toast.LENGTH_SHORT)
.show() .show()
} }
// tell the Subscription Activity to fetch the playlists again // refresh the playlists in the library
setFragmentResult("fetchPlaylists", bundleOf("" to "")) try {
val parent = parentFragment as Library
parent.fetchPlaylists()
} catch (e: Exception) {
Log.e(TAG, e.toString())
}
dismiss() dismiss()
} }
} }

View File

@ -28,7 +28,6 @@ class Library : Fragment() {
lateinit var token: String lateinit var token: String
private lateinit var playlistRecyclerView: RecyclerView private lateinit var playlistRecyclerView: RecyclerView
private lateinit var refreshLayout: SwipeRefreshLayout private lateinit var refreshLayout: SwipeRefreshLayout
private lateinit var createPlaylistButton: FloatingActionButton
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -54,20 +53,16 @@ class Library : Fragment() {
if (token != "") { if (token != "") {
view.findViewById<ImageView>(R.id.boogh2).visibility = View.GONE view.findViewById<ImageView>(R.id.boogh2).visibility = View.GONE
view.findViewById<TextView>(R.id.textLike2).visibility = View.GONE view.findViewById<TextView>(R.id.textLike2).visibility = View.GONE
fetchPlaylists(view) fetchPlaylists()
refreshLayout.isEnabled = true refreshLayout.isEnabled = true
refreshLayout.setOnRefreshListener { refreshLayout.setOnRefreshListener {
Log.d(TAG, "hmm") fetchPlaylists()
fetchPlaylists(view)
} }
createPlaylistButton = view.findViewById<FloatingActionButton>(R.id.create_playlist) val createPlaylistButton = view.findViewById<FloatingActionButton>(R.id.create_playlist)
createPlaylistButton.setOnClickListener { createPlaylistButton.setOnClickListener {
val newFragment = CreatePlaylistDialog() val newFragment = CreatePlaylistDialog()
newFragment.show(childFragmentManager, "Create Playlist") newFragment.show(childFragmentManager, "Create Playlist")
} }
childFragmentManager.setFragmentResultListener("fetchPlaylists", this) { _, _ ->
fetchPlaylists(view)
}
} else { } else {
refreshLayout.isEnabled = false refreshLayout.isEnabled = false
view.findViewById<FloatingActionButton>(R.id.create_playlist).visibility = View.GONE view.findViewById<FloatingActionButton>(R.id.create_playlist).visibility = View.GONE
@ -75,14 +70,15 @@ class Library : Fragment() {
} }
override fun onResume() { override fun onResume() {
// optimize CreatePlaylistFab bottom margin // optimize CreatePlaylistFab bottom margin if miniPlayer active
val layoutParams = createPlaylistButton.layoutParams as ViewGroup.MarginLayoutParams val createPlaylistButton = view?.findViewById<FloatingActionButton>(R.id.create_playlist)
val layoutParams = createPlaylistButton?.layoutParams as ViewGroup.MarginLayoutParams
layoutParams.bottomMargin = if (isMiniPlayerVisible) 180 else 64 layoutParams.bottomMargin = if (isMiniPlayerVisible) 180 else 64
createPlaylistButton.layoutParams = layoutParams createPlaylistButton?.layoutParams = layoutParams
super.onResume() super.onResume()
} }
private fun fetchPlaylists(view: View) { fun fetchPlaylists() {
fun run() { fun run() {
refreshLayout.isRefreshing = true refreshLayout.isRefreshing = true
lifecycleScope.launchWhenCreated { lifecycleScope.launchWhenCreated {
@ -102,12 +98,8 @@ class Library : Fragment() {
} }
if (response.isNotEmpty()) { if (response.isNotEmpty()) {
runOnUiThread { runOnUiThread {
with(view.findViewById<ImageView>(R.id.boogh2)) { view?.findViewById<ImageView>(R.id.boogh2)?.visibility = View.GONE
visibility = View.GONE view?.findViewById<TextView>(R.id.textLike2)?.visibility = View.GONE
}
with(view.findViewById<TextView>(R.id.textLike2)) {
visibility = View.GONE
}
} }
val playlistsAdapter = PlaylistsAdapter( val playlistsAdapter = PlaylistsAdapter(
response.toMutableList(), response.toMutableList(),
@ -116,13 +108,13 @@ class Library : Fragment() {
playlistRecyclerView.adapter = playlistsAdapter playlistRecyclerView.adapter = playlistsAdapter
} else { } else {
runOnUiThread { runOnUiThread {
with(view.findViewById<ImageView>(R.id.boogh2)) { view?.findViewById<ImageView>(R.id.boogh2).apply {
visibility = View.VISIBLE this?.visibility = View.VISIBLE
setImageResource(R.drawable.ic_list) this?.setImageResource(R.drawable.ic_list)
} }
with(view.findViewById<TextView>(R.id.textLike2)) { view?.findViewById<TextView>(R.id.textLike2).apply {
visibility = View.VISIBLE this?.visibility = View.VISIBLE
text = getString(R.string.emptyList) this?.text = getString(R.string.emptyList)
} }
} }
} }

View File

@ -55,14 +55,12 @@ object PreferenceHelper {
fun clearPreferences(context: Context) { fun clearPreferences(context: Context) {
val editor = getDefaultSharedPreferencesEditor(context) val editor = getDefaultSharedPreferencesEditor(context)
editor.clear() editor.clear().apply()
editor.commit()
} }
fun removePreference(context: Context, value: String?) { fun removePreference(context: Context, value: String?) {
val editor = getDefaultSharedPreferencesEditor(context) val editor = getDefaultSharedPreferencesEditor(context)
editor.remove(value) editor.remove(value).apply()
editor.commit()
} }
fun getToken(context: Context): String { fun getToken(context: Context): String {
@ -72,7 +70,7 @@ object PreferenceHelper {
fun setToken(context: Context, newValue: String) { fun setToken(context: Context, newValue: String) {
val editor = context.getSharedPreferences("token", Context.MODE_PRIVATE).edit() val editor = context.getSharedPreferences("token", Context.MODE_PRIVATE).edit()
editor.putString("token", newValue) editor.putString("token", newValue).apply()
} }
fun getUsername(context: Context): String { fun getUsername(context: Context): String {
@ -82,7 +80,7 @@ object PreferenceHelper {
fun setUsername(context: Context, newValue: String) { fun setUsername(context: Context, newValue: String) {
val editor = context.getSharedPreferences("username", Context.MODE_PRIVATE).edit() val editor = context.getSharedPreferences("username", Context.MODE_PRIVATE).edit()
editor.putString("username", newValue) editor.putString("username", newValue).apply()
} }
fun saveCustomInstance(context: Context, customInstance: CustomInstance) { fun saveCustomInstance(context: Context, customInstance: CustomInstance) {
@ -93,7 +91,7 @@ object PreferenceHelper {
customInstancesList += customInstance customInstancesList += customInstance
val json = gson.toJson(customInstancesList) val json = gson.toJson(customInstancesList)
editor.putString("customInstances", json).commit() editor.putString("customInstances", json).apply()
} }
fun getCustomInstances(context: Context): ArrayList<CustomInstance> { fun getCustomInstances(context: Context): ArrayList<CustomInstance> {