added grid layout for tablets and landscape mode

This commit is contained in:
Denis Çerri 2023-02-26 20:09:36 +01:00
parent 86cf1eecd8
commit 81e5d92a97
No known key found for this signature in database
GPG key ID: 95C43D517D830350
6 changed files with 37 additions and 5 deletions

View file

@ -68,16 +68,18 @@ android {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable true debuggable false
signingConfig signingConfigs.debug signingConfig signingConfigs.debug
} }
dev { dev {
initWith buildTypes.release initWith buildTypes.release
debuggable true
} }
debug { debug {
initWith buildTypes.release initWith buildTypes.release
debuggable true
proguardFiles 'baseline-profiles-rules.pro' proguardFiles 'baseline-profiles-rules.pro'
} }
} }

View file

@ -1,6 +1,7 @@
package com.deniscerri.ytdlnis.ui package com.deniscerri.ytdlnis.ui
import android.content.Context import android.content.Context
import android.content.res.Configuration
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.MenuItem import android.view.MenuItem
@ -12,6 +13,7 @@ import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.work.WorkManager import androidx.work.WorkManager
@ -66,13 +68,23 @@ class DownloadQueueActivity : AppCompatActivity(), ActiveDownloadAdapter.OnItemC
this@DownloadQueueActivity this@DownloadQueueActivity
) )
val landScapeOrTablet = resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE || resources.getBoolean(R.bool.isTablet)
activeRecyclerView = findViewById(R.id.active_recyclerview) 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 activeRecyclerView.adapter = activeDownloads
queuedRecyclerView = findViewById(R.id.queued_recyclerview) 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 queuedRecyclerView.adapter = queuedDownloads
noResults = findViewById(R.id.no_results) noResults = findViewById(R.id.no_results)

View file

@ -2,6 +2,7 @@ package com.deniscerri.ytdlnis.ui
import android.app.Activity import android.app.Activity
import android.content.* import android.content.*
import android.content.res.Configuration
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
@ -15,6 +16,7 @@ import androidx.appcompat.widget.SearchView
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.MainActivity import com.deniscerri.ytdlnis.MainActivity
@ -106,7 +108,11 @@ class HistoryFragment : Fragment(), HistoryAdapter.OnItemClickListener{
requireActivity() requireActivity()
) )
recyclerView = view.findViewById(R.id.recyclerviewhistorys) 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 recyclerView?.adapter = historyAdapter
noResults?.visibility = GONE noResults?.visibility = GONE

View file

@ -7,6 +7,7 @@ import android.content.Context
import android.content.Context.CLIPBOARD_SERVICE import android.content.Context.CLIPBOARD_SERVICE
import android.content.Intent import android.content.Intent
import android.content.SharedPreferences import android.content.SharedPreferences
import android.content.res.Configuration
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
@ -20,6 +21,7 @@ import androidx.appcompat.widget.SearchView
import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.work.WorkManager import androidx.work.WorkManager
@ -121,7 +123,11 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, View.OnClickLi
requireActivity() requireActivity()
) )
recyclerView = view.findViewById(R.id.recyclerViewHome) 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 recyclerView?.adapter = homeAdapter
resultViewModel = ViewModelProvider(this)[ResultViewModel::class.java] resultViewModel = ViewModelProvider(this)[ResultViewModel::class.java]

View file

@ -0,0 +1,3 @@
<resources>
<bool name="isTablet">true</bool>
</resources>

View file

@ -0,0 +1,3 @@
<resources>
<bool name="isTablet">false</bool>
</resources>