implemented preferred locale for video recommendations

pull/124/head
deniscerri 3 years ago
parent 167b35a077
commit 0c67f43497
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="corretto-17" project-jdk-type="JavaSDK" />

@ -9,6 +9,7 @@ import android.os.Build.VERSION
import android.os.Build.VERSION_CODES
import android.os.Bundle
import android.os.Environment
import android.os.Looper
import android.os.PowerManager
import android.provider.Settings
import android.widget.Toast
@ -30,6 +31,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.yausername.youtubedl_android.YoutubeDL
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kotlinx.serialization.json.Json
import java.io.File
import java.util.*
@ -55,6 +57,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
private var meteredNetwork: SwitchPreferenceCompat? = null
private var apiKey: EditTextPreference? = null
private var homeRecommendations: SwitchPreferenceCompat? = null
private var locale: ListPreference? = null
private var concurrentFragments: SeekBarPreference? = null
private var concurrentDownloads: SeekBarPreference? = null
private var limitRate: EditTextPreference? = null
@ -129,6 +132,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
meteredNetwork = findPreference("metered_networks")
apiKey = findPreference("api_key")
homeRecommendations = findPreference("home_recommendations")
locale = findPreference("locale")
concurrentFragments = findPreference("concurrent_fragments")
concurrentDownloads = findPreference("concurrent_downloads")
limitRate = findPreference("limit_rate")
@ -207,6 +211,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
editor.putBoolean("metered_networks", meteredNetwork!!.isChecked)
editor.putString("api_key", apiKey!!.text)
editor.putBoolean("home_recommendations", homeRecommendations!!.isChecked)
editor.putString("locale", locale!!.value)
editor.putInt("concurrent_fragments", concurrentFragments!!.value)
editor.putInt("concurrent_downloads", concurrentDownloads!!.value)
editor.putString("limit_rate", limitRate!!.text)
@ -420,6 +425,14 @@ class SettingsFragment : PreferenceFragmentCompat() {
editor.apply()
true
}
locale!!.summary = locale!!.value
locale!!.onPreferenceChangeListener =
Preference.OnPreferenceChangeListener { _: Preference?, newValue: Any ->
editor.putString("locale", newValue.toString())
locale!!.summary = newValue.toString()
editor.apply()
true
}
concurrentFragments!!.onPreferenceChangeListener =
Preference.OnPreferenceChangeListener { _: Preference?, newValue: Any ->
val value = newValue.toString().toInt()
@ -698,10 +711,15 @@ class SettingsFragment : PreferenceFragmentCompat() {
// }
version!!.onPreferenceClickListener =
Preference.OnPreferenceClickListener {
lifecycleScope.launch(Dispatchers.IO){
updateUtil!!.updateApp(){ msg ->
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show()
lifecycleScope.launch{
withContext(Dispatchers.IO){
updateUtil!!.updateApp{ msg ->
lifecycleScope.launch(Dispatchers.Main){
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show()
}
}
}
}
true
}

@ -35,6 +35,7 @@ class InfoUtil(private val context: Context) {
sharedPreferences =
context.getSharedPreferences("root_preferences", Activity.MODE_PRIVATE)
key = sharedPreferences.getString("api_key", "")
countryCODE = sharedPreferences.getString("locale", "")!!
} catch (e: Exception) {
e.printStackTrace()
}
@ -42,7 +43,7 @@ class InfoUtil(private val context: Context) {
}
private fun init(){
if (countryCODE == null){
if (countryCODE.isEmpty()){
val country = genericRequest("https://ipwho.is/")
countryCODE = try {
country.getString("country_code")
@ -843,6 +844,6 @@ class InfoUtil(private val context: Context) {
companion object {
private const val TAG = "API MANAGER"
private const val invidousURL = "https://invidious.nerdvpn.de/api/v1/"
private var countryCODE: String? = null
private var countryCODE: String = ""
}
}

@ -106,7 +106,7 @@ class TerminalDownloadWorker(
}, 1000)
}
if (it.out.length > 5000){
if (it.out.length > 500){
outputFile.appendText("${it.out}\n")
if (logDownloads && logFile.exists()){
logFile.appendText("${it.out}\n")

@ -199,4 +199,488 @@
<item>yellow</item>
<item>monochrome</item>
</array>
<array name="countries">
<item>@string/defaultValue</item>
<item>Afghanistan</item>
<item>Albania</item>
<item>Algeria</item>
<item>American Samoa</item>
<item>Andorra</item>
<item>Angola</item>
<item>Anguilla</item>
<item>Antarctica</item>
<item>Antigua and Barbuda</item>
<item>Argentina</item>
<item>Armenia</item>
<item>Aruba</item>
<item>Australia</item>
<item>Austria</item>
<item>Azerbaijan</item>
<item>Bahrain</item>
<item>Bangladesh</item>
<item>Barbados</item>
<item>Belarus</item>
<item>Belgium</item>
<item>Belize</item>
<item>Benin</item>
<item>Bermuda</item>
<item>Bhutan</item>
<item>Bolivia</item>
<item>Bosnia and Herzegovina</item>
<item>Botswana</item>
<item>Bouvet Island</item>
<item>Brazil</item>
<item>British Indian Ocean Territory</item>
<item>British Virgin Islands</item>
<item>Brunei</item>
<item>Bulgaria</item>
<item>Burkina Faso</item>
<item>Burundi</item>
<item>Cambodia</item>
<item>Cameroon</item>
<item>Canada</item>
<item>Cape Verde</item>
<item>Cayman Islands</item>
<item>Central African Republic</item>
<item>Chad</item>
<item>Chile</item>
<item>China</item>
<item>Christmas Island</item>
<item>Cocos (Keeling) Islands</item>
<item>Colombia</item>
<item>Comoros</item>
<item>Congo</item>
<item>Cook Islands</item>
<item>Costa Rica</item>
<item>Cote d\'Ivoire</item>
<item>Croatia</item>
<item>Cuba</item>
<item>Cyprus</item>
<item>Czech Republic</item>
<item>Democratic Republic of the Congo</item>
<item>Denmark</item>
<item>Djibouti</item>
<item>Dominica</item>
<item>Dominican Republic</item>
<item>East Timor</item>
<item>Ecuador</item>
<item>Egypt</item>
<item>El Salvador</item>
<item>Equatorial Guinea</item>
<item>Eritrea</item>
<item>Estonia</item>
<item>Ethiopia</item>
<item>Faeroe Islands</item>
<item>Falkland Islands</item>
<item>Fiji</item>
<item>Finland</item>
<item>France</item>
<item>French Guiana</item>
<item>French Polynesia</item>
<item>French Southern Territories</item>
<item>Gabon</item>
<item>Georgia</item>
<item>Germany</item>
<item>Ghana</item>
<item>Gibraltar</item>
<item>Greece</item>
<item>Greenland</item>
<item>Grenada</item>
<item>Guadeloupe</item>
<item>Guam</item>
<item>Guatemala</item>
<item>Guinea</item>
<item>Guinea-Bissau</item>
<item>Guyana</item>
<item>Haiti</item>
<item>Heard Island and McDonald Islands</item>
<item>Honduras</item>
<item>Hong Kong</item>
<item>Hungary</item>
<item>Iceland</item>
<item>India</item>
<item>Indonesia</item>
<item>Iran</item>
<item>Iraq</item>
<item>Ireland</item>
<item>Israel</item>
<item>Italy</item>
<item>Jamaica</item>
<item>Japan</item>
<item>Jordan</item>
<item>Kazakhstan</item>
<item>Kenya</item>
<item>Kiribati</item>
<item>Kuwait</item>
<item>Kyrgyzstan</item>
<item>Laos</item>
<item>Latvia</item>
<item>Lebanon</item>
<item>Lesotho</item>
<item>Liberia</item>
<item>Libya</item>
<item>Liechtenstein</item>
<item>Lithuania</item>
<item>Luxembourg</item>
<item>Macau</item>
<item>Madagascar</item>
<item>Malawi</item>
<item>Malaysia</item>
<item>Maldives</item>
<item>Mali</item>
<item>Malta</item>
<item>Marshall Islands</item>
<item>Martinique</item>
<item>Mauritania</item>
<item>Mauritius</item>
<item>Mayotte</item>
<item>Mexico</item>
<item>Micronesia</item>
<item>Moldova</item>
<item>Monaco</item>
<item>Mongolia</item>
<item>Montenegro</item>
<item>Montserrat</item>
<item>Morocco</item>
<item>Mozambique</item>
<item>Myanmar</item>
<item>Namibia</item>
<item>Nauru</item>
<item>Nepal</item>
<item>Netherlands</item>
<item>New Caledonia</item>
<item>New Zealand</item>
<item>Nicaragua</item>
<item>Niger</item>
<item>Nigeria</item>
<item>Niue</item>
<item>Norfolk Island</item>
<item>North Korea</item>
<item>Northern Marianas</item>
<item>Norway</item>
<item>Oman</item>
<item>Pakistan</item>
<item>Palau</item>
<item>Panama</item>
<item>Papua New Guinea</item>
<item>Paraguay</item>
<item>Peru</item>
<item>Philippines</item>
<item>Pitcairn Islands</item>
<item>Poland</item>
<item>Portugal</item>
<item>Puerto Rico</item>
<item>Qatar</item>
<item>Reunion</item>
<item>Romania</item>
<item>Russia</item>
<item>Rwanda</item>
<item>Saint Helena</item>
<item>Saint Kitts and Nevis</item>
<item>Saint Lucia</item>
<item>Saint Pierre and Miquelon</item>
<item>Saint Vincent and the Grenadines</item>
<item>Samoa</item>
<item>San Marino</item>
<item>Saudi Arabia</item>
<item>Senegal</item>
<item>Serbia</item>
<item>Seychelles</item>
<item>Sierra Leone</item>
<item>Singapore</item>
<item>Slovakia</item>
<item>Slovenia</item>
<item>Solomon Islands</item>
<item>Somalia</item>
<item>South Africa</item>
<item>South Georgia and the South Sandwich Islands</item>
<item>South Korea</item>
<item>South Sudan</item>
<item>Spain</item>
<item>Sri Lanka</item>
<item>Sudan</item>
<item>Suriname</item>
<item>Svalbard and Jan Mayen</item>
<item>Swaziland</item>
<item>Sweden</item>
<item>Switzerland</item>
<item>Syria</item>
<item>Taiwan</item>
<item>Tajikistan</item>
<item>Tanzania</item>
<item>Thailand</item>
<item>The Bahamas</item>
<item>The Gambia</item>
<item>Togo</item>
<item>Tokelau</item>
<item>Tonga</item>
<item>Trinidad and Tobago</item>
<item>Tunisia</item>
<item>Turkey</item>
<item>Turkmenistan</item>
<item>Turks and Caicos Islands</item>
<item>Tuvalu</item>
<item>Virgin Islands</item>
<item>Uganda</item>
<item>Ukraine</item>
<item>United Arab Emirates</item>
<item>United Kingdom</item>
<item>United States</item>
<item>United States Minor Outlying Islands</item>
<item>Uruguay</item>
<item>Uzbekistan</item>
<item>Vanuatu</item>
<item>Vatican City</item>
<item>Venezuela</item>
<item>Vietnam</item>
<item>Wallis and Futuna</item>
<item>Western Sahara</item>
<item>Yemen</item>
<item>Zambia</item>
<item>Zimbabwe</item>
</array>
<array name="countries_values">
<item />
<item>AF</item>
<item>AL</item>
<item>DZ</item>
<item>AS</item>
<item>AD</item>
<item>AO</item>
<item>AI</item>
<item>AQ</item>
<item>AG</item>
<item>AR</item>
<item>AM</item>
<item>AW</item>
<item>AU</item>
<item>AT</item>
<item>AZ</item>
<item>BH</item>
<item>BD</item>
<item>BB</item>
<item>BY</item>
<item>BE</item>
<item>BZ</item>
<item>BJ</item>
<item>BM</item>
<item>BT</item>
<item>BO</item>
<item>BA</item>
<item>BW</item>
<item>BV</item>
<item>BR</item>
<item>IO</item>
<item>VG</item>
<item>BN</item>
<item>BG</item>
<item>BF</item>
<item>BI</item>
<item>KH</item>
<item>CM</item>
<item>CA</item>
<item>CV</item>
<item>KY</item>
<item>CF</item>
<item>TD</item>
<item>CL</item>
<item>CN</item>
<item>CX</item>
<item>CC</item>
<item>CO</item>
<item>KM</item>
<item>CD</item>
<item>CK</item>
<item>CR</item>
<item>CI</item>
<item>HR</item>
<item>CU</item>
<item>CY</item>
<item>CZ</item>
<item>CD</item>
<item>DK</item>
<item>DJ</item>
<item>DM</item>
<item>DO</item>
<item>TL</item>
<item>EC</item>
<item>EG</item>
<item>SV</item>
<item>GQ</item>
<item>ER</item>
<item>EE</item>
<item>ET</item>
<item>FO</item>
<item>FK</item>
<item>FJ</item>
<item>FI</item>
<item>FR</item>
<item>GF</item>
<item>PF</item>
<item>TF</item>
<item>GA</item>
<item>GE</item>
<item>DE</item>
<item>GH</item>
<item>GI</item>
<item>GR</item>
<item>GL</item>
<item>GD</item>
<item>GP</item>
<item>GU</item>
<item>GT</item>
<item>GN</item>
<item>GW</item>
<item>GY</item>
<item>HT</item>
<item>HM</item>
<item>HN</item>
<item>HK</item>
<item>HU</item>
<item>IS</item>
<item>IN</item>
<item>ID</item>
<item>IR</item>
<item>IQ</item>
<item>IE</item>
<item>IM</item>
<item>IT</item>
<item>JM</item>
<item>JP</item>
<item>JO</item>
<item>KZ</item>
<item>KE</item>
<item>KI</item>
<item>KW</item>
<item>KG</item>
<item>LA</item>
<item>LV</item>
<item>LB</item>
<item>LS</item>
<item>LR</item>
<item>LY</item>
<item>LI</item>
<item>LT</item>
<item>LU</item>
<item>MO</item>
<item>MG</item>
<item>MW</item>
<item>MY</item>
<item>MV</item>
<item>ML</item>
<item>MT</item>
<item>MH</item>
<item>MQ</item>
<item>MR</item>
<item>MU</item>
<item>YT</item>
<item>MX</item>
<item>FM</item>
<item>MD</item>
<item>MC</item>
<item>MN</item>
<item>ME</item>
<item>MS</item>
<item>MA</item>
<item>MZ</item>
<item>MM</item>
<item>NA</item>
<item>NR</item>
<item>NP</item>
<item>NL</item>
<item>NC</item>
<item>NZ</item>
<item>NI</item>
<item>NE</item>
<item>NG</item>
<item>NU</item>
<item>NF</item>
<item>KR</item>
<item>MP</item>
<item>NO</item>
<item>OM</item>
<item>PK</item>
<item>PW</item>
<item>PA</item>
<item>PG</item>
<item>PY</item>
<item>PE</item>
<item>PH</item>
<item>PN</item>
<item>PL</item>
<item>PT</item>
<item>PR</item>
<item>QA</item>
<item>RE</item>
<item>RO</item>
<item>RU</item>
<item>RW</item>
<item>SH</item>
<item>KN</item>
<item>LC</item>
<item>PM</item>
<item>VC</item>
<item>WS</item>
<item>SM</item>
<item>SA</item>
<item>SN</item>
<item>RS</item>
<item>SC</item>
<item>SL</item>
<item>SG</item>
<item>SK</item>
<item>SI</item>
<item>SB</item>
<item>SO</item>
<item>ZA</item>
<item>GS</item>
<item>KR</item>
<item>SS</item>
<item>ES</item>
<item>LK</item>
<item>SD</item>
<item>SR</item>
<item>SJ</item>
<item>SZ</item>
<item>SE</item>
<item>CH</item>
<item>SY</item>
<item>TW</item>
<item>TJ</item>
<item>TZ</item>
<item>TH</item>
<item>BS</item>
<item>GM</item>
<item>TG</item>
<item>TK</item>
<item>TO</item>
<item>TT</item>
<item>TN</item>
<item>TR</item>
<item>TM</item>
<item>TC</item>
<item>TV</item>
<item>VG</item>
<item>UG</item>
<item>UA</item>
<item>AE</item>
<item>GB</item>
<item>US</item>
<item>UM</item>
<item>UY</item>
<item>UZ</item>
<item>VU</item>
<item>VA</item>
<item>VE</item>
<item>VN</item>
<item>WF</item>
<item>EH</item>
<item>YE</item>
<item>ZM</item>
<item>ZW</item>
</array>
</resources>

@ -247,4 +247,5 @@
<string name="preferred_format_id">Preferred Format ID</string>
<string name="download_now">Download Now</string>
<string name="download_already_exists">Download already exists</string>
<string name="preferred_locale">Preferred Locale</string>
</resources>

@ -134,12 +134,6 @@
app:key="start_destination"
app:title="@string/preferred_home_screen" />
<EditTextPreference
android:icon="@drawable/ic_key"
app:key="api_key"
app:defaultValue=""
app:summary="@string/api_key_summary"
app:title="@string/api_key" />
<SwitchPreferenceCompat
android:widgetLayout="@layout/preferece_material_switch"
@ -149,6 +143,22 @@
app:summary="@string/video_recommendations_summary"
app:title="@string/video_recommendations" />
<ListPreference
android:defaultValue=""
android:entries="@array/countries"
android:entryValues="@array/countries_values"
app:icon="@drawable/ic_language"
app:dependency="home_recommendations"
app:key="locale"
app:title="@string/preferred_locale" />
<EditTextPreference
android:icon="@drawable/ic_key"
app:key="api_key"
app:defaultValue=""
app:summary="@string/api_key_summary"
app:title="@string/api_key" />
<SeekBarPreference
app:dependency="aria2"
android:defaultValue="3"

Loading…
Cancel
Save