theme bug fixes

This commit is contained in:
deniscerri 2023-04-23 14:42:12 +02:00
parent 026cf5cdba
commit a29eecadee
No known key found for this signature in database
GPG key ID: 95C43D517D830350
20 changed files with 59 additions and 70 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" /> <bytecodeTargetLevel target="11" />
</component> </component>
</project> </project>

View file

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

View file

@ -4,7 +4,7 @@ plugins {
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1'
id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.android'
id 'kotlin-kapt' id 'kotlin-kapt'
id "org.jetbrains.kotlin.plugin.serialization" version "1.7.21" id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10"
} }
def properties = new Properties() def properties = new Properties()
@ -97,12 +97,12 @@ android {
} }
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_11
} }
kotlinOptions { kotlinOptions {
jvmTarget = '1.8' jvmTarget = '11'
} }
splits { splits {
@ -130,12 +130,11 @@ dependencies {
implementation "androidx.constraintlayout:constraintlayout:2.1.4" implementation "androidx.constraintlayout:constraintlayout:2.1.4"
implementation 'com.google.android.material:material:1.9.0-beta01' implementation 'com.google.android.material:material:1.9.0-beta01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.core:core:1.9.0'
implementation 'androidx.recyclerview:recyclerview:1.3.0' implementation 'androidx.recyclerview:recyclerview:1.3.0'
implementation 'androidx.preference:preference:1.2.0' implementation 'androidx.preference:preference:1.2.0'
implementation "androidx.navigation:navigation-fragment-ktx:$navVer" implementation "androidx.navigation:navigation-fragment-ktx:$navVer"
implementation "androidx.navigation:navigation-ui-ktx:$navVer" implementation "androidx.navigation:navigation-ui-ktx:$navVer"
implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.core:core-ktx:1.10.0'
implementation 'androidx.test.ext:junit-ktx:1.1.5' implementation 'androidx.test.ext:junit-ktx:1.1.5'
implementation 'androidx.benchmark:benchmark-macro:1.1.1' implementation 'androidx.benchmark:benchmark-macro:1.1.1'
testImplementation "junit:junit:$junitVer" testImplementation "junit:junit:$junitVer"
@ -148,7 +147,7 @@ dependencies {
androidTestImplementation "androidx.test:rules:1.5.0" androidTestImplementation "androidx.test:rules:1.5.0"
androidTestImplementation "androidx.navigation:navigation-testing:$navVer" androidTestImplementation "androidx.navigation:navigation-testing:$navVer"
implementation "io.reactivex.rxjava2:rxandroid:2.1.0" implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation "com.devbrackets.android:exomedia:4.3.0" implementation "com.devbrackets.android:exomedia:4.3.0"
implementation("androidx.cardview:cardview:1.0.0") implementation("androidx.cardview:cardview:1.0.0")
@ -164,7 +163,7 @@ dependencies {
implementation "androidx.room:room-ktx:2.5.1" implementation "androidx.room:room-ktx:2.5.1"
kapt "androidx.room:room-compiler:2.5.1" kapt "androidx.room:room-compiler:2.5.1"
androidTestImplementation "androidx.room:room-testing:2.5.1" androidTestImplementation "androidx.room:room-testing:2.5.1"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
implementation "androidx.compose.runtime:runtime:$composeVer" implementation "androidx.compose.runtime:runtime:$composeVer"
androidTestImplementation "com.google.truth:truth:1.1.3" androidTestImplementation "com.google.truth:truth:1.1.3"
@ -174,9 +173,9 @@ dependencies {
implementation "com.squareup.retrofit2:retrofit:$retrofitVer" implementation "com.squareup.retrofit2:retrofit:$retrofitVer"
implementation "com.squareup.retrofit2:converter-gson:$retrofitVer" implementation "com.squareup.retrofit2:converter-gson:$retrofitVer"
implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.10" implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.10"
implementation "com.squareup.okhttp3:logging-interceptor:4.7.2" implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1" implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0'
implementation "com.google.android.exoplayer:exoplayer:2.18.5" implementation "com.google.android.exoplayer:exoplayer:2.18.5"
implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4' implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4'

View file

@ -38,9 +38,9 @@
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:windowSoftInputMode="adjustResize"> android:windowSoftInputMode="adjustPan">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
@ -56,7 +56,7 @@
</activity> </activity>
<activity <activity
android:name=".receiver.ShareActivity" android:name=".receiver.ShareActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:excludeFromRecents="true" android:excludeFromRecents="true"
android:exported="true" android:exported="true"
android:launchMode="singleInstance" android:launchMode="singleInstance"
@ -71,7 +71,7 @@
</activity> </activity>
<activity <activity
android:name=".ui.more.downloadLogs.DownloadLogListActivity" android:name=".ui.more.downloadLogs.DownloadLogListActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:parentActivityName=".MainActivity"> android:parentActivityName=".MainActivity">
<intent-filter> <intent-filter>
@ -82,7 +82,7 @@
</activity> </activity>
<activity <activity
android:name=".ui.downloads.DownloadQueueActivity" android:name=".ui.downloads.DownloadQueueActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:parentActivityName=".MainActivity"> android:parentActivityName=".MainActivity">
<intent-filter> <intent-filter>
@ -93,7 +93,7 @@
</activity> </activity>
<activity <activity
android:name=".ui.more.downloadLogs.DownloadLogActivity" android:name=".ui.more.downloadLogs.DownloadLogActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:parentActivityName=".ui.more.downloadLogs.DownloadLogListActivity"> android:parentActivityName=".ui.more.downloadLogs.DownloadLogListActivity">
<intent-filter> <intent-filter>
@ -104,7 +104,7 @@
</activity> </activity>
<activity <activity
android:name=".ui.more.settings.SettingsActivity" android:name=".ui.more.settings.SettingsActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:parentActivityName=".MainActivity"> android:parentActivityName=".MainActivity">
<intent-filter> <intent-filter>
@ -115,11 +115,10 @@
</activity> </activity>
<activity <activity
android:name=".ui.more.TerminalActivity" android:name=".ui.more.TerminalActivity"
android:configChanges="layoutDirection|locale|orientation|screenSize" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:label="@string/terminal" android:label="@string/terminal"
android:parentActivityName=".MainActivity" android:parentActivityName=".MainActivity">
android:theme="@style/BaseTheme">
<intent-filter> <intent-filter>
<action android:name="ytdlnis.TerminalActivity" /> <action android:name="ytdlnis.TerminalActivity" />
@ -135,7 +134,7 @@
</activity> </activity>
<activity <activity
android:name=".ui.more.CommandTemplatesActivity" android:name=".ui.more.CommandTemplatesActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:parentActivityName=".MainActivity" android:parentActivityName=".MainActivity"
android:windowSoftInputMode="adjustResize"> android:windowSoftInputMode="adjustResize">
@ -148,7 +147,7 @@
<activity <activity
android:name=".ui.more.CookiesActivity" android:name=".ui.more.CookiesActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:parentActivityName=".MainActivity" android:parentActivityName=".MainActivity"
android:windowSoftInputMode="adjustResize"> android:windowSoftInputMode="adjustResize">
@ -161,7 +160,7 @@
<activity <activity
android:name=".ui.more.WebViewActivity" android:name=".ui.more.WebViewActivity"
android:configChanges="layoutDirection|locale" android:configChanges="smallestScreenSize|layoutDirection|locale|orientation|screenSize"
android:exported="true" android:exported="true"
android:parentActivityName=".MainActivity" android:parentActivityName=".MainActivity"
android:windowSoftInputMode="adjustResize"> android:windowSoftInputMode="adjustResize">

View file

@ -18,7 +18,6 @@ import android.view.View
import android.view.WindowInsets import android.view.WindowInsets
import android.widget.CheckBox import android.widget.CheckBox
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.core.view.forEach import androidx.core.view.forEach
@ -35,11 +34,9 @@ import com.deniscerri.ytdlnis.ui.downloads.DownloadQueueActivity
import com.deniscerri.ytdlnis.ui.more.settings.SettingsActivity import com.deniscerri.ytdlnis.ui.more.settings.SettingsActivity
import com.deniscerri.ytdlnis.util.ThemeUtil import com.deniscerri.ytdlnis.util.ThemeUtil
import com.deniscerri.ytdlnis.util.UpdateUtil import com.deniscerri.ytdlnis.util.UpdateUtil
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.navigation.NavigationBarView import com.google.android.material.navigation.NavigationBarView
import com.google.android.material.navigation.NavigationView import com.google.android.material.navigation.NavigationView
import com.google.android.material.navigationrail.NavigationRailView
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.io.BufferedReader import java.io.BufferedReader
@ -62,7 +59,7 @@ class MainActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
ThemeUtil.updateTheme(this)
setContentView(R.layout.activity_main) setContentView(R.layout.activity_main)
context = baseContext context = baseContext
resultViewModel = ViewModelProvider(this)[ResultViewModel::class.java] resultViewModel = ViewModelProvider(this)[ResultViewModel::class.java]

View file

@ -31,6 +31,7 @@ import com.deniscerri.ytdlnis.database.models.ResultItem
import com.deniscerri.ytdlnis.database.viewmodel.CookieViewModel import com.deniscerri.ytdlnis.database.viewmodel.CookieViewModel
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.database.viewmodel.ResultViewModel import com.deniscerri.ytdlnis.database.viewmodel.ResultViewModel
import com.deniscerri.ytdlnis.ui.BaseActivity
import com.deniscerri.ytdlnis.ui.downloadcard.DownloadBottomSheetDialog import com.deniscerri.ytdlnis.ui.downloadcard.DownloadBottomSheetDialog
import com.deniscerri.ytdlnis.ui.downloadcard.SelectPlaylistItemsBottomSheetDialog import com.deniscerri.ytdlnis.ui.downloadcard.SelectPlaylistItemsBottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialog
@ -41,7 +42,7 @@ import kotlinx.coroutines.withContext
import java.io.File import java.io.File
import kotlin.system.exitProcess import kotlin.system.exitProcess
class ShareActivity : AppCompatActivity() { class ShareActivity : BaseActivity() {
lateinit var context: Context lateinit var context: Context
private lateinit var resultViewModel: ResultViewModel private lateinit var resultViewModel: ResultViewModel

View file

@ -38,6 +38,7 @@ class ActiveDownloadsFragment() : Fragment(), ActiveDownloadAdapter.OnItemClickL
lateinit var downloadItem: DownloadItem lateinit var downloadItem: DownloadItem
private lateinit var notificationUtil: NotificationUtil private lateinit var notificationUtil: NotificationUtil
private lateinit var fileUtil: FileUtil private lateinit var fileUtil: FileUtil
private lateinit var list: List<DownloadItem>
override fun onCreateView( override fun onCreateView(
@ -51,6 +52,7 @@ class ActiveDownloadsFragment() : Fragment(), ActiveDownloadAdapter.OnItemClickL
notificationUtil = NotificationUtil(requireContext()) notificationUtil = NotificationUtil(requireContext())
fileUtil = FileUtil() fileUtil = FileUtil()
downloadViewModel = ViewModelProvider(this)[DownloadViewModel::class.java] downloadViewModel = ViewModelProvider(this)[DownloadViewModel::class.java]
list = listOf()
return fragmentView return fragmentView
} }
@ -78,6 +80,7 @@ class ActiveDownloadsFragment() : Fragment(), ActiveDownloadAdapter.OnItemClickL
} }
downloadViewModel.activeDownloads.observe(viewLifecycleOwner) { downloadViewModel.activeDownloads.observe(viewLifecycleOwner) {
list = it
activeDownloads.submitList(it) activeDownloads.submitList(it)
it.forEach{item -> it.forEach{item ->
WorkManager.getInstance(requireContext()) WorkManager.getInstance(requireContext())
@ -121,6 +124,7 @@ class ActiveDownloadsFragment() : Fragment(), ActiveDownloadAdapter.OnItemClickL
} }
private fun cancelDownload(itemID: Long){ private fun cancelDownload(itemID: Long){
list.find { it.id == itemID }?.let { downloadViewModel.deleteDownload(it) }
val id = itemID.toInt() val id = itemID.toInt()
YoutubeDL.getInstance().destroyProcessById(id.toString()) YoutubeDL.getInstance().destroyProcessById(id.toString())
WorkManager.getInstance(requireContext()).cancelUniqueWork(id.toString()) WorkManager.getInstance(requireContext()).cancelUniqueWork(id.toString())

View file

@ -162,7 +162,7 @@ class NotificationUtil(var context: Context) {
val errorPendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE) val errorPendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)
notificationBuilder notificationBuilder
.setContentTitle("${context.getString(R.string.errored)}: $title") .setContentTitle("${context.getString(R.string.failed_download)}: $title")
.setContentText(error) .setContentText(error)
.setSmallIcon(R.drawable.ic_app_icon) .setSmallIcon(R.drawable.ic_app_icon)
.setLargeIcon( .setLargeIcon(

View file

@ -12,12 +12,13 @@ object ThemeUtil {
fun updateTheme(activity: AppCompatActivity) { fun updateTheme(activity: AppCompatActivity) {
val sharedPreferences = activity.getSharedPreferences("root_preferences", Application.MODE_PRIVATE) val sharedPreferences = activity.getSharedPreferences("root_preferences", Application.MODE_PRIVATE)
val themeMode = sharedPreferences.getString("ytdlnis_theme", "Default")!!
//update accent //update accent
val themeAccent = sharedPreferences.getString("theme_accent","blue") when (sharedPreferences.getString("theme_accent","blue")) {
when (themeAccent) { "Default" -> {
"Default" -> activity.setTheme(R.style.BaseTheme) DynamicColors.applyToActivityIfAvailable(activity)
activity.setTheme(R.style.BaseTheme)
}
"blue" -> activity.setTheme(R.style.Theme_Blue) "blue" -> activity.setTheme(R.style.Theme_Blue)
"red" -> activity.setTheme(R.style.Theme_Red) "red" -> activity.setTheme(R.style.Theme_Red)
"green" -> activity.setTheme(R.style.Theme_Green) "green" -> activity.setTheme(R.style.Theme_Green)
@ -26,21 +27,17 @@ object ThemeUtil {
"monochrome" -> activity.setTheme(R.style.Theme_Monochrome) "monochrome" -> activity.setTheme(R.style.Theme_Monochrome)
} }
//dynamic colors
if (themeAccent == "Default") DynamicColors.applyToActivityIfAvailable(activity)
//high contrast theme //high contrast theme
val highContrast = sharedPreferences.getBoolean( if (sharedPreferences.getBoolean("high_contrast",false)) {
"high_contrast", activity.theme.applyStyle(R.style.Pure, true)
false }
)
if (highContrast) activity.theme.applyStyle(R.style.Pure, true)
when (themeMode) { when (sharedPreferences.getString("ytdlnis_theme", "System")!!) {
"System" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) "System" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
"Light" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) "Light" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
"Dark" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) "Dark" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
else -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
} }
} }
} }

View file

@ -310,6 +310,8 @@ class DownloadWorker(
historyDao.insert(historyItem) historyDao.insert(historyItem)
} }
} }
notificationUtil.cancelDownloadNotification(downloadItem.id.toInt())
notificationUtil.createDownloadFinished( notificationUtil.createDownloadFinished(
downloadItem.title, if (finalPath.equals(context.getString(R.string.unfound_file))) null else finalPath, downloadItem.title, if (finalPath.equals(context.getString(R.string.unfound_file))) null else finalPath,
NotificationUtil.DOWNLOAD_FINISHED_CHANNEL_ID NotificationUtil.DOWNLOAD_FINISHED_CHANNEL_ID
@ -338,11 +340,7 @@ class DownloadWorker(
}, 1000) }, 1000)
Log.e(TAG, context.getString(R.string.failed_download), it) Log.e(TAG, context.getString(R.string.failed_download), it)
notificationUtil.updateDownloadNotification( notificationUtil.cancelDownloadNotification(downloadItem.id.toInt())
downloadItem.id.toInt(),
context.getString(R.string.failed_download), 0, 0, downloadItem.title,
NotificationUtil.DOWNLOAD_SERVICE_CHANNEL_ID
)
downloadItem.status = DownloadRepository.Status.Error.toString() downloadItem.status = DownloadRepository.Status.Error.toString()
runBlocking { runBlocking {

View file

@ -110,6 +110,8 @@ class TerminalDownloadWorker(
if (logDownloads && logFile.exists()){ if (logDownloads && logFile.exists()){
logFile.appendText("${it.out}\n") logFile.appendText("${it.out}\n")
} }
notificationUtil.cancelDownloadNotification(itemId)
}.onFailure { }.onFailure {
if (it is YoutubeDL.CanceledException) { if (it is YoutubeDL.CanceledException) {
return Result.failure() return Result.failure()
@ -121,11 +123,7 @@ class TerminalDownloadWorker(
tempFileDir.delete() tempFileDir.delete()
Log.e(TAG, context.getString(R.string.failed_download), it) Log.e(TAG, context.getString(R.string.failed_download), it)
notificationUtil.updateDownloadNotification( notificationUtil.cancelDownloadNotification(itemId)
itemId,
context.getString(R.string.failed_download), 0, 0, command.take(65),
NotificationUtil.DOWNLOAD_SERVICE_CHANNEL_ID
)
return Result.failure() return Result.failure()
} }

View file

@ -18,7 +18,6 @@
android:id="@+id/history_toolbar" android:id="@+id/history_toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll"
app:title="@string/downloads" app:title="@string/downloads"
app:menu="@menu/history_menu" app:menu="@menu/history_menu"
/> />

View file

@ -112,7 +112,7 @@
android:id="@+id/home_toolbar" android:id="@+id/home_toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
app:title="@string/app_name" app:title="@string/app_name"
app:layout_scrollFlags="scroll" app:layout_scrollFlags="scroll|enterAlways"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<com.google.android.material.search.SearchBar <com.google.android.material.search.SearchBar

View file

@ -177,10 +177,8 @@
<string name="end">Slutt</string> <string name="end">Slutt</string>
<string name="start">Start</string> <string name="start">Start</string>
<string name="quality">Kvalitet</string> <string name="quality">Kvalitet</string>
<string name="black">Helsvart</string>
<string name="system">System</string> <string name="system">System</string>
<string name="pure_theme_summary">Helsvart/helhvit drakt</string> <string name="pure_theme_summary">Helsvart/helhvit drakt</string>
<string name="white">Helhvit</string>
<string name="high_contrast">Høykontrast</string> <string name="high_contrast">Høykontrast</string>
<string name="link_you_copied">Lenke du kopierte</string> <string name="link_you_copied">Lenke du kopierte</string>
<string name="cut">Klipp ut</string> <string name="cut">Klipp ut</string>

View file

@ -1,9 +1,10 @@
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<style name="BaseTheme" parent="Theme.Material3.DayNight.NoActionBar"> <style name="BaseTheme" parent="Theme.Material3.Dark.NoActionBar">
<item name="android:windowLightStatusBar">?attr/isLightTheme</item> <item name="android:windowLightStatusBar">@android:color/transparent</item>
<item name="android:statusBarColor">@android:color/transparent</item> <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:color">@android:color/transparent</item> <item name="android:color">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="windowActionModeOverlay">true</item> <item name="windowActionModeOverlay">true</item>
<item name="alertDialogTheme">@style/ThemeOverlay.Material3.MaterialAlertDialog</item> <item name="alertDialogTheme">@style/ThemeOverlay.Material3.MaterialAlertDialog</item>
<item name="dialogCornerRadius">28dp</item> <item name="dialogCornerRadius">28dp</item>

View file

@ -221,8 +221,6 @@
<string name="light">Çelët</string> <string name="light">Çelët</string>
<string name="quality">Kualiteti</string> <string name="quality">Kualiteti</string>
<string name="system">Sistemi</string> <string name="system">Sistemi</string>
<string name="white">Kompet e Bardhë</string>
<string name="black">Komplet e Zezë</string>
<string name="accents">Ngjyrat</string> <string name="accents">Ngjyrat</string>
<string name="high_contrast">Kontrast i Lartë</string> <string name="high_contrast">Kontrast i Lartë</string>
<string name="pure_theme_summary">Temë komplet e Zezë / e Bardhë</string> <string name="pure_theme_summary">Temë komplet e Zezë / e Bardhë</string>

View file

@ -1,5 +1,5 @@
<resources> <resources>
<style name="Theme.BottomSheet" parent="Theme.Material3.DayNight.NoActionBar"> <style name="Theme.BottomSheet" parent="BaseTheme">
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item> <item name="android:windowIsTranslucent">true</item>

View file

@ -1,10 +1,10 @@
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<style name="BaseTheme" parent="Theme.Material3.DayNight.NoActionBar"> <style name="BaseTheme" parent="Theme.Material3.Light.NoActionBar">
<item name="android:windowLightStatusBar">?attr/isLightTheme</item> <item name="android:windowLightStatusBar">?attr/isLightTheme</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:statusBarColor">@android:color/transparent</item> <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:color">@android:color/transparent</item>
<item name="windowActionModeOverlay">true</item> <item name="windowActionModeOverlay">true</item>
<item name="alertDialogTheme">@style/ThemeOverlay.Material3.MaterialAlertDialog</item> <item name="alertDialogTheme">@style/ThemeOverlay.Material3.MaterialAlertDialog</item>
<item name="dialogCornerRadius">28dp</item> <item name="dialogCornerRadius">28dp</item>

View file

@ -12,7 +12,7 @@
android:entries="@array/themes" android:entries="@array/themes"
android:entryValues="@array/themes_values" android:entryValues="@array/themes_values"
android:icon="@drawable/baseline_format_paint_24" android:icon="@drawable/baseline_format_paint_24"
app:defaultValue="Default" app:defaultValue="System"
app:key="ytdlnis_theme" app:key="ytdlnis_theme"
app:summary="@string/defaultValue" app:summary="@string/defaultValue"
app:title="@string/Theme" /> app:title="@string/Theme" />

View file

@ -23,7 +23,7 @@ buildscript {
commonsCompressVer = '1.12' commonsCompressVer = '1.12'
youtubedlAndroidVer = "7222fe9637" youtubedlAndroidVer = "7222fe9637"
workVer = "2.8.1" workVer = "2.8.1"
composeVer = "1.4.0-alpha02" composeVer = '1.4.2'
kotlinVer = "1.7.21" kotlinVer = "1.7.21"
coroutineVer = "1.6.4" coroutineVer = "1.6.4"
retrofitVer = "2.9.0" retrofitVer = "2.9.0"
@ -41,8 +41,8 @@ buildscript {
plugins { plugins {
id 'com.android.application' version '7.4.2' apply false id 'com.android.application' version '7.4.2' apply false
id 'com.android.library' version '7.4.2' apply false id 'com.android.library' version '7.4.2' apply false
id 'org.jetbrains.kotlin.android' version '1.7.21' apply false id 'org.jetbrains.kotlin.android' version '1.8.10' apply false
id "org.jetbrains.kotlin.plugin.serialization" version "1.7.21" apply false id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10" apply false
id 'com.android.test' version '7.4.2' apply false id 'com.android.test' version '7.4.2' apply false
} }