Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
L
location share white
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
location share white
Commits
1052f0cc
Commit
1052f0cc
authored
Oct 29, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
7c842ceb
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
67 additions
and
42 deletions
+67
-42
build.gradle.kts
app/build.gradle.kts
+1
-0
AdmobHelper.kt
.../main/java/com/base/locationsharewhite/ads/AdmobHelper.kt
+3
-31
AdmobInterstitialUtils.kt
...se/locationsharewhite/ads/admob/AdmobInterstitialUtils.kt
+1
-1
ViewingBean.kt
...main/java/com/base/locationsharewhite/bean/ViewingBean.kt
+1
-1
LocationPositionUtils.kt
...base/locationsharewhite/location/LocationPositionUtils.kt
+7
-3
LocationShareListUtils.kt
...ase/locationsharewhite/location/LocationShareListUtils.kt
+1
-0
LocationMapActivity.kt
.../locationsharewhite/ui/locationmap/LocationMapActivity.kt
+19
-5
LocationPresenter.kt
...se/locationsharewhite/ui/locationmap/LocationPresenter.kt
+12
-0
RenameActivity.kt
...java/com/base/locationsharewhite/ui/set/RenameActivity.kt
+11
-0
SplashPresenter.kt
.../com/base/locationsharewhite/ui/splash/SplashPresenter.kt
+2
-1
activity_rename.xml
app/src/main/res/layout/activity_rename.xml
+9
-0
No files found.
app/build.gradle.kts
View file @
1052f0cc
...
@@ -36,6 +36,7 @@ android {
...
@@ -36,6 +36,7 @@ android {
viewBinding
=
true
viewBinding
=
true
buildConfig
=
true
buildConfig
=
true
}
}
}
}
dependencies
{
dependencies
{
...
...
app/src/main/java/com/base/locationsharewhite/ads/AdmobHelper.kt
View file @
1052f0cc
...
@@ -3,9 +3,9 @@ package com.base.pdfreader2.ads
...
@@ -3,9 +3,9 @@ package com.base.pdfreader2.ads
import
android.app.Activity
import
android.app.Activity
import
com.base.locationsharewhite.ads.admob.AdmobInterstitialUtils
import
com.base.locationsharewhite.ads.admob.AdmobInterstitialUtils
import
com.base.locationsharewhite.ads.admob.AdmobNativeUtils
import
com.base.locationsharewhite.ads.admob.AdmobNativeUtils
import
com.base.
pdfreader2
.helper.EventUtils
import
com.base.
locationsharewhite
.helper.EventUtils
import
com.base.
pdfreader2
.helper.MyApplication
import
com.base.
locationsharewhite
.helper.MyApplication
import
com.base.
pdfreader2
.utils.AppPreferences
import
com.base.
locationsharewhite
.utils.AppPreferences
import
com.google.android.gms.ads.MobileAds
import
com.google.android.gms.ads.MobileAds
import
java.util.concurrent.atomic.AtomicBoolean
import
java.util.concurrent.atomic.AtomicBoolean
...
@@ -27,36 +27,9 @@ object AdmobHelper {
...
@@ -27,36 +27,9 @@ object AdmobHelper {
const
val
native_limit_click
=
"native_limit_click"
const
val
native_limit_click
=
"native_limit_click"
//是否展示多语言
val
showLanPage
=
"showLanPage"
//开屏加载ad时间
//开屏加载ad时间
val
open_ad_loading
=
"open_ad_loading"
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
)
var
isAdInit
=
AtomicBoolean
(
false
)
fun
initAdmobAd
(
activity
:
Activity
)
{
fun
initAdmobAd
(
activity
:
Activity
)
{
...
@@ -152,5 +125,4 @@ object AdmobHelper {
...
@@ -152,5 +125,4 @@ object AdmobHelper {
return
status
==
1
return
status
==
1
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/locationsharewhite/ads/admob/AdmobInterstitialUtils.kt
View file @
1052f0cc
...
@@ -4,13 +4,13 @@ import android.app.Activity
...
@@ -4,13 +4,13 @@ import android.app.Activity
import
android.app.Dialog
import
android.app.Dialog
import
android.widget.Toast
import
android.widget.Toast
import
com.base.locationsharewhite.BuildConfig
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.clickAd
import
com.base.locationsharewhite.ads.admob.AdmobEvent.pullAd
import
com.base.locationsharewhite.ads.admob.AdmobEvent.pullAd
import
com.base.locationsharewhite.ads.admob.AdmobEvent.showAd
import
com.base.locationsharewhite.ads.admob.AdmobEvent.showAd
import
com.base.locationsharewhite.helper.ConfigHelper
import
com.base.locationsharewhite.helper.ConfigHelper
import
com.base.locationsharewhite.helper.EventUtils
import
com.base.locationsharewhite.helper.EventUtils
import
com.base.locationsharewhite.helper.MyApplication
import
com.base.locationsharewhite.helper.MyApplication
import
com.base.pdfreader2.ads.AdDialog.showAdPreparingDialog
import
com.base.pdfreader2.ads.AdDisplayUtils
import
com.base.pdfreader2.ads.AdDisplayUtils
import
com.base.pdfreader2.ads.AdmobHelper.lastShowedOnHiddenTime
import
com.base.pdfreader2.ads.AdmobHelper.lastShowedOnHiddenTime
import
com.google.android.gms.ads.AdError
import
com.google.android.gms.ads.AdError
...
...
app/src/main/java/com/base/locationsharewhite/bean/Viewing.kt
→
app/src/main/java/com/base/locationsharewhite/bean/Viewing
Bean
.kt
View file @
1052f0cc
...
@@ -7,7 +7,7 @@ data class ViewingBean(
...
@@ -7,7 +7,7 @@ data class ViewingBean(
val
device
:
String
,
val
device
:
String
,
val
nickname
:
String
,
val
nickname
:
String
,
val
status
:
Int
=
-
1
,
val
status
:
Int
=
-
1
,
va
l
locatDate
:
LocationData
?
=
null
,
va
r
locatDate
:
LocationData
?
=
null
,
)
)
data class
LocationData
(
data class
LocationData
(
...
...
app/src/main/java/com/base/locationsharewhite/location/LocationPositionUtils.kt
View file @
1052f0cc
...
@@ -82,6 +82,9 @@ object LocationPositionUtils {
...
@@ -82,6 +82,9 @@ object LocationPositionUtils {
url
.
toString
()
url
.
toString
()
}
}
/**
* 获取定位信息
*/
fun
getLocation
(
fun
getLocation
(
device
:
String
,
device
:
String
,
callBack
:
((
locationData
:
LocationData
)
->
Unit
)?
=
null
callBack
:
((
locationData
:
LocationData
)
->
Unit
)?
=
null
...
@@ -91,6 +94,7 @@ object LocationPositionUtils {
...
@@ -91,6 +94,7 @@ object LocationPositionUtils {
val
data
=
JSONObject
()
val
data
=
JSONObject
()
data
.
put
(
"device"
,
device
)
data
.
put
(
"device"
,
device
)
LogEx
.
logDebug
(
TAG
,
"getLocation device=$device"
)
val
bp
=
JSONObject
()
val
bp
=
JSONObject
()
// .put("${pkg}_1", "")
// .put("${pkg}_1", "")
...
@@ -111,16 +115,16 @@ object LocationPositionUtils {
...
@@ -111,16 +115,16 @@ object LocationPositionUtils {
val
paramJson
=
AESHelper
.
encrypt
(
body
)
val
paramJson
=
AESHelper
.
encrypt
(
body
)
runCatching
{
runCatching
{
val
result
=
ReportUtils
.
doPost
(
getLatLngUrl
,
HashMap
(),
paramJson
)
val
result
=
ReportUtils
.
doPost
(
getLatLngUrl
,
HashMap
(),
paramJson
)
LogEx
.
logDebug
(
TAG
,
"result=$result"
)
LogEx
.
logDebug
(
TAG
,
"
getLocation
result=$result"
)
val
responseData
=
LocationLoginUtils
.
extractData
(
result
)
val
responseData
=
LocationLoginUtils
.
extractData
(
result
)
if
(
responseData
!=
null
)
{
if
(
responseData
!=
null
)
{
val
decryptedData
=
AESHelper
.
decrypt
(
responseData
)
val
decryptedData
=
AESHelper
.
decrypt
(
responseData
)
LogEx
.
logDebug
(
TAG
,
"decryptedData=$decryptedData"
)
LogEx
.
logDebug
(
TAG
,
"
getLocation
decryptedData=$decryptedData"
)
val
locationData
:
LocationData
?
=
parseLoginData
(
decryptedData
)
val
locationData
:
LocationData
?
=
parseLoginData
(
decryptedData
)
locationData
?.
let
{
callBack
?.
invoke
(
it
)
}
locationData
?.
let
{
callBack
?.
invoke
(
it
)
}
}
}
}
}
}
}
.
start
()
}
}
private
fun
parseLoginData
(
decryptedData
:
String
):
LocationData
?
{
private
fun
parseLoginData
(
decryptedData
:
String
):
LocationData
?
{
...
...
app/src/main/java/com/base/locationsharewhite/location/LocationShareListUtils.kt
View file @
1052f0cc
...
@@ -58,6 +58,7 @@ object LocationShareListUtils {
...
@@ -58,6 +58,7 @@ object LocationShareListUtils {
.
toString
()
.
toString
()
LogEx
.
logDebug
(
TAG
,
"uuid=${AppPreferences.getInstance().getString("
uuid
", "")}"
)
LogEx
.
logDebug
(
TAG
,
"uuid=${AppPreferences.getInstance().getString("
uuid
", "")}"
)
val
paramJson
=
AESHelper
.
encrypt
(
body
)
val
paramJson
=
AESHelper
.
encrypt
(
body
)
LogEx
.
logDebug
(
TAG
,
"paramJson=$paramJson"
)
runCatching
{
runCatching
{
val
result
=
ReportUtils
.
doPost
(
url
,
HashMap
(),
paramJson
)
val
result
=
ReportUtils
.
doPost
(
url
,
HashMap
(),
paramJson
)
LogEx
.
logDebug
(
TAG
,
"result=$result"
)
LogEx
.
logDebug
(
TAG
,
"result=$result"
)
...
...
app/src/main/java/com/base/locationsharewhite/ui/locationmap/LocationMapActivity.kt
View file @
1052f0cc
package
com.base.locationsharewhite.ui.locationmap
package
com.base.locationsharewhite.ui.locationmap
import
android.animation.ValueAnimator
import
android.animation.ValueAnimator
import
android.annotation.SuppressLint
import
android.graphics.Color
import
android.graphics.Color
import
android.view.LayoutInflater
import
android.view.LayoutInflater
import
android.view.View
import
android.view.View
...
@@ -92,20 +93,30 @@ class LocationMapActivity : BaseActivity<ActivityLocationMapBinding>(), OnMapRea
...
@@ -92,20 +93,30 @@ class LocationMapActivity : BaseActivity<ActivityLocationMapBinding>(), OnMapRea
binding
.
rvViewing
.
adapter
=
adapter
binding
.
rvViewing
.
adapter
=
adapter
}
}
@SuppressLint
(
"NotifyDataSetChanged"
)
private
fun
startGetLocationJob
()
{
private
fun
startGetLocationJob
()
{
getLocationJob
?.
cancel
()
getLocationJob
?.
cancel
()
getLocationJob
=
null
getLocationJob
=
null
getLocationJob
=
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
getLocationJob
=
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
while
(
isActive
)
{
while
(
isActive
)
{
currentViewingBean
?.
let
{
currentViewingBean
?.
let
{
viewingBean
->
LocationPositionUtils
.
getLocation
(
it
.
device
)
{
LogEx
.
logDebug
(
TAG
,
"startGetLocationJob"
)
lifecycleScope
.
launch
(
Dispatchers
.
Main
)
{
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
(
3
0
*
1000L
)
delay
(
1
0
*
1000L
)
}
}
}
}
}
}
...
@@ -258,10 +269,13 @@ class LocationMapActivity : BaseActivity<ActivityLocationMapBinding>(), OnMapRea
...
@@ -258,10 +269,13 @@ class LocationMapActivity : BaseActivity<ActivityLocationMapBinding>(), OnMapRea
}
}
val
friendAvatar
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
avatar_friend
,
null
)
val
friendAvatar
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
avatar_friend
,
null
)
viewingBean
.
locatDate
?.
let
{
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
)
friendMarker
=
map
?.
addLocationMarker
(
friendAvatar
,
latLng
,
viewingBean
.
nickname
)
map
?.
moveCamera
(
CameraUpdateFactory
.
newLatLngZoom
(
latLng
,
15f
))
map
?.
moveCamera
(
CameraUpdateFactory
.
newLatLngZoom
(
latLng
,
15f
))
}
}
if
(
viewingBean
.
locatDate
==
null
)
{
toast
(
"can't get friends location info"
)
}
}
}
...
...
app/src/main/java/com/base/locationsharewhite/ui/locationmap/LocationPresenter.kt
View file @
1052f0cc
...
@@ -4,10 +4,13 @@ import android.annotation.SuppressLint
...
@@ -4,10 +4,13 @@ import android.annotation.SuppressLint
import
android.app.Activity
import
android.app.Activity
import
android.location.Location
import
android.location.Location
import
androidx.lifecycle.LifecycleCoroutineScope
import
androidx.lifecycle.LifecycleCoroutineScope
import
com.base.locationsharewhite.BuildConfig
import
com.base.locationsharewhite.location.LocationPositionUtils.uploadMyLocation
import
com.base.locationsharewhite.location.LocationPositionUtils.uploadMyLocation
import
com.base.locationsharewhite.map.MapUtils.getLatLngByLocationManager
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.BatteryUtils.getBatteryLevel
import
com.base.locationsharewhite.utils.LogEx
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.FusedLocationProviderClient
import
com.google.android.gms.location.LocationServices
import
com.google.android.gms.location.LocationServices
import
com.google.android.gms.maps.model.LatLng
import
com.google.android.gms.maps.model.LatLng
...
@@ -43,6 +46,15 @@ class LocationPresenter(
...
@@ -43,6 +46,15 @@ class LocationPresenter(
if
(
latLng
==
null
)
{
if
(
latLng
==
null
)
{
latLng
=
googleLocation
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
()
val
power
=
activity
.
getBatteryLevel
()
latLng
?.
let
{
uploadMyLocation
(
latLng
,
power
)
}
latLng
?.
let
{
uploadMyLocation
(
latLng
,
power
)
}
delay
(
30
*
1000L
)
delay
(
30
*
1000L
)
...
...
app/src/main/java/com/base/locationsharewhite/ui/set/RenameActivity.kt
View file @
1052f0cc
package
com.base.locationsharewhite.ui.set
package
com.base.locationsharewhite.ui.set
import
android.graphics.Color
import
android.graphics.Color
import
android.view.View
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
com.base.locationsharewhite.BuildConfig
import
com.base.locationsharewhite.R
import
com.base.locationsharewhite.R
import
com.base.locationsharewhite.databinding.ActivityRenameBinding
import
com.base.locationsharewhite.databinding.ActivityRenameBinding
import
com.base.locationsharewhite.helper.BaseActivity
import
com.base.locationsharewhite.helper.BaseActivity
import
com.base.locationsharewhite.helper.MyApplication
import
com.base.locationsharewhite.helper.MyApplication
import
com.base.locationsharewhite.location.LocationLoginUtils
import
com.base.locationsharewhite.location.LocationLoginUtils
import
com.base.locationsharewhite.location.LocationNameUtils
import
com.base.locationsharewhite.location.LocationNameUtils
import
com.base.locationsharewhite.utils.AppPreferences
import
com.base.locationsharewhite.utils.BarUtils
import
com.base.locationsharewhite.utils.BarUtils
import
com.base.locationsharewhite.utils.ClipboardUtils.copyText
import
com.base.locationsharewhite.utils.ToastUtils.toast
import
com.base.locationsharewhite.utils.ToastUtils.toast
class
RenameActivity
:
BaseActivity
<
ActivityRenameBinding
>()
{
class
RenameActivity
:
BaseActivity
<
ActivityRenameBinding
>()
{
...
@@ -26,6 +30,13 @@ class RenameActivity : BaseActivity<ActivityRenameBinding>() {
...
@@ -26,6 +30,13 @@ class RenameActivity : BaseActivity<ActivityRenameBinding>() {
binding
.
editName
.
setText
(
LocationLoginUtils
.
nickNameSp
)
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
()
{
override
fun
initListener
()
{
...
...
app/src/main/java/com/base/locationsharewhite/ui/splash/SplashPresenter.kt
View file @
1052f0cc
...
@@ -4,6 +4,7 @@ import androidx.lifecycle.LifecycleCoroutineScope
...
@@ -4,6 +4,7 @@ import androidx.lifecycle.LifecycleCoroutineScope
import
com.base.locationsharewhite.bean.ConstObject
import
com.base.locationsharewhite.bean.ConstObject
import
com.base.locationsharewhite.utils.AppPreferences
import
com.base.locationsharewhite.utils.AppPreferences
import
com.base.locationsharewhite.utils.LogEx
import
com.base.locationsharewhite.utils.LogEx
import
com.base.pdfreader2.ads.AdmobHelper.open_ad_loading
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
...
@@ -16,7 +17,7 @@ class SplashPresenter(
...
@@ -16,7 +17,7 @@ class SplashPresenter(
private
var
jumpJob
:
Job
?
=
null
private
var
jumpJob
:
Job
?
=
null
var
loadingTime
=
AppPreferences
.
getInstance
().
getString
(
open_ad_loading
,
"
1
5"
).
toInt
()
var
loadingTime
=
AppPreferences
.
getInstance
().
getString
(
open_ad_loading
,
"5"
).
toInt
()
var
startJumpJob
:
Boolean
=
false
var
startJumpJob
:
Boolean
=
false
...
...
app/src/main/res/layout/activity_rename.xml
View file @
1052f0cc
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
<TextView
<TextView
android:id=
"@+id/tv"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_gravity=
"center_horizontal"
...
@@ -20,6 +21,14 @@
...
@@ -20,6 +21,14 @@
android:textColor=
"#001D29"
android:textColor=
"#001D29"
android:textSize=
"20sp"
/>
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
<LinearLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"100dp"
android:layout_height=
"100dp"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment