made the logs not store if incognito is on and stopped log getting recreated if deleted

pull/44/head
Denis Çerri 3 years ago
parent 7eabba9c02
commit 8eb0370c69
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -4,16 +4,27 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.os.FileObserver import android.os.FileObserver
import android.os.Handler
import android.os.Looper
import android.text.InputType
import android.util.Log import android.util.Log
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.SearchView
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.adapter.DownloadLogsAdapter import com.deniscerri.ytdlnis.adapter.DownloadLogsAdapter
import com.deniscerri.ytdlnis.util.InfoUtil
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import com.google.android.material.button.MaterialButton
import java.io.File import java.io.File
import java.util.ArrayList
class DownloadLogListActivity : AppCompatActivity(), DownloadLogsAdapter.OnItemClickListener { class DownloadLogListActivity : AppCompatActivity(), DownloadLogsAdapter.OnItemClickListener {
@ -54,19 +65,38 @@ class DownloadLogListActivity : AppCompatActivity(), DownloadLogsAdapter.OnItemC
} }
} }
observer.startWatching(); observer.startWatching();
initMenu(logFolder)
}
private fun initMenu(logFolder: File) {
topAppBar.setOnMenuItemClickListener { m: MenuItem ->
val itemId = m.itemId
if (itemId == R.id.remove_logs) {
try{
logFolder.listFiles()!!.forEach {
it.delete()
}
}catch (e: Exception){
Toast.makeText(context, e.message, Toast.LENGTH_LONG).show()
}
}
true
}
} }
private fun updateList(logFolder: File){ private fun updateList(logFolder: File){
fileList = mutableListOf() fileList = mutableListOf()
fileList.addAll(logFolder.listFiles()!!) try{
fileList.reverse() fileList.addAll(logFolder.listFiles()!!)
fileList.reverse()
}catch (ignored: Exception){}
downloadLogAdapter.submitList(fileList.toList()) downloadLogAdapter.submitList(fileList.toList())
runOnUiThread{ runOnUiThread{
if (fileList.isNotEmpty()) { if (fileList.isNotEmpty()) {
noResults.visibility = View.GONE noResults.visibility = View.GONE
topAppBar.menu.findItem(R.id.remove_logs).isVisible = true
}else{ }else{
topAppBar.menu.findItem(R.id.remove_logs).isVisible = false
noResults.visibility = View.VISIBLE noResults.visibility = View.VISIBLE
} }
} }

@ -197,11 +197,11 @@ class DownloadWorker(
} }
runCatching { runCatching {
val logDownloads = sharedPreferences.getBoolean("log_downloads", false) val logDownloads = sharedPreferences.getBoolean("log_downloads", false) && !sharedPreferences.getBoolean("incognito", false)
val logFolder = File(context.filesDir.absolutePath + "/logs") val logFolder = File(context.filesDir.absolutePath + "/logs")
val logFile = File(context.filesDir.absolutePath + """/logs/${downloadItem.id} - ${downloadItem.title}##${downloadItem.type}##${downloadItem.format.format_id}.log""") val logFile = File(context.filesDir.absolutePath + """/logs/${downloadItem.id} - ${downloadItem.title}##${downloadItem.type}##${downloadItem.format.format_id}.log""")
if (logDownloads){ if (logDownloads){
logFolder.mkdir() logFolder.mkdirs()
logFile.createNewFile() logFile.createNewFile()
logFile.writeText("Downloading:\n" + logFile.writeText("Downloading:\n" +
"URL: ${downloadItem.url}\n" + "URL: ${downloadItem.url}\n" +
@ -219,7 +219,7 @@ class DownloadWorker(
line, progress.toInt(), 0, title, line, progress.toInt(), 0, title,
NotificationUtil.DOWNLOAD_SERVICE_CHANNEL_ID NotificationUtil.DOWNLOAD_SERVICE_CHANNEL_ID
) )
if (logDownloads){ if (logDownloads && logFile.exists()){
logFile.appendText("${line}\n") logFile.appendText("${line}\n")
} }
} }
@ -259,7 +259,9 @@ class DownloadWorker(
val logDownloads = sharedPreferences.getBoolean("log_downloads", false) val logDownloads = sharedPreferences.getBoolean("log_downloads", false)
if (logDownloads){ if (logDownloads){
val logFile = File(context.filesDir.absolutePath + """/logs/${downloadItem.id} - ${downloadItem.title}##${downloadItem.type}##${downloadItem.format.format_id}.log""") val logFile = File(context.filesDir.absolutePath + """/logs/${downloadItem.id} - ${downloadItem.title}##${downloadItem.type}##${downloadItem.format.format_id}.log""")
logFile.appendText("${it.message}\n") if (logFile.exists()){
logFile.appendText("${it.message}\n")
}
} }
tempFileDir.delete() tempFileDir.delete()

@ -18,6 +18,7 @@
android:elevation="0dp" android:elevation="0dp"
app:title="@string/logs" app:title="@string/logs"
android:layout_width="match_parent" android:layout_width="match_parent"
app:menu="@menu/download_logs_menu"
app:navigationIcon="@drawable/ic_back" app:navigationIcon="@drawable/ic_back"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/remove_logs"
android:icon="@drawable/ic_delete_all"
android:title="@string/remove_all"
app:showAsAction="never" />
</menu>

@ -71,6 +71,18 @@
<string name="remove_non_music">Hiq pjesët pa muzikë</string> <string name="remove_non_music">Hiq pjesët pa muzikë</string>
<string name="remove_non_music_summary">Hiq segmentet që përmbajnë pjesë pa muzikë në skedarët audio me SponsorBlock</string> <string name="remove_non_music_summary">Hiq segmentet që përmbajnë pjesë pa muzikë në skedarët audio me SponsorBlock</string>
<string name="processing">Proçesimi</string> <string name="processing">Proçesimi</string>
<string name="command_templates">Shabllonët e Komandave</string>
<string name="terminal">Terminali</string>
<string name="format">Formatet</string>
<string name="select_format">Zgjidh një Format</string>
<string name="please_wait">Ju Lutem Prisni</string>
<string name="remove_search_history">Pastro Historinë e Kërkimit</string>
<string name="enable_mtime">Aktivizo mtime</string>
<string name="enable_mtime_summary">Vendos orën e modifikimit sipas linkut</string>
<string name="update_formats">Përditëso Formatet</string>
<string name="error_updating_formats">Problem në përditësimin e formateve!</string>
<string name="log_downloads">Shëno Shkarkimet</string>
<string name="log_downloads_summary">Krijo një skedar shënimesh për çdo shkarkim</string>
<string name="embed_subs">Titra në Video</string> <string name="embed_subs">Titra në Video</string>
<string name="embed_subs_summary">Vendos titra brenda videos</string> <string name="embed_subs_summary">Vendos titra brenda videos</string>
<string name="embed_thumb">Vendos Imazh</string> <string name="embed_thumb">Vendos Imazh</string>
@ -142,6 +154,7 @@
<string name="sponsorblock_fillers">Pjesë Shtesë</string> <string name="sponsorblock_fillers">Pjesë Shtesë</string>
<string name="sponsorblock_reminders">Përkujtuesit e Abonimit</string> <string name="sponsorblock_reminders">Përkujtuesit e Abonimit</string>
<string name="select_sponsorblock_filtering">Zgjidh Filtrimin e SponsorBlock</string> <string name="select_sponsorblock_filtering">Zgjidh Filtrimin e SponsorBlock</string>
<string name="file_transfer_notification_channel_description">Njoftimi qe shfaq progresin e transferimit te skedareve</string>
<string name="save_dir">Direktoria</string> <string name="save_dir">Direktoria</string>
<string name="new_template">Shabllon i ri</string> <string name="new_template">Shabllon i ri</string>
<string name="adjust_templates">Cakto Shabllonët</string> <string name="adjust_templates">Cakto Shabllonët</string>

Loading…
Cancel
Save