diff --git a/app/src/main/java/ani/dantotsu/home/HomeFragment.kt b/app/src/main/java/ani/dantotsu/home/HomeFragment.kt index ab46b98d..9849d810 100644 --- a/app/src/main/java/ani/dantotsu/home/HomeFragment.kt +++ b/app/src/main/java/ani/dantotsu/home/HomeFragment.kt @@ -232,9 +232,9 @@ class HomeFragment : Fragment() { LinearLayoutManager.HORIZONTAL, false ) - more.setOnClickListener { _ -> + more.setOnClickListener { i -> ContextCompat.startActivity( - requireActivity(), Intent(requireActivity(), MediaListViewActivity::class.java) + i.context, Intent(i.context, MediaListViewActivity::class.java) .putExtra("title", string) .putExtra("media", it), null diff --git a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt index 0ba08f7a..e26c7347 100644 --- a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt +++ b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt @@ -221,7 +221,6 @@ class MangaPageAdapter : RecyclerView.Adapter) { @@ -254,7 +253,15 @@ class MangaPageAdapter : RecyclerView.Adapter) { + fun init( + adaptor: MediaAdaptor, + recyclerView: RecyclerView, + progress: View, + title: View , + more: View , + string: String, + media : MutableList + ) { progress.visibility = View.GONE recyclerView.adapter = adaptor recyclerView.layoutManager = diff --git a/app/src/main/java/ani/dantotsu/media/MediaListViewActivity.kt b/app/src/main/java/ani/dantotsu/media/MediaListViewActivity.kt index 1189a4a1..d1c004ae 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaListViewActivity.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaListViewActivity.kt @@ -1,6 +1,7 @@ package ani.dantotsu.media import android.os.Bundle +import android.view.View import android.view.ViewGroup import android.view.Window import androidx.appcompat.app.AppCompatActivity @@ -52,11 +53,36 @@ class MediaListViewActivity: AppCompatActivity() { binding.listTitle.setTextColor(primaryTextColor) val screenWidth = resources.displayMetrics.run { widthPixels / density } val mediaList = intent.getSerialized("media") as? ArrayList ?: ArrayList() + val view = PrefManager.getCustomVal("mediaView", 0) + var mediaView: View = when (view) { + 1 -> binding.mediaList + 0 -> binding.mediaGrid + else -> binding.mediaGrid + } + mediaView.alpha = 1f + fun changeView(mode: Int, current: View) { + mediaView.alpha = 0.33f + mediaView = current + current.alpha = 1f + PrefManager.setCustomVal("mediaView", mode) + binding.mediaRecyclerView.adapter = MediaAdaptor(mode, mediaList, this) + binding.mediaRecyclerView.layoutManager = GridLayoutManager( + this, + if (mode == 1) 1 else (screenWidth / 120f).toInt() + ) + } + binding.mediaList.setOnClickListener { + changeView(1, binding.mediaList) + } + binding.mediaGrid.setOnClickListener { + changeView(0, binding.mediaGrid) + } + binding.listTitle.text = intent.getStringExtra("title") - binding.mediaRecyclerView.adapter = MediaAdaptor(0, mediaList, this) + binding.mediaRecyclerView.adapter = MediaAdaptor(view, mediaList, this) binding.mediaRecyclerView.layoutManager = GridLayoutManager( this, - (screenWidth / 120f).toInt() + if (view == 1) 1 else (screenWidth / 120f).toInt() ) } } diff --git a/app/src/main/java/ani/dantotsu/others/CrashActivity.kt b/app/src/main/java/ani/dantotsu/others/CrashActivity.kt index b479c931..d3b5e754 100644 --- a/app/src/main/java/ani/dantotsu/others/CrashActivity.kt +++ b/app/src/main/java/ani/dantotsu/others/CrashActivity.kt @@ -3,34 +3,45 @@ package ani.dantotsu.others import android.content.Intent import android.os.Bundle import android.view.View -import android.widget.Button -import android.widget.EditText +import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.core.content.FileProvider +import androidx.core.view.updateLayoutParams import ani.dantotsu.R +import ani.dantotsu.databinding.ActivityCrashBinding +import ani.dantotsu.initActivity +import ani.dantotsu.navBarHeight +import ani.dantotsu.statusBarHeight +import ani.dantotsu.themes.ThemeManager import eu.kanade.tachiyomi.util.system.copyToClipboard import java.io.File class CrashActivity : AppCompatActivity() { + private lateinit var binding: ActivityCrashBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_crash) + ThemeManager(this).applyTheme() + initActivity(this) + binding = ActivityCrashBinding.inflate(layoutInflater) + setContentView(binding.root) + binding.root.updateLayoutParams { + topMargin = statusBarHeight + bottomMargin = navBarHeight + } val stackTrace = intent.getStringExtra("stackTrace") ?: "No stack trace available" - val reportView = findViewById(R.id.crashReportView) - reportView.setText(stackTrace) - reportView.setOnKeyListener(View.OnKeyListener { _, _, _ -> + + binding.crashReportView.setText(stackTrace) + binding.crashReportView.setOnKeyListener(View.OnKeyListener { _, _, _ -> true // Blocks input from hardware keyboards. }) - val copyButton = findViewById