|
@@ -11,22 +11,27 @@ import android.widget.ListView
|
|
|
import android.widget.TextView
|
|
|
import androidx.appcompat.widget.Toolbar
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
-import com.android.volley.Request
|
|
|
-import com.android.volley.VolleyError
|
|
|
-import com.android.volley.toolbox.JsonObjectRequest
|
|
|
import com.sikey.interconnect.R
|
|
|
import com.sikey.interconnect.app.DataManager
|
|
|
import com.sikey.interconnect.app.DataManager.Companion.checkLoginResponse
|
|
|
import com.sikey.interconnect.app.DataManager.Companion.instance
|
|
|
import com.sikey.interconnect.component.log.Logger
|
|
|
-import com.sikey.interconnect.component.network.ARJSONListener
|
|
|
-import com.sikey.interconnect.component.network.BusinessError
|
|
|
-import com.sikey.interconnect.component.network.RequestManager
|
|
|
import com.sikey.interconnect.component.network.http.ChildService
|
|
|
+import com.sikey.interconnect.component.network.http.CloudAlbumService
|
|
|
import com.sikey.interconnect.component.network.http.HttpServiceExecutor
|
|
|
+import com.sikey.interconnect.component.network.http.RetrofitCloudAlbumFactory
|
|
|
import com.sikey.interconnect.component.network.http.RetrofitFactory
|
|
|
+import com.sikey.interconnect.component.network.http.manager.ContactManager
|
|
|
+import com.sikey.interconnect.component.network.http.model.DelFamilyMemberReq
|
|
|
+import com.sikey.interconnect.component.network.http.model.GetContactListRepo
|
|
|
+import com.sikey.interconnect.component.network.http.model.MemberBean
|
|
|
import com.sikey.interconnect.component.network.http.model.UnbindDeviceReq
|
|
|
import com.sikey.interconnect.constant.UrlConstants
|
|
|
+import com.sikey.interconnect.constant.UrlConstants.IDENTITY_ADMIN
|
|
|
+import com.sikey.interconnect.constant.UrlConstants.IDENTITY_FAMILY
|
|
|
+import com.sikey.interconnect.constant.UrlConstants.IDENTITY_OTHER
|
|
|
+import com.sikey.interconnect.constant.UrlConstants.IDENTITY_SUPER_ADMIN
|
|
|
+import com.sikey.interconnect.constant.UrlConstants.IDENTITY_UNKNOWN
|
|
|
import com.sikey.interconnect.k2.ui.settings.WatchSettingsActivity
|
|
|
import com.sikey.interconnect.ui.adapter.BabyListAdapter
|
|
|
import com.sikey.interconnect.ui.adapter.BabyListAdapter.OnRequestListener
|
|
@@ -38,8 +43,6 @@ import com.sikey.interconnect.ui.fragment.dialog.bean.AlertDialogBean
|
|
|
import com.sikey.interconnect.ui.fragment.dialog.listener.OnAlertDialogListener
|
|
|
import com.sikey.interconnect.utils.ToastUtils
|
|
|
import kotlinx.coroutines.launch
|
|
|
-import org.json.JSONArray
|
|
|
-import org.json.JSONObject
|
|
|
|
|
|
class BabyListActivity : BaseNoActionBarActivity(), OnRequestListener, OnAlertDialogListener {
|
|
|
private var mListView: ListView? = null
|
|
@@ -137,6 +140,61 @@ class BabyListActivity : BaseNoActionBarActivity(), OnRequestListener, OnAlertDi
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private fun preDelFamilyMember() {
|
|
|
+ val memberList = ArrayList<MemberBean>()
|
|
|
+ lifecycleScope.launch {
|
|
|
+ showProgressDialog()
|
|
|
+ ContactManager.fetchContactList(instance.childTrackInfos?.get(mSelectedPos)?.childId ?: "").apply {
|
|
|
+ if (this.code?.startsWith("40") != false) {
|
|
|
+ gotoLogin()
|
|
|
+ return@launch
|
|
|
+ }
|
|
|
+ hideProgressDialog()
|
|
|
+ if (this.code == "200") {
|
|
|
+ val contactList = (this.mData as GetContactListRepo).contactList
|
|
|
+ if (contactList.isNullOrEmpty()) {
|
|
|
+ return@apply
|
|
|
+ } else {
|
|
|
+ Logger.d("BabyListActivity", "====== beanList.size()=" + contactList.size)
|
|
|
+ }
|
|
|
+ val avatarPrefix = "ids://local_"
|
|
|
+ contactList.forEach { item ->
|
|
|
+ when (item.identity) {
|
|
|
+ IDENTITY_FAMILY, IDENTITY_ADMIN, IDENTITY_SUPER_ADMIN -> {
|
|
|
+ memberList.add(MemberBean(item.phoneNumber, item.refId))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ delFamilyMember(memberList, 1)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun delFamilyMember(memberList: ArrayList<MemberBean>, isAdmin: Int) {
|
|
|
+ val ticket = instance.childTrackInfos?.get(mSelectedPos)?.device?.ticket ?: ""
|
|
|
+ Logger.d("BabyListActivity", "====== ticket:$ticket")
|
|
|
+ lifecycleScope.launch {
|
|
|
+ HttpServiceExecutor.execute(
|
|
|
+ (RetrofitCloudAlbumFactory.retrofit(CloudAlbumService::class.java) as CloudAlbumService).delFamilyMember(
|
|
|
+ DelFamilyMemberReq(
|
|
|
+ memberList,
|
|
|
+ ticket,
|
|
|
+ isAdmin
|
|
|
+ )
|
|
|
+ ).flowable
|
|
|
+ ).apply {
|
|
|
+ if (this.code == "200") {
|
|
|
+ //ToastUtils.showLongToast(this.message)
|
|
|
+ Logger.d("BabyListActivity", "====== delFamilyMember success message:" + this.message)
|
|
|
+ } else {
|
|
|
+ //ToastUtils.showLongToast(this.message)
|
|
|
+ Logger.d("BabyListActivity", "====== delFamilyMember failed message:" + this.message)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private fun unbindDevice() {
|
|
|
if (mSelectedPos < 0 || !DataManager.checkLoginResponse()) {
|
|
|
return
|
|
@@ -184,11 +242,25 @@ class BabyListActivity : BaseNoActionBarActivity(), OnRequestListener, OnAlertDi
|
|
|
// mAlertDialogFrag=AlertDialogFragment.newInstance(mAlertDialogBean,this);
|
|
|
// }
|
|
|
// mAlertDialogFrag.show(this.getSupportFragmentManager(),TAG);
|
|
|
+ if ("N8#CMCC" == instance.currentChildInfo!!.device.model) {
|
|
|
+ val memberList = ArrayList<MemberBean>()
|
|
|
+ memberList.add(
|
|
|
+ MemberBean(
|
|
|
+ instance.loginResponse?.phoneNumber ?: "",
|
|
|
+ instance.loginResponse?.id ?: ""
|
|
|
+ )
|
|
|
+ )
|
|
|
+ delFamilyMember(memberList, 2)
|
|
|
+ }
|
|
|
doDelete()
|
|
|
}
|
|
|
|
|
|
override fun onUnbind(selectedPos: Int) {
|
|
|
mSelectedPos = selectedPos
|
|
|
+
|
|
|
+ if ("N8#CMCC" == instance.currentChildInfo!!.device.model) {
|
|
|
+ preDelFamilyMember()
|
|
|
+ }
|
|
|
unbindDevice()
|
|
|
}
|
|
|
|