From f8a0c949f95535723dd8b31aa6e67a3539edf224 Mon Sep 17 00:00:00 2001 From: rimthekid Date: Fri, 4 Mar 2022 19:57:10 +0400 Subject: [PATCH] download dialog --- app/release/output-metadata.json | 8 +- .../com/github/libretube/DownloadDialog.kt | 96 ++++++++++++++++ .../com/github/libretube/DownloadService.kt | 105 +++++++++++++----- .../com/github/libretube/PlayerFragment.kt | 82 ++++++-------- app/src/main/res/layout/dialog_download.xml | 53 +++++++++ app/src/main/res/layout/fragment_player.xml | 3 +- app/src/main/res/values/strings.xml | 2 + 7 files changed, 269 insertions(+), 80 deletions(-) create mode 100644 app/src/main/java/com/github/libretube/DownloadDialog.kt create mode 100644 app/src/main/res/layout/dialog_download.xml diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 6946d9a63..8d992d142 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -25,13 +25,13 @@ "filters": [ { "filterType": "ABI", - "value": "x86" + "value": "armeabi-v7a" } ], "attributes": [], "versionCode": 4, "versionName": "0.2.2", - "outputFile": "app-x86-release.apk" + "outputFile": "app-armeabi-v7a-release.apk" }, { "type": "ONE_OF_MANY", @@ -51,13 +51,13 @@ "filters": [ { "filterType": "ABI", - "value": "armeabi-v7a" + "value": "x86" } ], "attributes": [], "versionCode": 4, "versionName": "0.2.2", - "outputFile": "app-armeabi-v7a-release.apk" + "outputFile": "app-x86-release.apk" } ], "elementType": "File" diff --git a/app/src/main/java/com/github/libretube/DownloadDialog.kt b/app/src/main/java/com/github/libretube/DownloadDialog.kt new file mode 100644 index 000000000..133b83dfb --- /dev/null +++ b/app/src/main/java/com/github/libretube/DownloadDialog.kt @@ -0,0 +1,96 @@ +package com.github.libretube + +import android.app.Dialog +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.view.View +import android.widget.* +import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment + + +class DownloadDialog : DialogFragment() { + private val TAG = "DownloadDialog" + var vidName = arrayListOf() + var vidUrl = arrayListOf() + var audioName = arrayListOf() + var audioUrl = arrayListOf() + var selectedVideo = 0 + var selectedAudio = 0 + var extension = ".mkv" + var duration = 0 + private lateinit var videoId: String + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + return activity?.let { + vidName = arguments?.getStringArrayList("videoName") as ArrayList + vidUrl = arguments?.getStringArrayList("videoUrl") as ArrayList + audioName = arguments?.getStringArrayList("audioName") as ArrayList + audioUrl = arguments?.getStringArrayList("audioUrl") as ArrayList + duration = arguments?.getInt("duration")!! + videoId = arguments?.getString("videoId")!! + val builder = AlertDialog.Builder(it) + // Get the layout inflater + val inflater = requireActivity().layoutInflater + var view: View = inflater.inflate(R.layout.dialog_download, null) + val videoSpinner = view.findViewById(R.id.video_spinner) + val videoArrayAdapter =ArrayAdapter(requireContext(),android.R.layout.simple_spinner_item,vidName) + videoArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + videoSpinner.adapter=videoArrayAdapter + videoSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>, + view: View, + position: Int, + id: Long + ) { + selectedVideo = position + Log.d(TAG,selectedVideo.toString()) + } + override fun onNothingSelected(parent: AdapterView<*>?) {} + } + val audioSpinner = view.findViewById(R.id.audio_spinner) + val audioArrayAdapter = ArrayAdapter(requireContext(),android.R.layout.simple_spinner_item,audioName) + audioArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + audioSpinner.adapter = audioArrayAdapter + audioSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>, + view: View, + position: Int, + id: Long + ) { + selectedAudio = position + Log.d(TAG,selectedAudio.toString()) + } + override fun onNothingSelected(parent: AdapterView<*>?) {} + } + val radioGroup = view.findViewById(R.id.radioGp) + radioGroup.setOnCheckedChangeListener { group, checkedId -> + val radio: RadioButton = view.findViewById(checkedId) + extension = radio.text.toString() + Log.d(TAG,extension) + } + view.findViewById