Random kaomoji for empty view

This commit is contained in:
arkon
2020-03-09 18:59:17 -04:00
parent d5ff5fd6f8
commit d7d3731567
14 changed files with 44 additions and 78 deletions

View File

@ -120,7 +120,7 @@ class CategoryController : NucleusController<CategoryPresenter>(),
selected.forEach { onItemLongClick(categories.indexOf(it)) }
}
} else {
empty_view.show(R.drawable.ic_shape_black_128dp, R.string.information_empty_category)
empty_view.show(R.string.information_empty_category)
}
}

View File

@ -242,8 +242,7 @@ class DownloadController : NucleusController<DownloadPresenter>() {
*/
private fun setInformationView() {
if (presenter.downloadQueue.isEmpty()) {
empty_view?.show(R.drawable.ic_file_download_black_128dp,
R.string.information_no_downloads)
empty_view?.show(R.string.information_no_downloads)
} else {
empty_view?.hide()
}

View File

@ -112,8 +112,7 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
extension_prefs_recycler.addItemDecoration(DividerItemDecoration(context, VERTICAL))
if (screen.preferenceCount == 0) {
extension_prefs_empty_view.show(R.drawable.ic_no_settings,
R.string.ext_empty_preferences)
extension_prefs_empty_view.show(R.string.ext_empty_preferences)
}
}

View File

@ -237,7 +237,7 @@ class LibraryController(
if (mangaMap.isNotEmpty()) {
empty_view.hide()
} else {
empty_view.show(R.drawable.ic_book_black_128dp, R.string.information_empty_library)
empty_view.show(R.string.information_empty_library)
}
// Get the current active category.

View File

@ -81,7 +81,7 @@ class HistoryController : NucleusController<HistoryPresenter>(),
if (size > 0) {
empty_view.hide()
} else {
empty_view.show(R.drawable.ic_history_black_128dp, R.string.information_no_recent_manga)
empty_view.show(R.string.information_no_recent_manga)
}
}

View File

@ -194,7 +194,7 @@ class UpdatesController : NucleusController<UpdatesPresenter>(),
if (size > 0) {
empty_view?.hide()
} else {
empty_view?.show(R.drawable.ic_new_releases_black_128dp, R.string.information_no_recent)
empty_view?.show(R.string.information_no_recent)
}
}

View File

@ -2,12 +2,13 @@ package eu.kanade.tachiyomi.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
import android.widget.RelativeLayout
import androidx.annotation.StringRes
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.util.system.getResourceColor
import eu.kanade.tachiyomi.util.view.setVectorCompat
import kotlinx.android.synthetic.main.common_view_empty.view.image_view
import eu.kanade.tachiyomi.util.view.gone
import eu.kanade.tachiyomi.util.view.visible
import kotlin.random.Random
import kotlinx.android.synthetic.main.common_view_empty.view.text_face
import kotlinx.android.synthetic.main.common_view_empty.view.text_label
class EmptyView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
@ -21,17 +22,31 @@ class EmptyView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
* Hide the information view
*/
fun hide() {
this.visibility = View.GONE
this.gone()
}
/**
* Show the information view
* @param drawable icon of information view
* @param textResource text of information view
*/
fun show(drawable: Int, textResource: Int) {
image_view.setVectorCompat(drawable, context.getResourceColor(android.R.attr.textColorHint))
fun show(@StringRes textResource: Int) {
text_face.text = getRandomErrorFace()
text_label.text = context.getString(textResource)
this.visibility = View.VISIBLE
this.visible()
}
companion object {
private val ERROR_FACES = listOf(
"(・o・;)",
"Σ(ಠ_ಠ)",
"ಥ_ಥ",
"(˘・_・˘)",
"(; ̄Д ̄)",
"(・Д・。"
)
fun getRandomErrorFace(): String {
return ERROR_FACES[Random.nextInt(ERROR_FACES.size)]
}
}
}