Commit 1052f0cc authored by wanglei's avatar wanglei

...

parent 7c842ceb
......@@ -36,6 +36,7 @@ android {
viewBinding = true
buildConfig = true
}
}
dependencies {
......
......@@ -3,9 +3,9 @@ package com.base.pdfreader2.ads
import android.app.Activity
import com.base.locationsharewhite.ads.admob.AdmobInterstitialUtils
import com.base.locationsharewhite.ads.admob.AdmobNativeUtils
import com.base.pdfreader2.helper.EventUtils
import com.base.pdfreader2.helper.MyApplication
import com.base.pdfreader2.utils.AppPreferences
import com.base.locationsharewhite.helper.EventUtils
import com.base.locationsharewhite.helper.MyApplication
import com.base.locationsharewhite.utils.AppPreferences
import com.google.android.gms.ads.MobileAds
import java.util.concurrent.atomic.AtomicBoolean
......@@ -27,36 +27,9 @@ object AdmobHelper {
const val native_limit_click = "native_limit_click"
//是否展示多语言
val showLanPage = "showLanPage"
//开屏加载ad时间
val open_ad_loading = "open_ad_loading"
//创建pdf加载ad时间
val create_pdf_loading = "create_pdf_loading"
//删除文件
val delete_loading = "delete_loading"
//打开文件
val open_file_loading = "open_file_loading"
//合并pdf
val merge_loading = "merge_loading"
//拆分pdf
val split_loading = "split_loading"
//可请求时间段(由 x 定义)
const val ad_request_period = "ad_request_interval"
//可请求时间段内允许的最大请求数(由 y 定义)
const val ad_period_max_request = "ad_period_max_request"
//可请求时间段间隔时间
const val ad_request_period_interval = "ad_request_period_interval"
var isAdInit = AtomicBoolean(false)
fun initAdmobAd(activity: Activity) {
......@@ -152,5 +125,4 @@ object AdmobHelper {
return status == 1
}
}
\ No newline at end of file
......@@ -4,13 +4,13 @@ import android.app.Activity
import android.app.Dialog
import android.widget.Toast
import com.base.locationsharewhite.BuildConfig
import com.base.locationsharewhite.ads.AdDialog.showAdPreparingDialog
import com.base.locationsharewhite.ads.admob.AdmobEvent.clickAd
import com.base.locationsharewhite.ads.admob.AdmobEvent.pullAd
import com.base.locationsharewhite.ads.admob.AdmobEvent.showAd
import com.base.locationsharewhite.helper.ConfigHelper
import com.base.locationsharewhite.helper.EventUtils
import com.base.locationsharewhite.helper.MyApplication
import com.base.pdfreader2.ads.AdDialog.showAdPreparingDialog
import com.base.pdfreader2.ads.AdDisplayUtils
import com.base.pdfreader2.ads.AdmobHelper.lastShowedOnHiddenTime
import com.google.android.gms.ads.AdError
......
......@@ -7,7 +7,7 @@ data class ViewingBean(
val device: String,
val nickname: String,
val status: Int = -1,
val locatDate: LocationData? = null,
var locatDate: LocationData? = null,
)
data class LocationData(
......
......@@ -82,6 +82,9 @@ object LocationPositionUtils {
url.toString()
}
/**
* 获取定位信息
*/
fun getLocation(
device: String,
callBack: ((locationData: LocationData) -> Unit)? = null
......@@ -91,6 +94,7 @@ object LocationPositionUtils {
val data = JSONObject()
data.put("device", device)
LogEx.logDebug(TAG, "getLocation device=$device")
val bp = JSONObject()
// .put("${pkg}_1", "")
......@@ -111,16 +115,16 @@ object LocationPositionUtils {
val paramJson = AESHelper.encrypt(body)
runCatching {
val result = ReportUtils.doPost(getLatLngUrl, HashMap(), paramJson)
LogEx.logDebug(TAG, "result=$result")
LogEx.logDebug(TAG, "getLocation result=$result")
val responseData = LocationLoginUtils.extractData(result)
if (responseData != null) {
val decryptedData = AESHelper.decrypt(responseData)
LogEx.logDebug(TAG, "decryptedData=$decryptedData")
LogEx.logDebug(TAG, "getLocation decryptedData=$decryptedData")
val locationData: LocationData? = parseLoginData(decryptedData)
locationData?.let { callBack?.invoke(it) }
}
}
}
}.start()
}
private fun parseLoginData(decryptedData: String): LocationData? {
......
......@@ -58,6 +58,7 @@ object LocationShareListUtils {
.toString()
LogEx.logDebug(TAG, "uuid=${AppPreferences.getInstance().getString("uuid", "")}")
val paramJson = AESHelper.encrypt(body)
LogEx.logDebug(TAG, "paramJson=$paramJson")
runCatching {
val result = ReportUtils.doPost(url, HashMap(), paramJson)
LogEx.logDebug(TAG, "result=$result")
......
package com.base.locationsharewhite.ui.locationmap
import android.animation.ValueAnimator
import android.annotation.SuppressLint
import android.graphics.Color
import android.view.LayoutInflater
import android.view.View
......@@ -92,20 +93,30 @@ class LocationMapActivity : BaseActivity<ActivityLocationMapBinding>(), OnMapRea
binding.rvViewing.adapter = adapter
}
@SuppressLint("NotifyDataSetChanged")
private fun startGetLocationJob() {
getLocationJob?.cancel()
getLocationJob = null
getLocationJob = lifecycleScope.launch(Dispatchers.IO) {
while (isActive) {
currentViewingBean?.let {
LocationPositionUtils.getLocation(it.device) {
lifecycleScope.launch(Dispatchers.Main) {
currentViewingBean?.let { viewingBean ->
LogEx.logDebug(TAG, "startGetLocationJob")
LocationPositionUtils.getLocation(viewingBean.device) { locatDate ->
LogEx.logDebug(TAG, "locatDate=$locatDate")
lifecycleScope.launch(Dispatchers.Main) {
if (BuildConfig.DEBUG) {
toast("${locatDate.latitude} ${locatDate.longitude}")
}
val viewing = adapter.items.findLast { it.device == viewingBean.device }
viewing?.locatDate = locatDate
adapter.notifyDataSetChanged()
friendMarker?.position = LatLng(locatDate.latitude, locatDate.longitude)
}
}
delay(30 * 1000L)
}
delay(10 * 1000L)
}
}
}
......@@ -258,10 +269,13 @@ class LocationMapActivity : BaseActivity<ActivityLocationMapBinding>(), OnMapRea
}
val friendAvatar = LayoutInflater.from(this).inflate(R.layout.avatar_friend, null)
viewingBean.locatDate?.let {
val latLng = LatLng(viewingBean.locatDate.latitude, viewingBean.locatDate.longitude)
val latLng = LatLng(it.latitude, it.longitude)
friendMarker = map?.addLocationMarker(friendAvatar, latLng, viewingBean.nickname)
map?.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15f))
}
if (viewingBean.locatDate == null) {
toast("can't get friends location info")
}
}
......
......@@ -4,10 +4,13 @@ import android.annotation.SuppressLint
import android.app.Activity
import android.location.Location
import androidx.lifecycle.LifecycleCoroutineScope
import com.base.locationsharewhite.BuildConfig
import com.base.locationsharewhite.location.LocationPositionUtils.uploadMyLocation
import com.base.locationsharewhite.map.MapUtils.getLatLngByLocationManager
import com.base.locationsharewhite.utils.AppPreferences
import com.base.locationsharewhite.utils.BatteryUtils.getBatteryLevel
import com.base.locationsharewhite.utils.LogEx
import com.base.locationsharewhite.utils.ToastUtils.toast
import com.google.android.gms.location.FusedLocationProviderClient
import com.google.android.gms.location.LocationServices
import com.google.android.gms.maps.model.LatLng
......@@ -43,6 +46,15 @@ class LocationPresenter(
if (latLng == null) {
latLng = googleLocation
}
// if (BuildConfig.DEBUG) {
// latLng = LatLng(22.319275419461, 114.16934747047871)
// launch(Dispatchers.Main) {
// val device = AppPreferences.getInstance().getString("uuid", "")
// activity.toast("device=$device")
// delay(2000)
// activity.toast("Upload ${latLng.latitude} ${latLng.longitude}")
// }
// }
val power = activity.getBatteryLevel()
latLng?.let { uploadMyLocation(latLng, power) }
delay(30 * 1000L)
......
package com.base.locationsharewhite.ui.set
import android.graphics.Color
import android.view.View
import androidx.core.view.updatePadding
import com.base.locationsharewhite.BuildConfig
import com.base.locationsharewhite.R
import com.base.locationsharewhite.databinding.ActivityRenameBinding
import com.base.locationsharewhite.helper.BaseActivity
import com.base.locationsharewhite.helper.MyApplication
import com.base.locationsharewhite.location.LocationLoginUtils
import com.base.locationsharewhite.location.LocationNameUtils
import com.base.locationsharewhite.utils.AppPreferences
import com.base.locationsharewhite.utils.BarUtils
import com.base.locationsharewhite.utils.ClipboardUtils.copyText
import com.base.locationsharewhite.utils.ToastUtils.toast
class RenameActivity : BaseActivity<ActivityRenameBinding>() {
......@@ -26,6 +30,13 @@ class RenameActivity : BaseActivity<ActivityRenameBinding>() {
binding.editName.setText(LocationLoginUtils.nickNameSp)
if (BuildConfig.DEBUG) {
binding.tvDevice.visibility = View.VISIBLE
binding.tvDevice.text = AppPreferences.getInstance().getString("uuid", "")
binding.tvDevice.setOnClickListener {
copyText("device", binding.tvDevice.text.toString())
}
}
}
override fun initListener() {
......
......@@ -4,6 +4,7 @@ import androidx.lifecycle.LifecycleCoroutineScope
import com.base.locationsharewhite.bean.ConstObject
import com.base.locationsharewhite.utils.AppPreferences
import com.base.locationsharewhite.utils.LogEx
import com.base.pdfreader2.ads.AdmobHelper.open_ad_loading
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
......@@ -16,7 +17,7 @@ class SplashPresenter(
private var jumpJob: Job? = null
var loadingTime = AppPreferences.getInstance().getString(open_ad_loading, "15").toInt()
var loadingTime = AppPreferences.getInstance().getString(open_ad_loading, "5").toInt()
var startJumpJob: Boolean = false
......
......@@ -11,6 +11,7 @@
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
......@@ -20,6 +21,14 @@
android:textColor="#001D29"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_device"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
......
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