From 27bb3b8085a07064688b293e1413b7e1cd0d11ac Mon Sep 17 00:00:00 2001 From: lijia Date: Wed, 30 Oct 2024 09:00:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=80=E5=87=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 13 +- .../dhsd/glowner/adapter/AddressAdapter.kt | 32 ++ .../java/com/dhsd/glowner/base/AppConfig.kt | 1 + .../java/com/dhsd/glowner/bean/AddressBean.kt | 62 ++++ .../java/com/dhsd/glowner/bean/OrderBean.kt | 1 + app/src/main/java/com/dhsd/glowner/net/Api.kt | 14 + .../AddressEditOrAddActivity.kt} | 27 +- .../glowner/ui/address/AddressListActivity.kt | 104 ++++++ .../ui/home/activtiy/GoodsInfoActivity.kt | 2 - .../ui/home/activtiy/SendGoodsActivity.kt | 3 +- .../com/dhsd/glowner/ui/mine/MineFragment.kt | 12 +- .../ui/mine/activity/ChoiceCarActivity.kt | 4 - .../ui/mine/activity/ChoiceFleetActivity.kt | 4 - .../mine/activity/ChoiceFleetCarActivity.kt | 7 - .../ui/mine/activity/SettingActivity.kt | 97 +++++ .../com/dhsd/glowner/utils/AppVersionUtils.kt | 35 ++ .../com/dhsd/glowner/utils/CommonPopUtils.kt | 18 +- .../java/com/dhsd/glowner/utils/UserUtils.kt | 23 +- .../main/res/layout/activity_address_edit.xml | 2 + .../main/res/layout/activity_address_list.xml | 39 ++ app/src/main/res/layout/activity_setting.xml | 334 ++++++++++++++++++ app/src/main/res/layout/item_address.xml | 65 ++++ 22 files changed, 857 insertions(+), 42 deletions(-) create mode 100644 app/src/main/java/com/dhsd/glowner/adapter/AddressAdapter.kt create mode 100644 app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt rename app/src/main/java/com/dhsd/glowner/ui/{home/activtiy/AddressEditActivity.kt => address/AddressEditOrAddActivity.kt} (72%) create mode 100644 app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt create mode 100644 app/src/main/java/com/dhsd/glowner/ui/mine/activity/SettingActivity.kt create mode 100644 app/src/main/java/com/dhsd/glowner/utils/AppVersionUtils.kt create mode 100644 app/src/main/res/layout/activity_address_list.xml create mode 100644 app/src/main/res/layout/activity_setting.xml create mode 100644 app/src/main/res/layout/item_address.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index bac1ba8..1fc5a5d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -116,7 +116,7 @@ android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateHidden" /> @@ -166,6 +166,17 @@ android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateHidden" /> + + + () { + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: AddressBean?) { + item?.let { +// if ("0"==it.userType) """${it.contactPerson} ${item.contactNumber}""" else """${it.companyName} ${item.companyCode}""" + holder.setText(R.id.tvAddress,it.addressDetail) + holder.setText(R.id.tvName, """${it.contactPerson} ${item.contactNumber}""") + } + } + + override fun onCreateViewHolder( + context: Context, + parent: ViewGroup, + viewType: Int + ): QuickViewHolder { + return QuickViewHolder(R.layout.item_address, parent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt b/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt index 4c50de5..36b6b64 100644 --- a/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt +++ b/app/src/main/java/com/dhsd/glowner/base/AppConfig.kt @@ -10,6 +10,7 @@ object AppConfig { const val BUGLY_APP_ID = "a5b894cef7" const val TIME = "DA_HE_TIME" const val ID = "DA_HE_ID" + const val IS_ADD = "DA_HE_IS_ADD" const val CAPTAIN_ID = "CAPTAIN_ID" const val PWD = "DA_HE_PHONE" const val CODE = "DA_HE_PHONE" diff --git a/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt b/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt new file mode 100644 index 0000000..9c87299 --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/bean/AddressBean.kt @@ -0,0 +1,62 @@ +package com.dhsd.glowner.bean + + +/** + *新增装卸货地址postBean + * @constructor + */ +data class PostAddressBean( + val addressDetail: String, + val addressType: String, + val area: String, + val areaCode: String, + val city: String, + val cityCode: String, + val companyCode: String, + val companyName: String, + val contactNumber: String, + val contactPerson: String, + val idCard: Any, + val idDefault: String, + val isDeleted: String, + val latitude: String, + val longitude: String, + val province: String, + val provinceCode: String, + val sortValue: String, + val tagContent: String, + val userType: String +) + +data class AddressBean( + val addressDetail: String, + val addressId: String, + val addressType: String, + val area: String, + val areaCode: String, + val city: String, + val cityCode: String, + val companyCode: String, + val companyName: String, + val contactNumber: String, + val contactPerson: String, + val createBy: String, + val createTime: String, + val idCard: String, + val idDefault: String, + val isDeleted: String, + val latitude: String, + val longitude: String, + val province: String, + val provinceCode: String, + val remark: String, + val shipperId: String, + val sortValue: String, + val tagContent: String, + val updateBy: String, + val updateTime: String, + val userType: String +) + + + diff --git a/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt b/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt index f570d7c..9c5d4ab 100644 --- a/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt +++ b/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt @@ -8,6 +8,7 @@ package com.dahe.glex.bean */ data class OrderListBean( + var total : Int, var rows: List ) diff --git a/app/src/main/java/com/dhsd/glowner/net/Api.kt b/app/src/main/java/com/dhsd/glowner/net/Api.kt index 69dcdc4..fd9a885 100644 --- a/app/src/main/java/com/dhsd/glowner/net/Api.kt +++ b/app/src/main/java/com/dhsd/glowner/net/Api.kt @@ -1,9 +1,11 @@ import com.dahe.glex.bean.* import com.dahe.mylibrary.net.CommonResponseBean import com.dhsd.glowner.BuildConfig +import com.dhsd.glowner.bean.AddressBean import com.dhsd.glowner.bean.CaptainBean import com.dhsd.glowner.bean.CarBean import com.dhsd.glowner.bean.LoginBean +import com.dhsd.glowner.bean.PostAddressBean import io.reactivex.rxjava3.core.Observable import retrofit2.http.Body import retrofit2.http.GET @@ -89,4 +91,16 @@ interface Api { */ @GET(BASE_URL+"devApi/business/ft/common/dict/captain/driverAndCar") fun driverAndCarList(@Query("captainId") captainId:String): Observable>> + + + /** + * 新增货主常用地址 + * @param bean PostAddressBean + * @return Observable> + */ + @POST(BASE_URL+"devApi/business/shipper/common/address") + fun postAddress(@Body bean: PostAddressBean): Observable> + + @GET(BASE_URL+"devApi/business/shipper/common/address/list") + fun getAddressList(): Observable>> } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/AddressEditActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt similarity index 72% rename from app/src/main/java/com/dhsd/glowner/ui/home/activtiy/AddressEditActivity.kt rename to app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt index 07deae5..551cc57 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/AddressEditActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/address/AddressEditOrAddActivity.kt @@ -1,12 +1,12 @@ -package com.dhsd.glowner.ui.home.activtiy +package com.dhsd.glowner.ui.address import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.LinearLayout -import androidx.compose.material3.Switch import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.dahe.gldriver.base.AppConfig import com.dahe.glex.bean.WayBillBean import com.dahe.mylibrary.base.BaseActivity import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider @@ -15,22 +15,23 @@ import com.dahe.mylibrary.utils.PickerUtils import com.dhsd.glowner.R import com.dhsd.glowner.adapter.SendGoodsAdapter import com.dhsd.glowner.databinding.ActivityAddressEditBinding -import com.github.gzuliyujiang.wheelpicker.contract.OnAddressPickedListener -import com.github.gzuliyujiang.wheelpicker.entity.CityEntity -import com.github.gzuliyujiang.wheelpicker.entity.CountyEntity -import com.github.gzuliyujiang.wheelpicker.entity.ProvinceEntity +import com.dhsd.glowner.utils.OnLimitClickHelper +import com.dhsd.glowner.utils.OnLimitClickListener /** * @ClassName AddresEditActivity * @Author john * @Date 2024/2/4 10:44 - * @Description 选择地址 + * @Description 新增装卸货地址或编辑 */ -class AddressEditActivity : BaseActivity(), View.OnClickListener { +class AddressEditOrAddActivity : BaseActivity(), + OnLimitClickListener { + private var isAdd:Boolean = true override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) - setTitleBar("发货地址", true) + setTitleBar("地址信息", true) + isAdd = intent.extras?.getBoolean(AppConfig.IS_ADD,true) == true var datas = mutableListOf( WayBillBean(), @@ -51,9 +52,12 @@ class AddressEditActivity : BaseActivity(), View.OnC }.submitList(datas) binding.run { - tvSSQ.setOnClickListener(this@AddressEditActivity) + tvSSQ.setOnClickListener(OnLimitClickHelper(this@AddressEditOrAddActivity)) tvClear.setOnClickListener { etAddressDetail.setText("") } + btnOk.setOnClickListener(OnLimitClickHelper(this@AddressEditOrAddActivity)) } + + } override fun onClick(view: View?) { @@ -65,6 +69,9 @@ class AddressEditActivity : BaseActivity(), View.OnC binding.tvSSQ.text = """${province.name}-${city.name}-${county.name}""" } } + R.id.btnOk->{ + + } } } diff --git a/app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt new file mode 100644 index 0000000..57a2d10 --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/ui/address/AddressListActivity.kt @@ -0,0 +1,104 @@ +package com.dhsd.glowner.ui.address + +import BaseObserver +import DataManager +import RxHttpCallBack +import android.graphics.Color +import android.os.Bundle +import android.view.View +import android.widget.LinearLayout +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.dahe.gldriver.base.AppConfig +import com.dahe.glex.bean.OrderListBean +import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.net.CommonResponseBean +import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider +import com.dahe.mylibrary.utils.ActivityUtils +import com.dahe.mylibrary.utils.ConvertUtils +import com.dhsd.glowner.R +import com.dhsd.glowner.adapter.AddressAdapter +import com.dhsd.glowner.bean.AddressBean +import com.dhsd.glowner.databinding.ActivityAddressListBinding +import com.dhsd.glowner.utils.OnLimitClickHelper +import com.dhsd.glowner.utils.OnLimitClickListener +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers + +/** + * @ClassName AddressList + * @Author john + * @Date 2024/10/29 16:45 + * @Description 地址列表 + */ +class AddressListActivity : BaseActivity(), + OnLimitClickListener { + + lateinit var adapter: AddressAdapter + override fun initView(savedInstanceState: Bundle?) { + setStatusBarColor(R.color.white) + setTitleBar("地址", true) + binding.run { + adapter = recycler.run { + layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) + addItemDecoration( + RecycleViewDivider( + LinearLayout.VERTICAL, + ConvertUtils.dp2px(12.0f), + Color.TRANSPARENT + ) + ) + adapter = AddressAdapter() + adapter as AddressAdapter + }.apply { + isStateViewEnable = true + + + setOnItemClickListener { adapter, view, position -> +// adapter.items.find { it.isSelect }?.isSelect = false +// adapter.getItem(position)?.isSelect = true + notifyDataSetChanged() + } + } + btnOk.setOnClickListener(OnLimitClickHelper(this@AddressListActivity)) + } + + } + + override fun initDate() { + DataManager.getInstance().getAddressList() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, + object : RxHttpCallBack>() { + override fun onSuccess(t: CommonResponseBean>) { + super.onSuccess(t) + initList(t.data.rows) + } + })) + } + + override fun onClick(view: View?) { + super.onClick(view) + when (view?.id) { + R.id.btnOk -> { + ActivityUtils.startActivity(mContext,AddressEditOrAddActivity::class.java,Bundle().apply { + putBoolean(AppConfig.IS_ADD,true) + }) + } + } + } + + private fun initList(rows: List) { + if (rows.isEmpty()) { + adapter.submitList(null) + adapter.setStateViewLayout(mContext, R.layout.empty_view) + } else { + if (mRefreshPage === 1) { + adapter?.submitList(rows) + } else { + adapter?.addAll(rows) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt index 360538e..001ad12 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/GoodsInfoActivity.kt @@ -1,7 +1,6 @@ package com.dhsd.glowner.ui.home.activtiy import android.os.Bundle -import android.view.Gravity import android.view.View import androidx.recyclerview.widget.GridLayoutManager import com.dahe.mylibrary.base.BaseActivity @@ -13,7 +12,6 @@ import com.dhsd.glowner.bean.PackTypeBean import com.dhsd.glowner.databinding.ActivityGoodsInfoBinding import com.dhsd.glowner.utils.OnLimitClickHelper import com.dhsd.glowner.utils.OnLimitClickListener -import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener import com.luck.picture.lib.decoration.GridSpacingItemDecoration import com.luck.picture.lib.utils.DensityUtil diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt index 9265ebd..20baa40 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/home/activtiy/SendGoodsActivity.kt @@ -16,6 +16,7 @@ import com.dahe.mylibrary.utils.ToastUtils import com.dhsd.glowner.R import com.dhsd.glowner.adapter.SendGoodsAdapter import com.dhsd.glowner.databinding.ActivitySendGoodsBinding +import com.dhsd.glowner.ui.address.AddressListActivity /** * @ClassName SendGoodsActivity @@ -64,7 +65,7 @@ class SendGoodsActivity : BaseActivity() { adapter as SendGoodsAdapter }.run { addOnItemChildClickListener(R.id.tvSelAddress) { adapter, view, position -> - ActivityUtils.startActivity(mContext, AddressEditActivity::class.java) + ActivityUtils.startActivity(mContext, AddressListActivity::class.java) } this }.submitList(datas) diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt index e75c87f..b91785c 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/MineFragment.kt @@ -9,6 +9,7 @@ import com.dahe.mylibrary.utils.ToastUtils import com.dhsd.glowner.R import com.dhsd.glowner.adapter.GridItemAdapter import com.dhsd.glowner.databinding.FragmentMineBinding +import com.dhsd.glowner.ui.mine.activity.SettingActivity import com.tencent.bugly.crashreport.CrashReport class MineFragment : BaseFragment(), View.OnClickListener { @@ -136,9 +137,18 @@ class MineFragment : BaseFragment(), View.OnClickListener { } 5 -> { - ToastUtils.showToast(mContext, tools[pos].title) + } + 6 -> { + + } + + 7 -> { + ActivityUtils.startActivity(mContext, SettingActivity::class.java) + } + + } } diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt index 168c3cc..9d9e288 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt @@ -7,17 +7,13 @@ import android.content.Intent import android.graphics.Color import android.os.Bundle import android.view.View -import android.widget.AdapterView.OnItemClickListener import android.widget.LinearLayout import androidx.appcompat.app.AppCompatActivity import androidx.core.widget.addTextChangedListener import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.chad.library.adapter4.BaseQuickAdapter import com.dahe.gldriver.base.AppConfig import com.dahe.glex.bean.DispatchBean -import com.dahe.glex.bean.OrderBean -import com.dahe.glex.bean.OrderListBean import com.dahe.mylibrary.base.BaseActivity import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt index bf7f83c..cccc9c2 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt @@ -11,7 +11,6 @@ import android.widget.LinearLayout import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.chad.library.adapter4.BaseQuickAdapter import com.dahe.gldriver.base.AppConfig import com.dahe.glex.bean.DispatchBean import com.dahe.mylibrary.base.BaseActivity @@ -21,15 +20,12 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.ToastUtils import com.dhsd.glowner.R -import com.dhsd.glowner.adapter.DriverCarsAdapter import com.dhsd.glowner.adapter.popadapter.DriverFleetAdapter import com.dhsd.glowner.bean.CaptainBean -import com.dhsd.glowner.bean.CarBean import com.dhsd.glowner.databinding.ActivityChoiceFleetCarBinding import com.dhsd.glowner.utils.OnLimitClickHelper import com.dhsd.glowner.utils.OnLimitClickListener import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers -import io.reactivex.rxjava3.core.Scheduler import io.reactivex.rxjava3.schedulers.Schedulers /** diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt index 3764786..180dafd 100644 --- a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetCarActivity.kt @@ -3,15 +3,12 @@ package com.dhsd.glowner.ui.mine.activity import BaseObserver import DataManager import RxHttpCallBack -import android.content.Intent import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.LinearLayout -import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.chad.library.adapter4.BaseQuickAdapter import com.dahe.gldriver.base.AppConfig import com.dahe.glex.bean.DispatchBean import com.dahe.mylibrary.base.BaseActivity @@ -21,10 +18,7 @@ import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.ToastUtils import com.dhsd.glowner.R -import com.dhsd.glowner.adapter.DriverCarsAdapter import com.dhsd.glowner.adapter.DriverFleetCarAdapter -import com.dhsd.glowner.adapter.popadapter.DriverFleetAdapter -import com.dhsd.glowner.bean.CaptainBean import com.dhsd.glowner.bean.CarBean import com.dhsd.glowner.bean.HomeEvent import com.dhsd.glowner.databinding.ActivityChoiceFleetCarBinding @@ -32,7 +26,6 @@ import com.dhsd.glowner.ui.HomeActivity import com.dhsd.glowner.utils.OnLimitClickHelper import com.dhsd.glowner.utils.OnLimitClickListener import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers -import io.reactivex.rxjava3.core.Scheduler import io.reactivex.rxjava3.schedulers.Schedulers import org.greenrobot.eventbus.EventBus diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/SettingActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/SettingActivity.kt new file mode 100644 index 0000000..cbd1aa3 --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/SettingActivity.kt @@ -0,0 +1,97 @@ +package com.dhsd.glowner.ui.mine.activity + +import android.os.Bundle +import android.view.View +import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.utils.ActivityUtils +import com.dahe.mylibrary.utils.AppUtils +import com.dahe.mylibrary.utils.BaseUtils +import com.dhsd.glowner.R +import com.dhsd.glowner.databinding.ActivitySettingBinding +import com.dhsd.glowner.ui.WebActivity +import com.dhsd.glowner.utils.AppVersionUtils +import com.dhsd.glowner.utils.CommonPopUtils +import com.dhsd.glowner.utils.UserUtils + +/** + * @ClassName SettingActivity + * @Author john + * @Date 2024/3/27 10:21 + * @Description TODO + */ +class SettingActivity : BaseActivity(), View.OnClickListener { + override fun initView(savedInstanceState: Bundle?) { + setStatusBarColor(R.color.white) + setTitleBar("设置", true) + binding.run { + rlOne.setOnClickListener(this@SettingActivity) + rlTwo.setOnClickListener(this@SettingActivity) + + llRules.setOnClickListener { +// ActivityUtils.startActivity(mContext, RulesActivity::class.java) + } + + llRates.setOnClickListener { +// ActivityUtils.startActivity(mContext, RateManActivity::class.java) + } + + llQues.setOnClickListener { +// ActivityUtils.startActivity(mContext, ComProActivity::class.java) + } + + llCallMe.setOnClickListener { + BaseUtils.callPhone(this@SettingActivity,"13783631930") + } + + llAbout.setOnClickListener { + ActivityUtils.startActivity(mContext, WebActivity::class.java, Bundle().apply { + putString("title", "关于我们") + putString("url", "http://www.dahehuoyun.com/index.html") + }) + } + + llFeed.setOnClickListener { + ActivityUtils.startActivity(mContext, WebActivity::class.java, Bundle().apply { + putString("title", "意见反馈") + putString("url", "https://support.qq.com/products/335639") + }) + } + + llUpdate.setOnClickListener { + AppVersionUtils.getInstance().checkVersion(mContext) + } + + tvVersion.text = """当前版本V${AppUtils.getAppVersionName()}""" + } + } + + override fun initDate() { + } + + override fun onClick(view: View?) { + super.onClick(view) + when (view?.id) { + binding.rlOne.id -> { +// if (binding.svTog.isOpened) { +// JPushUPSManager.turnOffPush(mContext) { +// binding.svTog.toggleSwitch(false) +// } +// } else { +// JPushUPSManager.turnOnPush( +// mContext +// ) { binding.svTog.toggleSwitch(true) } +// } + } + + binding.rlTwo.id -> { + CommonPopUtils.getInstance() + .showCommCenterPop(mContext, content = "您确定退出好运货主端么?") { + UserUtils.instance.loginOut(mContext) +// SPUtils.instance.removeUserToken(mContext) +// ActivityUtils.startLoginActivity(mContext,LoginActivity::class.java) +// ActivityUtils.finishAllActivities() + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/utils/AppVersionUtils.kt b/app/src/main/java/com/dhsd/glowner/utils/AppVersionUtils.kt new file mode 100644 index 0000000..c26aa45 --- /dev/null +++ b/app/src/main/java/com/dhsd/glowner/utils/AppVersionUtils.kt @@ -0,0 +1,35 @@ +package com.dhsd.glowner.utils + +import BaseObserver +import RxHttpCallBack +import android.content.Context +import com.dahe.mylibrary.base.SingletonNoPHolder +import com.dahe.mylibrary.net.CommonResponseBean +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers + +/** + * @ClassName AppVersionUtils + * @Author john + * @Date 2024/3/26 11:12 + * @Description TODO + */ +class AppVersionUtils private constructor() { + companion object : SingletonNoPHolder(::AppVersionUtils) + + fun checkVersion(context: Context) { +// DataManager.getInstance().getLastAppVersion() +// .subscribeOn(Schedulers.io()) +// .observeOn(AndroidSchedulers.mainThread()) +// .subscribe(BaseObserver(context, object : RxHttpCallBack() { +// override fun onSuccess(t: CommonResponseBean) { +// super.onSuccess(t) +// if (t.data.versionCode> AppUtils.getAppVersionCode()) { +// CommonPopUtils.getInstance().showUpApp(context,t.data) +// } else { +// ToastUtils.showToast(context, "已是最新版本") +// } +// } +// })) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/utils/CommonPopUtils.kt b/app/src/main/java/com/dhsd/glowner/utils/CommonPopUtils.kt index 61b26c5..c7b6b84 100644 --- a/app/src/main/java/com/dhsd/glowner/utils/CommonPopUtils.kt +++ b/app/src/main/java/com/dhsd/glowner/utils/CommonPopUtils.kt @@ -42,10 +42,24 @@ class CommonPopUtils private constructor() { // .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个 .asCustom(PopBottomCar(context, mutableListOf, listener)) .show() - - } + fun showCommCenterPop( + context: Context, + title: String = "提示", + content: String, + listener: OnConfirmListener, + ) { + XPopup.Builder(context) + .isDestroyOnDismiss(true) + .asConfirm( + title, content, + "取消", "确定", + listener, null, false + ) + .show() + } + } \ No newline at end of file diff --git a/app/src/main/java/com/dhsd/glowner/utils/UserUtils.kt b/app/src/main/java/com/dhsd/glowner/utils/UserUtils.kt index 17c3eb4..d113b47 100644 --- a/app/src/main/java/com/dhsd/glowner/utils/UserUtils.kt +++ b/app/src/main/java/com/dhsd/glowner/utils/UserUtils.kt @@ -1,11 +1,13 @@ package com.dhsd.glowner.utils import android.content.Context +import android.content.Intent import com.dahe.mylibrary.utils.BaseSPUtils +import com.dhsd.glowner.ui.LauncherActivity -class UserUtils private constructor(){ +class UserUtils private constructor() { - companion object{ + companion object { val instance = Holder.holder } @@ -13,14 +15,15 @@ class UserUtils private constructor(){ val holder = UserUtils() } - fun loginOut(context : Context){ - if (null== SPUtils.instance.getUserInfo(context)) - return -// PushAgent.getInstance(context).deleteAlias(SPUtils.getUserInfo(context).userInfo.userId,"uid"){ b, s -> } - BaseSPUtils.cleanUserInfo(context) -// val intent = Intent(context, LauncherActivity::class.java) -// intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK -// context.startActivity(intent) + fun loginOut(context: Context) { + if (null != SPUtils.instance.getUserInfo(context)) { + // PushAgent.getInstance(context).deleteAlias(SPUtils.getUserInfo(context).userInfo.userId,"uid"){ b, s -> } + BaseSPUtils.cleanUserInfo(context) + } + SPUtils.instance.setUserToken(context, "") + val intent = Intent(context, LauncherActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK + context.startActivity(intent) // ToastUtils.showToast(context, "您的账号再异地登录,请重新登录") } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_address_edit.xml b/app/src/main/res/layout/activity_address_edit.xml index 5a2b5f0..7430c7c 100644 --- a/app/src/main/res/layout/activity_address_edit.xml +++ b/app/src/main/res/layout/activity_address_edit.xml @@ -166,6 +166,7 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml new file mode 100644 index 0000000..e9ef1f4 --- /dev/null +++ b/app/src/main/res/layout/activity_setting.xml @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_address.xml b/app/src/main/res/layout/item_address.xml new file mode 100644 index 0000000..d41bd57 --- /dev/null +++ b/app/src/main/res/layout/item_address.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file