diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/CutVideoBottomSheetDialog.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/CutVideoBottomSheetDialog.kt index 3ef74b32..a52fd0c6 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/CutVideoBottomSheetDialog.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/CutVideoBottomSheetDialog.kt @@ -77,7 +77,7 @@ class CutVideoBottomSheetDialog(private val item: DownloadItem, private val list val timeSeconds = convertStringToTimestamp(item.duration) if (item.downloadSections.isEmpty()){ - fromTextInput.editText!!.setText("00:00") + fromTextInput.editText!!.setText("0:00") toTextInput.editText!!.setText(item.duration) }else{ val stamps = item.downloadSections.split("-") diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt index e222ecf8..186f9925 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt @@ -258,6 +258,9 @@ class DownloadAudioFragment(private var resultItem: ResultItem, private var curr } override fun onChangeCut(from: String, to: String) { + if (from == "0:00" && to == downloadItem.duration){ + return + } val value = "${from}-${to}" downloadItem.downloadSections = value cut.text = value diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt index 112322c3..b259e089 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt @@ -283,6 +283,9 @@ class DownloadVideoFragment(private val resultItem: ResultItem, private var curr } override fun onChangeCut(from: String, to: String) { + if (from == "0:00" && to == downloadItem.duration){ + return + } val value = "${from}-${to}" downloadItem.downloadSections = value cut.text = value @@ -290,6 +293,7 @@ class DownloadVideoFragment(private val resultItem: ResultItem, private var curr splitByChapters.isEnabled = false splitByChapters.isChecked = false addChapters.isEnabled = true + } } cut.setOnClickListener { diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/more/TerminalActivity.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/more/TerminalActivity.kt index dd9b894e..3c9ec0f6 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/more/TerminalActivity.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/more/TerminalActivity.kt @@ -1,10 +1,12 @@ package com.deniscerri.ytdlnis.ui.more import android.Manifest +import android.app.Activity import android.app.Notification import android.app.PendingIntent import android.content.Context import android.content.Intent +import android.content.SharedPreferences import android.content.pm.PackageManager import android.os.Bundle import android.os.Looper @@ -21,10 +23,7 @@ import androidx.core.app.NotificationManagerCompat import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope -import androidx.work.Data -import androidx.work.ExistingWorkPolicy -import androidx.work.OneTimeWorkRequestBuilder -import androidx.work.WorkManager +import androidx.work.* import com.deniscerri.ytdlnis.App import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.database.repository.DownloadRepository @@ -67,6 +66,7 @@ class TerminalActivity : AppCompatActivity() { private var scrollView: ScrollView? = null private lateinit var bottomAppBar: BottomAppBar private lateinit var commandTemplateViewModel: CommandTemplateViewModel + private lateinit var sharedPreferences: SharedPreferences var context: Context? = null public override fun onCreate(savedInstanceState: Bundle?) { @@ -78,6 +78,7 @@ class TerminalActivity : AppCompatActivity() { topAppBar!!.setNavigationOnClickListener { onBackPressedDispatcher.onBackPressed() } commandTemplateViewModel = ViewModelProvider(this)[CommandTemplateViewModel::class.java] + sharedPreferences = getSharedPreferences("root_preferences", Activity.MODE_PRIVATE) bottomAppBar = findViewById(R.id.bottomAppBar) @@ -157,6 +158,7 @@ class TerminalActivity : AppCompatActivity() { item.findViewById(R.id.content).text = template.content item.setOnClickListener { input!!.text.insert(input!!.selectionStart, template.content + " ") + bottomSheet.cancel() } linearLayout.addView(item) } @@ -246,7 +248,7 @@ class TerminalActivity : AppCompatActivity() { YoutubeDL.getInstance().execute(request, downloadID.toString()){ progress, _, line -> Log.e(TAG, line) runOnUiThread { - output!!.append("\n" + line) + output!!.text = "${output!!.text}\n$line" output!!.scrollTo(0, output!!.height) scrollView!!.fullScroll(View.FOCUS_DOWN) } @@ -261,11 +263,12 @@ class TerminalActivity : AppCompatActivity() { }catch (e: Exception){ e.printStackTrace() runOnUiThread { - output!!.append("\n" + e.message) + output!!.text = "${output!!.text}\n${e.message}" output!!.scrollTo(0, output!!.height) scrollView!!.fullScroll(View.FOCUS_DOWN) input!!.visibility = View.VISIBLE + input!!.requestFocus() hideCancelFab() } @@ -275,15 +278,24 @@ class TerminalActivity : AppCompatActivity() { .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ - output!!.scrollTo(0, output!!.height) - scrollView!!.fullScroll(View.FOCUS_DOWN) input!!.setText("yt-dlp ") input!!.visibility = View.VISIBLE + input!!.requestFocus() + + try{ + val fileUtil = FileUtil() + fileUtil.moveFile(tempFileDir.absoluteFile, this, sharedPreferences.getString("command_path", getString(R.string.command))!!) {} + }catch (e: Exception){ + output!!.text = "${output!!.text}\n${e.message}" + output!!.scrollTo(0, output!!.height) + scrollView!!.fullScroll(View.FOCUS_DOWN) + } hideCancelFab() notificationUtil.cancelDownloadNotification(downloadID) }) { e -> e.printStackTrace() + output!!.text = "${output!!.text}\n${e.message}" output!!.scrollTo(0, output!!.height) scrollView!!.fullScroll(View.FOCUS_DOWN) input!!.setText("yt-dlp ") diff --git a/app/src/main/res/layout/activity_terminal.xml b/app/src/main/res/layout/activity_terminal.xml index eb80ba96..ce942c82 100644 --- a/app/src/main/res/layout/activity_terminal.xml +++ b/app/src/main/res/layout/activity_terminal.xml @@ -30,53 +30,47 @@ app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" android:layout_height="match_parent"> - - + android:layout_height="wrap_content" + android:focusableInTouchMode="true" + android:orientation="vertical"> + + - - - - - - - - - - - + android:background="@android:color/transparent" + android:fontFamily="monospace" + android:gravity="start" + android:inputType="textMultiLine" + android:paddingBottom="100dp" + android:maxLines="100" + android:text="yt-dlp " + android:textSize="15sp" /> + + + +