Commit d7b880c0 authored by wanglei's avatar wanglei

...

parent c5eabb6d
Pipeline #1400 canceled with stages
......@@ -58,14 +58,6 @@
</intent-filter>
</activity>
<!-- 注册广播 -->
<service
android:name=".model.service.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<activity
......
......@@ -30,6 +30,7 @@ import com.swiftcleaner.chovey.databinding.ActivityStartBinding;
import com.swiftcleaner.chovey.model.bean.ConstObject;
import com.swiftcleaner.chovey.model.util.PermissionUtils;
import com.swiftcleaner.chovey.view.MainActivity;
import com.zxdemo.ZxApplication;
import com.zxdemo.admob.AdmobHelper;
import com.zxdemo.http.ZxHttp;
import com.zxdemo.utils.NonBlockingCountdown;
......@@ -171,6 +172,7 @@ public class StartActivity extends AppCompatActivity {
ConstObject.INSTANCE.setIfAgreePrivacy(true);
ZxHttp.INSTANCE.getHttpReportInterface("app_start", "", null);
nonBlockingCountdown.start(outJumpTime);
((ZxApplication) getApplication()).initApp();
showOpenAd();
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("isFirstTime", false);
......
......@@ -10,6 +10,7 @@ import android.os.Bundle
import android.os.PowerManager
import android.text.TextUtils
import com.zxdemo.admob.AdmobHelper
import com.zxdemo.http.ZxHttp
import com.zxdemo.receiver.AppInstallReceiver
import com.zxdemo.receiver.BatteryStatusReceiver
import com.zxdemo.receiver.UnlockReceiver
......@@ -47,16 +48,23 @@ class ZxApplication : Application() {
context = applicationContext
initUUid()
initApp()
sendBroadCast()
registerActivityLifecycleCallbacks()
val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
isScreenOn = powerManager.isInteractive
InstallRefeerUtils.init()
startOmgNotification()
AdmobHelper.init(this, {}, {})
}
fun initApp() {
FcmUtils().initFirebase(context)
FcmUtils().subscribeToTopic("${packname}_push")
InstallRefeerUtils.init()
InstallRefeerUtils.callBack = {
AdmobHelper.init(this, {}, {})
}
}
......@@ -76,8 +84,7 @@ class ZxApplication : Application() {
runCatching {
context.registerReceiver(BatteryStatusReceiver(), filter)
}
FcmUtils().initFirebase(context)
FcmUtils().subscribeToTopic("${packname}_push")
// var config = SolarEngineConfig.Builder().build()
// SolarEngineManager.getInstance()
......
......@@ -2,7 +2,6 @@ package com.zxdemo.http
import android.util.Log
import com.swiftcleaner.chovey.BuildConfig
import com.swiftcleaner.chovey.model.bean.ConstObject
import com.swiftcleaner.chovey.model.bean.ConstObject.ifAgreePrivacy
import com.zxdemo.ZxApplication
import com.zxdemo.utils.AESUtils
......@@ -22,7 +21,7 @@ object ZxHttp {
fun getHttpConfig(requestBack: () -> Unit) {
var referrer = ""
var referrerSp = SpUtils.getInstance().getString("referrer", "")
val referrerSp = SpUtils.getInstance().getString("referrer", "")
if (referrerSp.isNotEmpty()) {
referrer = android.util.Base64.encodeToString(referrer.toByteArray(), android.util.Base64.DEFAULT)
}
......@@ -34,19 +33,22 @@ object ZxHttp {
urlstr.append("&vc=${BuildConfig.VERSION_CODE}")
urlstr.append("&device=${ZxApplication.GID}")
urlstr.append("&aid=${DeviceUtils.getUID()}")
if (BuildConfig.DEBUG) {
urlstr.append("&mode=4")
}
Log.e("getHttpConfig", "urlstr=$urlstr")
HttpUtils.get(
urlstr.toString(),
object :
Callback {
override fun onFailure(call: Call, e: IOException) {
// 请求失败时的处理逻辑
e.printStackTrace()
Log.e("getHttpConfig", "onFailure")
requestBack.invoke()
}
override fun onResponse(call: Call, response: Response) {
requestBack.invoke()
// 请求成功时的处理逻辑
try {
val responseString = response.body?.string()
if (responseString != null && responseString.contains("result")) {
......@@ -56,8 +58,9 @@ object ZxHttp {
var result = jsonObject.getJSONObject("result")
var data = result.getString("data")
var decrypt = AESUtils.decrypt(data.toString())
Log.d("TAG", "onResponse:decrypt--- $decrypt")
Log.e("getHttpConfig", "onResponse:decrypt--- $decrypt")
SpUtils.getInstance().saveJsonObjectToSp(decrypt)
requestBack.invoke()
}
}
} catch (e: IOException) {
......@@ -89,7 +92,7 @@ object ZxHttp {
// 请求成功时的处理逻辑
try {
val responseString = response.body?.string()
Log.d("TAG", "onResponse: $responseString")
Log.e("TAG", "onResponse: $responseString")
if (responseString != null && responseString.contains("data")) {
var data =
JSONObject(responseString).getJSONObject("result").getString("data")
......@@ -98,7 +101,7 @@ object ZxHttp {
requestBack.invoke(0)
} else {
requestBack.invoke(1)
Log.d("TAG", "onResponse: 展示推送")
Log.e("TAG", "onResponse: 展示推送")
}
} else {
requestBack.invoke(1)
......
......@@ -12,6 +12,9 @@ import com.zxdemo.http.ZxHttp
import org.json.JSONObject
object InstallRefeerUtils {
var callBack: (() -> Unit)? = null
fun init() {
if (TextUtils.isEmpty(SpUtils.getInstance().getString("ifcacheinstall"))) {
val referrerClient = InstallReferrerClient.newBuilder(ZxApplication.context).build()
......@@ -137,6 +140,7 @@ object InstallRefeerUtils {
timerInterval * 1000L
)
}
callBack?.invoke()
}
}
}
\ No newline at end of file
package com.zxdemo.utils
import android.content.Context
import android.content.SharedPreferences
import android.util.Log
import com.zxdemo.ZxApplication
import com.zxdemo.http.ZxHttp
import org.json.JSONObject
......@@ -101,24 +103,16 @@ class SpUtils private constructor(context: Context) {
fun saveJsonObjectToSp(
json: String,
) {
if (json.isNullOrEmpty()) {
if (json.isEmpty()) {
return
}
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault())
var saveDate = getString("config_date")
if (saveDate != "") {
val savedDate = dateFormat.parse(saveDate)
val currentDate = Calendar.getInstance().time
if (isSameDay(savedDate, currentDate)) {
// 如果是同一天,清除保存的次数
remove("notice_current")
}
}
var jsonObject = JSONObject(json)
val editor = sharedPreferences.edit()
// 遍历JSONObject中的所有键值对
jsonObject.keys().forEachRemaining { key ->
val value = jsonObject.get(key)
Log.e("saveJsonObjectToSp", "key=$key value=$value")
// 根据值的类型选择不同的存储方法
when (value) {
is String -> {
......
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