added telegram and discord links in more section
This commit is contained in:
parent
4f6e2e29b7
commit
673ad23c73
9 changed files with 154 additions and 44 deletions
|
|
@ -330,8 +330,9 @@
|
|||
</option>
|
||||
<option name="values">
|
||||
<map>
|
||||
<entry key="outputName" value="baseline_video_file_24" />
|
||||
<entry key="sourceFile" value="C:\Users\denis\Desktop\adaptiveproduct_youtube_foreground_color_108 (1).svg" />
|
||||
<entry key="assetSourceType" value="FILE" />
|
||||
<entry key="outputName" value="ic_telegram" />
|
||||
<entry key="sourceFile" value="C:\Users\denis\Desktop\FREKUENCA\icons8-discord.svg" />
|
||||
</map>
|
||||
</option>
|
||||
</PersistentState>
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class CommandTemplatesActivity : AppCompatActivity(), TemplatesAdapter.OnItemCli
|
|||
withContext(Dispatchers.IO){
|
||||
val count = commandTemplateViewModel.importFromClipboard()
|
||||
runOnUiThread{
|
||||
Toast.makeText(this@CommandTemplatesActivity, "$count items imported!", Toast.LENGTH_LONG).show()
|
||||
Toast.makeText(this@CommandTemplatesActivity, "${getString(R.string.items_imported)} (${count})", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
package com.deniscerri.ytdlnis.ui.more.settings
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.os.Build
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Bundle
|
||||
import android.os.LocaleList
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import com.deniscerri.ytdlnis.R
|
||||
import com.google.android.material.appbar.MaterialToolbar
|
||||
import java.util.*
|
||||
|
||||
|
||||
class SettingsActivity : AppCompatActivity() {
|
||||
private var fm: FragmentManager? = null
|
||||
private var topAppBar: MaterialToolbar? = null
|
||||
private lateinit var sharedPreferences: SharedPreferences
|
||||
private lateinit var editor: SharedPreferences.Editor
|
||||
var context: Context? = null
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
|
@ -27,34 +26,4 @@ class SettingsActivity : AppCompatActivity() {
|
|||
.replace(R.id.settings_frame_layout, SettingsFragment())
|
||||
.commit()
|
||||
}
|
||||
|
||||
fun setLocale(l: String){
|
||||
|
||||
val locale = Locale(l)
|
||||
Locale.setDefault(locale)
|
||||
val config: Configuration = this.resources.configuration
|
||||
if (Build.VERSION.SDK_INT >= 24){
|
||||
Locale.setDefault(locale)
|
||||
config.setLocales(LocaleList(locale))
|
||||
this.resources.updateConfiguration(config, this.resources.displayMetrics)
|
||||
onConfigurationChanged(config)
|
||||
}else{
|
||||
Locale.setDefault(locale)
|
||||
config.locale = locale
|
||||
config.setLayoutDirection(locale)
|
||||
this.resources.updateConfiguration(config, this.resources.displayMetrics)
|
||||
onConfigurationChanged(config)
|
||||
}
|
||||
restartActivity()
|
||||
|
||||
}
|
||||
|
||||
private fun restartActivity() {
|
||||
// val intent = intent
|
||||
// finish()
|
||||
// startActivity(Intent(this, MainActivity::class.java))
|
||||
recreate()
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,14 +1,17 @@
|
|||
package com.deniscerri.ytdlnis.ui.more.settings
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Environment
|
||||
import android.provider.Settings
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.core.os.LocaleListCompat
|
||||
import androidx.preference.*
|
||||
|
|
@ -16,6 +19,9 @@ import com.deniscerri.ytdlnis.BuildConfig
|
|||
import com.deniscerri.ytdlnis.R
|
||||
import com.deniscerri.ytdlnis.util.FileUtil
|
||||
import com.deniscerri.ytdlnis.util.UpdateUtil
|
||||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.*
|
||||
import java.util.*
|
||||
|
||||
class SettingsFragment : PreferenceFragmentCompat() {
|
||||
|
|
@ -47,9 +53,15 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
private var updateYTDL: Preference? = null
|
||||
private var updateNightlyYTDL: SwitchPreferenceCompat? = null
|
||||
private var updateApp: SwitchPreferenceCompat? = null
|
||||
private var exportPreferences : Preference? = null
|
||||
private var importPreferences : Preference? = null
|
||||
private var version: Preference? = null
|
||||
|
||||
|
||||
private var updateUtil: UpdateUtil? = null
|
||||
private var fileUtil: FileUtil? = null
|
||||
|
||||
private val jsonFormat = Json { prettyPrint = true }
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.root_preferences, rootKey)
|
||||
updateUtil = UpdateUtil(requireContext())
|
||||
|
|
@ -76,7 +88,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
limitRate = findPreference("limit_rate")
|
||||
aria2 = findPreference("aria2")
|
||||
logDownloads = findPreference("log_downloads")
|
||||
sponsorblockFilters = findPreference("sponsorblock_filter")
|
||||
sponsorblockFilters = findPreference("sponsorblock_filters")
|
||||
mtime = findPreference("mtime")
|
||||
embedSubtitles = findPreference("embed_subtitles")
|
||||
filenameTemplate = findPreference("file_name_template")
|
||||
|
|
@ -90,6 +102,8 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
updateYTDL = findPreference("update_ytdl")
|
||||
updateNightlyYTDL = findPreference("nightly_ytdl")
|
||||
updateApp = findPreference("update_app")
|
||||
exportPreferences = findPreference("export_preferences")
|
||||
importPreferences = findPreference("import_preferences")
|
||||
version = findPreference("version")
|
||||
version!!.summary = BuildConfig.VERSION_NAME
|
||||
|
||||
|
|
@ -359,6 +373,75 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
editor.apply()
|
||||
true
|
||||
}
|
||||
// exportPreferences!!.onPreferenceClickListener =
|
||||
// Preference.OnPreferenceClickListener {
|
||||
// val prefs = preferences.all
|
||||
// val json = buildJsonObject {
|
||||
// putJsonArray("YTDLnis_Preferences") {
|
||||
// prefs.forEach {
|
||||
// add(buildJsonObject {
|
||||
// put("key", it.key)
|
||||
// put("value", it.value.toString())
|
||||
// put("type", it.value!!::class.simpleName)
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// val string = jsonFormat.encodeToString(json)
|
||||
// val clipboard: ClipboardManager =
|
||||
// requireContext().getSystemService(AppCompatActivity.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
// clipboard.setText(string)
|
||||
// true
|
||||
// }
|
||||
// importPreferences!!.onPreferenceClickListener =
|
||||
// Preference.OnPreferenceClickListener {
|
||||
// val clipboard = requireContext().getSystemService(AppCompatActivity.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
// val clip = clipboard.primaryClip!!.getItemAt(0).text.toString()
|
||||
// try{
|
||||
// val preferencesKeys = preferences.all.map { it.key }
|
||||
// var count = 0
|
||||
// jsonFormat.decodeFromString<JsonObject>(clip).run {
|
||||
// val prefs = this.jsonObject["YTDLnis_Preferences"]!!.jsonArray
|
||||
// prefs.forEach {
|
||||
// val key : String = it.jsonObject["key"].toString().replace("\"", "")
|
||||
// if (preferencesKeys.contains(key)){
|
||||
// when(it.jsonObject["type"].toString().replace("\"", "")){
|
||||
// "String" -> {
|
||||
// val value = it.jsonObject["value"].toString().replace("\"", "")
|
||||
// Log.e("aa", value.toString())
|
||||
// editor.putString(key, value)
|
||||
// editor.apply()
|
||||
// }
|
||||
// "Boolean" -> {
|
||||
// val value = it.jsonObject["value"].toString().replace("\"", "").toBoolean()
|
||||
// Log.e("aa", value.toString())
|
||||
// editor.putBoolean(key, value)
|
||||
// editor.apply()
|
||||
// }
|
||||
// "Int" -> {
|
||||
// val value = it.jsonObject["value"].toString().replace("\"", "").toInt()
|
||||
// Log.e("aa", value.toString())
|
||||
// editor.putInt(key, value)
|
||||
// editor.apply()
|
||||
// }
|
||||
// "HashSet" -> {
|
||||
// val value = hashSetOf(it.jsonObject["value"].toString().replace("(\")|(\\[)|(])".toRegex(), ""))
|
||||
// Log.e("aa", value.toString())
|
||||
// editor.putStringSet(key, value)
|
||||
// editor.apply()
|
||||
// }
|
||||
// }
|
||||
// count++
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// Toast.makeText(requireContext(), "${getString(R.string.items_imported)} (${count})", Toast.LENGTH_LONG).show()
|
||||
// }catch (e: Exception){
|
||||
// e.printStackTrace()
|
||||
// }
|
||||
//
|
||||
// true
|
||||
// }
|
||||
version!!.onPreferenceClickListener =
|
||||
Preference.OnPreferenceClickListener {
|
||||
if (!updateUtil!!.updateApp()) {
|
||||
|
|
|
|||
9
app/src/main/res/drawable/ic_discord.xml
Normal file
9
app/src/main/res/drawable/ic_discord.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="50"
|
||||
android:viewportHeight="50">
|
||||
<path
|
||||
android:fillColor="?android:colorAccent"
|
||||
android:pathData="M41.625,10.77C37.645,7.566 31.348,7.023 31.078,7.004C30.66,6.969 30.262,7.203 30.09,7.59C30.074,7.613 29.938,7.93 29.785,8.422C32.418,8.867 35.652,9.762 38.578,11.578C39.047,11.867 39.191,12.484 38.902,12.953C38.711,13.262 38.387,13.43 38.051,13.43C37.871,13.43 37.688,13.379 37.523,13.277C32.492,10.156 26.211,10 25,10C23.789,10 17.504,10.156 12.477,13.277C12.008,13.57 11.391,13.426 11.102,12.957C10.809,12.484 10.953,11.871 11.422,11.578C14.348,9.766 17.582,8.867 20.215,8.426C20.063,7.93 19.926,7.617 19.914,7.59C19.738,7.203 19.344,6.961 18.922,7.004C18.652,7.023 12.355,7.566 8.32,10.813C6.215,12.762 2,24.152 2,34C2,34.176 2.047,34.344 2.133,34.496C5.039,39.605 12.973,40.941 14.781,41C14.789,41 14.801,41 14.813,41C15.133,41 15.434,40.848 15.621,40.59L17.449,38.074C12.516,36.801 9.996,34.637 9.852,34.508C9.438,34.145 9.398,33.512 9.766,33.098C10.129,32.684 10.762,32.645 11.176,33.008C11.234,33.063 15.875,37 25,37C34.141,37 38.781,33.047 38.828,33.008C39.242,32.648 39.871,32.684 40.238,33.102C40.602,33.516 40.563,34.145 40.148,34.508C40.004,34.637 37.484,36.801 32.551,38.074L34.379,40.59C34.566,40.848 34.867,41 35.188,41C35.199,41 35.211,41 35.219,41C37.027,40.941 44.961,39.605 47.867,34.496C47.953,34.344 48,34.176 48,34C48,24.152 43.785,12.762 41.625,10.77ZM18.5,30C16.566,30 15,28.211 15,26C15,23.789 16.566,22 18.5,22C20.434,22 22,23.789 22,26C22,28.211 20.434,30 18.5,30ZM31.5,30C29.566,30 28,28.211 28,26C28,23.789 29.566,22 31.5,22C33.434,22 35,23.789 35,26C35,28.211 33.434,30 31.5,30Z"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_telegram.xml
Normal file
9
app/src/main/res/drawable/ic_telegram.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:colorAccent"
|
||||
android:pathData="M20.572,3.012C20.24,2.976 19.879,3.028 19.516,3.172C19.066,3.349 12.014,6.315 5.441,9.082L3.27,9.996C2.429,10.337 2.004,10.892 2.004,11.639C2.004,12.162 2.225,12.871 3.281,13.289L6.947,14.758C7.264,15.709 8.001,17.917 8.186,18.504C8.296,18.852 8.573,19.729 9.275,19.934C9.419,19.983 9.57,20.008 9.723,20.008C10.166,20.008 10.485,19.802 10.641,19.682L12.971,17.711L15.801,20.328C15.91,20.439 16.487,21 17.262,21C18.229,21 18.962,20.195 19.115,19.416C19.198,18.989 21.928,5.287 21.928,5.289C22.173,4.19 21.732,3.62 21.449,3.377C21.207,3.169 20.905,3.047 20.572,3.012zM19.91,5.172C19.533,7.062 17.478,17.378 17.166,18.865L13.029,15.039L10.223,17.416L11,14.375C11,14.375 16.363,8.947 16.686,8.631C16.946,8.378 17,8.289 17,8.201C17,8.084 16.94,8 16.801,8C16.676,8 16.506,8.12 16.416,8.176C15.273,8.889 10.404,11.662 8.008,13.025L4.531,11.637L6.219,10.928C10.518,9.118 18.174,5.894 19.91,5.172z"/>
|
||||
</vector>
|
||||
|
|
@ -214,4 +214,5 @@
|
|||
<string name="clear_cancelled">Clear Cancelled</string>
|
||||
<string name="clear_errored">Clear Errored</string>
|
||||
<string name="split_by_chapters">Split By Chapters</string>
|
||||
<string name="items_imported">Items Imported</string>
|
||||
</resources>
|
||||
|
|
@ -49,6 +49,27 @@
|
|||
<intent android:action="ytdlnis.DownloadQueueActivity" />
|
||||
</Preference>
|
||||
|
||||
<Preference
|
||||
app:icon="@drawable/ic_discord"
|
||||
app:key="discord"
|
||||
app:summary="https://discord.gg/WW3KYWxAPm"
|
||||
app:allowDividerAbove="true"
|
||||
app:title="Discord">
|
||||
<intent
|
||||
android:action="android.intent.action.VIEW"
|
||||
android:data="https://discord.gg/WW3KYWxAPm" />
|
||||
</Preference>
|
||||
|
||||
<Preference
|
||||
app:icon="@drawable/ic_telegram"
|
||||
app:key="telegram"
|
||||
app:summary="https://t.me/ytdlnis"
|
||||
app:title="Telegram">
|
||||
<intent
|
||||
android:action="android.intent.action.VIEW"
|
||||
android:data="https://t.me/ytdlnis" />
|
||||
</Preference>
|
||||
|
||||
|
||||
<Preference
|
||||
app:icon="@drawable/ic_settings"
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@
|
|||
app:dialogTitle="@string/select_sponsorblock_filtering"
|
||||
app:entries="@array/sponsorblock_settings_entries"
|
||||
app:entryValues="@array/sponsorblock_settings_values"
|
||||
app:key="sponsorblock_filter"
|
||||
app:key="sponsorblock_filters"
|
||||
app:summary="@string/select_sponsorblock_filtering"
|
||||
app:title="SponsorBlock" />
|
||||
|
||||
|
|
@ -232,10 +232,27 @@
|
|||
|
||||
</PreferenceCategory>
|
||||
|
||||
<Preference
|
||||
app:allowDividerAbove="true"
|
||||
app:icon="@drawable/ic_info"
|
||||
app:key="version"
|
||||
app:title="@string/version"/>
|
||||
<PreferenceCategory android:title="@string/about">
|
||||
|
||||
<Preference
|
||||
app:isPreferenceVisible="false"
|
||||
app:icon="@drawable/ic_clipboard"
|
||||
app:key="export_preferences"
|
||||
app:title="@string/export_from_clipboard"/>
|
||||
|
||||
<Preference
|
||||
app:isPreferenceVisible="false"
|
||||
app:icon="@drawable/ic_copy"
|
||||
app:key="import_preferences"
|
||||
app:title="@string/import_from_clipboard"/>
|
||||
|
||||
|
||||
<Preference
|
||||
app:icon="@drawable/ic_info"
|
||||
app:key="version"
|
||||
app:title="@string/version"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
|
||||
</PreferenceScreen>
|
||||
Loading…
Reference in a new issue