Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
cofbro committed Nov 28, 2023
2 parents 4bf272b + 54da913 commit f1d9865
Show file tree
Hide file tree
Showing 15 changed files with 454 additions and 36 deletions.
123 changes: 123 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许程序读写手机状态和身份 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 允许程序访问CellID或WiFi热点来获取粗略的位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,18 @@ package com.cofbro.qian.friend.search

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.cofbro.hymvvmutils.base.BaseActivity
import com.cofbro.qian.R
import com.cofbro.qian.databinding.ActivitySearchFriendBinding

/**
* 完成用户搜索功能
* 延迟1000ms进行用户搜索
*/
class SearchFriendActivity : BaseActivity<SearchFriendViewModel,ActivitySearchFriendBinding>() {
override fun onActivityCreated(savedInstanceState: Bundle?) {

class SearchFriendActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_search_friend)
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.cofbro.qian.friend.search

import com.cofbro.hymvvmutils.base.BaseRepository

class SearchFriendRepository : BaseRepository() {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.cofbro.qian.friend.search

import com.cofbro.hymvvmutils.base.BaseViewModel

class SearchFriendViewModel : BaseViewModel<SearchFriendRepository>(){

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package com.cofbro.qian.friend.search.adapter

class Friends (val name:String,val src:String)
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.cofbro.qian.friend.search.adapter

import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.cofbro.qian.databinding.ItemSearchfrendsListBinding

class FriendsAdapter (val context: Context, private val currentFriends:MutableList<Friends>): RecyclerView.Adapter<FriendsAdapter.FriendsViewHolder>() {
private var itemClick: ((itemTip: Friends) -> Unit?)? = null
class FriendsViewHolder(private val binding: ItemSearchfrendsListBinding): RecyclerView.ViewHolder(binding.root){
fun bind(position: Int, currentTip:MutableList<Friends>, itemClick: ((itemTip: Friends) -> Unit?)? ){
binding.friendicon.apply {
Glide.with(this.context)
.load(currentTip[position].src)
.into(this)
}
binding.friendname.text = currentTip[position].name
binding.addfriend.setOnClickListener {
itemClick?.invoke(currentTip[position])
}
}

}

override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): FriendsViewHolder {
val inflater = LayoutInflater.from(parent.context)
val binding = ItemSearchfrendsListBinding.inflate(inflater, parent, false)
return FriendsViewHolder(binding)
}

override fun onBindViewHolder(holder: FriendsViewHolder, position: Int) {
holder.bind(position,currentFriends,itemClick)
}

override fun getItemCount(): Int {
return currentFriends.size
}
fun setItemClickListener(itemClickListener: (itemTip: Friends) -> Unit){
itemClick = itemClickListener
}
}
29 changes: 24 additions & 5 deletions app/src/main/java/com/cofbro/qian/mapsetting/MapActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,14 @@ import com.amap.api.maps2d.model.BitmapDescriptorFactory
import com.amap.api.maps2d.model.LatLng
import com.amap.api.maps2d.model.Marker
import com.amap.api.maps2d.model.MarkerOptions
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.core.PoiItemV2
import com.amap.api.services.core.SuggestionCity
import com.amap.api.services.geocoder.GeocodeResult
import com.amap.api.services.geocoder.GeocodeSearch
import com.amap.api.services.geocoder.RegeocodeQuery
import com.amap.api.services.geocoder.RegeocodeResult
import com.amap.api.services.help.Tip
import com.amap.api.services.poisearch.PoiResultV2
import com.amap.api.services.poisearch.PoiSearchV2
import com.bumptech.glide.Glide
Expand All @@ -40,6 +46,7 @@ import com.cofbro.qian.mapsetting.util.Constants
import com.cofbro.qian.mapsetting.util.ToastUtil
import com.cofbro.qian.mapsetting.viewmodel.MapViewModel
import com.cofbro.qian.utils.AccountManager
import com.cofbro.qian.utils.AmapUtils
import com.cofbro.qian.utils.CacheUtils
import com.cofbro.qian.utils.SignRecorder
import com.cofbro.qian.utils.dp2px
Expand All @@ -51,15 +58,15 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.jsoup.Jsoup
import java.io.UnsupportedEncodingException
import java.net.URLEncoder
import java.util.regex.Matcher
import java.util.regex.Pattern


class MapActivity : BaseActivity<MapViewModel, ActivityMapBinding>(), AMap.OnMarkerClickListener,
AMap.InfoWindowAdapter, PoiSearchV2.OnPoiSearchListener {
AMap.InfoWindowAdapter, PoiSearchV2.OnPoiSearchListener
{
private var alreadySign = false
private var cookies = ""
private var remark = ""
Expand All @@ -79,6 +86,7 @@ class MapActivity : BaseActivity<MapViewModel, ActivityMapBinding>(), AMap.OnMar
initLocationData()
}


private fun doNetwork() {
lifecycleScope.launch(Dispatchers.IO) {
analysisAndStartSign(viewModel.aid)
Expand Down Expand Up @@ -720,6 +728,8 @@ class MapActivity : BaseActivity<MapViewModel, ActivityMapBinding>(), AMap.OnMar
preSignOther=false
startActivity(intent)
}
this

}

private suspend fun signWithAccounts() {
Expand Down Expand Up @@ -760,6 +770,7 @@ class MapActivity : BaseActivity<MapViewModel, ActivityMapBinding>(), AMap.OnMar
addLatingDefaultMarker(viewModel.default_Sign_Lating)
}
if (intent != null && intent.hasExtra(Constants.EXTRA_TIP)) {

val tip = intent.getStringArrayListExtra(Constants.EXTRA_TIP)
if (tip != null) {
/**
Expand Down Expand Up @@ -788,9 +799,15 @@ class MapActivity : BaseActivity<MapViewModel, ActivityMapBinding>(), AMap.OnMar

}
}
getCurrentLocationLatLng()


AmapUtils.getCurrentLocationLatLng(applicationContext,
onSuccess = {amapLocation,address->
viewModel.default_My_Lating =
LatLng(amapLocation.latitude, amapLocation.longitude)
addLatingDefaultMarker(viewModel.default_My_Lating)
},
onError = {error->
ToastUtil.show(applicationContext,error)
})
}

private fun urlEncodeChinese(urlString: String): String {
Expand All @@ -813,4 +830,6 @@ class MapActivity : BaseActivity<MapViewModel, ActivityMapBinding>(), AMap.OnMar
SignRecorder.writeJson(applicationContext)
}



}
4 changes: 4 additions & 0 deletions app/src/main/java/com/cofbro/qian/profile/ProfileFragment.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.cofbro.qian.profile

import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.os.Bundle
Expand Down Expand Up @@ -60,6 +61,7 @@ class ProfileFragment : BaseFragment<ProfileViewModel, FragmentProfileBinding>()
val layoutParams = binding?.csMyInfo?.layoutParams as? MarginLayoutParams
layoutParams?.topMargin = statusBarHeight + dp2px(requireContext(), 5)
}
@SuppressLint("SetTextI18n")
private fun profileMessageInfo(){
viewModel.uid.let {
val options = RequestOptions().transform(
Expand All @@ -73,6 +75,8 @@ class ProfileFragment : BaseFragment<ProfileViewModel, FragmentProfileBinding>()
}

binding?.tvProfileUsername?.text = CacheUtils.cache[Constants.USER.USERNAME] ?: "-"

binding?.tvProfileId?.text = "uid: ${CacheUtils.cache[Constants.USER.UID] ?: "-"}"
}
private fun initEvent(){
binding?.tvLogin?.setOnClickListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.alibaba.fastjson.JSONObject
import com.cofbro.qian.R
import com.cofbro.qian.databinding.ItemRecordSignBinding
import com.cofbro.qian.utils.CacheUtils
import com.cofbro.qian.utils.Constants
import com.cofbro.qian.utils.getIntExt
import com.cofbro.qian.utils.getJSONArrayExt
Expand Down Expand Up @@ -64,7 +65,10 @@ class SignRecordAdapter : RecyclerView.Adapter<SignRecordAdapter.SignRecordViewH
?: JSONObject()

// uid
val uid = "uid: ${record.getStringExt(Constants.Recorder.UID)}"
var uid = "uid: ${record.getStringExt(Constants.Recorder.UID)}"
// cache of uid
val cacheUid = CacheUtils.cache[Constants.USER.UID] ?: ""
uid = if (uid == cacheUid) "$uid - (主账号)" else uid
binding.tvRecordUsername.text = uid

// 签到状态
Expand Down
Loading

0 comments on commit f1d9865

Please sign in to comment.