From cffc6cfd3962199375376f7766d6c51ba006c26a Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 23 Nov 2024 08:57:01 +0200 Subject: [PATCH] Fixes --- app/build.gradle | 4 ++-- app/proguard-rules.pro | 1 + .../browser/cloudflare/CaptchaNotifier.kt | 2 +- .../koitharu/kotatsu/core/prefs/AppSettings.kt | 5 ++++- .../org/koitharu/kotatsu/core/ui/BaseActivity.kt | 10 +++++++--- .../settings/backup/PeriodicalBackupService.kt | 2 +- app/src/main/res/drawable-anydpi-v24/ic_bot.xml | 15 +++++++++++++++ app/src/main/res/drawable-hdpi/ic_bot.png | Bin 0 -> 526 bytes app/src/main/res/drawable-mdpi/ic_bot.png | Bin 0 -> 354 bytes app/src/main/res/drawable-xhdpi/ic_bot.png | Bin 0 -> 699 bytes app/src/main/res/drawable-xxhdpi/ic_bot.png | Bin 0 -> 1016 bytes 11 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 app/src/main/res/drawable-anydpi-v24/ic_bot.xml create mode 100644 app/src/main/res/drawable-hdpi/ic_bot.png create mode 100644 app/src/main/res/drawable-mdpi/ic_bot.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_bot.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_bot.png diff --git a/app/build.gradle b/app/build.gradle index e0f63e9e1..c505bbdbc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,8 +18,8 @@ android { applicationId 'org.koitharu.kotatsu' minSdk = 21 targetSdk = 35 - versionCode = 689 - versionName = '7.7-beta1' + versionCode = 690 + versionName = '7.7-beta2' generatedDensities = [] testInstrumentationRunner 'org.koitharu.kotatsu.HiltTestRunner' ksp { diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 79c61d6e5..00337a665 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -27,3 +27,4 @@ -keep class org.acra.security.NoKeyStoreFactory { *; } -keep class org.acra.config.DefaultRetryPolicy { *; } -keep class org.acra.attachment.DefaultAttachmentProvider { *; } +-keep class org.acra.sender.JobSenderService diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/browser/cloudflare/CaptchaNotifier.kt b/app/src/main/kotlin/org/koitharu/kotatsu/browser/cloudflare/CaptchaNotifier.kt index 33439e8b0..48d900c10 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/browser/cloudflare/CaptchaNotifier.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/browser/cloudflare/CaptchaNotifier.kt @@ -44,7 +44,7 @@ class CaptchaNotifier( .setContentTitle(channel.name) .setPriority(NotificationCompat.PRIORITY_LOW) .setDefaults(0) - .setSmallIcon(android.R.drawable.stat_notify_error) + .setSmallIcon(R.drawable.ic_bot) .setGroup(GROUP_CAPTCHA) .setAutoCancel(true) .setVisibility( diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt index 0d134583b..0deade46f 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt @@ -472,7 +472,10 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) { get() = prefs.getBoolean(KEY_BACKUP_PERIODICAL_ENABLED, false) val periodicalBackupFrequency: Long - get() = TimeUnit.DAYS.toMillis(prefs.getString(KEY_BACKUP_PERIODICAL_FREQUENCY, null)?.toLongOrNull() ?: 7L) + get() = prefs.getString(KEY_BACKUP_PERIODICAL_FREQUENCY, null)?.toLongOrNull() ?: 7L + + val periodicalBackupFrequencyMillis: Long + get() = TimeUnit.DAYS.toMillis(periodicalBackupFrequency) val periodicalBackupMaxCount: Int get() = if (prefs.getBoolean(KEY_BACKUP_PERIODICAL_TRIM, true)) { diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/BaseActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/BaseActivity.kt index 451dd4a97..f9c89b131 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/BaseActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/BaseActivity.kt @@ -112,9 +112,13 @@ abstract class BaseActivity : } override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { - if (BuildConfig.DEBUG && keyCode == KeyEvent.KEYCODE_VOLUME_UP) { - ActivityCompat.recreate(this) - return true + if (BuildConfig.DEBUG) { + if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { + ActivityCompat.recreate(this) + return true + } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { + throw RuntimeException("Test crash") + } } return super.onKeyDown(keyCode, event) } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/settings/backup/PeriodicalBackupService.kt b/app/src/main/kotlin/org/koitharu/kotatsu/settings/backup/PeriodicalBackupService.kt index 81602e128..51b90f8e0 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/settings/backup/PeriodicalBackupService.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/settings/backup/PeriodicalBackupService.kt @@ -26,7 +26,7 @@ class PeriodicalBackupService : CoroutineIntentService() { return } val lastBackupDate = externalBackupStorage.getLastBackupDate() - if (lastBackupDate != null && lastBackupDate.time + settings.periodicalBackupFrequency > System.currentTimeMillis()) { + if (lastBackupDate != null && lastBackupDate.time + settings.periodicalBackupFrequencyMillis > System.currentTimeMillis()) { return } val output = BackupZipOutput.createTemp(applicationContext) diff --git a/app/src/main/res/drawable-anydpi-v24/ic_bot.xml b/app/src/main/res/drawable-anydpi-v24/ic_bot.xml new file mode 100644 index 000000000..0171d5838 --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_bot.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable-hdpi/ic_bot.png b/app/src/main/res/drawable-hdpi/ic_bot.png new file mode 100644 index 0000000000000000000000000000000000000000..68f9535b94e3dc07bb1f9f285696dfa9a94c1ab0 GIT binary patch literal 526 zcmV+p0`dKcP)MG$8}`~sr5s-ug7g9;7` z{sF6lXs_p)Jb0d_FHQRrm;B%?x#!+{Li5sOGASwljEIawm(Ue7$@N4*fU?vx#=gYB z@>5O&&e@k3SboT9zzO>j1Ivdw4JflOQ4nC(2s6j^#6gH5BhU!fV+TuDplj#>dV{J) zpm+b;qwiVeekWjX4%#vnM`atz@!XccpaN8*1+AcF^zr;iU_dYQNrT(rOWFyA<|m%$ zfM?#*6lh%FNe)@!eW9S~hNn2>p7({q6Jj9CJFRdx_<+`-JuX<-ht|YHv2>hRAsLM*Nbd4=x4t|yg%O{A_Y<$kT);E zCr6`B9PG?}CEW3zr=ni_}f(7-A-HO+1qriE7L19C@g|@qQh5C+CyEZvT9Wc#M za~xE7Z$n@n}V`mtO; QD*ylh07*qoM6N<$f*{TF<^TWy literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_bot.png b/app/src/main/res/drawable-mdpi/ic_bot.png new file mode 100644 index 0000000000000000000000000000000000000000..c895cd287c4f26376ba4abbf1083e4cef8011ebf GIT binary patch literal 354 zcmV-o0iFJdP)(T?X2WX*dPtZ#gMcjD`J%XSsMVP+dN$fu_ zp>>k1^n(Y(y!XFJh9n5C3S-Qzi1%v&#Y6MUfc?s-@+0h52AvDlKWD!dP`nfIerZq^ zLXXfJG=>hTWc`|YA39;_833|$xYhs)OB6f}afj*%xHWcDXrs#)^P6woiB*uoTA{~iS zo&n>I( literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_bot.png b/app/src/main/res/drawable-xhdpi/ic_bot.png new file mode 100644 index 0000000000000000000000000000000000000000..73637b125b89f962b790194c6b3f01f119263d62 GIT binary patch literal 699 zcmV;s0!00ZP)yk{O44a5c0n*G zXd*$Q$M-nydgoy>JG-+xbCG%AG;`ngocGRt%+749)zHw;up4H!-;2kiN1<=4e%L?0 zt8P&jB?@{%^(zS9#*ZDRJ~|ZgF_Q-@Qy(1)`I4yvUQiz$3VD;M18z_s9SXTuwaMh- zt7??`Xi?a$Ap92Bqer1Pf(>kNJxUaGRCQ8yO7%I|z^A{*d@Y{0k-|)>7K5O@;Maxw zs!8@8I+mR2x9L2kcw<$)G8*)N(+9{R=M5AMSmneau)?_mL5-ht(hzyZ`K3_9IZmj6 zYs}F%YPQ4f6|ln`eW6Bo*||dQFi+2@$vV4M$U5`%gc=;S?3Ixy#jOwiFDVjM`)VI;v zD~dB%rLT?FrYN@L7S*%NP@jo}+h`CnPd%Z5P){UTpeJCP`VEDXfSl8p>B}q#4D+ z=M`xzC`t|U(c}Mg?rpAr=e*~APv^`%=brah&*q%>|9?KZbIv{Qxzp0(@pwEQkH_O_ zC?c{0akm=V`Fv@?FnT1KHN3u5U;xW`A|WheU1>n`lRS+OCRtYs(D-_ugn@OeZ+g)5 zah`&KqpWXw(DV_Wf`P-VZ+g)53Z8<2C9E$6JcTG&R~pd!0>lK(qn>d@7wbv|2GD^R zqroV8tc}-~5)9%UPY1l^b)`l8fXqnQ2ZUzZ5nB-#5swkC5uXuXs-YKSMvv9b>sr-3 zLYzlzL9}z8LLtG$cQfKowc#vK?@fpf&Yx>g@MQ_VGiAkJ#3imHcc92#ncl%LI;dW* zD;J=!>s)OExx)1|6cqG~E6f2;xz2`wLWa4r9PxtdomNo5O|B@1T;;l_1ti|cmE@QW zTz}?>-F|XjnBe*|1qlbZf&y@x`^W?&nk~ip^wiLrXK_ENgCqwzbAi~;{iKeBKUfxp zG43Z-BzP(>I@#?~!h9EJD(+LS8)88nBS5p!>mgUn1AGKb?7$79M;r>^PLjx5GF;no$Ol= z&d(L|mdktABnD=y5xWun)%f*aswwo&X0-(>!A_&@+qj|{+Z=i`iMreVl&OBSw^gjS zLW2EYTMn?^1lG@I0}JM{j|r?l#0CZ)vOX4eh@qABafsW6b(HmSK-0=5CRlF->$};& z1nX^p><;@F7+}2(Y!bs_)<+_41A4=H8=yPKMg~r^-UjGCu#tgo)<=THOIdATob@(9 zca4n6w}>K+S_{w@4*d&JR1_XN8BMvr*gY|JhvX(t!$aFv>>|sL8 zUpS+1y4GR+2ph!UG$5CYbd4eQ2?Oi)u+V{i_6tLjy=ie8kn1O?#w&^VMHr5^A@0-q zBn(Q#mIaP?N$?|wBsdLd5vvoRzrxstIEnZ{=hEOi;)Db_F3`CoEaW*DVRf^^{l@~$ zJ~nA$_HzH$NN~YkSq=SI7ai@P){p&l#|Ck~b>WIcF;%nGWa^XDc8T?khE5 zevh*ikU{P%HN@^e1oKY17iIaHa&05zi4rISsAt m6k-O~@9}s%9*@W4G4l@+yAMrxK_VLf0000