This commit is contained in:
litingting 2025-11-27 13:39:22 +08:00
parent 6ac7e582c4
commit 019512a62c
12 changed files with 196 additions and 53 deletions

View File

@ -7,6 +7,8 @@ plugins {
id("org.jetbrains.kotlin.android")
kotlin("kapt")
id ("kotlin-android")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
}
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
@ -19,15 +21,14 @@ android {
applicationId = "com.keypalette.theme"
minSdk = 24
targetSdk = 36
versionCode = 1
versionName = "1.0"
versionCode = 2
versionName = "1.1"
setProperty(
"archivesBaseName",
"KeyPalette_V" + versionName + "(${versionCode})_$timestamp"
)
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = true
@ -70,4 +71,85 @@ dependencies {
implementation ("androidx.room:room-ktx:$room_version")
implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
implementation(files("libs/TradPlusLibrary_11_25_15_02-release.aar"))
implementation(files("libs/UpLoadLibrary_11_24_18_30-release.aar"))
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
implementation(platform("com.google.firebase:firebase-bom:34.6.0"))
implementation("com.google.firebase:firebase-crashlytics")
implementation("com.google.firebase:firebase-analytics")
implementation("com.google.firebase:firebase-config")
// TradPlus
implementation("com.tradplusad:tradplus:14.5.0.1")
//noinspection GradleCompatible
implementation("androidx.legacy:legacy-support-v4:1.0.0")
implementation("androidx.appcompat:appcompat:1.3.0-alpha02")
// Meta
implementation("com.facebook.android:audience-network-sdk:6.20.0")
implementation("com.tradplusad:tradplus-facebook:1.14.5.0.1")
// Applovin
implementation("com.applovin:applovin-sdk:13.3.1")
implementation("com.tradplusad:tradplus-applovin:9.14.5.0.1")
implementation("com.google.android.gms:play-services-ads-identifier:18.2.0")
// Ironsource
implementation("com.ironsource.sdk:mediationsdk:8.10.0")
implementation("com.tradplusad:tradplus-ironsource:10.14.5.0.1")
implementation("com.google.android.gms:play-services-appset:16.0.0")
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
implementation("com.google.android.gms:play-services-basement:17.5.0")
// Adcolony
implementation("com.adcolony:sdk:4.8.0")
implementation("com.tradplusad:tradplus-adcolony:4.14.5.0.1")
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
// Pangle
implementation("com.tradplusad:tradplus-pangle:19.14.5.0.1")
implementation("com.pangle.global:pag-sdk:7.3.0.3")
// UnityAds
implementation("com.tradplusad:tradplus-unity:5.14.5.0.1")
implementation("com.unity3d.ads:unity-ads:4.15.1")
// Chartboost
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.14.5.0.1")
implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.3")
implementation("androidx.core:core-ktx:1.5.0")
implementation("com.inmobi.omsdk:inmobi-omsdk:1.5.2.0")
// Fyber
implementation("com.fyber:marketplace-sdk:8.3.7")
implementation("com.tradplusad:tradplus-fyber:24.14.5.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")
// Start.io
implementation("com.startapp:inapp-sdk:5.2.3")
implementation("com.tradplusad:tradplus-startapp:28.14.5.0.1")
// Mintegral
implementation("com.tradplusad:tradplus-mintegralx_overseas:18.14.5.0.1")
implementation("androidx.recyclerview:recyclerview:1.1.0")
implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71")
// Liftoff
implementation("com.tradplusad:tradplus-vunglex:7.14.5.0.1")
implementation("com.vungle:vungle-ads:7.5.0")
// Yandex
implementation("com.yandex.android:mobileads:7.13.0") {
exclude(group = "com.caverock", module = "androidsvg-aar")
}
implementation("com.tradplusad:tradplus-yandex:50.14.6.10.1")
// Bigo
implementation("com.bigossp:bigo-ads:5.4.0")
implementation("com.tradplusad:tradplus-bigo:57.14.5.0.1")
// Cross Promotion
implementation("com.tradplusad:tradplus-crosspromotion:27.14.5.0.1")
// TP Exchange
// 请注意保持与主包版本同步更新
implementation("com.google.code.gson:gson:2.8.6")
implementation("com.tradplusad:tp_exchange:40.14.5.0.1")
// Google UMP
implementation ("com.google.android.ump:user-messaging-platform:3.2.0")
}

29
app/google-services.json Normal file
View File

@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "212936744078",
"project_id": "keypalette-7290a",
"storage_bucket": "keypalette-7290a.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:212936744078:android:7890a6d3cf3cc5360f3ddf",
"android_client_info": {
"package_name": "com.keypalette.theme"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyDR8F_xFl9yiV3f9Hsgi_zw_BL_mesGIk0"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

Binary file not shown.

Binary file not shown.

View File

@ -4,6 +4,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
android:name="com.keypalette.theme.KeyApp"
android:allowBackup="true"
@ -12,6 +13,7 @@
android:roundIcon="@mipmap/logo"
android:supportsRtl="true"
android:networkSecurityConfig="@xml/net"
tools:replace="networkSecurityConfig"
android:theme="@style/MyKeyBoard"
tools:targetApi="31">
<activity

View File

@ -1,10 +1,12 @@
package com.keypalette.theme
//import com.pretty.keyboard.theme.keyboard.helper.ObjectBox
import android.app.Application
import android.graphics.Typeface
import android.util.Log
import com.keypalette.theme.dataabout.resource.Data
import com.keypalette.theme.dataabout.resource.WrapperData
import com.up.uploadlibrary.UpLoadManager
import com.yandex.mobile.ads.impl.ms
import org.json.JSONArray
import java.io.BufferedReader
import java.io.IOException
@ -31,7 +33,9 @@ class KeyApp : Application() {
defaultFont = Typeface.createFromAsset(assets, "font5.ttf")
dealFile()
UpLoadManager.init(this,TAG){status, msg ->
Log.d("------------","-UpLoadManager--status=${status} msg= ${msg}")
}
}
private fun dealFile() {

View File

@ -13,6 +13,7 @@ import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import com.ad.tradpluslibrary.TPAdManager
import com.bumptech.glide.Glide
import com.bumptech.glide.integration.webp.decoder.WebpDrawable
import com.bumptech.glide.load.DataSource
@ -21,13 +22,12 @@ import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.target.Target
import com.keypalette.theme.KeyApp
import com.keypalette.theme.R
import com.keypalette.theme.dataabout.database.LikeFunction
import com.keypalette.theme.other.listener.ListenerDownload
import com.keypalette.theme.dataabout.resource.Data
import com.keypalette.theme.other.Helper
import com.keypalette.theme.other.SpSkins
import com.keypalette.theme.other.ZipFile
import com.keypalette.theme.other.listener.ListenerDownload
import kotlinx.coroutines.launch
import java.io.File
@ -70,7 +70,7 @@ class PageApply : AppCompatActivity() {
displayData()
setApply()
onClick()
TPAdManager.showTPAD(this) { null }
}
@ -158,24 +158,7 @@ class PageApply : AppCompatActivity() {
}
// recommendedRecycler.run {
// adapter = AdaList(
// this@ActDownload
// ).apply {
// val shuffled = forYouList[0].keyboardList.shuffled()
// setForYouList(shuffled.subList(0,8))
// }.apply {
// setClickAction(object : OnClick {
// override fun onItemClick() {
// finish()
// }
//
// })
// }
//
// layoutManager = GridLayoutManager(this@ActDownload, 2)
//
// }
}
@ -216,9 +199,10 @@ class PageApply : AppCompatActivity() {
private fun setApply() {
applyBtn.setOnClickListener {
startDown()
TPAdManager.showTPAD(this@PageApply){
startDown()
}
}
}

View File

@ -6,6 +6,7 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import com.ad.tradpluslibrary.TPAdManager;
import com.keypalette.theme.AllAdapter;
import com.keypalette.theme.KeyApp;
import com.keypalette.theme.dataabout.resource.Data;
@ -16,6 +17,9 @@ import com.keypalette.theme.other.ItemDecoration;
import java.util.List;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
public class PageSkinsAll extends AppCompatActivity {
private PageSkinsAllBinding vb;
public static final String KEY_NAME = "class_name";
@ -32,6 +36,12 @@ public class PageSkinsAll extends AppCompatActivity {
name = getIntent().getStringExtra(KEY_NAME);
initData();
initClick();
TPAdManager.INSTANCE.showTPAD(this, new Function0<Unit>() {
@Override
public Unit invoke() {
return null;
}
});
}
@ -55,9 +65,14 @@ public class PageSkinsAll extends AppCompatActivity {
vb.back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
TPAdManager.INSTANCE.showTPAD(PageSkinsAll.this, new Function0<Unit>() {
@Override
public Unit invoke() {
finish();
return null;
}
});
}
});
}
}

View File

@ -6,6 +6,8 @@ import android.os.CountDownTimer
import android.widget.ProgressBar
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import com.ad.tradpluslibrary.TPAdManager
import com.keypalette.theme.KeyApp
import com.keypalette.theme.R
import com.keypalette.theme.other.Helper
@ -14,42 +16,43 @@ import kotlin.math.roundToInt
class PageSplash : AppCompatActivity() {
private lateinit var progressBar: ProgressBar
private var countTime = 2000L
private var countTime = 13000L
private lateinit var timer: CountDownTimer
private lateinit var tvProgress:TextView
private lateinit var tvProgress: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.page_splash)
Helper.initFullScreen(this,true)
Helper.initFullScreen(this, true)
progressBar = findViewById<ProgressBar>(R.id.progress)
tvProgress = findViewById(R.id.tv_progress)
init()
}
private fun init() {
timer = object : CountDownTimer(countTime,100){
override fun onTick(millisUntilFinished: Long) {
val percentage: Float = 100 - millisUntilFinished.toFloat() / countTime * 100
val round = percentage.roundToInt()
progressBar.progress = round
val format =getString(R.string.tv_wel_progress, round)
tvProgress.text = format
}
override fun onFinish() {
progressBar.progress = 100
tvProgress.text = getString(R.string.tv_wel_progress, 100)
toHome()
}
TPAdManager.init(
this,
KeyApp.TAG,
"9DA82673EEAFF267945A9D92F545AD11",
"648581FB64E2985CA42DC32A3D3DDF12",
"F1367D28B7CFB7C282D82F208E2ECD12",
"44693489BA735BD1D15EE3034AE15212"
) {
}
timer = TPAdManager.showWelcomeAd(this, countTime, { millisUntilFinished ->
val percentage: Float = 100 - millisUntilFinished.toFloat() / countTime * 100
val round = percentage.roundToInt()
progressBar.progress = round
val format = getString(R.string.tv_wel_progress, round)
tvProgress.text = format
}) {
progressBar.progress = 100
tvProgress.text = getString(R.string.tv_wel_progress, 100)
toHome()
}
timer.start()
}
private fun toHome() {
startActivity(Intent(this, PageMain::class.java))
finish()

View File

@ -114,7 +114,7 @@ public class MyKeyView extends CodeView {
int i = 0;
for (CodeKeyBoard.Key curKey : getKeyboard().getKeys()) {
int code = curKey.codes[0];
if (config != null&&config.getLayouts().size()>0) {
if (config != null&& !config.getLayouts().isEmpty()) {
if (code == 113 ||code == 81 || code == 49||code == 91) {
i = 0;
ConfigWrapper configWrapper = config.getLayouts().get(0);

View File

@ -3,4 +3,6 @@ plugins {
id("com.android.application") version "8.6.1" apply false
id("org.jetbrains.kotlin.android") version "2.2.21" apply false
kotlin("kapt") version "2.0.0"
id("com.google.gms.google-services") version "4.4.2" apply false
id ("com.google.firebase.crashlytics") version "3.0.2" apply false
}

View File

@ -12,6 +12,28 @@ dependencyResolutionManagement {
google()
mavenCentral()
maven("https://jitpack.io")
//------------------------- TradPlus
// Ironsource
maven { url = uri("https://android-sdk.is.com/") }
// Pangle
maven {
url = uri("https://artifact.bytedance.com/repository/pangle")
}
// Chartboost
maven { url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") }
maven {
name = "Chartboost Mediations maven repo"
url = uri("https://cboost.jfrog.io/artifactory/chartboost-mediation")
}
// 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 {
url =
uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")
}
}
}
rootProject.name = "KeyPalette"