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")
}
}