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