From f7232df37f4afae1558a29a504958bd08b23f9f6 Mon Sep 17 00:00:00 2001 From: Maary <24504742+Steve-Mr@users.noreply.github.com> Date: Sat, 16 Nov 2024 19:09:45 +0800 Subject: [PATCH 1/7] bump dependency --- app/build.gradle | 44 +++++++++---------- .../com/maary/shareas/WallpaperViewModel.kt | 11 +++-- build.gradle | 2 +- gradle.properties | 5 +-- gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 30 insertions(+), 34 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 591c742..3e72fd5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,11 +6,11 @@ def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { - compileSdk = 34 + compileSdk = 35 defaultConfig { applicationId "com.maary.shareas" minSdkVersion 29 - targetSdkVersion 34 + targetSdkVersion 35 versionCode 4 versionName "3.0-alpha-240504" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -80,48 +80,44 @@ android { print(output.outputFileName) print("--------") } -// if (output.outputFileName.contains("x86_64")){ -// def newName = output.outputFile.name -// output.outputFileName.replace("x86_64", "x64") -// } } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.6.1' - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - implementation 'androidx.core:core-ktx:1.13.0' - implementation 'androidx.activity:activity:1.8.2' - implementation "androidx.datastore:datastore-preferences:1.0.0" + implementation 'androidx.appcompat:appcompat:1.7.0' + implementation 'androidx.constraintlayout:constraintlayout:2.2.0' + implementation 'androidx.core:core-ktx:1.15.0' + implementation 'androidx.activity:activity:1.9.3' + implementation "androidx.datastore:datastore-preferences:1.1.1" // optional - RxJava2 support - implementation "androidx.datastore:datastore-preferences-rxjava2:1.0.0" + implementation "androidx.datastore:datastore-preferences-rxjava2:1.1.1" // optional - RxJava3 support - implementation "androidx.datastore:datastore-preferences-rxjava3:1.0.0" - implementation "androidx.fragment:fragment-ktx:1.6.2" + implementation "androidx.datastore:datastore-preferences-rxjava3:1.1.1" + implementation "androidx.fragment:fragment-ktx:1.8.5" implementation 'com.microsoft.onnxruntime:onnxruntime-android:1.17.3' implementation 'com.microsoft.onnxruntime:onnxruntime-extensions-android:0.9.0' - implementation("androidx.transition:transition:1.5.0-rc02") - implementation("androidx.transition:transition-ktx:1.5.0-rc02") + implementation("androidx.transition:transition:1.5.1") + implementation("androidx.transition:transition-ktx:1.5.1") - implementation "androidx.fragment:fragment:1.7.0-rc02" + implementation "androidx.fragment:fragment:1.8.5" // Kotlin - implementation "androidx.fragment:fragment-ktx:1.7.0-rc02" + implementation "androidx.fragment:fragment-ktx:1.8.5" testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.5' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' + androidTestImplementation 'androidx.test.ext:junit:1.2.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' implementation 'io.github.hokofly:hoko-blur:1.5.3' - implementation 'com.google.android.material:material:1.12.0-rc01' + implementation 'com.google.android.material:material:1.12.0' - implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0" - implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0" - implementation "androidx.activity:activity-ktx:1.8.2" + implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7" + implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7" + implementation "androidx.activity:activity-ktx:1.9.3" implementation 'com.github.bumptech.glide:glide:4.16.0' diff --git a/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt b/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt index ca1f0f6..120d1ae 100644 --- a/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt +++ b/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt @@ -843,15 +843,18 @@ class WallpaperViewModel : ViewModel() { val resultWidth = originalWidth * scale val resultHeight = originalHeight * scale - var resultBitmap = Bitmap.createBitmap(resultWidth, resultHeight, bitmapRaw!!.config) - val canvas = Canvas(resultBitmap) + var resultBitmap = + bitmapRaw?.config?.let { Bitmap.createBitmap(resultWidth, resultHeight, it) } + val canvas = resultBitmap?.let { Canvas(it) } var currentX = 0 var currentY = 0 for (processedTileDeferred in processedTilesDeferred) { val processedTile = processedTileDeferred.await() if (processedTile != null) { - canvas.drawBitmap(processedTile, currentX.toFloat(), currentY.toFloat(), null) + if (canvas != null) { + canvas.drawBitmap(processedTile, currentX.toFloat(), currentY.toFloat(), null) + } currentX += processedTile.width if (currentX >= resultWidth) { currentX = 0 @@ -860,7 +863,7 @@ class WallpaperViewModel : ViewModel() { } } - resultBitmap = fitBitmapToScreen(resultBitmap, context) + resultBitmap = resultBitmap?.let { fitBitmapToScreen(it, context) } _viewerState.update { current -> current.copy( diff --git a/build.gradle b/build.gradle index 673d0a2..d6d33ab 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.3.2' + classpath 'com.android.tools.build:gradle:8.6.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle.properties b/gradle.properties index 6807534..837e45e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,12 +16,9 @@ org.gradle.jvmargs=-Xmx4608m # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX -android.enableJetifier=true +android.enableJetifier=false # android.enableR8.fullMode=true android.injected.testOnly=false org.gradle.unsafe.configuration-cache=true -android.defaults.buildfeatures.buildconfig=true android.nonTransitiveRClass=true android.nonFinalResIds=false - - diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8a6986c..ae7badd 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip From 3a278c83c7a5fbb9ddf73f077e0637075710cab4 Mon Sep 17 00:00:00 2001 From: Maary <24504742+Steve-Mr@users.noreply.github.com> Date: Sat, 16 Nov 2024 19:42:16 +0800 Subject: [PATCH 2/7] change icon --- app/src/main/ic_launcher-playstore.png | Bin 10936 -> 8214 bytes .../res/drawable/ic_launcher_foreground.xml | 48 ++++++++---------- .../res/drawable/ic_launcher_monochrome.xml | 41 +++++++-------- app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 662 -> 554 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2760 -> 2578 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 556 -> 456 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1846 -> 1690 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 790 -> 612 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3858 -> 3588 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 1136 -> 774 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5980 -> 5340 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 1512 -> 854 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 8394 -> 7524 bytes app/src/main/res/raw/pipe-svgrepo-com.svg | 22 ++++++++ 14 files changed, 59 insertions(+), 52 deletions(-) create mode 100644 app/src/main/res/raw/pipe-svgrepo-com.svg diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png index 09fac2a0aa33e959245764f2a807f8b300061d7b..3e0fb7ff742cb946cdcb64890dbc437f87de9fe7 100644 GIT binary patch literal 8214 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 literal 10936 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 - + android:viewportWidth="512" + android:viewportHeight="512"> + + android:pathData="M402.29,186.51H109.71c-12.12,0 -21.94,9.82 -21.94,21.94v146.29c0,12.12 9.82,21.94 21.94,21.94h292.57c12.12,0 21.94,-9.82 21.94,-21.94V208.46C424.23,196.34 414.4,186.51 402.29,186.51z" + android:fillColor="#C0FCFF"/> + android:pathData="M402.29,186.51H256v190.17h146.29c12.12,0 21.94,-9.82 21.94,-21.94V208.46C424.23,196.34 414.4,186.51 402.29,186.51z" + android:fillColor="#89D2E8"/> + android:pathData="M256,98.74c-12.12,0 -21.94,9.82 -21.94,21.94v87.77c0,12.12 9.82,21.94 21.94,21.94c12.12,0 21.94,-9.82 21.94,-21.94v-87.77C277.94,108.57 268.12,98.74 256,98.74z" + android:fillColor="#A9A9AE"/> + android:pathData="M490.06,149.94h-87.77c-12.12,0 -21.94,9.82 -21.94,21.94v219.43c0,12.12 9.82,21.94 21.94,21.94h87.77c12.12,0 21.94,-9.82 21.94,-21.94V171.89C512,159.77 502.17,149.94 490.06,149.94z" + android:fillColor="#7AC0DE"/> + android:pathData="M109.71,149.94H21.94C9.82,149.94 0,159.77 0,171.89v219.43c0,12.12 9.82,21.94 21.94,21.94h87.77c12.12,0 21.94,-9.82 21.94,-21.94V171.89C131.66,159.77 121.83,149.94 109.71,149.94z" + android:fillColor="#89D2E8"/> + android:pathData="M299.89,98.74h-87.77c-12.12,0 -21.94,9.82 -21.94,21.94s9.82,21.94 21.94,21.94h87.77c12.12,0 21.94,-9.82 21.94,-21.94S312,98.74 299.89,98.74z" + android:fillColor="#DA3981"/> - - + android:pathData="M321.83,120.69c0,-12.12 -9.82,-21.94 -21.94,-21.94H256v43.89h43.89C312,142.63 321.83,132.8 321.83,120.69z" + android:fillColor="#A91E62"/> diff --git a/app/src/main/res/drawable/ic_launcher_monochrome.xml b/app/src/main/res/drawable/ic_launcher_monochrome.xml index 521dabc..07fe2ed 100644 --- a/app/src/main/res/drawable/ic_launcher_monochrome.xml +++ b/app/src/main/res/drawable/ic_launcher_monochrome.xml @@ -1,39 +1,32 @@ - - + + + android:pathData="M402.29,186.51H256v190.17h146.29c12.12,0 21.94,-9.82 21.94,-21.94V208.46C424.23,196.34 414.4,186.51 402.29,186.51z" + android:fillColor="#8f000000"/> - - + android:pathData="M299.89,98.74h-87.77c-12.12,0 -21.94,9.82 -21.94,21.94s9.82,21.94 21.94,21.94h87.77c12.12,0 21.94,-9.82 21.94,-21.94S312,98.74 299.89,98.74z" + android:fillColor="#000000"/> + android:pathData="M321.83,120.69c0,-12.12 -9.82,-21.94 -21.94,-21.94H256v43.89h43.89C312,142.63 321.83,132.8 321.83,120.69z" + android:fillColor="#000000"/> diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp index 83e1b46d8606b3f2a5da32f60aecb97fcb3d1c95..b60c2cbe0006195c81ca49ffadb4ef49f4db9a23 100644 GIT binary patch literal 554 zcmV+_0@eLeNk&E@0ssJ4MM6+kP&iB#0ssInN5ByP|Klo>B*m&ee(d52LH{D&Co|1X z+i+vss;k@!yl>VjhbcJ!(rH**<(w6897&R+)XXlz2b|!A|L*Y9a@eW)k679eMA#DV zV#vf{^=0b)E}6oi3?xVx3jKiqdZLw|^Z_0S5NK^c@b4GbniUiwKrzFf5?M6_Rwyt2 z-MtS)1On8Ai2?|S4ihR95ZP=ZP$Wf>sr<`?z5xdwJYGZ~FaQJr0u+RyOqFbbR{l#0 ze&6!a^6)Pb`7Dq6-~aMO;#m8ThFAPNQa@M<1$H~UFv$5B)osDfzRj>}s-ymDv9=U)TJ{{pTKl1Ogb40D!`PKqNyc z=m!OWBK-sQWKtLqa6kf300T0VJ;s!YNT!1QPyY=j!{GpskxAsGfHtNA4k*JUXryI| z9l&HL0A!Hy9TOV`Vj}>6lMzq?Km!4Q5&)3?C1euczb`R3!+$cArMGN@Om$8=`y0Pd zFjY(?$JtOYHQ46=w(&BzSbJmCpOni#|9JFS?zs6~jk(%76$f)`tC9*7W8}EH?}6o) z%W>yn{qWNHFm~S_>o4AKZ~pgRejj@!`*XwKN$~all!rmKZQG_DofF%(ZQHh!>l@oi z*|wGMJ*(}?-FrV4){N-?1Q>s4e)fiZ{ZhHN@91aB@r&n=-amc*(op>V0{|aBK70V+ zu?l`SZ~K$Ku0%h-@&{l_6qsJodT`j+YrPWw)(-#;(nOU{Ev;_s@2rwy-`7?F*d#HN z##aFyq%W-MAz^t{4{_70nrK?3y^{w=?HyLJuWbNOD?{QO;U0_)xpgOi{PI)q$EQ~T z%xua~xk`3N7=m~2i9Ru;9U1hnoWrH37pW6-9S@a;19GRlJ^-47q+t$C=^Q)W-L~5Vc}u{RFA+0G#Gl_t7RFgt&kBKw wFsYbL<2Ox%OBM)kk!06tW_v7XQI10ghx;;vMK<18u;@q005*pJOBUy diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp index abd5314a8d4dfd84d48b647530c7def9666f8087..e665da91169dd2171f7e4395befbf724b9e5ebc3 100644 GIT binary patch literal 2578 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 OaLmCc9p?{#J^%n_*HhsD diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp index dde6e3c0f2c9586ebfc4dcde09751a59877c37dc..6c8b9272e0d9b7337ebe6fb9d7a94b7ea428df14 100644 GIT binary patch literal 456 zcmV;(0XP0qNk&G%0RRA3MM6+kP&iDq0RR9mFTe``7vn0DZ6}&@$?%N^{9B+f!{(g# z9vg0B+g6qH{eRr00{ZWOF31=%B6quIyNx8-Rc7w%{{fr)!ypxWY^}x4fBe>&5vT4= z0dji3E~J zU?Bua00MxJoIsLN_zM6a6(k@~7G?SFUE<;GuRJ{c9q-@U<@ZouTG~N(=iO zetyu~&-d4XZEoKYfB%RcY;$~f|M>Fy{B&fAu#;kw+dLw!m$S+AWWgiiun3L>LwcA4 z(+bbd$8%(*QXOnv8M=r_?rsbUub};U6Y@ucsf46Nj+~e%F|8JCY yxj|nHj8{$5BT(i>163J3FGH@ zQ2wzN76U~ZnXYe{Z%QP}2TpQ;0twWsQX_Ew0=&Jx;49k*g9z2#J^H;f&V2tF`)Pli z`(3Fsc6tesC;<;~9=8a~l_@iiZID!kF8Z5-#j;dY1qfL0-92h%zI*?O`Fz~WjcTff z2=Lb`F)vTgVqPc$)focX6p3wfgkZf)&Ur$xPA1J10o^ij9|3Fi`aE46ZLX*q0^l3m zJM4*lcu*}!?V!JrD8-IOC_G#tf-NJVq=2O+5o~K;-AoGJ1`*8Ztph*X3$eF<0|db1 u7Q(F0a#&;AGt-7b1hfcB(lkxLgiPGHL6|kkROMOWNt;Y+MmgNde?|Z!#`vEA diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp index 524eae00b5f2af27e4c1d0091747a85d885bf272..174d1d23ddf02489001889106195309ee8e04d29 100644 GIT binary patch literal 1690 zcmV;L24(qDNk&GJ1^@t8MM6+kP&iD51^@srFTe{B716b}f03m8FJY0`Ln1%KYeq)rizq`yP9*$}{yY+JRmad&rj`+nbj_ngP~2$v}k{UURB9RU&3(CB|Gb$2IY1Qf&o zY|}{UG2g|ORC-*1nfZT$pXXPXE8DhdTUz^E+qNScnQhxvX7dC1>=)bCb$%2-+t|A^ zaN9^xvb@JIcW;2DCjo{#_QQC8E2MH5EUzy2;Lycq{*59|2xvx}wv?D|veEdx+~ZMb zlJB?`BnB&_W^QGG zTJ|>QaRq_FueL=XH zWZO)a(#aPYU}%~=Kw@u*OqU$!W>Sjs*4OZiM4S-dq(R|2%0w<_%MyuXjU$LSAx!SK zWMtgaoJb})G*e`d{%XmRJyeGHk~C7{Tb4z;Qy z9+07Q+j2hLX%-kfWum1ACY-xx+@Tvr3|uqv=slxMJTU#h3CXS+%jumo-g_EeIpTzZ zxZ*c*iFS(+`@9&PyG9$Xh;As+PPUAjvvKm09fXMUw#ZC~=$2q?P58AV{L-Nr3~wNE z6&9&FzpZMD2=&!PqExGBO%!S-2OgM%w~gMQiI8SS^N#H?rtk^UT;yWJVu#B;VN=q&=}Z1WygL6J2ZF8+E7@iq!l8$Ml+IZF4hx1 z*hi@_M42*)t?hC8>vDXZs`%7`BSK@2Js6^S*x8U%*y|+F9mav%HAa+5qe44~e8B(# ztWyum3|(4V9DX`tr~ffK{7=~XD6oTw7u3&C3_D=Gmh_NRzP80t$3tGqI%rqeB1z_( z*=u&bzy^)mfB^fWC3;Uk-4@A8pBArPg#v5TZGxi9d=<+GVDb9mok4yRO%f&F&QdfB z046Nn+NF}T(PSqr^<(BNodE`zB*}ahMQCfm9R`>q;)LkGqli;cWU1QqX#a>4LW=`Krq8_+B{iH#KG(_KKW4vkqjT>MqX=RJ z*GTBQBYfEtzUWc?E%ejzT0Up7ojtUJrOtfeYjK7FrYkp>F^R;zoTS|HH`j>fE!Oeq zmeyPl)z-Igk`lXiiQ3I{qb~CKV1U~Wj&cy4IJT)Rju_yHar*y^^uz;@}zSbQwj?2P7Enobt0+pPX*jKlE80gM^ozJ?_) zysNO}W=Hwa$5w9IUB2RM&+I$G0Eq#9>zK=x$LjBLGW*yXrgDt|{zAVH008C13A_d)qPt z{!oDGiU|s5)tlPlz~wArJ)2vb(Ym>3Ot>4{^I*KfS?v{1na!GPZ1H-i7+}YMu!U=u zb6eYrrU%v6%UsKu2CuKLryln$RI{9CKzLO@54J2RW`Jv}C`8Uxy&l`ZTpq`1{OrC- zqFz4beXT>G3t5?DRGX}UYAY_!xN$$Kg+sV~hc9%D?#m;v2(8h^; zm7wMO_iDGdhjvq2?0nkodj^EId{DADVC3x2g#i)+tXtl`ZQv+G51l$nA2E59(c!Ce kZhO0>s~{f^^$K=ufU2MPfB_Z^uzJP)K=i9Fu-*v(0E9?P&j0`b literal 1846 zcmV-62g&$SNk&F42LJ$9MM6+kP&iB?2LJ#sFTe{B)zGrGJ#8du2|cg?x}2-o0K*RW zikX?2d73-i5GZEbk~~wnA6QeJQY^*Z!9OW*pST)}IdXHi&s1}c|0c<{ZJTyAW7~GF zdARpl^W>CLO7(tEzRkAr?3xj_CP9)UMUGOus~+mA%o-B2j+vRnEWPKxF6Y*^t5YYS&aBLIB1% z7~$zjbmin}L`!+N+Ry-Cj0=%pL)X@PG&C*}AOfN4XaJOPD60ABLBEE55=Yh`kSWIq zfU8zVzNZn<=Zui5^oCpqJm;g~|IAfM_apb!=5mRD9BUUQwt4Wxpkr8<| zIc=%5_`bpsYC!)|Uy*90xRScP&0=pLw}P1<{Is$3Nki$#$2Fyoo{~@MOGl1u7;IR9 zT)oO{aI}BaZ6p1;Z&jgDnfEbfM#>{}wLjMS|E+B|f2=<`Rr>yc@a6kN^3#8#{Ev55 zR$A}huu20IazUCUkcn$ekTYuU$&5T-mU4?U$7sS}60;mraSa zb6RKjPW4Z1a;Dou-XlP?(z`nXwc)~VC{3718(zt5ozdDI{gay=-mwr*uHK1!ImQSSJN*6H;NUG0x~q*wIm z^ZBAZ!1`3x=D2#&QTL2j-kV9C06tIWrl!UlIlSZM53P0X^oUg)c%$3!?JHxGRsfHU z*ERZ88JV`1SG2J3?F%Ed%5-~1c_3q!dZyE>N_*(J2L@7I00Ja?j6ahx5^Hit$FvBg zw=QhjKKJ|fh3vrz$-`UEkF;04(9^%qDh-riK42jMDndC%aHTDd5&9hKpCM;=?VSo z)05L)@c9CQAs_+-sN50w17#IpUg+)L)!Fn^;?-~KkIsxq?%r~ABC~xawR%Nsojp8Z z%&(CuLC&$q1gHi>Ktv?gXRDP=MOu~4!9-9p2&}@O^z#EPZ29|61*Xc|RNfH!Dp{_- zQjQT+>cFkt(?>m3-E< zaso7l2P+RTXIUjc@`aglOrPpcG~ya&f{|P`FuyJ|(yR6(RsN5=4F5bnRZOfW9K_{1 zOn~ZNXKnYQP30*gbX|v?r>GBD`YcuLKVOa!DC+!!K#Twl*O&c*C1g{fr-3rUMN{bK zTyuHizd-dJAwZk}EjE|(mBsj=dk)5n>x=ms0a`{6Rvu#N?-T)&1ZeeJzP>mh5;Nt$ zF?Woej%R+()|Uy;y8ihB0#G|rCqVN9-G;x>rt)qU#!lC<)A0Al$@;+Ysv|(-HXt$a z=;&l>*0oZfQ-&8PBUE;QNy-RM*CRjedFjKWlj##ns;uH*pQn)^Kn((P_&AYv;g)f2(zK-Alx3jyK;sCtzE%@5pIhpxAG&JVn!eSXl?nt$N< k)#*s_pW}Xmk+uvHXQC4Xs6>D&NBtAgnSUI_N2;F$0KaFWy#N3J diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp index d3978c5d896548f9e32e0b52fb2b5ae239e9e307..0fd5dd6249202259647073f72005379ba0b751c2 100644 GIT binary patch literal 612 zcmV-q0-OC(Nk&Fo0ssJ4MM6+kP&iCb0ssInU%(dtXXH4NZB?0bab1%X!Lug-cZd5t z3AeFrtIE0e3GS9_8?;UpbU;MLlT8xrtp+dq-b%L5PZu@4m#m4BIpH!n!q3wK;QxafdfJm3gnUsFmzOWzv`t~ z2#a4FMO~%cY-NB~3t z1P%yXBtVe_jDUckLKFy7L4Y8sB}JzT3^JJQF}20-BmHsujBE%Efq;M_0zwcBGQl8` zsGII=r(1Vk*PoxyRgEP20jL+aOxH~lN?hb$5L()=jZ9jCXRUp#-bi>B!kbKfAEwsXu~ zi)d)?2KIbt5^wYV0Uf{7E5Du4QLRbG_OR)B;B1KdD|v;HnJZ1;?&!p1U_zu#3*qY$ zJV33u9C&tw7M3LBf>Rw!3W5w;Si>y4)p4a^GIg*zHV!S9m5o40GxWFZ?FHSH6-v;J z+;7&7tUzSGrA98v6B+px73WJrBcDx4aKu0EZB0%fgOL7N`dfCJRCT54U%}W8L?{*9$PA5KtyN=C?G%xC<36-7)m3O000U`gvlug97+L0BFX%P{znPs zzZC!gkc^}t3BZUn5C8%M2!Ij*@Ui%Y@!^Fr6`0+0_1-VOy}7#|sYAmQz8C)vx3S%D z^;li{)i*n@&C2d+_3XP{+9s!{Yw= zaNgZ1q}|%2$Vq~)3%#FXP1CG-3*k95iI>m({N)tp&Wi9CuO=%}Js)z`F3|2v-~@(V`^wBz4LMmx z8=o(uEq1JoHgCOl>|xBc;n&LGN0-a%tImUV-_IM*F7N8vwler?Nor#2SOtFl`P=`m zj|yqxHgvd~_<#M@^36Xi%QSE}sw`(tx16DnW;d6aAB+*2L&t&LU5Sd_1J)^`6B<}V zULjS{o4_WjLWh9;(}>D$0Pc?_N=lxX_+o~r&^17x8Ay|C1(+|FX2!QX3tLOeBxJ*` zLd^Fo>TC8|cW`5FO$L($ez>;2uFN{9monxXs|VnT>~MnhmC_g%Nng+|F!SC)Sfu{} zNBHVcERx))-Qb&pu}JrVa}S;1qe(0x(c*nh@LD_~k{z|OslIZHb-)dm{ahc8Nksa# zj#Jj-I{Nild=}!J$o_xNJsP+Xp-HA51A-Mq$%wlq&Si<}u@5*BB1&?=tteGRfKE`A UK5@G3sqHsHQY~+ZQE00^>b!l1$z%WPR278)OgnHJs#P%ZL4jwQ?fib z%rVMh@)g~C&X!$xYai?WPJdluBT0_rB*4{oJ3HN7HA}5EouCu6hpx+lB-ymBI5sc# zwQbwxvu)e9ZQHi}b#2?W@iy9l+cu6QXKJ#Uy)tv<32*~|R- zbnb4EckbSzBS3jjCb{?W{t8*(Ho#frMxnNf>R5mkG6%8+gPcr20mlLW0#(M?XpXMU zw(AzQZLW>FhWplJ&bF=RFp_N37WMILoZXA}-d6&){Rsj=2$q<1&1queMv@fQazq0W z%Nt;;Lt6q?%>V!FNbCiUM3G3)Xha&H;W8V1$Yv~JnCHvh!oZXG(*C>>bMB>fLl?%4 zTv<1gw7==WSKR*ziR))}P=7vI5CCE?fB5{6w*24;{NP>qbl+>B`pwh%co_8!R9!qh zz|%vQ-g-Mv*FF3F2i?g!klFfTcxx=uYd}rK!??!N**x9P)4((c!79j!5VA8* zXXO-~E_&oTMre0lfrKB%L|*lTr(38umZK@GB8!W|VUB|q6c*irD3qsLa=!c(@BQi5 zQ-rK6l*uC8I};9@Sj{k>YHo(Z-ido3|7?9aLE+hMD8rnmFY%8WS z?04eVg;y}B^&$Z2zu&8P9fx?jhmvryWJbkAahMVJjeiHwbdBK802O^)TiHR|ESQdaC}q>K zD^-~dHm1JG7kyHsy81D%fu~}f2mm*X`+`?rnq!*e)JT-^2muyEl($*Ky^DGeIh_r2 z&{=B4wYg7m^E2?MV<<71?lMWb7&V(113y!kA*H_w%uy%oHv`B+QzXfa`Vv_hC`u3v zI-K|^HAG>Iqe+h%v8`SqzzznLw3*aYidATC44Tt)CseCzj)KO9*k7T*bU6uN6%3*P zNpPx+F;7jfed1(t9H0Sa7-5>q6rp;f6OQe(P0(S6)m_BHn^wu57}k{9s#4QhQ5g$L zV?kwTEh>#&F);aQVprYkAJZ0g_u+RkInJqWr%bKU=vq(XqO)~XE_b$WIvZE@xeLAK z?8&fuWzsmt-AZq%-qtlo-p!zH|I!509ctT*^FT-YrJ?_4tfKj5tgdvkAtUC6#9Md9 zq-6u;4Lo^&rf4@+yQ9nf`+}Cv7p12DGH#zK@ZxDYU5qLwj>x(rP&!76MTM%fRQ&r1 zq}tlkgnfoPgvB;lGS@q5h{*ZVY>iXD=Stm;i^kp$p)Gl`BPJ$J&CnDll*!r*8F%(3 zM}VCvdZfXLw5T!0d~X7xH> zBEXRz9ucUTJan+CK_*(_3m}jOOdb#+dBEU6gCr0IG>KnZMup}8F0J2>0$NT+D+*Xs zKpN7!j3-+raaD^<9Id z4opU1Jc0!)9p%rsTxPg=+2=a334F=bR=U$=nHIdmi-~P(Jk9>NGwn4;KfrS+vYUW`zlanq+ z>GC>c*`i&C05?T^TR1cXfk&5a>pCO|!!-5L@}?dmzzYVwkqGe9ML#s-Vr3|B?a=L= zL=qzsB%!jmN0%A+pBG^ z_lJWB1la2*Pg_piZB*jA>RD)ixLG3BPQ!`g=rbyD*8L0l&07QloHf$!Y+M%DpFSZG zt3+XM+`*jN%R|hP+tbRUYB4JHx@?>IVR05S)9Y@KDXL}xBNCuByQ-aJzFLHYFJBR> z&jspqQI0VQvuaHi^fW=o$_EHq2*{JIeiCEimap?40%|J;um#3F|K%bejqU5MA#tcYhJft;AOM{FNlM3}5uQnY+O5a`&h@u?l|U;ivW5?4J7h8JH`of(Y;s&`NccZb(?gW8@;B zPg;Oii}(l-P}OeoI;LSjuFDW%!>m7k!=)gi#2&$e>*swgVOY%=js0k1Usz)QT=ihg z3Za;M1Vj@&Ep{2M>avGM!%wR<**L=8?DmQKL97A&Zvq6gYd86naVk}QMqc5kR>nGbIkR$u67Xo^vO*o`zUu?=o`jeBLrETLGF+tV6btKr!z&kh#5uhbxBrOF=|&n|4Rqt zHAMWIe@!pnaH!Wr3Df;=A#6u0TSj@0lf~_tw%`M2j9X*~=r84;D^i_6O=IBUplSWC zFz;&L_@_~BkUQW@(XQuBjevRSqQAZc)08phtUs=mTp#b*H3~j)MtDJtfKLDO$+Kpg zRW3)9Mkud!%T!U*&wTd%))4nd9q=s#*h4K)Az(D;?lCXk7D@cNBFR{@DRPF_ZRxQ; zLVyEGgaB`V3EBu)tQK7-lB_^Y{exor!cu-a_x9TfD8lIzh`Ine2-s|p$FmeCE~TnW($)5}zO_LfsT~3LV?P@L#W>LcXJ{c{($Ux1y+jeo-^wv{yCP@L4YHor z(U-~V!voIHiaMae$n6N2BH+47e*OFe^>b?IvZ|jZ_Jy^R>kk4RkGq`+MU5fA?{5Nu zfEfbL>%`}axV}JNtAn|(rS<#5Dq(w#fXhMsO(1fGqSAVuqV>3QmpQakwc7fhrG{l{ z+;JbZ-0DsJUwrpGckbh!CM~L*UCo7rLp_p~nU z@WQuwy&70|K+&s*2?Dl#dsDz#aeG&9(C2e-r*B?8V^)7*|M~MUg`P^KHI#d z@L>xi(j@9Vy?Yq7Id_PgHF~A!x?8F0&F6X4;Avo*4D6?P!rd?6Q1`RvuM|G-4Sv1G zp4;Z`_sE556!mbI)2CK19;OIb7Y(|YqL%jC`BG&Re*b7pgI;%$pW~qSb7e1e-Th4e zMb}Y!Q~kd1ou&MCVUYP0Q&f=C{Na!T8q0|yAn9WAAo}(&D>%0!;5GB>zIKhUy{%C7 z+7JHGqXwn)I!sgHKp^1v3vprVI!dW~^iCD4UeoeF9Rcri3qEp(8THW?`AMqu`!NQcj#je*1ROd7&K&{I;g?I|jIaCJ zB@gH6HKOzRMn(Tyx{U0KCM&8Qqp?P-)>^GPZu(|blZ`JZT}AdLdHcI&bUs^p|2#e8 z+p*?Vr*wF6LDL)F_GAS;!H+{g@L==1dmdr_b_8r*T+|V8=?J)gswZy>8fY;^4nKR5 zIQnuOd&lYj@5!42KlRlY7a`z~_x7FcZvNm&AqRApV?|Fgy8)_p`M+y=Pn&|gyk^as z^QP`xrcVsO2%*8^M#`wLv^{ODx%A3BAY9 z6C{8kOauyGEipZs97Ji{@%C9tV9A%iHRi37%Mr-j4dO*0>#Zk?Wj?T804qy5sE=5l zOlETL^Tg6j8e-;=uTlnA%*@OafRe!Dj43)LlY?kWg_DBOQ!yw{JP{uk{n5LV4L@Jb!BEm^&b84Q{t33c}{g%ux*=;729sxwrxJ! zwr$(CZJS?h+qSKnWI1r#Hj?CYn`zQxc6ZJv$f>sfl@!C^Am^N+x?yt8bLZYkC5I|{ zTJG=v`_2DvU=^$b4h~ic2RXE(Wm_r?TrDdoS)iSR796c3k`p|PpY`xpf*R@^Y6MW@ zg0n7Yv4DZ7ff^5M04qp93O-`B0)FRgjf^!wXt$<^-~a#_=WN@y&DYzuZF8&RxB&n% z7W6F=+qP|-&HgiR+elHeaLhNeZ-Ap7Ix--~{QpmB7yAL#L+#q>8I5*_IYHwl$jIcp zU55F-%p)1-9-?zGH+T046`H#GnB2Ye*pEL9VN4rg z^h9CwZhU<1r>p)5bUq$OeY&bkpa%qc=#sB~lR($q?7ka){^RHTAOPsxR2R{zu}C+a znuf=5U7)iCx?iAyX;6w)kP@Zzqyn9Fn}3~MwC5^jxV$5Z_`*0Q396?8-NM|tPFjss zL~(IA?Bvk66c#N(l={b8KjP8u^{MBj>o65m`vtnx-4YIKSgqx6rDpa1W2c+3v?x;u3uLXg^M|TA3i=a01B0BY-d7x|0o6Zb4D+$amA!v zn6sn570h-@%?5x+$G(&CVy>u)Ilc4K08FLEz|d>R0NUKPW?v!2t9a z0`#bh5`rpY%u5EQELIA~LFVU*sU0JGy`~0r0LZ1l^cl`Etxgf4y46X`l&uqVm|}Go zP2;2CO3E{06##OmFn6GjCHm@KbDuVFa+$c5!f{@)dcP9eDM5X1XChkxXd4D!@mmd( zv{brXbywFd=`e@7{kt)yJG`rN5;rXj>k$^R6o8iiFzOZ&O6zF+;Lez`tf9PtE*(!1 z?Gb2@AJL5n>v=@itdu3rmcnOC_8WSPIYJJ6j_(fGz>zSs?C%L>$;I5dQ5gkY9*+$#0~dP z15+|Vf=8R`hkS(qRo6YYs}`pUs~U*1n^7i5$_A$7f*m-{N7KF*n=#Dw@sH|p!nP8E zClhVo&A?SxO9z|XuWr<3ciD50xI0@d#KgLq zz_1GPM|GZ-7@3cV_;$$?)2-$A*VuoPrzAi^+}Mb);DQ{Tj^laSZ-S}lY+qHG%{ar3Q!X3yW|C&$dKg>|g3CY%aTN$!N|ZbR*w!IN>GnP> z3g|ilw1(n41SgHE(iGI2?-(&-C1M&Zra=*tM%;^%Oim6DE^q1y0(4z>XClCGh<*}~ zxJ;0dMv!A=hV80{{Eq+!+PSc%zJr%6&f&70iY+!6%!-^~QsMZ5*RokK+Bp&{55Tnc zS)R%?Rh2xhRSC5&fKc;#krl$~x~!e+c{j97H!H`tnN!^&Kh|&`9-S59W3j#3mUuhu zMHp)qFB_-2Tb>Va&3U!N`RZ9=d$<}RRxQKP$!*mSl}A-;s60?jU$rxxujV1w%~v~P@Czgk zQ4Rq$lNP`d866zGt}bryYBmc7n4&WB0CWQZL4!fRs5~=~;ZZ}a>b*dX8xf8RDl5TA z&Joh;r!$?$rSgaTkATF80TdTgpZ?Mi;KlZJkL0GP$O*fG@+;K1CJxiq!h3V>7kUgi za*BHL(f^9ft}3jWMP2LwJ113y5^aBu0RP)M0JO-eW^*sS)TK~{B9jB2*HHic{HcRb z;}Sp4SzOTwad)W%1X|lT2&xy|jCrs^cPF7w^9vy#w3sBbdNm^XV0kE&9+S z2*?|SN+*H&v{`s{4$vw-KGNV7_mPW$UgYxN*4|^72#9Ojyg_)=K0PH1{W<+@DQuc7 z!rE1Ta<`2^M2RiTAFf&Vd6ew7_pWPJZkV~3By^A`q|F3_Zz<47>P<3RR%=1N780uamp-=%9?Vt1KtQxo*5=yYJQKgFnba2xTZ``) zR$fQ_@^m3jPQ$&^tbl%j8BJpI@q@7Z`nB={8+($MHQ*1-5(gD>KlerzvzirogyF^H z%Q1d3Jt8P`Ls-zO(Dl;(zGIX1ZSd3_PjFh6?BbZM(i;`eDaH4Tpg1~1+;7`p5Dt;H zi!B*QaEr}nx|uy22DMNhS49`5Aj$iHY+cP}+oYFM;O4VzVM=k7TQ3B3OPjdf&B;f@ z)zPy)AhzBbVNSI5rq5idXb;Znvp`BGyW6z)yKkbnRjsNKVjlxWUArvotJrLx=ynUa z+tf=~Ac-~7Eqny@*KP95c4}3T(Gg%39*#yA^?Mv7YgZrsGYh0OTK=1{$w1$+uVR^*$w=^?>D|yHVOjMRG}ibN9TM-7dtqU#-U;L zePQXvzUl81T_dnSPSHNkn*;%~(oKJ}9j4W)FnP`Mi9XZ(1BnafUsoyaPoHfP9YnFl zdxnF6YS{D1qo&I$+es5#ec7GuGF{XRbw2w%ZL~Xh)*!Ai#sy*o3>V*=^W%pis84-- ztfnnuzL#xT^Y@2S^m0r%^^A>u0DSoSbeln9t2 z;IvwPy^QM%tg{MccV_kb!okz_1_9@dPLb^@UfRGjQ~IM{hQi#d?6-lABTvhz*ax+8;IOR2@4^> z9rO$X1T6l!=;GX1x{H#8L7n5zvacVQ zAz<6*SG*6Hw#$`Fw(LPq8UBs!?e85vCHsCwlP&v;udBa2+IBjc*2Z$T&fPXJ$cfZ6z)7Sk`uhy9JWqxL7sWgSMih7^D+kuRpm{l)DT04F|-lmGw# diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp index 1a487cd591014a6bbb64bfe22cfa2e7a89dd8e92..c584c14ebef65b320e874b5ecc56694e3c18d19a 100644 GIT binary patch literal 774 zcmV+h1Nrr^2py?Lk(8A^Y%7ww|5x_|`x<6A?Cwm+kt8XSB9~EsReMF;Kl5F6cg%k-TL+p| zJc9eg)Rm^*4E1O7zgcBz24fF{8Y+Px2Znw_05v4wPyq-G3=BDh;16U7L7+xMp73lq zXhDcKZXh5aAQ%*YBnSus5KsgNFe*LhMXNGJZ3dDc=mY^#JRu{E(u#mB3=#+kAP|5M zf&TzNwrm-)2aH%ra2{$>h3a2Z-7PH?F{rfl-|iQ&hFaROn?3mcr}_UHN?EPeKK~Da z0!(UVceA_2L!jMlxaWnZ&$e%21=w(^%YVjNEG_C{J<8GRb~2|wm5o!AP9r|(hlxL~ z3Wq>_(?qhgTkoyfnWJWi&`+$}sr?T7`9TPh(kjGih|&cO${0)Abj=?E1lH#n3@J`! zrP&MtFfgQ$kl#Q+C=3XLglpT*MzU?sWNh0uzq%dUwzb}!wQYO4b9BXiO#QXZisHLjd4sfytE>{ejvR!spVGB!U_oP^l@u& z1qesDH2^lst=>hT-F|LqCze6>r*+&y9G?T&no{vxt?xp_s}~V3T}Hgpttg5~W4@lh zboHk8xL-#he*IYdnhLU^C?l0NEw{8?CbuI5NS|898j`<2e#)1}D*@P@vFtCvC2}CH zP<|~;H6=mi5gBy4Lj_kcRq+lgtHX?hRx?%p9xBtEggtyhe^cT{HGT014#e5p(z{5U z4xx|z#({V{D|%;%Qv!X=*Pjzk5+^MNn+sym76Uq-J64qQCj`sE+TqsOGe?mY1R@>^ zu>a*0{`xWOqX)2eKXM?nTE%kt`|lXy2IXJNRDB{;4v_)ggYqOyk#wj+l^lsz6iCPm z729R+K|ZGuS>UrfzJWos0d6%a)+=)o-q5~HDQHv4lss*wZs}C9-`Uhi-AYvd{r^{Y E0IvmSf&c&j literal 1136 zcmV-$1dsbtNk&F!1ONb6MM6+kP&iCn1ONapkH8}U*9R+-ZP!Y#bIv0gz`qS#pn~t5 z?|RV#;35+?#E00bz2vz!7^p+FR+t6fnbtb|*$ppsaPR+BV>40A z&bFV@Vh*P~4|4;@7(^UnI9%&6XUpsVmxuQ&2J!T9qtuq|<@g4rkcMsBnKwyS+qT=; zwr$(CZQHhO8(-?q%xv3#dwfr_<<0wR$kQjH{}Ukm_x~T(JNM`b#?JcJt(U^?`qxEC zSN+3|oeaZh+MAkmG7O`Gz>AIh7>$qv#n$E<_QeL7=0)9V`R>JYvriuzPsr?x*R6EJ zx|t>H{g0n&ztIbqq2~u$f!_X9{iQBs@yS2)x_o8ET2BRceitKuNN3 zD=`6jSG{`)(5-gtaW1s-NJ2)9?Dl0%+nh_utXBLO<1yWoz!llHNC`Y4<~vAW4#<6s z_#!JQ)xEHNoMAgQfio&ejM(MH3g1Hss@zD~3B9AL5!Icx>r^~hx)cpMHk;<808054B zcA`uhRJTQQm0KW#BTvC*w?*AAK;Vs@g8q+&l@U2$1L&+R>c8b?&{}~5J$HaA^MKE8 zP)Q!}+65}b15VpO^LRkq0NTa_xDI4;=7DJ-s>lO*U^~1yApAIpCOYY#-3Zv3g>7{Y zE5OJ!)mHc1kHJVzAcL|?*Z-5xlwK`!d%<5L(*_h7GdZr?GUYO&mt5T9MukubYu~>i5P!U zGp346LKJgOK9Z>oI+T@7i0E8;)*emJ3T7c%I=O~ayDDF-Qe5q-7vyWh#+VeHDaNjh z4ujJBTM24g_DdgZZ)BT$SOINtWEx^S{FMe~j9jUJaxm_T~llBj#=u>`g^SpP8l zDUg(d1KLahQAG~GK-g*?z(b%7Trd{2$&v@kfp)m_Knc)xR~`she#rd(3i#juf8qtW Cd?*Y6 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp index 2a24ad9968ebea7065eb1234bdb07584f5ce7a93..a7ce31952ee3f86aa4a4ff3d83afd491819ce2f1 100644 GIT binary patch literal 5340 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 KhfaRK(77T90iRI- diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp index 62ca9a7e402ed8bda902b67fdfab53ce209205c3..a52129c6b7a5cae6c9a99b303023ea9fd8e05092 100644 GIT binary patch literal 854 zcmV-c1F8H{Nk&Fa0{{S5MM6+kP&iCN0{{RozrZg5N9Hz?WLKGeUkeMF0xskq5!hey z-fbGNBH32$%-Z`g{RJh&M3j?-2#AWuaMp4hNs`o5al>C<*&xT{{k;p*^B?&)BgF(0 z<$LGzpj2#&KRp^J4A$}H&FISy7J&>sM5Mb22y~MWfgaFZSP5|f2tz{z1d1>)Fd)PL zL4qU&WkgA_q3NY;k*{AwTY&;+F+d~(!$1ZB5e9((fdN5!fB8@UqE5M+e>cbC4Z#M4 z6-5!0=j3Ln-O!sxvmast3RJKJ9Tb>E>OswbNQUl;Rf$FMJPZ&Z+>l@e0u2LG2rQ%$ z0)-&xKtMo1Fn};{!XQ#IB@#K8AcEjlaxRgWrYoU#k4R}XX>>r~0fq>;Y3fBhUA9S+ zzE%W0KtMzw;2W?Mc%YkJULSYw|0jWYz8hvMp@dSY?}bVgk~A>WY&1_d4WnVPYI~Au zP}gAJ>F~+d%Q8Jd7?hNME+&WyWp%TTKZDC(^Z9&eG^jMF89~CfZHC=!Y}ce-cGZ?Pz#?Pk@Foyf+(Z7JYIgFjrmr&Qou|uCj-O{7y3)Dl3-p$Wo zZtTGi-S!6J@=l83k*|-Ruut!?AKBY?*t?I$D3bM~?B4n80(RdxJ51;9jV(^jeC;|8 z^O=2Op2`Ud*gv!4DBmM>o$?rL3MKqK){8cER>wcLc2E*S&0z%6r(3M96dh##${{&) z1QJ+Bp@x>~U^AxW&`f~6dqmol3Zz>l2REpo)gsMgLmi(Jg4=}3f;x%5Q$IywEH3c2 zRde2#cVZz1V$BrZ)@qUn@A#rWnyk=gy6{^S2{==1s%EP$AxJY?QpwbmhGR`pEEg{- zFH0tX_)!$&2m*>Bg=qf!4~iIb6WD0jI242&JOsNIwmt^~!EIFFnXI28u3+slJ0S;q zD8F?gO{PIDmqTkLko%xW180DW56EHA1txS26?!@k=GcH7=myUyfPjV}v4(2X0SZoc gQd#ykdIfRzcW9%+?_ZXd$@yGuAJzP?`TsxZ0Yih0ZvX%Q literal 1512 zcmVcdx`~+4G|GB z#Rdo`!*<|NhZ7@Dk$L9sl784Wh&^*scd8%>06?JmpKWB@wr$(4*|u%l_EDB3+oo-G z+qU&*+qR#%<}$avcO&{g0rUK$TL0Jje~pvp{X_Hq0DRtGgsb_!VX0%j{FYpPQ-YV- z6AM2QR4sANR$5jf51;P`Fty|<6SDk$IqK85UvjV5b~nw+ z3orC=t@r8OKdjU~{Re^FClfn!t0t#_w@d+RF?f1%Px$x^6X6-^&9U4A2)Mv_*U~j2 zoI&2E*tRLMod7!b2(T8=7UOKw=QuEnACNg_sZEjE5S`kz*4m%a@o5E~0@`9+pUCYI zr6*=oYE=~8K|SVAxmyzHa6U`qRwOoT*}tvn-`cb-c3SIR4F!X1Ks&%ELqln=_yelR zUD0sHbMi8-UKSQ$ojs#UDSpGQUPEj}RKr*@oIPa&$vvg#Oo0AbH9PtfO`|s5E3&!;S*G6|f`-LLG_oiV^g-<6XV{7j8CXMNNg^x%h+*s!r-gTnE3#oq z7)N_7vhEj9ISyCJMOlIIM|YuWfRmjI;7WAB6h8q`6z#Vnm_3^0sVap}!9KrI)(Zf(^NMLKOoE?oJ1ch%76m&%1X6!U*l4aKLl1y)Ih zeYU7xH3N3qYM5L;+hlje5HY!y;W)IYjm0f^*OcnegD$ zmQWAT&~UqJZjc8%1zF((6ht)sh(I8yNTd9usUjjWKMAG0fG2b-lbf!V09SH1R8d4^ zj?dqd$z73JYaN;3b%r0UweE`2&w12I^Dr?yWPq}&`nuWA?J7-Arpmtp8GcqzhH6)7 zfA;lIG8<#V#=*!x6LM{n(&(G$A~C53{uW&znJb{GPoHYTR3i9(wbgWU=vWb(K8h%! zb#@hSX?#MXiY9Lg<6Ch>sZ}`)W`WemI`{8kAif({RQEnC+G~+T6JbNJ6`$5+(AOri zGDqxC(EsC+b?zjPomey?iw*$2d_A^K0dXC+)(1IRdH#W5>*lXFeW2u5Q|p4zee(Fy Oub^80*ZO~rcL4y-LGZBv diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp index 7f1a5b0e7c12e34c82156b5869e3e187740717ed..7922d2047f841693290e20343002bae3522af702 100644 GIT binary patch literal 7524 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 literal 8394 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 diff --git a/app/src/main/res/raw/pipe-svgrepo-com.svg b/app/src/main/res/raw/pipe-svgrepo-com.svg new file mode 100644 index 0000000..1b9be9e --- /dev/null +++ b/app/src/main/res/raw/pipe-svgrepo-com.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + \ No newline at end of file From 3a81b3c24f10e873dfe0aafe5d45c4b56871f4a4 Mon Sep 17 00:00:00 2001 From: Maary <24504742+Steve-Mr@users.noreply.github.com> Date: Sun, 17 Nov 2024 00:31:16 +0800 Subject: [PATCH 3/7] crop long image function --- app/build.gradle | 6 +- .../com/maary/shareas/WallpaperViewModel.kt | 54 ++++++++-- .../com/maary/shareas/data/ViewerBitmap.kt | 4 +- .../maary/shareas/fragment/EditorFragment.kt | 6 ++ .../shareas/fragment/editor/CropFragment.kt | 102 ++++++++++++++++++ .../maary/shareas/view/ScrollableImageView.kt | 20 ++++ app/src/main/res/drawable/ic_crop.xml | 5 + app/src/main/res/drawable/ic_left_edge.xml | 5 + app/src/main/res/drawable/ic_right_edge.xml | 5 + app/src/main/res/layout/fragment_crop.xml | 66 ++++++++++++ app/src/main/res/layout/fragment_editor.xml | 20 ++-- app/src/main/res/raw/pipe-svgrepo-com.svg | 22 ---- app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/styles.xml | 8 ++ 14 files changed, 280 insertions(+), 44 deletions(-) create mode 100644 app/src/main/java/com/maary/shareas/fragment/editor/CropFragment.kt create mode 100644 app/src/main/res/drawable/ic_crop.xml create mode 100644 app/src/main/res/drawable/ic_left_edge.xml create mode 100644 app/src/main/res/drawable/ic_right_edge.xml create mode 100644 app/src/main/res/layout/fragment_crop.xml delete mode 100644 app/src/main/res/raw/pipe-svgrepo-com.svg diff --git a/app/build.gradle b/app/build.gradle index 3e72fd5..3511f07 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -97,8 +97,8 @@ dependencies { implementation "androidx.datastore:datastore-preferences-rxjava3:1.1.1" implementation "androidx.fragment:fragment-ktx:1.8.5" - implementation 'com.microsoft.onnxruntime:onnxruntime-android:1.17.3' - implementation 'com.microsoft.onnxruntime:onnxruntime-extensions-android:0.9.0' + implementation 'com.microsoft.onnxruntime:onnxruntime-android:1.20.0' + implementation 'com.microsoft.onnxruntime:onnxruntime-extensions-android:0.13.0' implementation("androidx.transition:transition:1.5.1") implementation("androidx.transition:transition-ktx:1.5.1") @@ -113,7 +113,7 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' implementation 'io.github.hokofly:hoko-blur:1.5.3' - implementation 'com.google.android.material:material:1.12.0' + implementation 'com.google.android.material:material:1.13.0-alpha07' implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7" implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7" diff --git a/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt b/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt index 120d1ae..007bd56 100644 --- a/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt +++ b/app/src/main/java/com/maary/shareas/WallpaperViewModel.kt @@ -76,12 +76,17 @@ class WallpaperViewModel : ViewModel() { var processHome = true var processLock = true + private var cropped: Bitmap? = null + private var bitmap: Bitmap? = null set(value) { Log.v("WVM", "BITMAP SET") field = value - bakBitmap.bitmapHome = value - bakBitmap.bitmapLock = value + cropped = value + bakBitmap = bakBitmap.copy( + bitmapHome = value, + bitmapLock = value + ) _viewerState.value = bakBitmap } @@ -248,9 +253,9 @@ class WallpaperViewModel : ViewModel() { if (processHome && processLock) { bakBitmap = _viewerState.value } else if (processHome) { - bakBitmap.bitmapHome = _viewerState.value.bitmapHome + bakBitmap = bakBitmap.copy(bitmapHome = _viewerState.value.bitmapHome) } else if (processLock) { - bakBitmap.bitmapLock = _viewerState.value.bitmapLock + bakBitmap= bakBitmap.copy(bitmapLock = _viewerState.value.bitmapLock) } } @@ -275,8 +280,10 @@ class WallpaperViewModel : ViewModel() { bitmapLock = bitmap ) } - bakBitmap.bitmapLock = bitmap - bakBitmap.bitmapHome = bitmap + bakBitmap = bakBitmap.copy( + bitmapHome = bitmap, + bitmapLock = bitmap + ) } /** @@ -895,4 +902,39 @@ class WallpaperViewModel : ViewModel() { } return false } + + fun scrollToStart(): Triple { + return Triple( + ScrollableImageView.HORIZONTAL, + 0, + 0 + ) + } + + fun scrollToEnd(): Triple { + return Triple( + ScrollableImageView.HORIZONTAL, + bitmap!!.width, + 0 + ) + } + + fun crop( + start: Int = 0, + end: Int = cropped!!.width) { + val safeStart = start.coerceAtLeast(0) // 起始点不能小于 0 + val safeEnd = end.coerceAtMost(cropped!!.width) // 终止点不能超过 bitmap 的宽度 + if (safeStart >= safeEnd) { + throw IllegalArgumentException("Start must be less than end") + } + + // 计算裁剪的宽度和高度 + val width = safeEnd - safeStart + val height = cropped!!.height + + // 裁剪 bitmap + cropped = Bitmap.createBitmap(cropped!!, safeStart, 0, width, height) +// bitmap = cropped + updateViewerState(cropped, cropped) + } } \ No newline at end of file diff --git a/app/src/main/java/com/maary/shareas/data/ViewerBitmap.kt b/app/src/main/java/com/maary/shareas/data/ViewerBitmap.kt index f1cef4c..345c821 100644 --- a/app/src/main/java/com/maary/shareas/data/ViewerBitmap.kt +++ b/app/src/main/java/com/maary/shareas/data/ViewerBitmap.kt @@ -3,6 +3,6 @@ package com.maary.shareas.data import android.graphics.Bitmap data class ViewerBitmap( - var bitmapHome: Bitmap? = null, - var bitmapLock: Bitmap? = null + val bitmapHome: Bitmap? = null, + val bitmapLock: Bitmap? = null ) \ No newline at end of file diff --git a/app/src/main/java/com/maary/shareas/fragment/EditorFragment.kt b/app/src/main/java/com/maary/shareas/fragment/EditorFragment.kt index 50ba87d..188a468 100644 --- a/app/src/main/java/com/maary/shareas/fragment/EditorFragment.kt +++ b/app/src/main/java/com/maary/shareas/fragment/EditorFragment.kt @@ -21,6 +21,7 @@ import com.maary.shareas.WallpaperViewModel import com.maary.shareas.databinding.FragmentEditorBinding import com.maary.shareas.fragment.editor.BlurFragment import com.maary.shareas.fragment.editor.BrightnessFragment +import com.maary.shareas.fragment.editor.CropFragment import com.maary.shareas.fragment.editor.PaintFragment import com.maary.shareas.fragment.editor.UpscaleFragment import kotlinx.coroutines.launch @@ -75,6 +76,7 @@ class EditorFragment : Fragment() { binding.editorButtonBlur.backgroundTintList = colorStateList binding.editorButtonBrightness.backgroundTintList = colorStateList binding.editorButtonFill.backgroundTintList = colorStateList + binding.editorButtonCrop.backgroundTintList = colorStateList binding.editorButtonUpscale.backgroundTintList = colorStateList binding.appbarButtonCancel.setBackgroundColor(viewModel.getSecondaryColor(requireContext())) binding.appbarButtonConfirm.setBackgroundColor(viewModel.getSecondaryColor(requireContext())) @@ -177,6 +179,10 @@ class EditorFragment : Fragment() { loadFragment(PaintFragment()) } + binding.editorButtonCrop.setOnClickListener { + loadFragment(CropFragment()) + } + binding.editorButtonUpscale.setOnClickListener { loadFragment(UpscaleFragment()) } diff --git a/app/src/main/java/com/maary/shareas/fragment/editor/CropFragment.kt b/app/src/main/java/com/maary/shareas/fragment/editor/CropFragment.kt new file mode 100644 index 0000000..3b6e14b --- /dev/null +++ b/app/src/main/java/com/maary/shareas/fragment/editor/CropFragment.kt @@ -0,0 +1,102 @@ +package com.maary.shareas.fragment.editor + +import android.content.res.ColorStateList +import android.os.Bundle +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.activity.OnBackPressedCallback +import androidx.fragment.app.Fragment +import androidx.fragment.app.activityViewModels +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import com.maary.shareas.R +import com.maary.shareas.WallpaperViewModel +import com.maary.shareas.databinding.FragmentBlurBinding +import com.maary.shareas.databinding.FragmentCropBinding +import com.maary.shareas.view.ScrollableImageView +import kotlinx.coroutines.launch + +class CropFragment: Fragment() { + + private val viewModel: WallpaperViewModel by activityViewModels() + private var _binding: FragmentCropBinding? = null + private val binding get() = _binding!! + private lateinit var onBackPressedCallback: OnBackPressedCallback + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + onBackPressedCallback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + viewModel.abortEdit(null) + requireParentFragment().childFragmentManager.beginTransaction().remove(this@CropFragment).commit() + requireParentFragment().childFragmentManager.popBackStack() + // 获取包含当前 Fragment 的布局 + val containingLayout = requireView().parent.parent.parent as? View + // 如果布局不为空,则隐藏布局 + containingLayout?.visibility = View.INVISIBLE + isEnabled = false + } + } + requireActivity().onBackPressedDispatcher.addCallback(this, onBackPressedCallback) + + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.primaryColorState.collect { + if (viewModel.primary != null) { + val colorValue = viewModel.getPrimaryColor(requireContext()) + val colorValueSec = viewModel.getSecondaryColor(requireContext()) + val colorValueOnPri = viewModel.getPrimaryColorAlt(requireContext()) + val colorStateList = ColorStateList.valueOf(colorValue) + val colorStateListSec = ColorStateList.valueOf(colorValueSec) + val colorStateListOnPri = ColorStateList.valueOf(colorValueOnPri) + binding.buttonLeftEdge.backgroundTintList = colorStateList + binding.buttonRightEdge.backgroundTintList = colorStateList + binding.buttonConfirmEdge.backgroundTintList = colorStateListSec + binding.buttonLeftEdge.iconTint = colorStateListOnPri + binding.buttonRightEdge.iconTint = colorStateListOnPri + } + } + } + } + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentCropBinding.inflate(inflater, container, false) + binding.buttonConfirmEdge.isEnabled = false + + val imageView = requireActivity().findViewById(R.id.main_view) + + binding.buttonLeftEdge.setOnClickListener { + binding.buttonConfirmEdge.isEnabled = true + val param = viewModel.scrollToStart() + imageView.scrollImageTo(param.first, param.second, param.third) + } + + binding.buttonRightEdge.setOnClickListener { + binding.buttonConfirmEdge.isEnabled = true + val param = viewModel.scrollToEnd() + imageView.scrollImageTo(param.first, param.second, param.third) + } + + binding.buttonConfirmEdge.setOnClickListener { + if (binding.buttonLeftEdge.isChecked) { + viewModel.crop(start = imageView.getVisibleRectStart()) + } + if (binding.buttonRightEdge.isChecked) { + viewModel.crop(end = imageView.getVisibleRectEnd()) + } + binding.buttonConfirmEdge.isEnabled = false + } + + + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/java/com/maary/shareas/view/ScrollableImageView.kt b/app/src/main/java/com/maary/shareas/view/ScrollableImageView.kt index 727ba0a..1e6b8a6 100644 --- a/app/src/main/java/com/maary/shareas/view/ScrollableImageView.kt +++ b/app/src/main/java/com/maary/shareas/view/ScrollableImageView.kt @@ -83,6 +83,26 @@ class ScrollableImageView @JvmOverloads constructor( } + fun getVisibleRectStart(): Int { + // 获取 ScrollView 和 HorizontalView 的滚动距离 + val scrollX = scrollX + val horizontalScrollX = horizontalView.scrollX + + // 计算可视部分的矩形区域 + return scrollX + horizontalScrollX + + } + + fun getVisibleRectEnd(): Int { + // 获取 ScrollView 和 HorizontalView 的滚动距离 + val scrollX = scrollX + val horizontalScrollX = horizontalView.scrollX + + // 计算可视部分的矩形区域 + return scrollX + horizontalScrollX + width + + } + fun scrollImageTo(target: Int, x: Int, y: Int) { if (target == VERTICAL) this.smoothScrollTo(x, y) if (target == HORIZONTAL) horizontalView.smoothScrollTo(x, y) diff --git a/app/src/main/res/drawable/ic_crop.xml b/app/src/main/res/drawable/ic_crop.xml new file mode 100644 index 0000000..5a3c066 --- /dev/null +++ b/app/src/main/res/drawable/ic_crop.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_left_edge.xml b/app/src/main/res/drawable/ic_left_edge.xml new file mode 100644 index 0000000..6376719 --- /dev/null +++ b/app/src/main/res/drawable/ic_left_edge.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_right_edge.xml b/app/src/main/res/drawable/ic_right_edge.xml new file mode 100644 index 0000000..dc05234 --- /dev/null +++ b/app/src/main/res/drawable/ic_right_edge.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout/fragment_crop.xml b/app/src/main/res/layout/fragment_crop.xml new file mode 100644 index 0000000..6d48634 --- /dev/null +++ b/app/src/main/res/layout/fragment_crop.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_editor.xml b/app/src/main/res/layout/fragment_editor.xml index d57f647..192c938 100644 --- a/app/src/main/res/layout/fragment_editor.xml +++ b/app/src/main/res/layout/fragment_editor.xml @@ -9,16 +9,6 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - + + diff --git a/app/src/main/res/raw/pipe-svgrepo-com.svg b/app/src/main/res/raw/pipe-svgrepo-com.svg deleted file mode 100644 index 1b9be9e..0000000 --- a/app/src/main/res/raw/pipe-svgrepo-com.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3a8446d..055753f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -72,4 +72,5 @@ Use FP16 Disable CPU Center + Crop diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index df852ce..a68ea2e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -48,6 +48,14 @@ 32dp + +