From addd93c8a54b56140f6a3ea56fda7d4c6bf71d32 Mon Sep 17 00:00:00 2001 From: litingting Date: Fri, 6 Sep 2024 15:43:34 +0800 Subject: [PATCH] =?UTF-8?q?V1.0.7(8)=20=E5=A2=9E=E5=8A=A0=E5=9F=8B?= =?UTF-8?q?=E7=82=B9=E5=92=8CLogActivity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 30 +- app/google-services.json | 2 +- app/proguard-rules.pro | 192 ++++----- app/src/main/AndroidManifest.xml | 5 +- app/src/main/assets/myfont.ttf | Bin 189472 -> 0 bytes .../funnysounds/activity/DetailActivity.java | 46 ++- .../funnysounds/activity/IntoActivity.java | 19 +- .../funnysounds/activity/LogActivity.kt | 381 ++++++++++++++++++ .../funnysounds/activity/MainActivity.java | 34 +- .../activity/RecordAudioActivity.java | 3 +- .../activity/SaveRecordActivity.java | 3 +- .../activity/SpecifisoundsActivity.java | 2 +- .../funnysounds/activity/WebActivity.java | 2 + .../fragement/CategoryFragment.java | 2 - .../example/funnysounds/resolve/Sounds.java | 43 +- .../example/funnysounds/resolve/SpSave.java | 35 ++ .../soundsadapter/LoveAdapter.java | 2 +- .../example/funnysounds/topon/AdManager.java | 10 +- .../funnysounds/value/StaticValue.java | 4 + .../res/drawable/add_record_bg_button.xml | 2 +- app/src/main/res/drawable/im_stop.xml | 2 +- app/src/main/res/layout/activity_detail.xml | 30 +- app/src/main/res/layout/activity_into.xml | 3 +- app/src/main/res/layout/comon_layout_top.xml | 2 +- app/src/main/res/layout/fragment_record.xml | 2 + app/src/main/res/layout/item_love.xml | 6 +- app/src/main/res/layout/item_record.xml | 6 +- app/src/main/res/layout/layout_log.xml | 14 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/themes.xml | 2 +- keystore.properties | 6 + settings.gradle.kts | 10 +- 32 files changed, 744 insertions(+), 157 deletions(-) delete mode 100644 app/src/main/assets/myfont.ttf create mode 100644 app/src/main/java/com/example/funnysounds/activity/LogActivity.kt create mode 100644 app/src/main/java/com/example/funnysounds/resolve/SpSave.java create mode 100644 app/src/main/res/layout/layout_log.xml create mode 100644 keystore.properties diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f54c50b..b30e44e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,12 +14,12 @@ android { //com.funny.sounds.hd defaultConfig { - applicationId = "com.funny.sounds.hd.test" + applicationId = "com.funny.sounds.hd" minSdk = 23 targetSdk = 34 - versionCode = 7 - versionName = "1.6" - setProperty("archivesBaseName", "FunnySounds_v" + versionName + "(${versionCode})_$timestamp") + versionCode = 8 + versionName = "1.0.7" + setProperty("archivesBaseName", "Funny Sounds_v" + versionName + "(${versionCode})_$timestamp") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -73,7 +73,7 @@ dependencies { implementation("com.google.firebase:firebase-analytics-ktx") implementation("com.google.firebase:firebase-crashlytics-ktx") - //-----------------------------TopOn 聚合(mintegral、unityads、liftoff(vungle)、Bigo) + //-----------------------------------------------TopOn(pangle、IronSource、mintegral、unityads、liftoff(vungle)、Bigo) //Anythink (Necessary) implementation("com.anythink.sdk:core-tpn:6.3.68") implementation("com.anythink.sdk:nativead-tpn:6.3.68") @@ -96,10 +96,22 @@ dependencies { implementation("com.anythink.sdk:adapter-tpn-unityads:6.3.68") implementation("com.unity3d.ads:unity-ads:4.9.3") + //Ironsource + implementation("com.anythink.sdk:adapter-tpn-ironsource:6.3.68") + implementation("com.ironsource.sdk:mediationsdk:8.1.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.anythink.sdk:adapter-tpn-bigo:6.3.68") implementation("com.bigossp:bigo-ads:4.7.4") + //Pangle + implementation("com.anythink.sdk:adapter-tpn-pangle-nonchina:6.3.68.1") + implementation( "com.pangle.global:ads-sdk:6.0.0.3") + implementation( "com.google.android.gms:play-services-ads-identifier:18.0.1") + //Mintegral implementation("com.anythink.sdk:adapter-tpn-mintegral-nonchina:6.3.68") implementation("com.mbridge.msdk.oversea:reward:16.7.51") @@ -112,12 +124,12 @@ dependencies { implementation("androidx.recyclerview:recyclerview:1.1.0") //Tramini -// implementation("com.anythink.sdk:tramini-plugin-tpn:6.3.68") - //-----------------------------TopOn 聚合 - + // implementation("com.anythink.sdk:tramini-plugin-tpn:6.3.68") // Debugger UI Tools - implementation ("com.anythink.sdk:debugger-ui:1.0.7") +// implementation ("com.anythink.sdk:debugger-ui:1.0.7") + + //----------------------------------------------TopOn diff --git a/app/google-services.json b/app/google-services.json index 573ceb2..9bbc388 100644 --- a/app/google-services.json +++ b/app/google-services.json @@ -9,7 +9,7 @@ "client_info": { "mobilesdk_app_id": "1:15060781613:android:cae5beb7e5d3e8946586a4", "android_client_info": { - "package_name": "com.funny.sounds.hd.test" + "package_name": "com.funny.sounds.hd" } }, "oauth_client": [], diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 4a2a235..93026b2 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -19,105 +19,109 @@ # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile --keep class com.omicronapplications.** { *; } --keep class net.sf.sevenzipjbinding.** { *; } --keep class com.google.gson.reflect.TypeToken { *; } --keep class * extends com.google.gson.reflect.TypeToken +# 保持 Room 的核心类不被混淆 +-keep class androidx.room.** { *; } +-keep class androidx.sqlite.db.** { *; } --keep class com.example.funnysounds.data.MyData { *; } --keep class com.example.funnysounds.data.CategoryList { *; } +# 保持 Room 数据库类的基本结构 +-keep class * extends androidx.room.RoomDatabase { *; } + +# 保持 Room DAO 接口 +-keep @androidx.room.Dao interface * { *; } +-keep @androidx.room.Dao class * { *; } + +# 保持 Room 实体类 +-keep @androidx.room.Entity class * { *; } + +# 保持 Room 的注解类 +-keep @androidx.room.Database class * { *; } + +#---------------------------------------------Topon +# Vungle +-dontwarn com.vungle.ads.** +-keepclassmembers class com.vungle.ads.** { + *; +} + +# Google +-keep class com.google.android.gms.** { *; } +-dontwarn com.google.android.gms.** + + + + +# START OkHttp + Okio +# JSR 305 annotations are for embedding nullability information. +-dontwarn javax.annotation.** + + +# A resource is loaded with a relative path so the package of this class must be preserved. +-adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz + + +# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. +-dontwarn org.codehaus.mojo.animal_sniffer.* + + +# OkHttp platform used only on JVM and when Conscrypt and other security providers are available. +-dontwarn okhttp3.internal.platform.** +-dontwarn org.conscrypt.** +-dontwarn org.bouncycastle.** +-dontwarn org.openjsse.** + + +# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. +-dontwarn org.codehaus.mojo.animal_sniffer.* + + +# END OkHttp + Okio + + +# START Protobuf +-dontwarn com.google.protobuf.** +-keepclassmembers class com.google.protobuf.** { + *; +} +-keep class * extends com.google.protobuf.GeneratedMessageLite { *; } + + +# END Protobuf +-keepclassmembers class com.ironsource.sdk.controller.IronSourceWebView$JSInterface { + public *; +} +-keepclassmembers class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} +-keep public class com.google.android.gms.ads.** { + public *; +} +-keep class com.ironsource.adapters.** { *; +} +-dontwarn com.ironsource.mediationsdk.** +-dontwarn com.ironsource.adapters.** +-keepattributes JavascriptInterface +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} +-keep class com.bytedance.sdk.** { *; } -keepattributes Signature -keepattributes *Annotation* -keep class com.mbridge.** {*; } -keep interface com.mbridge.** {*; } +-keep class android.support.v4.** { *; } -dontwarn com.mbridge.** --keepclassmembers class **.R$* { public static final int mbridge*; } - +-keep class **.R$* { public static final int mbridge*; } -keep public class com.mbridge.* extends androidx.** { *; } --keep public class androidx.viewpager.widget.PagerAdapter{*;} --keep interface androidx.annotation.IntDef{*;} --keep interface androidx.annotation.Nullable{*;} --keep interface androidx.annotation.CheckResult{*;} --keep interface androidx.annotation.NonNull{*;} --keep public class androidx.fragment.app.Fragment{*;} --keep public class androidx.core.content.FileProvider{*;} --keep public class androidx.core.app.NotificationCompat{*;} --keep public class androidx.appcompat.widget.AppCompatImageView {*;} --keep public class androidx.recyclerview.*{*;} --keep class com.mbridge.msdk.foundation.tools.FastKV{*;} --keep class com.mbridge.msdk.foundation.tools.FastKV$Builder{*;} - - #---------------------------------TopOn 聚合 - # Vungle - -dontwarn com.vungle.ads.** - -keepclassmembers class com.vungle.ads.** { - *; - } - - - - - # Google - -keep class com.google.android.gms.** { *; } - -dontwarn com.google.android.gms.** - - - - - # START OkHttp + Okio - # JSR 305 annotations are for embedding nullability information. - -dontwarn javax.annotation.** - - - # A resource is loaded with a relative path so the package of this class must be preserved. - -adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz - - - # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. - -dontwarn org.codehaus.mojo.animal_sniffer.* - - - # OkHttp platform used only on JVM and when Conscrypt and other security providers are available. - -dontwarn okhttp3.internal.platform.** - -dontwarn org.conscrypt.** - -dontwarn org.bouncycastle.** - -dontwarn org.openjsse.** - - - # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. - -dontwarn org.codehaus.mojo.animal_sniffer.* - - - # END OkHttp + Okio - - - # START Protobuf - -dontwarn com.google.protobuf.** - -keepclassmembers class com.google.protobuf.** { - *; - } - -keep class * extends com.google.protobuf.GeneratedMessageLite { *; } - - - # END Protobuf - -keepattributes Signature - -keepattributes *Annotation* - -keep class com.mbridge.** {*; } - -keep interface com.mbridge.** {*; } - -keep class android.support.v4.** { *; } - -dontwarn com.mbridge.** - -keep class **.R$* { public static final int mbridge*; } - -keep public class com.mbridge.* extends androidx.** { *; } - -keep public class androidx.viewpager.widget.PagerAdapter{ *; } - -keep interface androidx.annotation.IntDef{ *; } - -keep interface androidx.annotation.Nullable{ *; } - -keep interface androidx.annotation.CheckResult{ *; } - -keep interface androidx.annotation.NonNull{ *; } - -keep public class androidx.fragment.app.Fragment{ *; } - -keep public class androidx.core.content.FileProvider{ *; } - -keep public class androidx.core.app.NotificationCompat{ *; } - -keep public class androidx.appcompat.widget.AppCompatImageView { *; } - -keep public class androidx.recyclerview.*{ *; } - - #---------------------------------TopOn 聚合 +-keep public class androidx.viewpager.widget.PagerAdapter{ *; } +-keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{ *; } +-keep interface androidx.annotation.IntDef{ *; } +-keep interface androidx.annotation.Nullable{ *; } +-keep interface androidx.annotation.CheckResult{ *; } +-keep interface androidx.annotation.NonNull{ *; } +-keep public class androidx.fragment.app.Fragment{ *; } +-keep public class androidx.core.content.FileProvider{ *; } +-keep public class androidx.core.app.NotificationCompat{ *; } +-keep public class androidx.appcompat.widget.AppCompatImageView { *; } +-keep public class androidx.recyclerview.*{ *; } +#---------------------------------------------Topon diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8f14ecf..8cfd6e8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -38,6 +38,9 @@ + @@ -48,7 +51,7 @@ diff --git a/app/src/main/assets/myfont.ttf b/app/src/main/assets/myfont.ttf deleted file mode 100644 index 15181a4494fe3a4813a7d17c05db71bbeb97ade8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189472 zcmcG%33wI7(*IxGCpp;@2#ah&h{z6xB&?!BNZ3R`c9AWR1dxzm5*85=P!Yie5mZpQ zh-`*{h=>ptA&RUbpdz>+ASx&#Ziu3p|EGH<33|Qn@4oNz{Leh!sh*ym?ylYADE zIif@)N~VcV#&t?g>9{_4%_1j`IP~;E|d4WGsL8{3MYL z=SAPpY*cz`TCqR*3(oiCe2Y;;{Lwz(PL3OMTxZnSyh*!0xqr1t_#qINnLQ%am$3LV zk*b^yPaK;%X`F9WXdTjr6A_b@IyQY^gDG1moBH_j$7Sc{Ex&hRj7WTEk!#wG%Sj(M z%Kzv?r2PW~ZBoud>jEC*a#4|Nf^t|C|%p z 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 { @Override public void onChanged(MyData myData) { @@ -153,7 +172,7 @@ public class DetailActivity extends AppCompatActivity { mediaPlayer.setDataSource(this, parse); } - mediaPlayer.prepare(); + mediaPlayer.prepareAsync(); mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { @@ -164,6 +183,7 @@ public class DetailActivity extends AppCompatActivity { mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { + Log.d(Sounds.TAG, "--onCompletion-false"); btn_play_pause.setSelected(false); } }); @@ -213,18 +233,14 @@ public class DetailActivity extends AppCompatActivity { public void onClick(View v) { btn_play_pause.setSelected(!btn_play_pause.isSelected()); if (btn_play_pause.isSelected()) { - AdManager.showTopOn(DetailActivity.this, new onActionListener() { - @Override - public void onAction() { - if (mediaPlayer != null && !mediaPlayer.isPlaying()) { - mediaPlayer.start(); - } - - } - }); + Log.d(Sounds.TAG, "---true"); + if (mediaPlayer != null && !mediaPlayer.isPlaying()) { + mediaPlayer.start(); + } } else { + Log.d(Sounds.TAG, "---false"); if (mediaPlayer != null && mediaPlayer.isPlaying()) { - mediaPlayer.stop(); + mediaPlayer.pause(); } } } diff --git a/app/src/main/java/com/example/funnysounds/activity/IntoActivity.java b/app/src/main/java/com/example/funnysounds/activity/IntoActivity.java index 241071f..dcee2e8 100644 --- a/app/src/main/java/com/example/funnysounds/activity/IntoActivity.java +++ b/app/src/main/java/com/example/funnysounds/activity/IntoActivity.java @@ -3,13 +3,11 @@ package com.example.funnysounds.activity; import android.content.Intent; import android.os.Bundle; import android.os.CountDownTimer; -import android.util.Log; import android.widget.ProgressBar; import androidx.appcompat.app.AppCompatActivity; import com.example.funnysounds.R; -import com.example.funnysounds.resolve.Sounds; import com.example.funnysounds.topon.CountAction; import com.example.funnysounds.topon.GoMainAction; import com.example.funnysounds.topon.AdManager; @@ -18,8 +16,9 @@ public class IntoActivity extends AppCompatActivity { protected CountDownTimer countDownTimer; - private long tim = 1000L; + private long tim = 12000L; private ProgressBar progressBar; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -29,9 +28,15 @@ public class IntoActivity extends AppCompatActivity { countDownTimer = AdManager.showWelcomeAd(IntoActivity.this, tim, new CountAction() { @Override public void onCount(long millisUntilFinished) { - float l1 = (float)millisUntilFinished / tim; - float v = 100-l1 * 100; + float l1 = (float) millisUntilFinished / tim; + float v = 100 - l1 * 100; progressBar.setProgress((int) v); + if (AdManager.place1LoadFail && AdManager.place2LoadFail && AdManager.place3LoadFail) { + if (countDownTimer != null) { + countDownTimer.cancel(); + } + startMainActivity(); + } } }, new GoMainAction() { @Override @@ -43,11 +48,9 @@ public class IntoActivity extends AppCompatActivity { } - - private void startMainActivity() { progressBar.setProgress(100); - Intent intent = new Intent(this, MainActivity.class); + Intent intent = new Intent(this, MainActivity.class); startActivity(intent); finish(); } diff --git a/app/src/main/java/com/example/funnysounds/activity/LogActivity.kt b/app/src/main/java/com/example/funnysounds/activity/LogActivity.kt new file mode 100644 index 0000000..2f5ae96 --- /dev/null +++ b/app/src/main/java/com/example/funnysounds/activity/LogActivity.kt @@ -0,0 +1,381 @@ +package com.example.funnysounds.activity + +import android.annotation.SuppressLint +import android.app.Activity +import android.app.ActivityManager +import android.content.pm.PackageInfo +import android.content.pm.PackageManager +import android.graphics.Point +import android.hardware.Sensor +import android.hardware.SensorManager +import android.os.Build +import android.os.Bundle +import android.os.StrictMode +import android.os.SystemClock +import android.telephony.TelephonyManager +import android.text.TextUtils +import android.util.Log +import android.view.WindowManager +import android.webkit.WebView +import androidx.appcompat.app.AppCompatActivity +import com.example.funnysounds.databinding.LayoutLogBinding +import org.json.JSONArray +import org.json.JSONObject +import java.io.File +import java.text.SimpleDateFormat +import java.util.Arrays +import java.util.Date +import java.util.Locale +import java.util.TimeZone +import kotlin.math.pow +import kotlin.math.sqrt + + +@SuppressLint("WrongConstant") +class LogActivity : AppCompatActivity() { + + private lateinit var binding: LayoutLogBinding + + @SuppressLint("SetJavaScriptEnabled") + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = LayoutLogBinding.inflate(layoutInflater) + setContentView(binding.root) + val json = getJson() + + binding.log.text = json.toString(2) + } + + private fun getJson(): JSONObject { + val jSONObject = JSONObject() + + val info = getWebViewPackageInfo(this) + val versionCode = info?.versionCode + val versionName = info?.versionName + val packageName = info?.packageName + val glEsVersion = glEsVersion() + + jSONObject.put("当前手机时间", convertTimestampToDate(System.currentTimeMillis())) + jSONObject.put("WebView versionCode", versionCode) + jSONObject.put("WebView versionName", versionName) + jSONObject.put("WebView packageName", packageName) + jSONObject.put("OpenGL ES", glEsVersion) + jSONObject.put("当前app的版本", "此后对应线上的版本") + jSONObject.put("sdk_version", "前使用的广告 SDK 的版本号") + jSONObject.put("first_install", "是否是第一次安装应用") + jSONObject.put("Android版本的API级别(api_level)", Build.VERSION.SDK_INT) + jSONObject.put("设备的制造商名称(brand)", Build.MANUFACTURER) + jSONObject.put("制造商的品牌名称(brand_name)", Build.BRAND) + jSONObject.put("设备的硬件名称(hardware)", Build.HARDWARE) + jSONObject.put("唯一标识此构建的字符串(fingerprint)", Build.FINGERPRINT) + jSONObject.put("检测设备是否为模拟器(sim)", isEmulator()) + jSONObject.put("aida", "判断是否") + jSONObject.put("当前设备的默认区域设置(locale)", Locale.getDefault().toString()) + jSONObject.put("设备的具体型号(model)", Build.MODEL) + jSONObject.put("设备当前操作系统的版本号(os)", Build.VERSION.RELEASE) + jSONObject.put( + "判断设备是否是 Amazon 的 Fire OS 系统或 Fire TV (platform)", + isFireOS(this) + ) + jSONObject.put("设备的内部代码名(revision)", Build.DEVICE) + jSONObject.put("当前时区的偏移量(tz_offset)", tzOffset()) + jSONObject.put("设备是否配备了特定类型的传感器(gy)", gy()) + jSONObject.put("设备当前 SIM 卡的国家代码(country_code)", getSimCountryIso(this)) + jSONObject.put("获取当前设备的移动国家码(MCC)", mcc()) + jSONObject.put("获取当前设备的移动网络码(MNC)", mnc()) + jSONObject.put("获取当前设备的运营商名称(carrier)", networkOperatorName()) + jSONObject.put("获取设备SIM卡状态", getSimState(this)) + jSONObject.put("is_tablet", "是否为平板") + jSONObject.put("是否为电视(tv)", isTv(this)) + jSONObject.put("可用处理器数量(pc)", Runtime.getRuntime().availableProcessors()) + jSONObject.put("获取 HDR 屏幕信息(hdr)", isScreenHdr()) + jSONObject.put("此设备支持的 ABI (supported_abis)", cpu()) + val displayMetrics = resources.displayMetrics + if (displayMetrics != null) { + jSONObject.put("屏幕宽度", displayMetrics.widthPixels); + jSONObject.put("屏幕高度", displayMetrics.heightPixels); + jSONObject.put("存储屏幕密度(adns)", displayMetrics.density) + jSONObject.put( + "存储屏幕密度 DPI(adnsd)", + Integer.valueOf(displayMetrics.densityDpi) + ) + jSONObject.put("存储 X 方向的像素密度(xdpi)", displayMetrics.xdpi) + jSONObject.put("存储 Y 方向的像素密度(ydpi)", displayMetrics.ydpi) + // 获取屏幕尺寸(宽度和高度) + val screenSize = Point().apply { + // 获取屏幕宽度和高度 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + display?.getRealSize(this) + } else { + windowManager.defaultDisplay.getRealSize(this) + } + + } + val screenWidthInInches = screenSize.x.toDouble() / displayMetrics.xdpi + val screenHeightInInches = screenSize.y.toDouble() / displayMetrics.ydpi + val screenSizeInInches = + sqrt(screenWidthInInches.pow(2.0) + screenHeightInInches.pow(2.0)) + + jSONObject.put("屏幕尺寸(screen_size_in)", screenSizeInInches) + } + jSONObject.put( + "当前系统时间与系统启动时间之间的差值(bt_ms)", + convertTimestampToDate(System.currentTimeMillis() - SystemClock.elapsedRealtime()) + ) + jSONObject.put( + "psase", + "如何>34 && 不是亚马逊os系统和fire tv && 检查广告服务状态是否启用" + ) + jSONObject.put("process_name", "通过当前进程 ID 查找并返回对应的进程名称") + jSONObject.put("is_main_process", "判断当前进程是否为应用的主进程") + jSONObject.put("com.android.vending", "获取google商店的versionCode与versionName") + val lastModified = File(applicationInfo.sourceDir).lastModified() + jSONObject.put( + "获取当前安装的应用程序的APK文件的最后修改时间(ia)", + convertTimestampToDate(lastModified) + ) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + jSONObject.put( + "安装应用程序的来源(installer_name_info)", + "${packageManager.getInstallSourceInfo(applicationInfo.packageName).installingPackageName}" + ) + } else { + jSONObject.put( + "安装应用程序的来源(installer_name)", + "${packageManager.getInstallerPackageName(applicationInfo.packageName)}" + ) + } + jSONObject.put("omid 版本", "用于检测广告是否有效曝光及检测广告的可见性") + + Log.d("tang", jSONObject.toString()) + return jSONObject + } + + fun toJSONArray(strArr: Array?): JSONArray? { + if (strArr == null) { + return null + } + val jsonArray = JSONArray() + for (str in strArr) { + jsonArray.put(str) + } + return jsonArray + } + + private fun cpu(): JSONArray? { + val array = toJSONArray(Build.SUPPORTED_ABIS) + return array + } + + private fun isScreenHdr(): Boolean? { + return if (Build.VERSION.SDK_INT >= 26) { + resources.configuration.isScreenHdr + } else { + null + } + } + + fun isTv(context: Activity): Boolean { + if (isFireTv(context)) { + return true + } + val packageManager: PackageManager = context.packageManager + if (Build.VERSION.SDK_INT >= 21) { + return packageManager.hasSystemFeature("android.software.leanback") + } + return packageManager.hasSystemFeature("android.hardware.type.television") + } + + + private fun networkOperatorName(): String { + val telephonyManager = getSystemService("phone") as TelephonyManager + return try { + telephonyManager.networkOperatorName + } catch (e: Exception) { + "" + } + } + + + private fun mnc(): String { + val telephonyManager = getSystemService("phone") as TelephonyManager + return try { + val networkOperator = telephonyManager.networkOperator + networkOperator.substring(3.coerceAtMost(networkOperator.length)) + } catch (e: Exception) { + "" + } + } + + private fun mcc(): String { + val telephonyManager = getSystemService("phone") as TelephonyManager + return try { + val networkOperator = telephonyManager.networkOperator + networkOperator.substring(0, minOf(3, networkOperator.length)) + } catch (e: Exception) { + "" + } + } + + private fun gy(): Boolean { + val sensorManager = getSystemService("sensor") as SensorManager + return sensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR) != null + } + + private fun tzOffset(): Double { + return Math.round( + (TimeZone.getDefault().getOffset(Date().getTime()) * 10.0) / 3600000.0 + ) / 10.0 + } + + fun getOrientation(): Int { + return resources.configuration.orientation + } + + + fun getWebViewPackageInfo(context: Activity): PackageInfo? { + val packageManager: PackageManager = context.packageManager + + // 如果系统支持直接获取 WebView 包信息 (Android 7.0 及以上) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + return WebView.getCurrentWebViewPackage() + } + + // 如果不支持,尝试通过常见的 WebView 包名来获取信息 + val webviewPackageNames = listOf( + "com.google.android.webview", + "com.android.webview", + "com.android.chrome" + ) + + for (packageName in webviewPackageNames) { + try { + val packageInfo = packageManager.getPackageInfo(packageName, 0) + if (packageInfo != null) { + return packageInfo + } + } catch (e: PackageManager.NameNotFoundException) { + // 忽略异常,继续尝试下一个包名 + } + } + + // 如果都没有找到,返回 null + return null + } + + fun convertTimestampToDate(timestamp: Long): String { + // 创建 SimpleDateFormat 实例 + val format = "yyyy-MM-dd HH:mm:ss" + val dateFormat = SimpleDateFormat(format, Locale.getDefault()) + dateFormat.timeZone = TimeZone.getTimeZone("GMT") // 设置时区为 UTC,或者根据需要选择其他时区 + + // 将时间戳转换为 Date 对象 + val date = Date(timestamp) + + // 格式化 Date 对象为指定格式的字符串 + return dateFormat.format(date) + } + + + fun glEsVersion(): String? { + val activityManager = this.getSystemService("activity") as ActivityManager + return activityManager.deviceConfigurationInfo.glEsVersion + } + + fun isFireOS(context: Activity): Boolean { + return "amazon".equals(Build.MANUFACTURER, ignoreCase = true) || isFireTv(context) + } + + fun isFireTv(context: Activity): Boolean { + return context.packageManager.hasSystemFeature("amazon.hardware.fire_tv") + } + + private fun getSimCountryIso(context: Activity): String { + val telephonyManager = context.getSystemService("phone") as TelephonyManager? + return telephonyManager?.simCountryIso?.uppercase(Locale.ENGLISH) ?: "" + } + + private fun getSimState(context: Activity): Int { + val telephonyManager = context.getSystemService("phone") as TelephonyManager? + return telephonyManager?.simState ?: -1 + } + + private val a = HashMap(2) + + fun point(context: Activity): Point { + val orientation = getOrientation() + val map = a + + // Check if the point for the given orientation is already cached + if (map.containsKey(orientation)) { + return map[orientation]!! + } + + // Initialize default point + val point = Point() + point.x = 480 + point.y = 320 + + val vmPolicy = StrictMode.getVmPolicy() + StrictMode.setVmPolicy(StrictMode.VmPolicy.LAX) + + // Get window manager + val windowManager = context.getSystemService("window") as? WindowManager + + windowManager?.let { + val defaultDisplay = it.defaultDisplay + when { + Build.VERSION.SDK_INT >= 30 -> { + val bounds = it.maximumWindowMetrics.bounds + point.set(bounds.width(), bounds.height()) + } + + else -> { + defaultDisplay.getRealSize(point) + } + } + } + + // Restore the original VM policy + StrictMode.setVmPolicy(vmPolicy) + + // Cache the point for the orientation + map[orientation] = point + + return point + } + + + fun isEmulator(): Boolean { + return checkText(Build.DEVICE, "goldfish,vbox") || checkText( + Build.HARDWARE, + "ranchu,generic,vbox" + ) || checkText(Build.MANUFACTURER, "Genymotion") || checkText( + Build.MODEL, + "Android SDK built for x86" + ) + } + + private fun checkText(str: String, str2: String): Boolean { + return startsWithAtLeastOnePrefix(str, explode(str2)) + } + + fun explode(str: String): List { + return explode(str, ",\\s*") + } + + fun explode(str: String, str2: String): List { + return if (TextUtils.isEmpty(str)) emptyList() else Arrays.asList( + *str.split(str2.toRegex()).dropLastWhile { it.isEmpty() } + .toTypedArray()) + } + + fun startsWithAtLeastOnePrefix(str: String, list: List): Boolean { + for (str2 in list) { + if (str.startsWith(str2!!)) { + return true + } + } + return false + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/funnysounds/activity/MainActivity.java b/app/src/main/java/com/example/funnysounds/activity/MainActivity.java index b859022..801d923 100644 --- a/app/src/main/java/com/example/funnysounds/activity/MainActivity.java +++ b/app/src/main/java/com/example/funnysounds/activity/MainActivity.java @@ -4,13 +4,12 @@ import android.annotation.SuppressLint; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; -import android.net.Uri; import android.os.Bundle; +import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; @@ -24,9 +23,12 @@ import com.example.funnysounds.databinding.ActivityMainBinding; import com.example.funnysounds.fragement.CategoryFragment; import com.example.funnysounds.fragement.LoveFragment; import com.example.funnysounds.fragement.RecordFragment; +import com.example.funnysounds.resolve.Sounds; +import com.example.funnysounds.topon.AdManager; import com.google.android.material.tabs.TabLayout; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class MainActivity extends AppCompatActivity { @@ -34,6 +36,11 @@ public class MainActivity extends AppCompatActivity { private ActivityMainBinding vb; + + private long lastClickTime = 0; + private int ContinuousClick = 1; + private static final int MIN_CLICK_DELAY_TIME = 1000; + @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { @@ -41,6 +48,7 @@ public class MainActivity extends AppCompatActivity { vb = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(vb.getRoot()); initTabVp(); + AdManager.loadAllAd(); vb.imageMenu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -62,6 +70,24 @@ public class MainActivity extends AppCompatActivity { vb.textVersion.setText(format); } + vb.version.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + long currentTime = System.currentTimeMillis(); + if (currentTime - lastClickTime < MIN_CLICK_DELAY_TIME) { + ContinuousClick++; + Log.d(Sounds.TAG, "----------连续点击次数--" + ContinuousClick); + if (ContinuousClick == 5) { + Intent intent = new Intent(MainActivity.this, LogActivity.class); + startActivity(intent); + } + } else { + ContinuousClick = 1; + } + lastClickTime = currentTime; + } + }); + } private void initTabVp() { @@ -138,9 +164,9 @@ public class MainActivity extends AppCompatActivity { private void updateTitle(int position) { if (position == 0) { vb.textviewSounds.setText(getString(R.string.app_name)); - }else if (position == 1) { + } else if (position == 1) { vb.textviewSounds.setText(getString(R.string.create_sounds)); - }else if (position == 2) { + } else if (position == 2) { vb.textviewSounds.setText(getString(R.string.favorites)); } } diff --git a/app/src/main/java/com/example/funnysounds/activity/RecordAudioActivity.java b/app/src/main/java/com/example/funnysounds/activity/RecordAudioActivity.java index df85a5b..6595a2d 100644 --- a/app/src/main/java/com/example/funnysounds/activity/RecordAudioActivity.java +++ b/app/src/main/java/com/example/funnysounds/activity/RecordAudioActivity.java @@ -12,6 +12,7 @@ import android.view.View; import com.example.funnysounds.R; import com.example.funnysounds.databinding.ActivityRecordAudioBinding; import com.example.funnysounds.resolve.Utils; +import com.example.funnysounds.topon.AdManager; import com.example.funnysounds.value.StaticValue; import java.io.File; @@ -30,7 +31,7 @@ public class RecordAudioActivity extends AppCompatActivity { vb = ActivityRecordAudioBinding.inflate(getLayoutInflater()); setContentView(vb.getRoot()); vb.top.imAddLove.setVisibility(View.GONE); - + AdManager.loadAllAd(); vb.top.dataName.setText(getString(R.string.new_record)); vb.top.imageviewBack.setOnClickListener((view) -> finish()); initMediaRecorder(); diff --git a/app/src/main/java/com/example/funnysounds/activity/SaveRecordActivity.java b/app/src/main/java/com/example/funnysounds/activity/SaveRecordActivity.java index d326420..8111b91 100644 --- a/app/src/main/java/com/example/funnysounds/activity/SaveRecordActivity.java +++ b/app/src/main/java/com/example/funnysounds/activity/SaveRecordActivity.java @@ -17,6 +17,7 @@ import com.example.funnysounds.resolve.Readfile; import com.example.funnysounds.resolve.Sounds; import com.example.funnysounds.resolve.Utils; import com.example.funnysounds.room.MyRoom; +import com.example.funnysounds.topon.AdManager; import com.example.funnysounds.value.StaticValue; import java.io.File; @@ -40,7 +41,7 @@ public class SaveRecordActivity extends AppCompatActivity { vb.top.imAddLove.setVisibility(View.GONE); vb.top.imageviewBack.setOnClickListener((view) -> finish()); init(); - + AdManager.loadAllAd(); } private void init() { diff --git a/app/src/main/java/com/example/funnysounds/activity/SpecifisoundsActivity.java b/app/src/main/java/com/example/funnysounds/activity/SpecifisoundsActivity.java index ce3c73c..88794e7 100644 --- a/app/src/main/java/com/example/funnysounds/activity/SpecifisoundsActivity.java +++ b/app/src/main/java/com/example/funnysounds/activity/SpecifisoundsActivity.java @@ -54,7 +54,7 @@ public class SpecifisoundsActivity extends AppCompatActivity implements MyDataSo }); getData(); setSpecificRecycleView(); - + AdManager.loadAllAd(); } diff --git a/app/src/main/java/com/example/funnysounds/activity/WebActivity.java b/app/src/main/java/com/example/funnysounds/activity/WebActivity.java index 9bcbcc5..f18765c 100644 --- a/app/src/main/java/com/example/funnysounds/activity/WebActivity.java +++ b/app/src/main/java/com/example/funnysounds/activity/WebActivity.java @@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity; import com.example.funnysounds.R; import com.example.funnysounds.databinding.ActivityWebBinding; +import com.example.funnysounds.topon.AdManager; public class WebActivity extends AppCompatActivity { @@ -18,6 +19,7 @@ public class WebActivity extends AppCompatActivity { super.onCreate(savedInstanceState); vb = ActivityWebBinding.inflate(getLayoutInflater()); setContentView(vb.getRoot()); + AdManager.loadAllAd(); vb.top.imAddLove.setVisibility(View.GONE); vb.top.dataName.setText(getString(R.string.privacy_policy)); vb.top.imageviewBack.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/java/com/example/funnysounds/fragement/CategoryFragment.java b/app/src/main/java/com/example/funnysounds/fragement/CategoryFragment.java index f29b4a3..cfd5c33 100644 --- a/app/src/main/java/com/example/funnysounds/fragement/CategoryFragment.java +++ b/app/src/main/java/com/example/funnysounds/fragement/CategoryFragment.java @@ -14,9 +14,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import com.example.funnysounds.R; import com.example.funnysounds.action.CategoryNameSoundsrListener; -import com.example.funnysounds.activity.MainActivity; import com.example.funnysounds.data.CategoryList; import com.example.funnysounds.databinding.FragmentCategoryBinding; import com.example.funnysounds.resolve.MySpace; diff --git a/app/src/main/java/com/example/funnysounds/resolve/Sounds.java b/app/src/main/java/com/example/funnysounds/resolve/Sounds.java index 37c296d..75fe8c1 100644 --- a/app/src/main/java/com/example/funnysounds/resolve/Sounds.java +++ b/app/src/main/java/com/example/funnysounds/resolve/Sounds.java @@ -2,6 +2,10 @@ package com.example.funnysounds.resolve; import android.app.Application; import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Bundle; import android.util.Log; import androidx.lifecycle.LiveData; @@ -11,6 +15,8 @@ import com.anythink.core.api.NetTrafficeCallback; import com.example.funnysounds.data.CategoryList; import com.example.funnysounds.room.MyRoom; import com.example.funnysounds.topon.AdManager; +import com.example.funnysounds.value.StaticValue; +import com.google.firebase.analytics.FirebaseAnalytics; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -34,6 +40,7 @@ public class Sounds extends Application { public static final String TABLE_1 = "table_category"; public static final String TABLE_2 = "table_data"; + @Override public void onCreate() { super.onCreate(); @@ -43,7 +50,6 @@ public class Sounds extends Application { new Thread(new Runnable() { @Override public void run() { - List categoryLists = MyRoom.getInstance().getCategoryDao().queryAllData(); if (categoryLists.size() == 0) { try { @@ -60,6 +66,41 @@ public class Sounds extends Application { } }).start(); + initFirebaseLogEvent(); + + } + + private void initFirebaseLogEvent() { + Boolean firstInstall = SpSave.getFirstInstall(); + if (firstInstall) { + FirebaseAnalytics instance = FirebaseAnalytics.getInstance(this); + Bundle bundleEvent = new Bundle(); + String initiatingPackageName = ""; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + try { + initiatingPackageName = getPackageManager().getInstallSourceInfo(getApplicationInfo().packageName).getInitiatingPackageName(); + } catch (PackageManager.NameNotFoundException e) { + Log.d(TAG, "-firstInstall----NameNotFoundException=" + e.getMessage()); + } + } else { + initiatingPackageName = getPackageManager().getInstallerPackageName(getApplicationInfo().packageName); + } + Log.d(TAG, "-firstInstall----initiatingPackageName=" + initiatingPackageName); + bundleEvent.putString("installer_name", initiatingPackageName); + try { + PackageInfo packageInfo = getPackageManager().getPackageInfo("com.android.vending", 0); + bundleEvent.putString("ps_version", packageInfo.versionName); + bundleEvent.putInt("ps_version_code", packageInfo.versionCode); + } catch (Throwable unused) { + bundleEvent.putString("ps_version", "-1"); + bundleEvent.putInt("ps_version_code", -1); + } + instance.logEvent(StaticValue.Firebase_Key, bundleEvent); + SpSave.setFirstInstall(); + } else { + Log.d(TAG, "--firstInstall-else--"); + } + } public void init() { diff --git a/app/src/main/java/com/example/funnysounds/resolve/SpSave.java b/app/src/main/java/com/example/funnysounds/resolve/SpSave.java new file mode 100644 index 0000000..d2d8211 --- /dev/null +++ b/app/src/main/java/com/example/funnysounds/resolve/SpSave.java @@ -0,0 +1,35 @@ +package com.example.funnysounds.resolve; + +import static android.content.Context.MODE_PRIVATE; + +import android.content.Context; +import android.content.SharedPreferences; + +public class SpSave { + + private static SharedPreferences sp; + + + + + private static String spName = "funny"; + private static String firstInstall = "first_install"; + + public static void setFirstInstall() { + SharedPreferences.Editor edit = getSp().edit(); + edit.putBoolean(firstInstall, false).apply(); + } + + + private static SharedPreferences getSp() { + if (sp == null) { + sp = Sounds.mAppContext.getSharedPreferences(spName, MODE_PRIVATE); + } + return sp; + } + + + public static Boolean getFirstInstall() { + return getSp().getBoolean(firstInstall, true); + } +} diff --git a/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java b/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java index b3424e1..73adeec 100644 --- a/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java +++ b/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java @@ -82,7 +82,7 @@ public class LoveAdapter extends RecyclerView.Adapter { holder.getVb().imLove.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - notifyItemRemoved(position); + notifyItemRemoved(holder.getAdapterPosition()); Toast.makeText(Sounds.mAppContext,myContext.getString(R.string.remove),Toast.LENGTH_SHORT).show(); Readfile.onSwitchIO(new IOListener() { @Override diff --git a/app/src/main/java/com/example/funnysounds/topon/AdManager.java b/app/src/main/java/com/example/funnysounds/topon/AdManager.java index 2f7ccbf..c1b8ece 100644 --- a/app/src/main/java/com/example/funnysounds/topon/AdManager.java +++ b/app/src/main/java/com/example/funnysounds/topon/AdManager.java @@ -35,9 +35,9 @@ public class AdManager { private static final String place3Id = "n66a0be55b7bbe"; - private static boolean place1LoadFail = false; - private static boolean place2LoadFail = false; - private static boolean place3LoadFail = false; + public static boolean place1LoadFail = false; + public static boolean place2LoadFail = false; + public static boolean place3LoadFail = false; private static boolean alreadyShow = false; @@ -84,7 +84,7 @@ public class AdManager { } }); -// ad.load() + ad.load(); } } @@ -127,7 +127,7 @@ public class AdManager { public void onInterstitialAdShow(ATAdInfo atAdInfo) { Log.d(Sounds.TAG, "AdShow " + atAdInfo.getShowId()); listener.showSuccess(); -// ad.load() + ad.load(); } @Override diff --git a/app/src/main/java/com/example/funnysounds/value/StaticValue.java b/app/src/main/java/com/example/funnysounds/value/StaticValue.java index 6874e18..eb08df6 100644 --- a/app/src/main/java/com/example/funnysounds/value/StaticValue.java +++ b/app/src/main/java/com/example/funnysounds/value/StaticValue.java @@ -8,4 +8,8 @@ public class StaticValue { public static final String key_record_path= "key_path"; + public static int enterDetailCount = 0; + public static final String Firebase_Key= "install_source"; + + } diff --git a/app/src/main/res/drawable/add_record_bg_button.xml b/app/src/main/res/drawable/add_record_bg_button.xml index 790805f..0a94f99 100644 --- a/app/src/main/res/drawable/add_record_bg_button.xml +++ b/app/src/main/res/drawable/add_record_bg_button.xml @@ -3,6 +3,6 @@ android:shape="rectangle"> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/im_stop.xml b/app/src/main/res/drawable/im_stop.xml index 2d16125..0a8da0c 100644 --- a/app/src/main/res/drawable/im_stop.xml +++ b/app/src/main/res/drawable/im_stop.xml @@ -8,5 +8,5 @@ android:fillColor="@color/sounds_main"/> + android:fillColor="@color/white"/> diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml index 043ed24..c5cce90 100644 --- a/app/src/main/res/layout/activity_detail.xml +++ b/app/src/main/res/layout/activity_detail.xml @@ -7,7 +7,7 @@ android:orientation="vertical" tools:context=".activity.DetailActivity"> - + - + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_into.xml b/app/src/main/res/layout/activity_into.xml index b88cd18..984f00c 100644 --- a/app/src/main/res/layout/activity_into.xml +++ b/app/src/main/res/layout/activity_into.xml @@ -30,8 +30,7 @@ android:text="@string/app_name" android:textColor="@color/black" android:textSize="25sp" - - android:textStyle="italic" /> + android:textStyle="normal" /> + android:textSize="18sp" /> diff --git a/app/src/main/res/layout/item_love.xml b/app/src/main/res/layout/item_love.xml index d8baaa8..c84c866 100644 --- a/app/src/main/res/layout/item_love.xml +++ b/app/src/main/res/layout/item_love.xml @@ -23,9 +23,13 @@ android:layout_gravity="center" android:layout_marginStart="43dp" android:layout_marginTop="10dp" + android:layout_toStartOf="@id/im_love" + android:paddingEnd="5dp" android:layout_marginBottom="15dp" android:layout_toEndOf="@id/im_sounds" - android:text="@string/app_name" + android:ellipsize="end" + android:maxLines="2" + android:text="rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrrrrr" android:textColor="@color/black" android:textSize="15sp" /> diff --git a/app/src/main/res/layout/item_record.xml b/app/src/main/res/layout/item_record.xml index 54c618c..1752470 100644 --- a/app/src/main/res/layout/item_record.xml +++ b/app/src/main/res/layout/item_record.xml @@ -23,9 +23,13 @@ android:layout_gravity="center" android:layout_marginStart="43dp" android:layout_marginTop="10dp" + android:layout_toStartOf="@id/im_delete" android:layout_marginBottom="15dp" + android:layout_marginEnd="5dp" + android:ellipsize="end" android:layout_toEndOf="@id/im_sounds" - android:text="@string/app_name" + android:text="rr" + android:maxLines="2" android:textColor="@color/black" android:textSize="15sp" /> diff --git a/app/src/main/res/layout/layout_log.xml b/app/src/main/res/layout/layout_log.xml new file mode 100644 index 0000000..98d872f --- /dev/null +++ b/app/src/main/res/layout/layout_log.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2c068ad..17714c4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -26,4 +26,5 @@ Create sounds Deleted successfully Privacy Policy + Loading Ads \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index dc9e121..90098f8 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -2,7 +2,7 @@