From 81e5d92a9790a321e4d9f6ab31f35f26aec1f237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20=C3=87erri?= <64997243+deniscerri@users.noreply.github.com> Date: Sun, 26 Feb 2023 20:09:36 +0100 Subject: [PATCH] added grid layout for tablets and landscape mode --- app/build.gradle | 4 +++- .../ytdlnis/ui/DownloadQueueActivity.kt | 16 ++++++++++++++-- .../com/deniscerri/ytdlnis/ui/HistoryFragment.kt | 8 +++++++- .../com/deniscerri/ytdlnis/ui/HomeFragment.kt | 8 +++++++- app/src/main/res/values-sw720dp/attrs.xml | 3 +++ app/src/main/res/values/attrs.xml | 3 +++ 6 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/values-sw720dp/attrs.xml create mode 100644 app/src/main/res/values/attrs.xml diff --git a/app/build.gradle b/app/build.gradle index 2eec33c0..5ada4e52 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -68,16 +68,18 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - debuggable true + debuggable false signingConfig signingConfigs.debug } dev { initWith buildTypes.release + debuggable true } debug { initWith buildTypes.release + debuggable true proguardFiles 'baseline-profiles-rules.pro' } } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/DownloadQueueActivity.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/DownloadQueueActivity.kt index c3a6a94f..08165b11 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/DownloadQueueActivity.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/DownloadQueueActivity.kt @@ -1,6 +1,7 @@ package com.deniscerri.ytdlnis.ui import android.content.Context +import android.content.res.Configuration import android.os.Bundle import android.util.Log import android.view.MenuItem @@ -12,6 +13,7 @@ import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope +import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.work.WorkManager @@ -66,13 +68,23 @@ class DownloadQueueActivity : AppCompatActivity(), ActiveDownloadAdapter.OnItemC this@DownloadQueueActivity ) + val landScapeOrTablet = resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE || resources.getBoolean(R.bool.isTablet) + activeRecyclerView = findViewById(R.id.active_recyclerview) - activeRecyclerView.layoutManager = LinearLayoutManager(context) + if (landScapeOrTablet){ + activeRecyclerView.layoutManager = GridLayoutManager(context, 2) + }else{ + activeRecyclerView.layoutManager = LinearLayoutManager(context) + } activeRecyclerView.adapter = activeDownloads queuedRecyclerView = findViewById(R.id.queued_recyclerview) - queuedRecyclerView.layoutManager = LinearLayoutManager(context) + if (landScapeOrTablet){ + queuedRecyclerView.layoutManager = GridLayoutManager(context, 2) + }else{ + queuedRecyclerView.layoutManager = LinearLayoutManager(context) + } queuedRecyclerView.adapter = queuedDownloads noResults = findViewById(R.id.no_results) diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/HistoryFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/HistoryFragment.kt index 675dcb32..51d5f5f7 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/HistoryFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/HistoryFragment.kt @@ -2,6 +2,7 @@ package com.deniscerri.ytdlnis.ui import android.app.Activity import android.content.* +import android.content.res.Configuration import android.net.Uri import android.os.Bundle import android.os.Handler @@ -15,6 +16,7 @@ import androidx.appcompat.widget.SearchView import androidx.core.content.FileProvider import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.deniscerri.ytdlnis.MainActivity @@ -106,7 +108,11 @@ class HistoryFragment : Fragment(), HistoryAdapter.OnItemClickListener{ requireActivity() ) recyclerView = view.findViewById(R.id.recyclerviewhistorys) - recyclerView?.layoutManager = LinearLayoutManager(context) + if (resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE || resources.getBoolean(R.bool.isTablet)){ + recyclerView?.layoutManager = GridLayoutManager(context, 2) + }else{ + recyclerView?.layoutManager = LinearLayoutManager(context) + } recyclerView?.adapter = historyAdapter noResults?.visibility = GONE diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt index 1f382ecc..da7f3746 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt @@ -7,6 +7,7 @@ import android.content.Context import android.content.Context.CLIPBOARD_SERVICE import android.content.Intent import android.content.SharedPreferences +import android.content.res.Configuration import android.os.Bundle import android.os.Handler import android.os.Looper @@ -20,6 +21,7 @@ import androidx.appcompat.widget.SearchView import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.work.WorkManager @@ -121,7 +123,11 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi requireActivity() ) recyclerView = view.findViewById(R.id.recyclerViewHome) - recyclerView?.layoutManager = LinearLayoutManager(context) + if (resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE || resources.getBoolean(R.bool.isTablet)){ + recyclerView?.layoutManager = GridLayoutManager(context, 2) + }else{ + recyclerView?.layoutManager = LinearLayoutManager(context) + } recyclerView?.adapter = homeAdapter resultViewModel = ViewModelProvider(this)[ResultViewModel::class.java] diff --git a/app/src/main/res/values-sw720dp/attrs.xml b/app/src/main/res/values-sw720dp/attrs.xml new file mode 100644 index 00000000..7c98f554 --- /dev/null +++ b/app/src/main/res/values-sw720dp/attrs.xml @@ -0,0 +1,3 @@ + + true + \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml new file mode 100644 index 00000000..57f058c4 --- /dev/null +++ b/app/src/main/res/values/attrs.xml @@ -0,0 +1,3 @@ + + false + \ No newline at end of file