diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml index 8ed31da..f02af1d 100644 --- a/.idea/dbnavigator.xml +++ b/.idea/dbnavigator.xml @@ -10,6 +10,9 @@ + + + diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3bd8bac..d63c12f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,5 +1,7 @@ +import java.io.FileInputStream import java.text.SimpleDateFormat import java.util.Date +import java.util.Properties plugins { alias(libs.plugins.android.application) @@ -9,6 +11,10 @@ plugins { id("com.google.firebase.crashlytics") } val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) +val keystorePropertiesFile = rootProject.file("keystore.properties") +val keystoreProperties = Properties().apply { + load(FileInputStream(keystorePropertiesFile)) +} android { namespace = "com.gallery.free.wallpaper" compileSdk = 36 @@ -17,18 +23,24 @@ android { applicationId = "com.gallery.free.wallpaper" minSdk = 24 targetSdk = 36 - versionCode = 2 - versionName = "1.1" + versionCode = 3 + versionName = "1.2" setProperty("archivesBaseName", "WallpaperGallery_V" + versionName + "(${versionCode})_$timestamp") testInstrumentationRunner = "androidx.live.runner.AndroidJUnitRunner" } - - - + signingConfigs { + create("release") { + storeFile = file(keystoreProperties["keystoreFile"] as String) + storePassword = keystoreProperties["key_store_password"] as String + keyAlias = keystoreProperties["key_alias"] as String + keyPassword = keystoreProperties["key_password"] as String + } + } buildTypes { release { isMinifyEnabled = true + signingConfig = signingConfigs.getByName("release") proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" @@ -77,7 +89,7 @@ dependencies { androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) - implementation(files("libs/TradPlusLibrary_01_04_12_20-release.aar")) + implementation(files("libs/UpLoadLibrary_12_03_15_13-release.aar")) implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2") implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") @@ -91,76 +103,40 @@ dependencies { implementation ("com.squareup.okhttp3:okhttp:4.12.0") implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") - // TradPlus - implementation("com.tradplusad:tradplus:15.2.0.1") - implementation("androidx.legacy:legacy-support-v4:1.0.0") - implementation("androidx.appcompat:appcompat:1.3.0-alpha02") - // IronSource - implementation("com.ironsource.sdk:mediationsdk:9.0.0") - implementation("com.tradplusad:tradplus-ironsource:10.15.2.0.1") + implementation(files("libs/IronSourceLibrary_01_07_18_13-release.aar")) - // Pangle - implementation("com.tradplusad:tradplus-pangle:19.15.2.0.1") + //---------------------------ironSource + implementation("com.unity3d.ads-mediation:mediation-sdk:9.2.0") +// Add BIGO Ads Network + implementation("com.unity3d.ads-mediation:bigo-adapter:5.2.0") + implementation("com.bigossp:bigo-ads:5.6.2") +// Add Chartboost Network + implementation("com.unity3d.ads-mediation:chartboost-adapter:5.2.0") +// implementation("com.chartboost:chartboost-sdk:9.10.2") + + implementation("com.chartboost:chartboost-sdk:9.8.3") +// Add DT Exchange Network + implementation("com.unity3d.ads-mediation:fyber-adapter:5.2.0") + implementation("com.fyber:marketplace-sdk:8.4.1") +// Add InMobi Network + implementation("com.unity3d.ads-mediation:inmobi-adapter:5.3.0") + implementation("com.inmobi.monetization:inmobi-ads-kotlin:11.1.0") +// Add Liftoff Monetize Network + implementation("com.unity3d.ads-mediation:vungle-adapter:5.2.0") + implementation("com.vungle:vungle-ads:7.6.1") +// Add Mintegral Network + implementation("com.unity3d.ads-mediation:mintegral-adapter:5.3.0") + implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:17.0.31") +// Add Moloco Network + implementation("com.unity3d.ads-mediation:moloco-adapter:5.5.0") + implementation("com.moloco.sdk:moloco-sdk:4.3.1") +// Add Pangle Network + implementation("com.unity3d.ads-mediation:pangle-adapter:5.4.0") implementation("com.pangle.global:pag-sdk:7.8.0.7") +// Add Unity Ads Network + implementation("com.unity3d.ads-mediation:unityads-adapter:5.3.0") + implementation("com.unity3d.ads:unity-ads:4.16.4") - // UnityAds - implementation("com.tradplusad:tradplus-unity:5.15.2.0.1") - implementation("com.unity3d.ads:unity-ads:4.16.3") - // Chartboost - implementation("com.tradplusad:tradplus-chartboostx:15.15.2.0.1") - implementation("com.chartboost:chartboost-sdk:9.10.0") - implementation("com.google.android.gms:play-services-ads-identifier:17.0.0") - implementation("com.google.android.gms:play-services-base:17.4.0") - - //上面新版本下载失败用旧版本 -// implementation("com.tradplusad:tradplus-chartboostx:15.14.5.0.1") -// implementation("com.chartboost:chartboost-sdk:9.8.3") -// implementation("com.google.android.gms:play-services-ads-identifier:17.0.0") -// implementation("com.google.android.gms:play-services-base:17.4.0") - - // InMobi - implementation("com.tradplusad:tradplus-inmobix:23.15.2.0.1") - implementation("com.inmobi.monetization:inmobi-ads-kotlin:11.0.0") - implementation("com.squareup.okhttp3:okhttp:3.14.9") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") - implementation("androidx.core:core-ktx:1.5.0") - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.0") - - implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") - implementation("com.google.android.gms:play-services-location:21.0.1") // optional - implementation("androidx.browser:browser:1.8.0") - implementation("com.squareup.picasso:picasso:2.8") - implementation("androidx.viewpager:viewpager:1.0.0") - implementation("androidx.recyclerview:recyclerview:1.2.1") - - // Fyber - implementation("com.fyber:marketplace-sdk:8.4.0") - implementation("com.tradplusad:tradplus-fyber:24.15.2.0.1") - implementation("com.google.android.gms:play-services-ads-identifier:17.0.0") - implementation("com.google.android.gms:play-services-base:17.4.0") - - // Mintegral - implementation("com.tradplusad:tradplus-mintegralx_overseas:18.15.2.0.1") - implementation("androidx.recyclerview:recyclerview:1.1.0") - implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.10.11") - - // Liftoff (Vungle) - implementation("com.tradplusad:tradplus-vunglex:7.15.2.0.1") - implementation("com.vungle:vungle-ads:7.6.0") - - // Bigo - implementation("com.bigossp:bigo-ads:5.5.2") - implementation("com.tradplusad:tradplus-bigo:57.15.2.0.1") - - // Cross Promotion - implementation("com.tradplusad:tradplus-crosspromotion:27.15.2.0.1") - - // TP Exchange(注意与主包版本同步) - implementation("com.google.code.gson:gson:2.8.6") - implementation("com.tradplusad:tp_exchange:40.15.2.0.1") - - // Google UMP - implementation ("com.google.android.ump:user-messaging-platform:3.2.0") } \ No newline at end of file diff --git a/app/libs/IronSourceLibrary_01_07_18_13-release.aar b/app/libs/IronSourceLibrary_01_07_18_13-release.aar new file mode 100644 index 0000000..97be64b Binary files /dev/null and b/app/libs/IronSourceLibrary_01_07_18_13-release.aar differ diff --git a/app/libs/TradPlusLibrary_01_04_12_20-release.aar b/app/libs/TradPlusLibrary_01_04_12_20-release.aar deleted file mode 100644 index de049ac..0000000 Binary files a/app/libs/TradPlusLibrary_01_04_12_20-release.aar and /dev/null differ diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 5dd36ea..e60bb59 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -31,5 +31,3 @@ -keepattributes Signature -keepattributes AnnotationDefault,RuntimeVisibleAnnotations --keep public class com.tradplus.** { *; } --keep class com.tradplus.ads.** { *; } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 12038a8..5466be6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ - + @@ -35,9 +35,7 @@ android:theme="@style/Theme.AppCompat.Light.NoActionBar" tools:targetApi="30"> - + - - - - - - - -

Last Updated: November 27, 2025

- -

1. Information Collection

-

Our wallpaper application respects your privacy. We commit to:

-
    -
  • Not collecting any personally identifiable information
  • -
  • Not requiring user registration or login
  • -
  • Not tracking user browsing habits
  • -
  • Not accessing your personal files or data
  • -
- -

2. Wallpaper Download and Storage

-

When you download wallpapers:

-
    -
  • Wallpapers are saved only in your device's local storage
  • -
  • We cannot access the wallpapers you download
  • -
  • Wallpapers are not uploaded to our servers
  • -
  • You can delete downloaded wallpapers at any time
  • -
- -

3. Permission Explanations

-

Required app permissions and their purposes:

-
    -
  • Storage Permission: For saving downloaded wallpapers to your photo gallery
  • -
  • Network Permission: For loading and displaying wallpaper resources
  • -
- -

4. Third-Party Services

-

We may use the following third-party services:

-
    -
  • Analytics: For app usage statistics (anonymous data)
  • -
  • Advertising Services: If the app contains ads, relevant advertisements may be displayed
  • -
- -

5. Data Security

-

We take reasonable security measures to protect your information.

- -

6. Children's Privacy

-

Our services are not directed to children under 13, and we do not knowingly collect personal information from children.

- -

7. Contact Us

-

If you have any questions about this Privacy Policy, please contact us:

-

Email: xxx@xxx.com

- -

8. Policy Changes

-

We may update this Privacy Policy from time to time. The updated version will be posted on this page.

- - \ No newline at end of file diff --git a/app/src/main/java/com/gallery/free/wallpaper/DetailwpActivity.kt b/app/src/main/java/com/gallery/free/wallpaper/DetailwpActivity.kt index cfa5ac2..ec4c303 100644 --- a/app/src/main/java/com/gallery/free/wallpaper/DetailwpActivity.kt +++ b/app/src/main/java/com/gallery/free/wallpaper/DetailwpActivity.kt @@ -24,15 +24,15 @@ import android.widget.Toast import androidx.annotation.RequiresApi import androidx.core.content.ContextCompat import androidx.viewpager2.widget.ViewPager2 -import com.ad.tradpluslibrary.TPAdManager +import com.ad.ironsourcelibrary.ActionListener +import com.ad.ironsourcelibrary.ISAdManager + import com.bumptech.glide.Glide import com.bumptech.glide.request.target.CustomTarget import com.bumptech.glide.request.transition.Transition import com.gallery.free.wallpaper.database.FavorWpManager import com.gallery.free.wallpaper.databinding.ActivityDetailwpBinding -import com.inmobi.media.ba -import com.inmobi.media.fa -import com.tradplus.ads.base.bean.TPAdInfo + import java.io.File import java.io.FileOutputStream import java.lang.ref.SoftReference @@ -90,10 +90,14 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis binding = ActivityDetailwpBinding.inflate(layoutInflater) Utils_com.initFull(this, true) setContentView(binding.root) + ISAdManager.loadAllAd() + ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{ + override fun onAction() { - TPAdManager.showTPAD(this){ + } + + }) - } Log.d(TAG, "=== onCreate ===") @@ -313,13 +317,17 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis } } binding.buttonSave.setOnClickListener { - Log.d(TAG, "Save button clicked") - if (downloadState != DOWNLOAD_STATE_LOADING) { - downloadWallpaper() - } - TPAdManager.showTPAD(this){ - } + ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{ + override fun onAction() { + Log.d(TAG, "Save button clicked") + if (downloadState != DOWNLOAD_STATE_LOADING) { + downloadWallpaper() + } + + } + + }) } binding.buttonPrev.setOnClickListener { @@ -552,7 +560,12 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis } override fun onWallpaperTypeSelected(type: Int) { - setWallpaper(type) + ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{ + override fun onAction() { + setWallpaper(type) + } + }) + } private fun setWallpaper(type: Int) { @@ -997,10 +1010,12 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis } protected override fun onInterceptBackPressed() { - TPAdManager.showTPAD(this){ + ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{ + override fun onAction() { - } + } + }) if (backPressedCallback != null) { backPressedCallback?.isEnabled = false } diff --git a/app/src/main/java/com/gallery/free/wallpaper/LocalPreActivity.kt b/app/src/main/java/com/gallery/free/wallpaper/LocalPreActivity.kt index 86ce05b..f578ffa 100644 --- a/app/src/main/java/com/gallery/free/wallpaper/LocalPreActivity.kt +++ b/app/src/main/java/com/gallery/free/wallpaper/LocalPreActivity.kt @@ -19,6 +19,8 @@ import android.view.WindowInsets import android.view.WindowInsetsController import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import com.ad.ironsourcelibrary.ActionListener +import com.ad.ironsourcelibrary.ISAdManager import com.bumptech.glide.Glide import com.bumptech.glide.request.target.CustomTarget import com.bumptech.glide.request.transition.Transition @@ -60,7 +62,7 @@ class LocalPreActivity : AppCompatActivity(), override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Utils_com.initFull(this, true) - + ISAdManager.loadAllAd() setTheme(R.style.TransparentPreviewTheme) overridePendingTransition(0, 0) @@ -78,7 +80,12 @@ class LocalPreActivity : AppCompatActivity(), handleBackButtonClick() } }) + ISAdManager.showIsAd(this@LocalPreActivity,object : ActionListener{ + override fun onAction() { + } + + }) Log.d(TAG, "=== LocalImagePreviewActivity_onCreate ===") Log.d(TAG, "Activity实例: ${this.hashCode()}") diff --git a/app/src/main/java/com/gallery/free/wallpaper/MyApplication.kt b/app/src/main/java/com/gallery/free/wallpaper/MyApplication.kt index 4df3ac7..7b3bb1a 100644 --- a/app/src/main/java/com/gallery/free/wallpaper/MyApplication.kt +++ b/app/src/main/java/com/gallery/free/wallpaper/MyApplication.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleObserver import androidx.lifecycle.OnLifecycleEvent import androidx.lifecycle.ProcessLifecycleOwner +import com.ad.ironsourcelibrary.ISAdManager import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.request.RequestOptions @@ -76,6 +77,12 @@ class MyApplication : Application() { validateFixedCategories() UpLoadManager.init(this,"ocean", callback = { _, _ -> }) + + ISAdManager.init("-------WallpaperGallery--------",this,"24e146eb5","1x1dmfonwgx54zkn","3r21zexffllavwqj","4v2mbujbbk8wq7ed",false,{ + + }){ + + } } /** diff --git a/app/src/main/java/com/gallery/free/wallpaper/SplaActivity.kt b/app/src/main/java/com/gallery/free/wallpaper/SplaActivity.kt index f941581..536bec3 100644 --- a/app/src/main/java/com/gallery/free/wallpaper/SplaActivity.kt +++ b/app/src/main/java/com/gallery/free/wallpaper/SplaActivity.kt @@ -5,7 +5,7 @@ import android.content.Intent import android.os.Bundle import android.os.CountDownTimer import androidx.appcompat.app.AppCompatActivity -import com.ad.tradpluslibrary.TPAdManager +import com.ad.ironsourcelibrary.ISAdManager import com.gallery.free.wallpaper.databinding.ActivitySplaBinding class SplaActivity : AppCompatActivity() { @@ -19,17 +19,8 @@ class SplaActivity : AppCompatActivity() { vb = ActivitySplaBinding.inflate(layoutInflater) Utils_com.initFull(this, true) setContentView(vb?.getRoot()) - TPAdManager.init( - this, - "ocean", - "EF4D3DDD83B3D1EF16ED3E6995AF0E11", - "58E5429FFDD5BDF2034D6D78B157C012", - "8DB63FE93F30FEA99D2D275BFC974C12", - "09E55308FBBE7CD2C0C5571EFCEB8312" - ) { - } - countDownTimer = TPAdManager.showWelcomeAd(this, totalTime, { millisUntilFinished -> + countDownTimer = ISAdManager.showWelcomeAd(this, totalTime, { millisUntilFinished -> val progressPercentage = ((100 * millisUntilFinished) / totalTime).toInt() val countdownPercentage = 100 - progressPercentage @@ -47,9 +38,7 @@ class SplaActivity : AppCompatActivity() { override fun onDestroy() { super.onDestroy() - if (countDownTimer != null) { - countDownTimer!!.cancel() - countDownTimer = null - } + countDownTimer?.cancel() + countDownTimer = null } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 20e2a01..97a23a8 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. For more details, visit # https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects diff --git a/keystore.properties b/keystore.properties index 1248635..4ced4a0 100644 --- a/keystore.properties +++ b/keystore.properties @@ -1,6 +1,6 @@ app_name=Wallpaper Gallery package_name=com.gallery.free.wallpaper -keystoreFile=app/Wallpaper Gallery.jks +keystoreFile=Wallpaper Gallery key_alias=WallpaperGallerykey0 key_store_password=lajiaoyouyou0312 key_password=lajiaoyouyou0312 \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index d370b39..fb18af9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,24 +17,25 @@ dependencyResolutionManagement { google() mavenCentral() - flatDir { - dirs("libs") - } - maven("https://jitpack.io") - // Ironsource - maven("https://android-sdk.is.com/") - // Pangle - maven("https://artifact.bytedance.com/repository/pangle") - // Chartboost - maven("https://cboost.jfrog.io/artifactory/chartboost-ads/") + //------------------------- IronSource maven { - name = "Chartboost Mediation’s maven repo" - url = uri("https://cboost.jfrog.io/artifactory/chartboost-mediation") + url = uri("https://android-sdk.is.com/") + } + maven { + url = uri("https://dl.bintray.com/ironsource-mobile/android-sdk") + } + maven { + url = uri("https://dl.bintray.com/ironsource-mobile/android-adapters") + } + maven { + url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") + } + maven { + url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") + } + maven { + url = uri("https://artifact.bytedance.com/repository/pangle") } - // Mintegral - //Launch GP market application, Android X Version - //If you fail to pull the code using gradle, add the maven warehouse configuration to the project root build.gradle file - maven("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") } }