Commit ad544b67 authored by wanglei's avatar wanglei

...

parent 2c78df18
......@@ -26,26 +26,43 @@
android:theme="@style/Theme.DataRecovery"
tools:targetApi="34">
<activity
android:name=".activity.screenshot.ScreenShotAnimationActivity"
android:exported="false"
android:theme="@style/Theme.DataRecovery" />
<activity
android:name=".activity.repeat.RepeatAnimationActivity"
android:exported="false" />
<activity
android:name=".activity.SettingActivity"
android:exported="false" />
android:name=".activity.guide.GuideActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".activity.SplashActivity"
android:exported="true"
android:launchMode="singleTask"
android:theme="@style/splash.theme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity
android:name=".activity.repeat.RepeatAnimationActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".activity.SettingActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".activity.screenshot.ScreenShotAnimationActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Theme.DataRecovery"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".activity.MainActivity"
android:exported="false"
......@@ -147,6 +164,7 @@
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION"
android:value="true" />
......@@ -159,8 +177,6 @@
<service
android:name=".service.StayNotificationService"
android:permission="android.permission.FOREGROUND_SERVICE" />
<service
android:name=".fcm.MessagingService"
android:exported="true">
......@@ -171,9 +187,7 @@
<receiver
android:name=".fcm.CloseNotificationReceiver"
android:exported="false" />
<!-- 添加以下接收器 -->
android:exported="false" /> <!-- 添加以下接收器 -->
<!-- 注册广播 -->
<receiver
android:name=".fcm.FcmReceiver"
......@@ -193,7 +207,6 @@
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
</application>
</manifest>
\ No newline at end of file
......@@ -11,6 +11,7 @@ import android.util.Log
import android.view.View
import androidx.lifecycle.lifecycleScope
import com.base.datarecovery.MyApplication
import com.base.datarecovery.activity.guide.GuideActivity
import com.base.datarecovery.activity.junkclean.ScanJunkActivity
import com.base.datarecovery.activity.privacyspace.PrivacyPinOneActivity
import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity
......@@ -33,6 +34,7 @@ import com.base.datarecovery.bean.ConstObject.ID_RECOVERY_VIDEOS
import com.base.datarecovery.bean.ConstObject.ID_SCREENSHOT_CLEAN
import com.base.datarecovery.bean.ConstObject.ID_SIMILAR_IMAGE
import com.base.datarecovery.bean.ConstObject.ifAgreePrivacy
import com.base.datarecovery.bean.ConstObject.isGuide
import com.base.datarecovery.bean.ConstObject.privacyPinPassword
import com.base.datarecovery.databinding.ActivitySplashBinding
import com.base.datarecovery.fcm.CloseNotificationReceiver
......@@ -178,7 +180,11 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
else -> {
val isHotLaunch = intent?.extras?.getBoolean("isHotLaunch", false) ?: false
if (!isHotLaunch) {
startActivity(Intent(this@SplashActivity, MainActivity::class.java))
if (!isGuide) {
startActivity(Intent(this@SplashActivity, GuideActivity::class.java))
} else {
startActivity(Intent(this@SplashActivity, MainActivity::class.java))
}
}
}
}
......
package com.base.datarecovery.activity.guide
import android.graphics.Color
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.base.datarecovery.R
import com.base.datarecovery.databinding.ActivityGuideBinding
import com.base.datarecovery.fragment.GuideFragment
import com.base.datarecovery.help.BaseActivity
import com.base.datarecovery.utils.BarUtils
class GuideActivity : BaseActivity<ActivityGuideBinding>() {
private val page1: GuideFragment by lazy {
GuideFragment(1)
}
private val page2: GuideFragment by lazy {
GuideFragment(1)
}
private val fragments by lazy {
mutableListOf(page1, page2)
}
override val binding: ActivityGuideBinding by lazy {
ActivityGuideBinding.inflate(layoutInflater)
}
fun setPosition(position:Int){
binding.viewpager2.currentItem = position
}
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.viewpager2.run {
adapter = object : FragmentStateAdapter(this@GuideActivity) {
override fun getItemCount(): Int {
return fragments.size
}
override fun createFragment(position: Int): Fragment {
return fragments[position]
}
}
}
binding.viewpager2.registerOnPageChangeCallback(object :
ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
}
})
}
}
\ No newline at end of file
......@@ -66,13 +66,13 @@ object AdMaxInterstitialUtils {
override fun onAdDisplayed(p0: MaxAd) {
LogEx.logDebug(TAG, "onAdDisplayed")
AdDisplayUtils.getInstance().incrementAdDisplayCount()
AdMaxEvent.showAd(p0, "interAd",activity)
AdMaxEvent.showAd(p0, "interAd", activity)
}
override fun onAdHidden(p0: MaxAd) {
LogEx.logDebug(TAG, "onAdHidden")
onHidden?.invoke()
interstitialAd?.loadAd()
loadInterstitialAd(activity)
}
override fun onAdClicked(p0: MaxAd) {
......
......@@ -107,7 +107,7 @@ object AdMaxNativeUtils {
}
fun showNativeAd(activity: Activity, parent: ViewGroup, layout: Int ) {
fun showNativeAd(activity: Activity, parent: ViewGroup, layout: Int) {
setNativeAdListener()
if (!AdDisplayUtils.getInstance().shouldShowAd("nativeAd")) {
return
......@@ -126,7 +126,7 @@ object AdMaxNativeUtils {
nativeAdLoader.render(adView, nativeAd)
parent.removeAllViews()
parent.addView(adView)
nativeAd?.let { AdMaxEvent.showAd(it, "nativeAd") }
nativeAd?.let { AdMaxEvent.showAd(it, "nativeAd", activity) }
AdDisplayUtils.getInstance().incrementAdDisplayCount()
}
}
......
......@@ -20,29 +20,29 @@ object AdMaxOpenUtils {
private var onHidden: (() -> Unit)? = null
private var loadingListener: (() -> Unit)? = null
private fun setListener(context: Context) {
private fun setListener(activity: Activity) {
if (appOpenAd == null) {
appOpenAd = MaxAppOpenAd(ConfigHelper.openAdMaxId, context)
appOpenAd = MaxAppOpenAd(ConfigHelper.openAdMaxId, activity)
appOpenAd?.setListener(object : MaxAdListener {
override fun onAdLoaded(p0: MaxAd) {
LogEx.logDebug(TAG, "onAdLoaded")
openLoadTime = System.currentTimeMillis()
loadingListener?.invoke()
AdMaxEvent.pullAd(p0,"openAd")
AdMaxEvent.pullAd(p0, "openAd")
}
override fun onAdLoadFailed(p0: String, p1: MaxError) {
LogEx.logDebug(TAG, "onAdLoadFailed:"+p1.message.toString())
LogEx.logDebug(TAG, "onAdLoadFailed:" + p1.message.toString())
onHidden?.invoke()
AdDisplayUtils.getInstance().incrementAdRequestFailCount()
AdMaxEvent.pullAd(null,"openAd")
AdMaxEvent.pullAd(null, "openAd")
}
override fun onAdDisplayed(p0: MaxAd) {
AdDisplayUtils.getInstance().incrementAdDisplayCount()
AdMaxEvent.showAd(p0,"openAd")
AdMaxEvent.showAd(p0, "openAd", activity)
}
override fun onAdHidden(p0: MaxAd) {
......@@ -55,7 +55,7 @@ object AdMaxOpenUtils {
AdDisplayUtils.getInstance().incrementAdClickCount()
// com.base.datarecovery.ads.max.AdMaxEvent.clickAd(appOpenAd, "openAd")
AdmobCommonUtils.isMultiClick(appOpenAd)
AdMaxEvent.clickAd(p0,"openAd")
AdMaxEvent.clickAd(p0, "openAd")
}
......@@ -71,7 +71,7 @@ object AdMaxOpenUtils {
}
})
appOpenAd?.setRevenueListener (AdMaxEvent.EventOnPaidEventListener())
appOpenAd?.setRevenueListener(AdMaxEvent.EventOnPaidEventListener())
}
}
......
......@@ -34,6 +34,14 @@ object ConstObject {
field = value
AppPreferences.getInstance().put("ifAgreePrivacy", value, true)
}
var isGuide = false
get() {
return AppPreferences.getInstance().getBoolean("isGuide", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("isGuide", value, true)
}
var rememberOption = false
get() {
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.guide.GuideActivity">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager2"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25"
tools:ignore="ContentDescription"
tools:src="@mipmap/ydytu1" />
<View
android:id="@+id/ll"
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginTop="50dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="@id/iv"
app:layout_constraintStart_toStartOf="@id/iv"
app:layout_constraintTop_toBottomOf="@id/iv">
</View>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/tv_btn"
app:layout_constraintTop_toBottomOf="@id/ll"
tools:ignore="UselessLeaf" />
<View
android:id="@+id/tv_btn"
android:layout_width="164dp"
android:layout_height="45dp"
android:layout_marginBottom="100dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="MissingConstraints" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment