diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadLogs/DownloadLogListActivity.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadLogs/DownloadLogListActivity.kt index d6034dc9..c092802a 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadLogs/DownloadLogListActivity.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadLogs/DownloadLogListActivity.kt @@ -4,16 +4,27 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.os.FileObserver +import android.os.Handler +import android.os.Looper +import android.text.InputType import android.util.Log +import android.view.LayoutInflater +import android.view.MenuItem import android.view.View import android.widget.RelativeLayout +import android.widget.TextView +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.SearchView import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.adapter.DownloadLogsAdapter +import com.deniscerri.ytdlnis.util.InfoUtil import com.google.android.material.appbar.MaterialToolbar +import com.google.android.material.button.MaterialButton import java.io.File +import java.util.ArrayList class DownloadLogListActivity : AppCompatActivity(), DownloadLogsAdapter.OnItemClickListener { @@ -54,19 +65,38 @@ class DownloadLogListActivity : AppCompatActivity(), DownloadLogsAdapter.OnItemC } } 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){ fileList = mutableListOf() - fileList.addAll(logFolder.listFiles()!!) - fileList.reverse() + try{ + fileList.addAll(logFolder.listFiles()!!) + fileList.reverse() + }catch (ignored: Exception){} downloadLogAdapter.submitList(fileList.toList()) runOnUiThread{ if (fileList.isNotEmpty()) { noResults.visibility = View.GONE + topAppBar.menu.findItem(R.id.remove_logs).isVisible = true }else{ + topAppBar.menu.findItem(R.id.remove_logs).isVisible = false noResults.visibility = View.VISIBLE } } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/work/DownloadWorker.kt b/app/src/main/java/com/deniscerri/ytdlnis/work/DownloadWorker.kt index 4304e6d8..5b488d76 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/work/DownloadWorker.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/work/DownloadWorker.kt @@ -197,11 +197,11 @@ class DownloadWorker( } 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 logFile = File(context.filesDir.absolutePath + """/logs/${downloadItem.id} - ${downloadItem.title}##${downloadItem.type}##${downloadItem.format.format_id}.log""") if (logDownloads){ - logFolder.mkdir() + logFolder.mkdirs() logFile.createNewFile() logFile.writeText("Downloading:\n" + "URL: ${downloadItem.url}\n" + @@ -219,7 +219,7 @@ class DownloadWorker( line, progress.toInt(), 0, title, NotificationUtil.DOWNLOAD_SERVICE_CHANNEL_ID ) - if (logDownloads){ + if (logDownloads && logFile.exists()){ logFile.appendText("${line}\n") } } @@ -259,7 +259,9 @@ class DownloadWorker( val logDownloads = sharedPreferences.getBoolean("log_downloads", false) if (logDownloads){ 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() diff --git a/app/src/main/res/layout/activity_download_log_list.xml b/app/src/main/res/layout/activity_download_log_list.xml index 9b3e0875..660f6fe2 100644 --- a/app/src/main/res/layout/activity_download_log_list.xml +++ b/app/src/main/res/layout/activity_download_log_list.xml @@ -18,6 +18,7 @@ android:elevation="0dp" app:title="@string/logs" android:layout_width="match_parent" + app:menu="@menu/download_logs_menu" app:navigationIcon="@drawable/ic_back" android:layout_height="match_parent"/> diff --git a/app/src/main/res/menu/download_logs_menu.xml b/app/src/main/res/menu/download_logs_menu.xml new file mode 100644 index 00000000..6ae61c40 --- /dev/null +++ b/app/src/main/res/menu/download_logs_menu.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values-sq-rAL/strings.xml b/app/src/main/res/values-sq-rAL/strings.xml index 95df2c12..6665a404 100644 --- a/app/src/main/res/values-sq-rAL/strings.xml +++ b/app/src/main/res/values-sq-rAL/strings.xml @@ -71,6 +71,18 @@ Hiq pjesët pa muzikë Hiq segmentet që përmbajnë pjesë pa muzikë në skedarët audio me SponsorBlock Proçesimi + Shabllonët e Komandave + Terminali + Formatet + Zgjidh një Format + Ju Lutem Prisni + Pastro Historinë e Kërkimit + Aktivizo mtime + Vendos orën e modifikimit sipas linkut + Përditëso Formatet + Problem në përditësimin e formateve! + Shëno Shkarkimet + Krijo një skedar shënimesh për çdo shkarkim Titra në Video Vendos titra brenda videos Vendos Imazh @@ -142,6 +154,7 @@ Pjesë Shtesë Përkujtuesit e Abonimit Zgjidh Filtrimin e SponsorBlock + Njoftimi qe shfaq progresin e transferimit te skedareve Direktoria Shabllon i ri Cakto Shabllonët