diff --git a/app/build.gradle b/app/build.gradle index 34c4df04..3d292ffa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -59,7 +59,7 @@ android { buildTypes { release { minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' debuggable false signingConfig signingConfigs.debug } @@ -135,7 +135,6 @@ dependencies { implementation 'androidx.preference:preference:1.2.0' implementation "androidx.navigation:navigation-fragment-ktx:$navVer" implementation "androidx.navigation:navigation-ui-ktx:$navVer" - implementation "androidx.navigation:navigation-dynamic-features-fragment:$navVer" implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.test.ext:junit-ktx:1.1.5' implementation 'androidx.benchmark:benchmark-macro:1.1.1' @@ -143,7 +142,7 @@ dependencies { androidTestImplementation "junit:junit:$junitVer" androidTestImplementation "androidx.test.ext:junit:$androidJunitVer" androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVer" - androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha12" + androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha13" androidTestImplementation "androidx.test:runner:1.5.2" androidTestImplementation "androidx.test:core:1.5.0" androidTestImplementation "androidx.test:rules:1.5.0" diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index bba8e391..b16d7626 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -61,6 +61,4 @@ public (android.content.Context,androidx.work.WorkerParameters); } --dontshrink --dontobfuscate --dontoptimize \ No newline at end of file +-dontobfuscate \ No newline at end of file diff --git a/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt b/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt index fa436458..004a7a7c 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt @@ -172,11 +172,19 @@ class MainActivity : AppCompatActivity() { } fun disableBottomNavigation(){ - (navigationView as NavigationView).menu.forEach { it.isEnabled = false } + if (navigationView is NavigationBarView){ + (navigationView as NavigationBarView).menu.forEach { it.isEnabled = false } + }else{ + (navigationView as NavigationView).menu.forEach { it.isEnabled = false } + } } fun enableBottomNavigation(){ - (navigationView as NavigationView).menu.forEach { it.isEnabled = true } + if (navigationView is NavigationBarView){ + (navigationView as NavigationBarView).menu.forEach { it.isEnabled = true } + }else{ + (navigationView as NavigationView).menu.forEach { it.isEnabled = true } + } } override fun onResume() { diff --git a/app/src/main/java/com/deniscerri/ytdlnis/database/viewmodel/DownloadViewModel.kt b/app/src/main/java/com/deniscerri/ytdlnis/database/viewmodel/DownloadViewModel.kt index 718bde8a..a05edd59 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/database/viewmodel/DownloadViewModel.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/database/viewmodel/DownloadViewModel.kt @@ -262,6 +262,10 @@ class DownloadViewModel(private val application: Application) : AndroidViewModel return list } + fun insert(item: DownloadItem) = viewModelScope.launch(Dispatchers.IO){ + repository.insert(item) + } + fun deleteCancelled() = viewModelScope.launch(Dispatchers.IO) { repository.deleteCancelled() } 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 c062ddd0..22e79cc7 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/HomeFragment.kt @@ -13,6 +13,7 @@ import android.graphics.drawable.RippleDrawable import android.os.Bundle import android.os.Handler import android.os.Looper +import android.util.DisplayMetrics import android.util.Log import android.view.* import android.view.View.* diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/CancelledDownloadsFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/CancelledDownloadsFragment.kt index c85399d0..428910f2 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/CancelledDownloadsFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/CancelledDownloadsFragment.kt @@ -194,7 +194,9 @@ class CancelledDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClic openFile.visibility = View.GONE bottomSheet.show() - bottomSheet.behavior.peekHeight = 512 + val displayMetrics = DisplayMetrics() + requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics) + bottomSheet.behavior.peekHeight = displayMetrics.heightPixels bottomSheet.window!!.setLayout( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT @@ -225,12 +227,10 @@ class CancelledDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClic when (direction) { ItemTouchHelper.LEFT -> { val deletedItem = items[position] - items.remove(deletedItem) - cancelledDownloads.submitList(items.toList()) + downloadViewModel.deleteDownload(deletedItem) Snackbar.make(cancelledRecyclerView, getString(R.string.you_are_going_to_delete) + ": " + deletedItem.title, Snackbar.LENGTH_LONG) .setAction(getString(R.string.undo)) { - items.add(position, deletedItem) - cancelledDownloads.submitList(items.toList()) + downloadViewModel.insert(deletedItem) }.show() } ItemTouchHelper.RIGHT -> { diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/ErroredDownloadsFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/ErroredDownloadsFragment.kt index cf28c919..bb65a1d6 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/ErroredDownloadsFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloads/ErroredDownloadsFragment.kt @@ -194,7 +194,9 @@ class ErroredDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickL openFile.visibility = View.GONE bottomSheet.show() - bottomSheet.behavior.peekHeight = 512 + val displayMetrics = DisplayMetrics() + requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics) + bottomSheet.behavior.peekHeight = displayMetrics.heightPixels bottomSheet.window!!.setLayout( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT @@ -228,12 +230,10 @@ class ErroredDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickL when (direction) { ItemTouchHelper.LEFT -> { val deletedItem = items[position] - items.remove(deletedItem) - erroredDownloads.submitList(items.toList()) + downloadViewModel.deleteDownload(deletedItem) Snackbar.make(erroredRecyclerView, getString(R.string.you_are_going_to_delete) + ": " + deletedItem.title, Snackbar.LENGTH_LONG) .setAction(getString(R.string.undo)) { - items.add(position, deletedItem) - erroredDownloads.submitList(items.toList()) + downloadViewModel.insert(deletedItem) }.show() } diff --git a/app/src/main/res/layout-sw1600dp-land/fragment_home.xml b/app/src/main/res/layout-sw1600dp-land/fragment_home.xml new file mode 100644 index 00000000..d0a8f938 --- /dev/null +++ b/app/src/main/res/layout-sw1600dp-land/fragment_home.xml @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-sw800dp/activity_main.xml b/app/src/main/res/layout-sw650dp/activity_main.xml similarity index 100% rename from app/src/main/res/layout-sw800dp/activity_main.xml rename to app/src/main/res/layout-sw650dp/activity_main.xml diff --git a/app/src/main/res/layout-sw800dp/fragment_home.xml b/app/src/main/res/layout-sw650dp/fragment_home.xml similarity index 100% rename from app/src/main/res/layout-sw800dp/fragment_home.xml rename to app/src/main/res/layout-sw650dp/fragment_home.xml diff --git a/app/src/main/res/layout-sw800dp-land/fragment_home.xml b/app/src/main/res/layout-sw800dp-land/fragment_home.xml index 36365c1c..421c8bc2 100644 --- a/app/src/main/res/layout-sw800dp-land/fragment_home.xml +++ b/app/src/main/res/layout-sw800dp-land/fragment_home.xml @@ -225,6 +225,29 @@ + + + + + + + +