From 2bb70833797e3faa655b23213d19c819d0df5321 Mon Sep 17 00:00:00 2001 From: yuqian Date: Mon, 5 Jan 2026 14:00:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=85=A5topon(=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E5=B7=B2=E6=9B=B4=E6=96=B0=EF=BC=8C=E6=9D=A5=E8=87=AA=E5=A9=B7?= =?UTF-8?q?=E5=A9=B7=E5=A7=90)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 98 +++++++++- app/google-services.json | 29 +++ app/libs/TopOnLibrary_11_06_18_02-release.aar | Bin 0 -> 22908 bytes .../UpLoadLibrary_12_03_15_13-release.aar | Bin 0 -> 21581 bytes ...awing Space_V1.0(1)_12_17_11_29-release.dm | Bin 2089 -> 0 bytes ...awing Space_V3.1(3)_01_05_13_51-release.dm | Bin 0 -> 3336 bytes ...awing Space_V1.0(1)_12_17_11_29-release.dm | Bin 2017 -> 0 bytes ...awing Space_V3.1(3)_01_05_13_51-release.dm | Bin 0 -> 3240 bytes app/release/output-metadata.json | 10 +- app/src/main/AndroidManifest.xml | 14 ++ .../com/draw/painting/line/DrawingApp.java | 17 +- .../painting/line/ui/DeerVectorDrawView.java | 2 +- .../draw/painting/line/ui/DrawActivity.java | 15 +- .../painting/line/ui/GalleryActivity.java | 5 +- .../draw/painting/line/ui/MainActivity.java | 1 + .../draw/painting/line/ui/SplashActivity.java | 167 ++++++++++-------- app/src/main/res/drawable/progress_fill.xml | 26 ++- app/src/main/res/layout/activity_splash.xml | 31 ++-- app/src/main/res/xml/net.xml | 6 + build.gradle.kts | 2 + gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +- settings.gradle.kts | 22 +++ 23 files changed, 341 insertions(+), 110 deletions(-) create mode 100644 app/google-services.json create mode 100644 app/libs/TopOnLibrary_11_06_18_02-release.aar create mode 100644 app/libs/UpLoadLibrary_12_03_15_13-release.aar delete mode 100644 app/release/baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm create mode 100644 app/release/baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm delete mode 100644 app/release/baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm create mode 100644 app/release/baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm create mode 100644 app/src/main/res/xml/net.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bde7d96..d286469 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -6,6 +6,8 @@ import java.io.FileInputStream plugins { id("com.android.application") id ("org.jetbrains.kotlin.android") + id("com.google.gms.google-services") + id("com.google.firebase.crashlytics") } val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) @@ -26,8 +28,8 @@ android { applicationId = "com.draw.painting.line" minSdk = 24 targetSdk = 36 - versionCode = 2 - versionName = "1.1" + versionCode = 3 + versionName = "3.1" setProperty("archivesBaseName", "Ar Drawing Space_V" + versionName + "(${versionCode})_$timestamp") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -68,7 +70,7 @@ android { } dependencies { - + implementation("com.google.guava:guava:31.1-android") implementation("androidx.appcompat:appcompat:1.7.1") implementation("androidx.activity:activity:1.8.2") implementation("com.google.android.material:material:1.13.0") @@ -87,9 +89,99 @@ dependencies { implementation ("androidx.camera:camera-extensions:${camerax_version}") + //sdk + implementation(files("libs/TopOnLibrary_11_06_18_02-release.aar")) + implementation(files("libs/UpLoadLibrary_12_03_15_13-release.aar")) + //-----------------------------------------------TopOn(Mintegral、Pangle、UnitAds、Digital Turbine(Fyber)、Chartboost&Helium、Ironsource、Liftoff(Vungle)、Inmobi、Start.io、Bigo) + //TU (Necessary) + implementation("com.thinkup.sdk:core-tpn:6.5.36") + implementation("com.thinkup.sdk:nativead-tpn:6.5.36") + implementation("com.thinkup.sdk:banner-tpn:6.5.36") + implementation("com.thinkup.sdk:interstitial-tpn:6.5.36") + implementation("com.thinkup.sdk:rewardedvideo-tpn:6.5.36") + implementation("com.thinkup.sdk:splash-tpn:6.5.36") + //Androidx (Necessary) + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("androidx.browser:browser:1.4.0") + //StartApp + implementation("com.thinkup.sdk:adapter-tpn-startapp:6.5.36") + implementation("com.startapp:inapp-sdk:5.2.4") + //Vungle + implementation("com.thinkup.sdk:adapter-tpn-vungle:6.5.36") + implementation("com.vungle:vungle-ads:7.5.0") + implementation("com.google.android.gms:play-services-basement:18.1.0") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + + //UnityAds + implementation("com.thinkup.sdk:adapter-tpn-unityads:6.5.36") + implementation("com.unity3d.ads:unity-ads:4.16.1") + + //Ironsource + implementation("com.thinkup.sdk:adapter-tpn-ironsource:6.5.36") + implementation("com.ironsource.sdk:mediationsdk:8.10.0") + implementation("com.google.android.gms:play-services-appset:16.0.2") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + implementation("com.google.android.gms:play-services-basement:18.1.0") + + //Bigo + implementation("com.thinkup.sdk:adapter-tpn-bigo:6.5.36") + implementation("com.bigossp:bigo-ads:5.5.1") + + //Pangle + implementation("com.thinkup.sdk:adapter-tpn-pangle:6.5.36") + implementation("com.pangle.global:pag-sdk:7.6.0.2") + implementation("com.google.android.gms:play-services-ads-identifier:18.2.0") + + //Inmobi + implementation("com.thinkup.sdk:adapter-tpn-inmobi:6.5.36") + implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.7") + + //TU Adx SDK(Necessary) + implementation("com.thinkup.sdk:adapter-tpn-sdm:6.5.36.4") + implementation("com.smartdigimkttech.sdk:smartdigimkttech-sdk:6.5.40") + + //Mintegral + implementation("com.thinkup.sdk:adapter-tpn-mintegral:6.5.36") + implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.91") + implementation("androidx.recyclerview:recyclerview:1.1.0") + + //Chartboost + implementation("com.thinkup.sdk:adapter-tpn-chartboost:6.5.36") + implementation("com.chartboost:chartboost-sdk:9.8.3") + implementation("com.chartboost:chartboost-mediation-sdk:4.9.2") + implementation("com.chartboost:chartboost-mediation-adapter-chartboost:4.9.8.1.0") + implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0") + implementation("com.squareup.okhttp3:logging-interceptor:4.10.0") + implementation("com.squareup.okhttp3:okhttp:4.10.0") + implementation("com.squareup.retrofit2:converter-scalars:2.9.0") + implementation("com.squareup.retrofit2:retrofit:2.9.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1") + + //Fyber + implementation("com.thinkup.sdk:adapter-tpn-fyber:6.5.36") + implementation("com.fyber:marketplace-sdk:8.3.7") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + +//Tramini + implementation("com.thinkup.sdk:tramini-plugin-tpn:6.5.36") + // Debugger UI Tools + implementation("com.thinkup.sdk:debugger-ui:1.1.2") + + //firebase + implementation(platform("com.google.firebase:firebase-bom:33.7.0")) + implementation("com.google.firebase:firebase-crashlytics") + implementation("com.google.firebase:firebase-analytics") + implementation("com.google.firebase:firebase-config") + + //upload + implementation ("com.squareup.okhttp3:okhttp:4.12.0") + implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") + + implementation ("com.google.android.gms:play-services-ads-identifier:18.0.1") diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..54ec518 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "16958905312", + "project_id": "ardrawingspacec", + "storage_bucket": "ardrawingspacec.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:16958905312:android:7db92dc45f5d5fb2f82985", + "android_client_info": { + "package_name": "com.draw.painting.line" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyB4FQIn9S3sfWa9EswDmgzX9p_LQzbM_JM" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/libs/TopOnLibrary_11_06_18_02-release.aar b/app/libs/TopOnLibrary_11_06_18_02-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..76472df4a8eb28fa763d0440dcfe4b00593722a6 GIT binary patch literal 22908 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 ^IhQJ8pr;+XW|n{+dc5-4 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 literal 0 HcmV?d00001 diff --git a/app/libs/UpLoadLibrary_12_03_15_13-release.aar b/app/libs/UpLoadLibrary_12_03_15_13-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..a3e30aacae042bf525f5eec498dbec4a8a476cf5 GIT binary patch literal 21581 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 BjSv6; literal 0 HcmV?d00001 diff --git a/app/release/baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm b/app/release/baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm deleted file mode 100644 index c587d4d723c6a6349c9ac3d22909d92f2c8d8200..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2089 zcmZ{ldoa_Fr-;I?hyi0UX z2Z&1gGZ~eWdq%mr`e?p}ZM@C`l)DDGk}PlTg6kL?at1eh+;@1fUD?WQ;C!+!T)kR& z!}v&QUPQu9y+zgF8g+i!Z>A?4#<@$|?XI_r^#VE8Ln=n?X|FSH={svzUXV- zL8|tb1trzPC71Cf#c!JO+T=fTajrDZa(|%S(!TvUM-hI{FPtAw7o3=IN+S;7_d8fA zB4wA2vlQiys)-)#>vYmGu+Tf;nVo}u^=58O@M)yG{*OY|j2QOVFqYCn;R*{xtCEl5 zxMSMHow+*YGAhWHOX;?w?RmfGeX6H;BX)IJ+$>joJ0(K#o=?C5pZ1>PcCC=d#IwXz z!MoZ%w}?1BYzLsosg@I2j47nPh#F6A*|_dw0dA9Y(@Dm8{QF*5x4PTmA|iTX6{g3+ zS7)ZK1zgRbxzx|&Ka~VZzV({4R?U)oj#&4^D~TT295Ri2vN1?$blh4+=8Hyr7-;W` zXg_JhzTM#sv%YE))cPkR(xH%uvt1LOQ`FY~qp^_W{;s8Crp^Qoep(~vJ(Y?rb zvHacaGdoQuIxBN`QB3$c$B1%9u7MHZZsL zx2N-qv%-`fvQ`rrmy?a)onx=}{VLX)KGSm9;+9tXig{L8{oTUee%&RtZ|1g*{PBO? zvtBvbfSA`5YOXhV?rvnhZJB!)AUr0KIwwvPC(2X=yOg^Ypkql5m_Le=aDj_F%^eMI zjTUBXO zWy(6SK^yD$Txr=aos{68A5FZ(KRG`nU&veB>D?F_25o%;M={@wPIYBU`$x>n-PN91mD7K4WV4 zveg{Fztw@NU^-IcH9wg6OeL7Du_|5Dz_`=1P6oS48Nmv(9EfeB13S!NXzsRe@LqBJ zD|Mxj2iuybF@?hh8nHEA5ACc>;n|dgf*0i342)raA}e}b3CzggA3iMvBg(5|O9_}^ z1N&tile$Aiyk)wERa*~KVXi%4M@P4<1zep$2{>9>2&M`~qo$u?30&Q|I_&mg0iHPJ zY*$eHn1x}RF?h>^)bDNA51(W}s9z!#CfN)+nx^>Piqb<_o2Lj(7*?rmc>|51u&+46 zc+&dF9uzAF>o4x4XD{b+9P=`Qp$nr)l?$^&%~?W!LibkN#`~EKxaPU~vG`ylH-}Y0 zTEB=UNp>mjAvC~3!poD^=IJ|rC_CCim7qXp#?rmK#Q2LsB-1S9ezB!Pl$2(PBCYz7I_dOI0sI#NwOOaz`Wc;A=33j zUN&@U9$xg_F&uEvy}z>Y0X(p%YJOa<)3@(L0)uj`r4Z&zy1I=zE(2c*b)qH3)#wAX za3xXha@!bWN%OtT25`Nw*wq6ClO@mY%C~|7fVnh1{x5R2Ny)JpIRwxQpt?aK698jl zQz<`~Qko1(d!j&852pMU2Ze%RmdM}kh=+2mlB$jJR=%W-+i~`rH50$KMW5!jwqGYd z{oe-rJ7=-l%p<8Y>pb&_YSz0Ck+8}G6j! zvlB9ROCx1v%I&J6x#;;~wny2sCfWR7ttT>Ky8I$A(`C0u%wSy) zu~9BaHqo^|w+P?70O^0NaO-Jdn*wjKZg diff --git a/app/release/baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm b/app/release/baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm new file mode 100644 index 0000000000000000000000000000000000000000..47a2cbfb2e4a9388695a3a05c40ef09aaaa4bbeb GIT binary patch literal 3336 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 literal 0 HcmV?d00001 diff --git a/app/release/baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm b/app/release/baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm deleted file mode 100644 index 4279350ce92f797d632c6e851b3410b3ee7b00fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2017 zcmZ{lc~sI_8^?dxxTB<^l1s~LGuD_2FKS6@rR^%jFT(JOEHZQ2*T%oZac1Klh*@W-!d<9CrGY?j7%+M^D}E zAb3OfpBtn;x$JiG>HhPTc{R3t>rcI_X~Y1rvwU$dmA_7#S$}ox{rgp7L1!J~as(q7 zGC2E&olP`hvqfc|te|E_sTJ`rx|#*VLXW$Zd~ms*@#k_EO??0pF6=_*@uv>HS7{Qu zVf1GkJ7PC&ph80+S+V=}^o~{R5Ez}QpS!6|eSl1DO?CJn%}-`(t>xoss<9l>PkJCwIOk^#cP!J^|T~3-Q?vVis?rL zTCIoyw^1dj;=Yf`N@m)&mmUaRQ9vqH)6;x1jIDwH4}**7UYh zI}RShyU>&^w77NSx~C&W7gwkEd6T#+jUTUD)REjwYUYq;`YuYrUUd636SyITC9&i;i4Ui>Eq^0dfF{`Q+jrOUe+~f7!nQ% zcyk}2jH+0#Kx;gLB`;aOh~Ne@SBG66MjD9zY*JZa_Ju8se>`gk$M0L$@o(#qqy1K! zY2wp)Q^kjZGYX1py#i`5&PlUL!BBPrRu}3WVsyBCJ&5pSqJDT0?j3te+Pif)IZUB(Fx~c9_d9Sb6(U_hBPWJ*hF7IIIUb1&NZRJ^yXnKQmtW@Z z))@p9eDI;4r7*3+D`WR^SG$dcD0NuO&PO*kowl^GjBv1jlZ~#xV>4h-+pcJ8V)V6}U(t{)4}^Q7 zGxNF51WGrM>P;7h2)5&d^T}0oDuh#*zKCW8I#!0GbeSU-Hq6P-(U8}kWlTHptH#om zT0zaoQTBT_&q9Zy` z{~368eG=<$uR$AZke9jG^MZM)esP$eq@yroB!_di8_lE?P41(?2_-=j_T7m=MN}h3 zeu9QoSy=C8@YRu;Ijp0iQj$vK(5&p6pOgjm|Dr1V`{&I>v1*msO6_^OSe`IP7J=8f+_Y}<0<5bh-rd0DztxtXO3{y9 z{*1l@fmv1HEx8J|#QVy&1k^}$$Rli7QLR$u0hA=^W~*m7eyr^Ad!%A(9)Wt^wk60( zl%7L+H7hUTfm6O(CFpO__#zu}LKav@kQ@~Fo2%d2_?4^w)VGxV_seg)ezo~;nJD~| W&t$BlyzB}9EdiozMCcZBK diff --git a/app/release/baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm b/app/release/baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm new file mode 100644 index 0000000000000000000000000000000000000000..997cd35cd87d5aa471aa47fd8539535caa5870a0 GIT binary patch literal 3240 zcma)93p5ja8=uIf>7_R*#q^d-BG;1ZyyaFcmu_-dF3ILL3}dcK)W~I|$gRC!BNal{ zn1v$Eb&?`xMl7F=k-LrU)Ayb4ynUVC@4V0d_niN8&U2ps|9^hZbN=Uf93i4&asWw5 zNq|9+DirXYNN?I9p?(Oj&?xPY&|sK|)i%n~rUB5^(*=lq5ElU$Yy$w$A~QvZH0UJ- zDn74>p_J=q$_NU8P*AS2nwjT)tBE(GAtbJiX8$Rb*YS^0y$1?zyNG?bCiK z9!#1|7Bb0Uv)AyZk(E_phO62&?C!`#CZ>Jbz!DDvHNw&3qvkTX<$(pEFjJgxK3`DJ ze&h^~Xvo{nTy8wRJb)_jW}MlV#HC=PAr$vY^6*K9VVh}IYMW@=)`{E&n9`m};}85H zZv~X>Ao%5m6l?I88n~lSmyJlth=zsZItt!7r}5fLP9ZIA3hfm^oc!f>(zOk!9G>CcUg0yM~pqVI%yA6;04Jl4~+M z-l*Y?$<40DO~p}m=JAo{4NM0V2-9uV;=X*+$B+V17Ox+cjxp+K)XSF>H`aQO*g- z^5c{{M_O%F@T5E~0^J>>&M1bQzH&qQ|<3YW{Wrp7JX?)E-Y ze?kdfd3{GP#W$Qdx|41JRSvwHg>+ZjL8R3}i_=Q7WM zQ8urIL@F*ye9MWdS}`D2C;ayFs-*CvvFULbKu+mcKnuv-OW%QFt?N z#=FqGi>MlqOs|&VX<3Z`_mm~?eE~(meG-zqxMKt+2>fvO&g*rW69y!Jd!I{b8$85W(>xR)yyQ>Bhr+iQ(b zg5|cXH{MuLBJH5OOJSJYG|xB>rnc-qW7a5eNWprR$-y+E#CmSZ^{aKv;&$2{n@d-^ zVe>lH|M(SDs`Y%@o)Y!i=n5YN*OC(VGdtQ;LaG~9t<-Vv9$dft%BZ3>FT8f}L@F4b5U4m>@0i-&rxRB+wS`wLrZ_#K$31lD2qHh2KL#b@lz zz20b}*6pN!TEJp*P}0LI&LQzttDXYSxyoZ66q@$kMrY|9Oc)|*Y_2q8LYe0uMg2!J z!>z^E-Rxro_ojF0>ZR-{R%C(FbLIm5R=QksZH5@>>gpnFU7_@Lz~!6Foh`?~Z94vE z4(#9Zf3Wj6$Gqfoj7Q7r%zEG3FKU6@7ol!5BfH8xnwi~+83eeNw9Z8nEi)7kjq3F+ zdj`C;a)uZtJr`qwC+D`4lE_!0NK{}HhoY9XML#7dzC=#;n57y+mUUueFU8hNEDVi@^)dDkByF*#* zz}CQA+Pp8uh`wgMaDj;VOrLX5hQI%6h1jL(7kifi3ct?5ryxYaHB9gD?VkpAnru3 zK=SU0)$d||3C|m1hj$VoU5|dnwu8KG5jNDd%Qs)svm1xMM6>{|785oI*|=pLC!$64 zA2#=2h@ku57N#yQ$Vx>th-(G|pJ8$p{LhjjQw_1=TnQzy*p`oBn;ZzMW#l4le+4V8V(p3J_huwNm%n|l8 zLLmo*(S}bsyqsG*x2$Poob^d&NOwK(O=YYwMPNRV=^*sWzzgx^oSNm(ut`d!3(EwZfwNj=tIg&0w7rzo)(mriJHzHC7j{n3Bxcb#TRpCMKS<&Vm7f)Qh=P<@E>df| z>W@x4$s`H=mMXh)cthRb!KW)W!Y9108Pk>m_|)F#+}gV6ZDA$K0^s%>PUh)rI-tB) z>Z*ZYWr?*ll>}3-i(E@pD|e%FD_=BKB~*9Fiu^q!L|JGKT;$P6xr%6UQ) z(X_Z_pY6~aw$C-ZtQh50uSZylTFOjQP&F`zFS#8>pFQ${sNs%Aegr?ZxxDqiG#`=Arg{B?o+|1H`_<6O?CXs7Iga$Ehs|7Ris1^5{dxm>gof; z00~>jo2oc#L2l#V5_&#gj#)JQr m?}vpSBfmfOTUP&+#LWu$J`&*w*((0cy=8NuHg~0e-}Eo0i~PC( literal 0 HcmV?d00001 diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index d3f3a02..ab6b5ee 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,9 +11,9 @@ "type": "SINGLE", "filters": [], "attributes": [], - "versionCode": 1, - "versionName": "1.0", - "outputFile": "Ar Drawing Space_V1.0(1)_12_17_11_29-release.apk" + "versionCode": 3, + "versionName": "3.1", + "outputFile": "Ar Drawing Space_V3.1(3)_01_05_13_51-release.apk" } ], "elementType": "File", @@ -22,14 +22,14 @@ "minApi": 28, "maxApi": 30, "baselineProfiles": [ - "baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm" + "baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm" ] }, { "minApi": 31, "maxApi": 2147483647, "baselineProfiles": [ - "baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm" + "baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm" ] } ], diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ed0a7fb..48a7aee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ + + + + + + + null); + AdManager.INSTANCE.init(TAG,app,"h695a24ac29479","a3d7e73522fa3eef29c138c2a7b798ffa", + "d0a434af69020f58cd1c246da4adb0630eb18a02", + "n695a24d9be227", + "n695a24d979a2b", + "n695a24d9334a8",false);//测试开true + Log.d(TAG, "onCreate: sdk init success"); } diff --git a/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java b/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java index fc71c11..4ba9271 100644 --- a/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java +++ b/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java @@ -267,7 +267,7 @@ public class DeerVectorDrawView extends View { isAnimating = true; mainAnimator = ValueAnimator.ofFloat(0f, 1f); - mainAnimator.setDuration(2200); // 总时长 2.2 秒 + mainAnimator.setDuration(12000); // 总时长 2.2 秒 mainAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); mainAnimator.addUpdateListener(animation -> { animationProgress = (float) animation.getAnimatedValue(); diff --git a/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java b/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java index 537093c..cf8311c 100644 --- a/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java @@ -36,10 +36,11 @@ import android.widget.ImageView; import android.widget.SeekBar; import android.widget.Toast; -import com.google.common.util.concurrent.ListenableFuture; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.DrawingApp; import com.draw.painting.line.R; import com.draw.painting.line.manager.AppHelper; +import com.google.common.util.concurrent.ListenableFuture; import java.io.File; import java.io.IOException; @@ -82,6 +83,8 @@ public class DrawActivity extends AppCompatActivity implements View.OnTouchListe protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AppHelper.enableEdgeToEdge(this); + AdManager.loadAllAd(); + AdManager.showTopOn(this, () -> {}); setContentView(R.layout.activity_draw); previewView = findViewById(R.id.preview); imageView = findViewById(R.id.image); @@ -184,7 +187,7 @@ public class DrawActivity extends AppCompatActivity implements View.OnTouchListe @Override public void onClick(View v) { if (v.equals(imBack)) { - finish(); + AdManager.showTopOn(this, () -> { finish();}); } else { if (!hasPermission) { showNoPermission(); @@ -194,9 +197,11 @@ public class DrawActivity extends AppCompatActivity implements View.OnTouchListe if (camera == null) { return; } - boolean selected = flashIm.isSelected(); - flashIm.setSelected(!selected); - camera.getCameraControl().enableTorch(!selected); + AdManager.showTopOn(this, () -> { + boolean selected = flashIm.isSelected(); + flashIm.setSelected(!selected); + camera.getCameraControl().enableTorch(!selected); + }); } else if (v.equals(imPhoto)) { pickImageLauncher.launch( new PickVisualMediaRequest.Builder() diff --git a/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java b/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java index 2ab3578..8a9e16d 100644 --- a/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java @@ -8,6 +8,7 @@ import android.graphics.Bitmap; import android.os.Bundle; import android.view.View; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.DrawingApp; import com.draw.painting.line.adapter.ImageListAdapter; import com.draw.painting.line.databinding.ActivityGalleryBinding; @@ -50,6 +51,8 @@ public class GalleryActivity extends AppCompatActivity { AppHelper.enableEdgeToEdge(this); preViewBinding = ActivityGalleryBinding.inflate(getLayoutInflater()); setContentView(preViewBinding.getRoot()); + AdManager.loadAllAd(); + AdManager.showTopOn(this, () -> {}); // AppHelper.setupWindowInsetsListener(preViewBinding.getRoot()); AppHelper.setupBottomNavPadding(preViewBinding.getRoot()); @@ -117,7 +120,7 @@ public class GalleryActivity extends AppCompatActivity { preViewBinding.back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - finish(); + AdManager.showTopOn(GalleryActivity.this, () -> {finish();}); } }); } diff --git a/app/src/main/java/com/draw/painting/line/ui/MainActivity.java b/app/src/main/java/com/draw/painting/line/ui/MainActivity.java index 74fd101..f481c72 100644 --- a/app/src/main/java/com/draw/painting/line/ui/MainActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/MainActivity.java @@ -13,6 +13,7 @@ import androidx.fragment.app.Fragment; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.R; import com.draw.painting.line.databinding.ActivityMainBinding; import com.draw.painting.line.manager.AppHelper; diff --git a/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java b/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java index 2e53e10..42e33a8 100644 --- a/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java @@ -6,29 +6,37 @@ import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.content.Intent; import android.os.Bundle; +import android.os.CountDownTimer; import android.os.Handler; import android.view.ViewGroup; import androidx.appcompat.app.AppCompatActivity; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.databinding.ActivitySplashBinding; import com.draw.painting.line.manager.AppHelper; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function1; + public class SplashActivity extends AppCompatActivity { private ActivitySplashBinding binding; private Handler handler = new Handler(); private boolean isAnimationComplete = false; + private CountDownTimer countDownTimer; + private static final long SPLASH_TIME_OUT = 15000; // 总时长15秒 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - + AppHelper.enableEdgeToEdge(this); binding = ActivitySplashBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); AppHelper.setupWindowInsetsListener(binding.getRoot()); - + // 等待布局完成后再启动动画 binding.getRoot().post(new Runnable() { @Override @@ -39,86 +47,97 @@ public class SplashActivity extends AppCompatActivity { } private void startLaunchAnimation() { + countDownTimer = AdManager.showWelcomeAd(this, SPLASH_TIME_OUT, new Function1() { + @Override + public Unit invoke(Long aLong) { + int progressPercentage = (int) ((100 * aLong) / SPLASH_TIME_OUT); + int Percentage = 100 - progressPercentage; + binding.progressbar.setProgress(Percentage); + return null; + } + + }, new Function0() { + @Override + public Unit invoke() { + Intent intent = new Intent(SplashActivity.this, MainActivity.class); + startActivity(intent); + finish(); + return null; + } + }); + countDownTimer.start(); // 启动鹿的绘制动画(使用XML Vector Drawable路径) binding.deerView.startAnimation(); - + // 同步加载条:0-80% 与鹿的动画同步 // 新版可爱小鹿动画总时长 2.2s,加载条在鹿画到约80%时到达80% - animateProgressBar(0f, 0.8f, 2200, new Runnable() { - @Override - public void run() { - // 等待真实加载完成(这里可以添加实际的加载逻辑) - waitForLoading(); - } - }); +// animateProgressBar(0f, 0.8f, 15000, new Runnable() { +// @Override +// public void run() { +// // 等待真实加载完成(这里可以添加实际的加载逻辑) +// waitForLoading(); +// } +// }); } - private void animateProgressBar(float from, float to, long duration, Runnable onComplete) { - ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); - int maxWidth = binding.progressContainer.getWidth(); - - ValueAnimator animator = ValueAnimator.ofFloat(from, to); - animator.setDuration(duration); - animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - float progress = (float) animation.getAnimatedValue(); - params.width = (int) (maxWidth * progress); - binding.progressBar.setLayoutParams(params); - } - }); - - if (onComplete != null) { - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - onComplete.run(); - } - }); - } - - animator.start(); - } +// private void animateProgressBar(float from, float to, long duration, Runnable onComplete) { +// ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); +// int maxWidth = binding.progressContainer.getWidth(); +// +// ValueAnimator animator = ValueAnimator.ofFloat(from, to); +// animator.setDuration(duration); +// animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { +// @Override +// public void onAnimationUpdate(ValueAnimator animation) { +// float progress = (float) animation.getAnimatedValue(); +// params.width = (int) (maxWidth * progress); +// binding.progressBar.setLayoutParams(params); +// } +// }); +// +// if (onComplete != null) { +// animator.addListener(new AnimatorListenerAdapter() { +// @Override +// public void onAnimationEnd(Animator animation) { +// onComplete.run(); +// } +// }); +// } +// +// animator.start(); +// } - private void waitForLoading() { - // 模拟等待真实加载(实际项目中这里应该是真实的加载逻辑) - handler.postDelayed(new Runnable() { - @Override - public void run() { - completeLoading(); - } - }, 500); // 等待500ms - } - private void completeLoading() { - if (isAnimationComplete) return; - isAnimationComplete = true; - - // 快速完成加载条到100% - ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); - int maxWidth = binding.progressContainer.getWidth(); - - ValueAnimator animator = ValueAnimator.ofFloat(0.8f, 1.0f); - animator.setDuration(200); - animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - float progress = (float) animation.getAnimatedValue(); - params.width = (int) (maxWidth * progress); - binding.progressBar.setLayoutParams(params); - } - }); - - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - // 0.2s 淡出 - fadeOutAndEnter(); - } - }); - - animator.start(); - } + +// private void completeLoading() { +// if (isAnimationComplete) return; +// isAnimationComplete = true; +// +// // 快速完成加载条到100% +// ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); +// int maxWidth = binding.progressContainer.getWidth(); +// +// ValueAnimator animator = ValueAnimator.ofFloat(0.8f, 1.0f); +// animator.setDuration(200); +// animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { +// @Override +// public void onAnimationUpdate(ValueAnimator animation) { +// float progress = (float) animation.getAnimatedValue(); +// params.width = (int) (maxWidth * progress); +// binding.progressBar.setLayoutParams(params); +// } +// }); +// +// animator.addListener(new AnimatorListenerAdapter() { +// @Override +// public void onAnimationEnd(Animator animation) { +// // 0.2s 淡出 +// fadeOutAndEnter(); +// } +// }); +// +// animator.start(); +// } private void fadeOutAndEnter() { ObjectAnimator fadeOut = ObjectAnimator.ofFloat(binding.getRoot(), "alpha", 1f, 0f); diff --git a/app/src/main/res/drawable/progress_fill.xml b/app/src/main/res/drawable/progress_fill.xml index 0ed4505..fd0251c 100644 --- a/app/src/main/res/drawable/progress_fill.xml +++ b/app/src/main/res/drawable/progress_fill.xml @@ -1,7 +1,21 @@ - - - - - + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml index 05859bd..ee048bf 100644 --- a/app/src/main/res/layout/activity_splash.xml +++ b/app/src/main/res/layout/activity_splash.xml @@ -46,19 +46,30 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"> - - + + + + + + + + + + + + + + android:layout_centerHorizontal="true" + android:max="100" + android:progress="1" + android:progressDrawable="@drawable/progress_fill" + android:layout_marginTop="1dp"/> - - diff --git a/app/src/main/res/xml/net.xml b/app/src/main/res/xml/net.xml new file mode 100644 index 0000000..0ac6102 --- /dev/null +++ b/app/src/main/res/xml/net.xml @@ -0,0 +1,6 @@ + + + + mobile-server.lux-ad.com + + diff --git a/build.gradle.kts b/build.gradle.kts index c003a82..b937ed7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,4 +2,6 @@ plugins { id("com.android.application") version "8.11.1" apply false id("org.jetbrains.kotlin.android") version "2.2.21" apply false + id("com.google.gms.google-services") version "4.4.2" apply false + id ("com.google.firebase.crashlytics") version "3.0.2" apply false } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 3e927b1..d703cac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 21e1348..7b99b74 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Dec 15 10:39:56 CST 2025 +#Sun Jan 04 17:49:22 CST 2026 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle.kts b/settings.gradle.kts index b9361e9..b3cd4ff 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,6 +10,28 @@ dependencyResolutionManagement { repositories { google() mavenCentral() +// flatDir { +// dirs("libs") +// } + + //TU(Core) + maven ( "https://jfrog.anythinktech.com/artifactory/overseas_sdk") + + //Ironsource + maven ( "https://android-sdk.is.com/") + + //Pangle + maven ("https://artifact.bytedance.com/repository/pangle") + + //Mintegral + maven ("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") + + //Chartboost + maven ( "https://cboost.jfrog.io/artifactory/chartboost-ads") + maven ("https://cboost.jfrog.io/artifactory/chartboost-mediation") + + //TopOn集成测试工具 + maven ( "https://jfrog.anythinktech.com/artifactory/debugger") } }