Skip to content

Commit

Permalink
Merge pull request #2 from JunkFood02/dev
Browse files Browse the repository at this point in the history
Parse album metadata, reset default value for Preference
  • Loading branch information
JunkFood02 authored Apr 21, 2022
2 parents 9b97367 + 727f31d commit c5d3406
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 48 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
def versionMajor = 0
def versionMinor = 0
def versionPatch = 3
def versionBuild = 0
def versionBuild = 1

android {
compileSdk 32
Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/com/junkfood/seal/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ class MainActivity : AppCompatActivity() {
v.setPadding(0, insets.top, 0, if (insets.bottom > 50) insets.bottom else 0)
WindowInsetsCompat.CONSUMED
}
} else window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
}


}

override fun attachBaseContext(newBase: Context?) {
Expand Down Expand Up @@ -85,7 +87,6 @@ class MainActivity : AppCompatActivity() {
}



companion object {
private const val TAG = "MainActivity"
}
Expand Down
18 changes: 10 additions & 8 deletions app/src/main/java/com/junkfood/seal/ui/home/HomeFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,16 @@ class HomeFragment : Fragment() {
if (url == "") {
url = "https://youtu.be/t5c8D1xbXtw";
}
with(PreferenceManager.getDefaultSharedPreferences(requireContext())) {
DownloadUtil.getVideo(
url, getBoolean("audio", true),
getBoolean("thumbnail", true), handler
)
}
} else Toast.makeText(context, getString(R.string.permission_denied), Toast.LENGTH_SHORT)
.show()
DownloadUtil.getVideo(
url, handler
)

} else Toast.makeText(
context,
getString(R.string.permission_denied),
Toast.LENGTH_SHORT
)
.show()
}
}

Expand Down
23 changes: 19 additions & 4 deletions app/src/main/java/com/junkfood/seal/util/DownloadUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.os.Looper
import android.os.Message
import android.util.Log
import android.widget.Toast
import androidx.preference.PreferenceManager
import com.junkfood.seal.BaseApplication
import com.junkfood.seal.BaseApplication.Companion.context
import com.junkfood.seal.R
Expand All @@ -17,15 +18,27 @@ import com.yausername.youtubedl_android.mapper.VideoInfo
object DownloadUtil {
private const val TAG = "DownloadUtil"
private var WIP = 0
fun getVideo(url: String, extractAudio: Boolean, createThumbnail: Boolean, handler: Handler) {
fun getVideo(url: String, handler: Handler) {

Thread {
Looper.prepare()
if (WIP == 1) {
Toast.makeText(context, context.getString(R.string.task_running), Toast.LENGTH_SHORT).show()
Toast.makeText(
context,
context.getString(R.string.task_running),
Toast.LENGTH_SHORT
).show()
return@Thread
}
Toast.makeText(context, context.getString(R.string.fetching_info), Toast.LENGTH_SHORT).show()
var extractAudio: Boolean
var createThumbnail: Boolean

with(PreferenceManager.getDefaultSharedPreferences(context)) {
extractAudio = getBoolean("audio", false)
createThumbnail = getBoolean("thumbnail", false)
}
Toast.makeText(context, context.getString(R.string.fetching_info), Toast.LENGTH_SHORT)
.show()
WIP = 1
val request = YoutubeDLRequest(url)
lateinit var ext: String
Expand Down Expand Up @@ -79,9 +92,11 @@ object DownloadUtil {
}
if (createThumbnail) {
if (extractAudio) {
request.addOption("--add-metadata")
request.addOption("--embed-metadata")
request.addOption("--embed-thumbnail")
request.addOption("--compat-options", "embed-thumbnail-atomicparsley")
request.addOption("--parse-metadata", "$title:%(meta_album)s")
request.addOption("--add-metadata")
} else {
request.addOption("--write-thumbnail")
request.addOption("--convert-thumbnails", "jpg")
Expand Down
56 changes: 30 additions & 26 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
@@ -1,49 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">


<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="8dp"
app:layout_constraintTop_toTopOf="parent">

<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="?attr/actionBarSize"
app:menu="@menu/toolbar"
app:title="@string/app_name" />
</com.google.android.material.appbar.AppBarLayout>

<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:fitsSystemWindows="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/bottom_nav_menu" />


<fragment
android:id="@+id/nav_host_fragment_activity_main"
android:name="androidx.navigation.fragment.NavHostFragment"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@id/nav_view"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/appbarLayout"
app:navGraph="@navigation/mobile_navigation" />
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize">

<fragment

</androidx.constraintlayout.widget.ConstraintLayout>
android:id="@+id/nav_host_fragment_activity_main"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@id/nav_view"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/mobile_navigation" />

<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:fitsSystemWindows="true"
app:layout_constraintBottom_toBottomOf="parent"
app:menu="@menu/bottom_nav_menu" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
16 changes: 9 additions & 7 deletions app/src/main/res/values/themes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@
<!-- Base application theme. -->
<style name="Theme.Seal" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Primary brand color. -->
<!-- <item name="colorPrimary">@color/purple_500</item>-->
<!-- <item name="colorPrimaryVariant">@color/purple_700</item>-->
<!-- <item name="colorOnPrimary">@color/white</item>-->
<!-- &lt;!&ndash; Secondary brand color. &ndash;&gt;-->
<!-- <item name="colorSecondary">@color/teal_200</item>-->
<!-- <item name="colorSecondaryVariant">@color/teal_700</item>-->
<!-- <item name="colorOnSecondary">@color/black</item>-->
<!-- <item name="colorPrimary">@color/purple_500</item>-->
<!-- <item name="colorPrimaryVariant">@color/purple_700</item>-->
<!-- <item name="colorOnPrimary">@color/white</item>-->
<!-- &lt;!&ndash; Secondary brand color. &ndash;&gt;-->
<!-- <item name="colorSecondary">@color/teal_200</item>-->
<!-- <item name="colorSecondaryVariant">@color/teal_700</item>-->
<!-- <item name="colorOnSecondary">@color/black</item>-->
<item name="android:statusBarColor">?attr/colorSurface</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightNavigationBar">true</item>

</style>

</resources>

0 comments on commit c5d3406

Please sign in to comment.