Commit 25a29882 authored by guest's avatar guest

修改崩溃,继承ump

parent b2bd13bb
...@@ -116,7 +116,7 @@ dependencies { ...@@ -116,7 +116,7 @@ dependencies {
implementation 'com.google.android.ump:user-messaging-platform:2.1.0' implementation 'com.google.android.ump:user-messaging-platform:2.1.0'
implementation "com.squareup.okhttp3:okhttp:4.9.0" implementation "com.squareup.okhttp3:okhttp:4.9.0"
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0' implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
implementation 'com.google.android.ump:user-messaging-platform:3.0.0'
} }
\ No newline at end of file
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<queries> <queries>
...@@ -34,26 +35,21 @@ ...@@ -34,26 +35,21 @@
tools:targetApi="34"> tools:targetApi="34">
<activity <activity
android:name=".activity.screenshot.ScreenShotAnimationActivity" android:name=".activity.screenshot.ScreenShotAnimationActivity"
android:exported="false" /> android:screenOrientation="portrait" />
<activity <activity
android:name=".activity.similarphotos.RepeatPhotoAnimationActivity" android:name=".activity.similarphotos.RepeatPhotoAnimationActivity"
android:exported="false" /> android:screenOrientation="portrait"/>
<activity <activity
android:name=".activity.largefile.LargeFileAnimationActivity" android:name=".activity.largefile.LargeFileAnimationActivity"
android:exported="false" /> android:screenOrientation="portrait" />
<activity <activity
android:name=".activity.batteryinfo.BatteryInfoAnimationActivity" android:name=".activity.batteryinfo.BatteryInfoAnimationActivity"
android:exported="false" /> android:screenOrientation="portrait"/>
<activity <activity
android:name=".activity.whatsapp.WhatsAppCleanerAnimationActivity" android:name=".activity.whatsapp.WhatsAppCleanerAnimationActivity"
android:exported="false" android:screenOrientation="portrait" />
android:launchMode="singleTask"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.appmanager.AppManagerAnimationActivity" android:name=".activity.appmanager.AppManagerAnimationActivity"
android:exported="false"
android:launchMode="singleTask"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
...@@ -77,38 +73,26 @@ ...@@ -77,38 +73,26 @@
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.appmanager.AppManagerActivity" android:name=".activity.appmanager.AppManagerActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.whatsapp.WhatsAppCleanerActivity" android:name=".activity.whatsapp.WhatsAppCleanerActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.whatsapp.WhatsAppMessageCleanActivity" android:name=".activity.whatsapp.WhatsAppMessageCleanActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.screenshot.ScreenShotActivity" android:name=".activity.screenshot.ScreenShotActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.DeviceScanActivity" android:name=".activity.DeviceScanActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.SettingActivity" android:name=".activity.SettingActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
...@@ -135,8 +119,6 @@ ...@@ -135,8 +119,6 @@
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.largefile.LargeFileCleanActivity" android:name=".activity.largefile.LargeFileCleanActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
...@@ -145,14 +127,12 @@ ...@@ -145,14 +127,12 @@
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.similarphotos.RepeatPhotoActivity" android:name=".activity.similarphotos.RepeatPhotoActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity android:name=".activity.scanjunk.PrepareScanAt2" <activity android:name=".activity.scanjunk.PrepareScanAt2"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name=".activity.batteryinfo.BatteryInfoActivity" android:name=".activity.batteryinfo.BatteryInfoActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
......
...@@ -5,7 +5,6 @@ import android.content.Intent ...@@ -5,7 +5,6 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import com.facebook.FacebookSdk import com.facebook.FacebookSdk
import com.google.android.gms.ads.MobileAds
import com.test.easy.easycleanerjunk.activity.splash.NewSplashActivity import com.test.easy.easycleanerjunk.activity.splash.NewSplashActivity
import com.test.easy.easycleanerjunk.fcm.ActionBroadcast import com.test.easy.easycleanerjunk.fcm.ActionBroadcast
import com.test.easy.easycleanerjunk.fcm.FCMUtil import com.test.easy.easycleanerjunk.fcm.FCMUtil
...@@ -55,7 +54,7 @@ class MyApplication : BaseApplication() { ...@@ -55,7 +54,7 @@ class MyApplication : BaseApplication() {
FacebookSdk.sdkInitialize(this) FacebookSdk.sdkInitialize(this)
initNotificationWork() initNotificationWork()
InstallHelps.init { InstallHelps.init {
MobileAds.initialize(this) { } // MobileAds.initialize(this) { }
} }
BlackUtils.requestBlack() BlackUtils.requestBlack()
if (ConfigHelper.ifAgreePrivacy) { if (ConfigHelper.ifAgreePrivacy) {
......
...@@ -8,6 +8,10 @@ import android.os.Build ...@@ -8,6 +8,10 @@ import android.os.Build
import android.os.Handler import android.os.Handler
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.view.isVisible import androidx.core.view.isVisible
import com.google.android.gms.ads.MobileAds
import com.google.android.ump.ConsentInformation
import com.google.android.ump.ConsentRequestParameters
import com.google.android.ump.UserMessagingPlatform
import com.test.easy.easycleanerjunk.databinding.ActivityLayoutSplashBinding import com.test.easy.easycleanerjunk.databinding.ActivityLayoutSplashBinding
import com.test.easy.easycleanerjunk.fcm.CloseNotificationReceiver import com.test.easy.easycleanerjunk.fcm.CloseNotificationReceiver
import com.test.easy.easycleanerjunk.fcm.NotificationUtil import com.test.easy.easycleanerjunk.fcm.NotificationUtil
...@@ -17,6 +21,7 @@ import com.test.easy.easycleanerjunk.helps.EventUtils ...@@ -17,6 +21,7 @@ import com.test.easy.easycleanerjunk.helps.EventUtils
import com.test.easy.easycleanerjunk.helps.ads.AdmobUtils import com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import com.test.easy.easycleanerjunk.service.PermanentNotificationService.Companion.startNotification import com.test.easy.easycleanerjunk.service.PermanentNotificationService.Companion.startNotification
import com.test.easy.easycleanerjunk.utils.BarUtils import com.test.easy.easycleanerjunk.utils.BarUtils
import java.util.concurrent.atomic.AtomicBoolean
@SuppressLint("CustomSplashScreen") @SuppressLint("CustomSplashScreen")
class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(), class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
...@@ -40,6 +45,7 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(), ...@@ -40,6 +45,7 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
override fun initView() { override fun initView() {
initStatusBar() initStatusBar()
initUmp()
if (isDestroyed) { if (isDestroyed) {
return return
} }
...@@ -47,6 +53,7 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(), ...@@ -47,6 +53,7 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
finish() finish()
return return
} }
jumpType = intent.getIntExtra("actionId", 0) jumpType = intent.getIntExtra("actionId", 0)
if (jumpType != 0) { if (jumpType != 0) {
val cancelIntent = Intent(this, CloseNotificationReceiver::class.java) val cancelIntent = Intent(this, CloseNotificationReceiver::class.java)
...@@ -69,6 +76,42 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(), ...@@ -69,6 +76,42 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
} }
} }
private lateinit var consentInformation: ConsentInformation
private var isMobileAdsInitializeCalled = AtomicBoolean(false)
private fun initUmp(){
val params = ConsentRequestParameters
.Builder()
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
this,
params,
{
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
this
) { loadAndShowError ->
if (loadAndShowError != null) {
}
// Consent has been gathered.
if (consentInformation.canRequestAds()) {
initializeMobileAdsSdk()
}
}
},
{
})
if (consentInformation.canRequestAds()) {
initializeMobileAdsSdk()
}
}
private fun initializeMobileAdsSdk(){
if (isMobileAdsInitializeCalled.getAndSet(true)) {
return
}
MobileAds.initialize(this) {}
}
override fun onAgreePrivacy() { override fun onAgreePrivacy() {
if (jumpType == 0) { if (jumpType == 0) {
......
...@@ -126,17 +126,14 @@ public class NotificationUtil { ...@@ -126,17 +126,14 @@ public class NotificationUtil {
handler = new Handler(handlerThread.getLooper()); handler = new Handler(handlerThread.getLooper());
for (int i = 1; i <= num; i++) { for (int i = 1; i <= num; i++) {
final long time = i * delay; final long time = i * delay;
handler.postDelayed(new Runnable() { handler.postDelayed(() -> {
@Override if (MyApplication.PAUSED_VALUE == 1) {
public void run() { if (handler != null) {
if (MyApplication.PAUSED_VALUE == 1) {
handler.removeCallbacksAndMessages(null); handler.removeCallbacksAndMessages(null);
return;
}
if (MyApplication.PAUSED_VALUE != 1) {
sendNotification(context, actionId);
} }
return;
} }
sendNotification(context, actionId);
}, time); }, time);
} }
} }
......
...@@ -8,6 +8,7 @@ import android.app.PendingIntent ...@@ -8,6 +8,7 @@ import android.app.PendingIntent
import android.app.Service import android.app.Service
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.ServiceInfo
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.os.Build import android.os.Build
import android.os.IBinder import android.os.IBinder
...@@ -48,14 +49,14 @@ class PermanentNotificationService : Service() { ...@@ -48,14 +49,14 @@ class PermanentNotificationService : Service() {
@SuppressLint("ForegroundServiceType") @SuppressLint("ForegroundServiceType")
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
if (isRunning) { if (!isRunning) {
stopSelf() val notification = createPermanentNotification(applicationContext)
return START_NOT_STICKY if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
} startForeground(1, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC)
} else {
val notification = createPermanentNotification(applicationContext) startForeground(1, notification)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { }
startForeground(10088, notification) isRunning = true
} }
return START_STICKY return START_STICKY
} }
......
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