diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5648cf6..5d7efb1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -4,18 +4,20 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) id("io.objectbox") + id ("com.google.gms.google-services") + id ("com.google.firebase.crashlytics") } val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) android { namespace = "com.newapp.paperwall" - compileSdk = 35 + compileSdk = 36 defaultConfig { applicationId = "com.newapp.paperwall" minSdk = 24 - targetSdk = 35 - versionCode = 2 - versionName = "1.1" + targetSdk = 36 + versionCode = 3 + versionName = "1.2" setProperty( "archivesBaseName", "Photo Wallpaper_V" + versionName + "(${versionCode})_$timestamp" @@ -61,4 +63,90 @@ dependencies { implementation(libs.objectbox.android) annotationProcessor(libs.objectbox.processor) implementation(libs.okhttp) + + + 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") + implementation(files("libs/TopOnLibrary_06_27_16_00-release.aar")) + implementation(files("libs/UpLoadLibrary_07_03_11_54-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.4.90") + implementation("com.thinkup.sdk:nativead-tpn:6.4.90") + implementation("com.thinkup.sdk:banner-tpn:6.4.90") + implementation("com.thinkup.sdk:interstitial-tpn:6.4.90") + implementation("com.thinkup.sdk:rewardedvideo-tpn:6.4.90") + implementation("com.thinkup.sdk:splash-tpn:6.4.90") + + //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.4.90") + implementation("com.startapp:inapp-sdk:5.0.2") + + //Vungle + implementation("com.thinkup.sdk:adapter-tpn-vungle:6.4.90") + 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.4.90") + implementation("com.unity3d.ads:unity-ads:4.14.0") + + //Ironsource + implementation("com.thinkup.sdk:adapter-tpn-ironsource:6.4.90") + implementation("com.ironsource.sdk:mediationsdk:8.7.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.4.90") + implementation("com.bigossp:bigo-ads:5.3.0") + + //Pangle + implementation("com.thinkup.sdk:adapter-tpn-pangle:6.4.90.1") + implementation("com.pangle.global:pag-sdk:7.2.0.6") + implementation("com.google.android.gms:play-services-ads-identifier:18.2.0") + + //Inmobi + implementation("com.thinkup.sdk:adapter-tpn-inmobi:6.4.90") + implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.2") + + //Mintegral + implementation("com.thinkup.sdk:adapter-tpn-mintegral:6.4.90") + implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71") + implementation("androidx.recyclerview:recyclerview:1.1.0") + + //Chartboost + implementation("com.thinkup.sdk:adapter-tpn-chartboost:6.4.90") + 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.4.90") + 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.4.90") + + // Debugger UI Tools + implementation("com.anythink.sdk:debugger-ui:1.1.0") + + //----------------------------------------------TopOn } \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..1cb9ba7 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "252905247063", + "project_id": "photo-wallpaper-b5396", + "storage_bucket": "photo-wallpaper-b5396.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:252905247063:android:2dac4395ee7f1aba4e2e12", + "android_client_info": { + "package_name": "com.newapp.paperwall" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyA-gQ0GMnCTk69651FvzbzkBWak7u4kdFY" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/libs/TopOnLibrary_06_27_16_00-release.aar b/app/libs/TopOnLibrary_06_27_16_00-release.aar new file mode 100644 index 0000000..2500938 Binary files /dev/null and b/app/libs/TopOnLibrary_06_27_16_00-release.aar differ diff --git a/app/libs/UpLoadLibrary_07_03_11_54-release.aar b/app/libs/UpLoadLibrary_07_03_11_54-release.aar new file mode 100644 index 0000000..5a50672 Binary files /dev/null and b/app/libs/UpLoadLibrary_07_03_11_54-release.aar differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 760d78a..9a170e6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,7 +6,7 @@ - + + + + + + + + + { - if (dialogType == null) { - dialogType = new SettingDialog(); - dialogType.setListener(DetailActivity.this); - } - if (!dialogType.isAdded()) { - dialogType.show(getSupportFragmentManager(), ""); - } + + + AdManager.showTopOn(DetailActivity.this, new onActionListener() { + @Override + public void onAction() { + if (dialogType == null) { + dialogType = new SettingDialog(); + dialogType.setListener(DetailActivity.this); + } + if (!dialogType.isAdded()) { + dialogType.show(getSupportFragmentManager(), ""); + } + } + }); + + + }); vb.imageFavorite.setOnClickListener(v -> { - boolean selected = vb.imageFavorite.isSelected(); - vb.imageFavorite.setSelected(!selected); - boolean selectedNew = vb.imageFavorite.isSelected(); - data.setLike(selectedNew); - DbManager.updateLike(data); + + AdManager.showTopOn(DetailActivity.this, new onActionListener() { + @Override + public void onAction() { + boolean selected = vb.imageFavorite.isSelected(); + vb.imageFavorite.setSelected(!selected); + boolean selectedNew = vb.imageFavorite.isSelected(); + data.setLike(selectedNew); + DbManager.updateLike(data); + } + }); + }); vb.layoutDownload.setOnClickListener(v -> { @@ -178,7 +205,13 @@ public class DetailActivity extends AppCompatActivity implements DialogListener if (!permission) { return; } - startSaveToAlbum(); + AdManager.showTopOn(DetailActivity.this, new onActionListener() { + @Override + public void onAction() { + startSaveToAlbum(); + } + }); + }); } diff --git a/app/src/main/java/com/newapp/paperwall/uiview/SearchActivity.java b/app/src/main/java/com/newapp/paperwall/uiview/SearchActivity.java index 636d5f5..c275207 100644 --- a/app/src/main/java/com/newapp/paperwall/uiview/SearchActivity.java +++ b/app/src/main/java/com/newapp/paperwall/uiview/SearchActivity.java @@ -15,6 +15,8 @@ import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.GridLayoutManager; +import com.ad.toponlibrary.AdManager; +import com.ad.toponlibrary.onActionListener; import com.newapp.paperwall.BaseApp; import com.newapp.paperwall.R; import com.newapp.paperwall.adapter.ThreeLinesAdapter; @@ -39,7 +41,14 @@ public class SearchActivity extends AppCompatActivity implements OnItemClickList UiUtils.initFull(this, true); setContentView(vb.getRoot()); initList(); + AdManager.loadAllAd(); setBack(); + AdManager.showTopOn(this, new onActionListener() { + @Override + public void onAction() { + + } + }); } @Override @@ -134,7 +143,14 @@ public class SearchActivity extends AppCompatActivity implements OnItemClickList private void setBack() { vb.imgBack.setOnClickListener(v -> { - finish(); + + AdManager.showTopOn(SearchActivity.this, new onActionListener() { + @Override + public void onAction() { + finish(); + } + }); + }); } diff --git a/app/src/main/java/com/newapp/paperwall/uiview/StartActivity.java b/app/src/main/java/com/newapp/paperwall/uiview/StartActivity.java index 25e7815..215525e 100644 --- a/app/src/main/java/com/newapp/paperwall/uiview/StartActivity.java +++ b/app/src/main/java/com/newapp/paperwall/uiview/StartActivity.java @@ -7,15 +7,20 @@ import android.os.CountDownTimer; import androidx.appcompat.app.AppCompatActivity; +import com.ad.toponlibrary.AdManager; import com.newapp.paperwall.databinding.ActivityStartBinding; import com.newapp.paperwall.tools.UiUtils; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function1; + public class StartActivity extends AppCompatActivity { private CountDownTimer countDownTimer; private ActivityStartBinding vb; - private long totalTime = 1600; + private long totalTime = 12000; @SuppressLint("MissingInflatedId") @Override @@ -25,43 +30,25 @@ public class StartActivity extends AppCompatActivity { UiUtils.initFull(this,true); setContentView(vb.getRoot()); - - countDownTimer = new CountDownTimer(totalTime,100) { + countDownTimer = AdManager.showWelcomeAd(this, totalTime, new Function1() { @Override - public void onTick(long millisUntilFinished) { - int progressPercentage = (int) ((100 * millisUntilFinished) / totalTime); + public Unit invoke(Long aLong) { + int progressPercentage = (int) ((100 * aLong) / totalTime); int countdownPercentage = 100 - progressPercentage; vb.progressbar.setProgress(countdownPercentage); + return null; } - + }, new Function0() { @Override - public void onFinish() { + public Unit invoke() { vb.progressbar.setProgress(100); Intent intent = new Intent(StartActivity.this, MainActivity.class); startActivity(intent); finish(); + return null; } - }; - -// countDownTimer = AdManager.showWelcomeAd(this, totalTime, new CountAction() { -// @Override -// public void onCount(long millisUntilFinished) { -// int progressPercentage = (int) ((100 * millisUntilFinished) / totalTime); -// -// int countdownPercentage = 100 - progressPercentage; -// -// vb.progressbar.setProgress(countdownPercentage); -// } -// }, new GoMainAction() { -// @Override -// public void onGo() { -// vb.progressbar.setProgress(100); -// Intent intent = new Intent(WElActivity.this, HomeActivity.class); -// startActivity(intent); -// finish(); -// } -// }); + }); countDownTimer.start(); } diff --git a/app/src/main/res/drawable/splash_pb.xml b/app/src/main/res/drawable/splash_pb.xml new file mode 100644 index 0000000..fcc6229 --- /dev/null +++ b/app/src/main/res/drawable/splash_pb.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_start.xml b/app/src/main/res/layout/activity_start.xml index 3ee5992..6c1f1c2 100644 --- a/app/src/main/res/layout/activity_start.xml +++ b/app/src/main/res/layout/activity_start.xml @@ -32,16 +32,19 @@ + android:layout_marginStart = "25dp" + android:layout_marginEnd = "25dp" + android:progress="1" + android:indeterminateTint="#FFB6C1" /> + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f8c6127..ed92410 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -7,4 +7,5 @@ #FF018786 #FF000000 #FFFFFFFF + #616161 \ No newline at end of file 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 697b03c..7507d7f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,8 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) 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 } buildscript { dependencies { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 14f486e..bd6fbc7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.10.1" +agp = "8.6.0" blurview = "2.0.6" glide = "4.15.1" compiler = "4.15.1" diff --git a/settings.gradle.kts b/settings.gradle.kts index 907cf9f..dfad0fd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,6 +16,25 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + + //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") } }