diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index bfac3fa..01aa371 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -6,6 +6,8 @@ plugins {
id("org.jetbrains.kotlin.android")
id("io.objectbox")
kotlin("kapt")
+ id("com.google.gms.google-services")
+ id("com.google.firebase.crashlytics")
}
// 生成时间戳(保持原有格式,但后续文件名中不包含特殊字符)
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
@@ -18,8 +20,8 @@ android {
applicationId = "com.photo.house.wallpapers"
minSdk = 24
targetSdk = 36
- versionCode = 2
- versionName = "1.1"
+ versionCode = 3
+ versionName = "3.0"
setProperty("archivesBaseName", "House Wallpapers_V" + versionName + "(${versionCode})_$timestamp")
@@ -60,5 +62,97 @@ dependencies {
implementation("androidx.test.ext:junit:1.3.0")
testImplementation("junit:junit:4.13.2")
implementation("jp.wasabeef:glide-transformations:4.3.0") // Glide图片变换库
- implementation("com.squareup.okhttp3:okhttp:5.3.1")
+// implementation("com.squareup.okhttp3:okhttp:5.3.1")
+
+ //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")
+
+ //topon和upload
+ implementation(files("libs/TopOnLibrary_11_06_18_02-release.aar"))
+ implementation(files("libs/UpLoadLibrary_12_03_15_13-release.aar"))
+
+ 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")
+
+ //-----------------------------------------------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..bc22668
--- /dev/null
+++ b/app/google-services.json
@@ -0,0 +1,29 @@
+{
+ "project_info": {
+ "project_number": "1099330098288",
+ "project_id": "housewallpapers-efa90",
+ "storage_bucket": "housewallpapers-efa90.firebasestorage.app"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:1099330098288:android:ef29ba7d763650d91490b5",
+ "android_client_info": {
+ "package_name": "com.photo.house.wallpapers"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyB4UKR0DjH3Kp0GORtdvLScYnKo_pYJBj8"
+ }
+ ],
+ "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 0000000..76472df
Binary files /dev/null and b/app/libs/TopOnLibrary_11_06_18_02-release.aar differ
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 0000000..a3e30aa
Binary files /dev/null and b/app/libs/UpLoadLibrary_12_03_15_13-release.aar differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 45534e0..bd49a47 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
+
+
+
+
+
null);
+ AdManager.INSTANCE.init(TAG,app,"h69312a043bef5","a2f0c6303ec5c5423fa21b8dd9a7ea477",
+ "25e138876a3743aa9037e82dff40dcb657df7a6d",
+ "n69312a30b85ce",
+ "n69312a314dafe",
+ "n69312a319da17",false);
ObectManager.init(this);
executor = Executors.newFixedThreadPool(8);
String[] names = {wallpaperName, animasName, exName, filmName, natureName, pattName, streetName, travelName};
diff --git a/app/src/main/java/com/house/wallpapers/myactivity/FirstActivity.java b/app/src/main/java/com/house/wallpapers/myactivity/FirstActivity.java
index ef37030..d85afe3 100644
--- a/app/src/main/java/com/house/wallpapers/myactivity/FirstActivity.java
+++ b/app/src/main/java/com/house/wallpapers/myactivity/FirstActivity.java
@@ -2,6 +2,7 @@ package com.house.wallpapers.myactivity;
import android.content.Intent;
import android.os.Bundle;
+import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Looper;
import android.widget.ProgressBar;
@@ -12,16 +13,23 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
+import com.ad.toponlibrary.AdManager;
import com.google.android.material.color.DynamicColors;
import com.house.wallpapers.R;
import com.house.wallpapers.mytool.Comutils;
+import kotlin.Unit;
+import kotlin.jvm.functions.Function0;
+import kotlin.jvm.functions.Function1;
+
public class FirstActivity extends AppCompatActivity {
- private static final long SPLASH_TIME_OUT = 5000; // 总时长5秒
+ private static final long SPLASH_TIME_OUT = 13000; // 总时长13秒
private static final long PROGRESS_INTERVAL = 50; // 进度更新间隔(毫秒)
private ProgressBar progressBar;
private TextView tvProgress;
private int currentProgress = 0;
+ private CountDownTimer countDownTimer;
+
private Handler handler;
@Override
@@ -45,21 +53,26 @@ public class FirstActivity extends AppCompatActivity {
}
private void startProgressUpdate() {
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- currentProgress++;
- progressBar.setProgress(currentProgress);
- tvProgress.setText(currentProgress + "%");
- if (currentProgress < 100) {
- handler.postDelayed(this, PROGRESS_INTERVAL);
- } else {
- Intent intent = new Intent(FirstActivity.this, HomeActivity.class);
- startActivity(intent);
- finish();
- }
- }
- }, PROGRESS_INTERVAL);
+ 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;
+ progressBar.setProgress(Percentage);
+ tvProgress.setText(Percentage + "%");
+ return null;
+ }
+
+ }, new Function0() {
+ @Override
+ public Unit invoke() {
+ Intent intent = new Intent(FirstActivity.this, HomeActivity.class);
+ startActivity(intent);
+ finish();
+ return null;
+ }
+ });
+ countDownTimer.start();
}
@Override
diff --git a/app/src/main/java/com/house/wallpapers/myactivity/HomeActivity.java b/app/src/main/java/com/house/wallpapers/myactivity/HomeActivity.java
index 56321da..def1276 100644
--- a/app/src/main/java/com/house/wallpapers/myactivity/HomeActivity.java
+++ b/app/src/main/java/com/house/wallpapers/myactivity/HomeActivity.java
@@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
+import com.ad.toponlibrary.AdManager;
import com.house.wallpapers.R;
import com.house.wallpapers.databinding.ActivityHomeBinding;
import com.house.wallpapers.myfragment.FragmentFavorite;
@@ -50,6 +51,7 @@ public class HomeActivity extends AppCompatActivity implements View.OnClickListe
initFragments();
initTabViews();
initViewPager2();
+ AdManager.loadAllAd();
initSearchClickListener();
updateTabState(currentTabPosition);
updateTitle(currentTabPosition);
diff --git a/app/src/main/java/com/house/wallpapers/myactivity/MyListActivity.java b/app/src/main/java/com/house/wallpapers/myactivity/MyListActivity.java
index 771697f..8e90fef 100644
--- a/app/src/main/java/com/house/wallpapers/myactivity/MyListActivity.java
+++ b/app/src/main/java/com/house/wallpapers/myactivity/MyListActivity.java
@@ -7,6 +7,8 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.ad.toponlibrary.AdManager;
+import com.ad.toponlibrary.onActionListener;
import com.house.wallpapers.adapter.OnItemclick;
import com.house.wallpapers.databinding.ActivityMyListBinding;
import com.house.wallpapers.mybean.Data;
@@ -31,13 +33,10 @@ public class MyListActivity extends AppCompatActivity implements OnItemclick {
Comutils.initFull(this, false);
categoryName = getIntent().getStringExtra(key_index);
vb.name.setText(categoryName);
+ AdManager.loadAllAd();
+ AdManager.showTopOn(this, () -> {});
initList();
- vb.imageviewBack.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
+ vb.imageviewBack.setOnClickListener(v -> finish());
}
private void initList() {
diff --git a/app/src/main/java/com/house/wallpapers/myactivity/MySearchActivity.kt b/app/src/main/java/com/house/wallpapers/myactivity/MySearchActivity.kt
index 48c1dc6..cbb1010 100644
--- a/app/src/main/java/com/house/wallpapers/myactivity/MySearchActivity.kt
+++ b/app/src/main/java/com/house/wallpapers/myactivity/MySearchActivity.kt
@@ -9,11 +9,14 @@ import android.widget.TextView.OnEditorActionListener
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager
+import com.ad.toponlibrary.AdManager.loadAllAd
+import com.ad.toponlibrary.AdManager.showTopOn
+import com.ad.toponlibrary.onActionListener
import com.house.wallpapers.R
import com.house.wallpapers.adapter.OnItemclick
import com.house.wallpapers.databinding.ActivitySearchBinding
-import com.house.wallpapers.myitem.Itemlist
import com.house.wallpapers.mybean.Data
+import com.house.wallpapers.myitem.Itemlist
import com.house.wallpapers.mytool.Comutils
import com.house.wallpapers.mytool.Itemhelper
import com.house.wallpapers.mytool.ObectManager
@@ -27,6 +30,7 @@ class MySearchActivity : AppCompatActivity() ,
binding = ActivitySearchBinding.inflate(layoutInflater)
setContentView(binding.root)
Comutils.initFull(this, false)
+ loadAllAd()
initList()
binding.imageviewBack.setOnClickListener {
finish()
@@ -49,12 +53,18 @@ class MySearchActivity : AppCompatActivity() ,
binding.et.setOnEditorActionListener(OnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
- startSearch()
+ showTopOn(this) {
+ startSearch()
+ }
return@OnEditorActionListener true
}
false
})
- binding.btnSearch.setOnClickListener { startSearch() }
+ binding.btnSearch.setOnClickListener {
+ showTopOn(this) {
+ startSearch()
+ }
+ }
}
private fun closeKeyboard() {
diff --git a/app/src/main/java/com/house/wallpapers/myactivity/MyWallpaperActivity.java b/app/src/main/java/com/house/wallpapers/myactivity/MyWallpaperActivity.java
index fcb18c9..84f7f89 100644
--- a/app/src/main/java/com/house/wallpapers/myactivity/MyWallpaperActivity.java
+++ b/app/src/main/java/com/house/wallpapers/myactivity/MyWallpaperActivity.java
@@ -16,6 +16,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowCompat;
+import com.ad.toponlibrary.AdManager;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.DecodeFormat;
@@ -64,6 +65,7 @@ public class MyWallpaperActivity extends AppCompatActivity implements OnSelectty
vb = ActivityMyWallapperBinding.inflate(getLayoutInflater());
Comutils.initFull(this, true);
setContentView(vb.getRoot());
+ AdManager.loadAllAd();
weakReference = new WeakReference<>(this);
data = (Data) getIntent().getSerializableExtra(Comutils.key_info);
if (data == null) {
diff --git a/app/src/main/res/layout/activity_first.xml b/app/src/main/res/layout/activity_first.xml
index 85063c5..774a1d4 100644
--- a/app/src/main/res/layout/activity_first.xml
+++ b/app/src/main/res/layout/activity_first.xml
@@ -30,7 +30,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="All kinds of types"
- android:backgroundTint="#CCFBE4E8"
+ android:backgroundTint="#CCC2B4B0"
android:background="@drawable/glass_button_bg"
android:textSize="16sp"
android:textColor="#FFFFFF"
@@ -47,8 +47,8 @@
android:layout_height="wrap_content"
android:text="House Wallpapers"
android:textStyle="italic"
- android:textSize="24sp"
- android:textColor="#FFFFFF"
+ android:textSize="26sp"
+ android:textColor="#CCC2B4B0"
android:layout_below="@id/app_description"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"/>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 0a69215..00f1a24 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -13,7 +13,7 @@
#F3C5B7
#BAF475
- #E0E0E0
+ #CCB0A4A0
#2196F3
#FFC107
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 ade6d7d..90cc9ac 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -3,7 +3,8 @@ plugins {
id("com.android.application") version "8.13.1" apply false
id("org.jetbrains.kotlin.android") version "2.2.21" apply false
kotlin("kapt") version "1.9.0"
-
+ id("com.google.gms.google-services") version "4.4.2" apply false
+ id ("com.google.firebase.crashlytics") version "3.0.2" apply false
}
buildscript {
diff --git a/release/House Wallpapers_V3.0(3)_12_05_17_03-release.aab b/release/House Wallpapers_V3.0(3)_12_05_17_03-release.aab
new file mode 100644
index 0000000..bba4298
Binary files /dev/null and b/release/House Wallpapers_V3.0(3)_12_05_17_03-release.aab differ
diff --git a/release/baselineProfiles/0/House Wallpapers_V1.1(2)_12_05_16_33-release.dm b/release/baselineProfiles/0/House Wallpapers_V1.1(2)_12_05_16_33-release.dm
new file mode 100644
index 0000000..e4b7084
Binary files /dev/null and b/release/baselineProfiles/0/House Wallpapers_V1.1(2)_12_05_16_33-release.dm differ
diff --git a/release/baselineProfiles/1/House Wallpapers_V1.1(2)_12_05_16_33-release.dm b/release/baselineProfiles/1/House Wallpapers_V1.1(2)_12_05_16_33-release.dm
new file mode 100644
index 0000000..4d7b8e8
Binary files /dev/null and b/release/baselineProfiles/1/House Wallpapers_V1.1(2)_12_05_16_33-release.dm differ
diff --git a/release/output-metadata.json b/release/output-metadata.json
new file mode 100644
index 0000000..cba25db
--- /dev/null
+++ b/release/output-metadata.json
@@ -0,0 +1,37 @@
+{
+ "version": 3,
+ "artifactType": {
+ "type": "APK",
+ "kind": "Directory"
+ },
+ "applicationId": "com.photo.house.wallpapers",
+ "variantName": "release",
+ "elements": [
+ {
+ "type": "SINGLE",
+ "filters": [],
+ "attributes": [],
+ "versionCode": 2,
+ "versionName": "1.1",
+ "outputFile": "House Wallpapers_V1.1(2)_12_05_16_33-release.apk"
+ }
+ ],
+ "elementType": "File",
+ "baselineProfiles": [
+ {
+ "minApi": 28,
+ "maxApi": 30,
+ "baselineProfiles": [
+ "baselineProfiles/1/House Wallpapers_V1.1(2)_12_05_16_33-release.dm"
+ ]
+ },
+ {
+ "minApi": 31,
+ "maxApi": 2147483647,
+ "baselineProfiles": [
+ "baselineProfiles/0/House Wallpapers_V1.1(2)_12_05_16_33-release.dm"
+ ]
+ }
+ ],
+ "minSdkVersionForDexing": 24
+}
\ No newline at end of file
diff --git a/settings.gradle.kts b/settings.gradle.kts
index fc7df95..5eb93cd 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -33,6 +33,27 @@ dependencyResolutionManagement {
//
// //TopOn集成测试工具
// maven ( "https://jfrog.anythinktech.com/artifactory/debugger")
+ 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")
}
}