mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Random kaomoji for empty view
This commit is contained in:
		@@ -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)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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()
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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)]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user