From eb6124e310ae8875a0150ee5d2edd52d5a579d87 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期四, 02 七月 2026 17:08:21 +0800
Subject: [PATCH] 快件订单优化
---
app/src/main/res/values-fr/strings.xml | 5
app/src/main/java/com/driver/igotrip/ui/adapter/MediaOperationAdapter.kt | 35 +
app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt | 196 +++++++--
app/src/main/res/layout/item_show_picture.xml | 15
app/src/main/java/com/driver/igotrip/utils/glide/GlideUtil.java | 13
app/src/main/java/com/driver/igotrip/base/MyBaseActivity.java | 5
app/src/main/java/com/driver/igotrip/ui/adapter/ShowPictureAdapter.kt | 34 +
app/src/main/res/layout/activity_order_over_small.xml | 141 ++++++
app/src/main/res/layout/include_order_money.xml | 2
app/src/main/java/com/driver/igotrip/bean/OrderListBean.java | 2
app/src/main/res/values/colors.xml | 1
app/src/main/java/com/driver/igotrip/bean/OrderBean.java | 2
app/src/main/java/com/driver/igotrip/ui/main/MediaOperationActivity.kt | 234 ++++++++++++
app/src/main/res/layout/item_media_operation.xml | 24 +
app/src/main/java/com/driver/igotrip/netUtls/Api.java | 14
app/build.gradle | 3
app/src/main/res/layout/activity_show_picture.xml | 60 +++
app/src/main/res/values/strings.xml | 4
app/src/main/AndroidManifest.xml | 25
app/src/main/res/layout/activity_mine_purse.xml | 2
app/src/main/res/drawable/shape_black1_bg_4.xml | 5
app/src/main/java/com/driver/igotrip/base/local/BasePhotoActivity.kt | 2
app/src/main/res/layout/activity_mine_income.xml | 2
app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt | 9
app/src/main/java/com/driver/igotrip/ui/main/ShowPictureActivity.kt | 72 +++
app/src/main/res/layout/activity_media_operation.xml | 47 ++
app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallOverActivity.kt | 30 +
app/src/main/res/layout/activity_order_over.xml | 149 +++++++
app/src/main/res/values-en/strings.xml | 4
app/src/main/res/mipmap-xxhdpi/icon_camera_box.png | 0
30 files changed, 1,026 insertions(+), 111 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 4117bf6..3f86244 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -180,7 +180,8 @@
}
dependencies {
- implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
+ implementation 'androidx.activity:activity-ktx:1.8.0'
+ implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
implementation "com.facebook.soloader:soloader:0.12.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
implementation 'com.tencent.mm.opensdk:wechat-sdk-android:6.8.34'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 20ee3d3..90bfd7f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -52,9 +52,7 @@
android:name="android.hardware.telephony"
android:required="false" /> <!-- <uses-permission android:name="android.permission.RECORD_AUDIO" /> -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- <uses-permission android:name="android.permission.READ_CONTACTS" /> -->
- <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
-
- <!-- 诱导悬浮窗 -->
+ <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> <!-- 诱导悬浮窗 -->
<uses-permission android:name="android.permission.MANAGE_OVERLAY_PERMISSION" />
<application
@@ -69,6 +67,12 @@
android:usesCleartextTraffic="true"
tools:replace="android:allowBackup">
<activity
+ android:name=".ui.main.ShowPictureActivity"
+ android:exported="false" />
+ <activity
+ android:name=".ui.main.MediaOperationActivity"
+ android:exported="false" />
+ <activity
android:name=".base.gaode.NaviGoogleActivity"
android:exported="false" />
<activity
@@ -77,8 +81,6 @@
<activity
android:name=".ui.main.ChangPhoneActivity"
android:exported="false" />
-
-
<activity
android:name=".ui.pub.StartActivity"
android:exported="true">
@@ -88,18 +90,19 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
-
<activity
android:name=".ui.GetImgActivity"
- android:theme="@style/AppThemegetphoto"
- android:exported="false">
- <!--<intent-filter>
+ android:exported="false"
+ android:theme="@style/AppThemegetphoto">
+
+ <!--
+ <intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>-->
+ </intent-filter>
+ -->
</activity>
-
<activity
android:name=".ui.pub.BecomeDriverActivity"
android:exported="false" />
diff --git a/app/src/main/java/com/driver/igotrip/base/MyBaseActivity.java b/app/src/main/java/com/driver/igotrip/base/MyBaseActivity.java
index 8bea1dd..fe943b8 100644
--- a/app/src/main/java/com/driver/igotrip/base/MyBaseActivity.java
+++ b/app/src/main/java/com/driver/igotrip/base/MyBaseActivity.java
@@ -357,6 +357,11 @@
}
}
+ //设置全屏模式
+ public void setFullScreenMode(boolean isFull) {
+ rl_header.setVisibility(isFull ? GONE : VISIBLE);
+ rl_title.setVisibility(isFull ? GONE : VISIBLE);
+ }
private void init() {
title_layout = (LinearLayout) findViewById(R.id.title_layout);
diff --git a/app/src/main/java/com/driver/igotrip/base/local/BasePhotoActivity.kt b/app/src/main/java/com/driver/igotrip/base/local/BasePhotoActivity.kt
index a3fd2ae..092dfcd 100644
--- a/app/src/main/java/com/driver/igotrip/base/local/BasePhotoActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/base/local/BasePhotoActivity.kt
@@ -105,7 +105,7 @@
}
}
} else {
- showToast("请在应用权限页面开启相机权限")
+ showToast(getString(R.string.请在应用权限页面开启相机权限))
}
}
diff --git a/app/src/main/java/com/driver/igotrip/bean/OrderBean.java b/app/src/main/java/com/driver/igotrip/bean/OrderBean.java
index b10dd7a..38f5e27 100644
--- a/app/src/main/java/com/driver/igotrip/bean/OrderBean.java
+++ b/app/src/main/java/com/driver/igotrip/bean/OrderBean.java
@@ -200,6 +200,8 @@
public String audioUrl; // 接单时间 yyyy-MM-dd HH:mm:ss
public String userPhone; // 包裹下单人的电话
public int isFrozen; // 2已冻结
+ public String platformServerMoney; // 平台服务费
+ public String driverServerMoney; // 实际收入
public String getSnatchOrderTime() {
return snatchOrderTime;
diff --git a/app/src/main/java/com/driver/igotrip/bean/OrderListBean.java b/app/src/main/java/com/driver/igotrip/bean/OrderListBean.java
index f4cfea3..76bcf4b 100644
--- a/app/src/main/java/com/driver/igotrip/bean/OrderListBean.java
+++ b/app/src/main/java/com/driver/igotrip/bean/OrderListBean.java
@@ -49,8 +49,10 @@
private String name;
private double redMoney;
private String startAddress;
+ //1=待接单,2=待出发,3=待到达预约地点,4=待取货,5=送货中,6=已送达,7=待支付,8=需补差价,9=已取货,10=已取消,11=改派中,12=已支付差价
private int state;
private String time;
+ //1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车
private int type;
private String remark;
private String peopleNumber;
diff --git a/app/src/main/java/com/driver/igotrip/netUtls/Api.java b/app/src/main/java/com/driver/igotrip/netUtls/Api.java
index 764a6dc..8154b0c 100644
--- a/app/src/main/java/com/driver/igotrip/netUtls/Api.java
+++ b/app/src/main/java/com/driver/igotrip/netUtls/Api.java
@@ -7,13 +7,13 @@
*/
public class Api {
- // public static final String BASE_URL = "https://igo.i-go.group/driver-server/";
- public static final String BASE_URL = "https://gopost.ci/driver-server/";
-// public static final String BASE_URL = "http://221.182.45.100:5000/driver-server/";
-
- public static final String SOCKET_SERVER = "34.155.170.245";
-// public static final String SOCKET_SERVER = "221.182.45.100";
- public static final int SOCKET_PORT = 8888;
+ public static final boolean isTest = false;
+ public static final String BASE_URL_TEST = "http://192.168.110.111:5000/driver-server/";
+ public static final String SOCKET_SERVER_TEST = "192.168.110.111";
+ public static final int SOCKET_PORT_TEST = 9991;
+ public static final String BASE_URL = isTest ? BASE_URL_TEST : "https://gopost.ci/driver-server/";
+ public static final String SOCKET_SERVER = isTest ? SOCKET_SERVER_TEST : "34.155.170.245";
+ public static final int SOCKET_PORT = isTest ? SOCKET_PORT_TEST : 8888;
public static final int SUCCESS = 200;
// http://182.160.16.251:81/share/share/shareIndex.html?type=2&uid=2&language=1
public static final String strShare = "https://igo.i-go.group/share/share/shareIndex%d.html?language=%d_2_%s" ;
diff --git a/app/src/main/java/com/driver/igotrip/ui/adapter/MediaOperationAdapter.kt b/app/src/main/java/com/driver/igotrip/ui/adapter/MediaOperationAdapter.kt
new file mode 100644
index 0000000..c1b96a9
--- /dev/null
+++ b/app/src/main/java/com/driver/igotrip/ui/adapter/MediaOperationAdapter.kt
@@ -0,0 +1,35 @@
+package com.driver.igotrip.ui.adapter
+
+import android.view.View
+import android.widget.ImageView
+import androidx.core.view.isVisible
+import com.driver.igotrip.R
+import com.driver.igotrip.base.BaseRvAdapter
+import com.driver.igotrip.base.BaseViewHolder
+import com.driver.igotrip.utils.glide.GlideUtil
+
+//多媒体操作适配器
+class MediaOperationAdapter : BaseRvAdapter<String>() {
+ private var onItemDeleteClickListener: ((position: Int, item: String) -> Unit)? = null
+ override fun getLayoutResId(viewType: Int) = R.layout.item_media_operation
+
+ override fun onBindItem(holder: BaseViewHolder, view: View, item: String) {
+ view.findViewById<ImageView>(R.id.iv_picture)?.also {
+ if (item.isNullOrEmpty()) {
+ it.setImageResource(R.mipmap.icon_camera_box)
+ } else {
+ GlideUtil.load(it, item, 0, 0, 4)
+ }
+ }
+ view.findViewById<ImageView>(R.id.iv_delete)?.also {
+ it.isVisible = !item.isNullOrEmpty()
+ it.setOnClickListener {
+ onItemDeleteClickListener?.invoke(holder.bindingAdapterPosition, item)
+ }
+ }
+ }
+
+ fun setOnItemDeleteClickListener(onItemDeleteClickListener: ((position: Int, item: String) -> Unit)?) {
+ this.onItemDeleteClickListener = onItemDeleteClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/driver/igotrip/ui/adapter/ShowPictureAdapter.kt b/app/src/main/java/com/driver/igotrip/ui/adapter/ShowPictureAdapter.kt
new file mode 100644
index 0000000..aff24e8
--- /dev/null
+++ b/app/src/main/java/com/driver/igotrip/ui/adapter/ShowPictureAdapter.kt
@@ -0,0 +1,34 @@
+package com.driver.igotrip.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import androidx.recyclerview.widget.RecyclerView
+import com.driver.igotrip.R
+import com.driver.igotrip.utils.glide.GlideUtil
+
+//显示图片适配器
+class ShowPictureAdapter : RecyclerView.Adapter<ShowPictureAdapter.ShowPictureViewHolder>() {
+ private val list = mutableListOf<String>()
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ShowPictureViewHolder {
+ val inflate =
+ LayoutInflater.from(parent.context).inflate(R.layout.item_show_picture, parent, false)
+ return ShowPictureViewHolder(inflate)
+ }
+
+ override fun onBindViewHolder(holder: ShowPictureViewHolder, position: Int) {
+ GlideUtil.load(holder.ivPicture, list[position], 0, 0, 0)
+ }
+
+ override fun getItemCount() = list.size
+ fun setData(list: List<String>) {
+ this.list.clear()
+ this.list.addAll(list)
+ notifyItemRangeInserted(0, list.size)
+ }
+
+ class ShowPictureViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val ivPicture: ImageView? = itemView.findViewById<ImageView>(R.id.iv_picture)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/driver/igotrip/ui/main/MediaOperationActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/MediaOperationActivity.kt
new file mode 100644
index 0000000..1fe22c4
--- /dev/null
+++ b/app/src/main/java/com/driver/igotrip/ui/main/MediaOperationActivity.kt
@@ -0,0 +1,234 @@
+package com.driver.igotrip.ui.main
+
+import android.Manifest
+import android.annotation.SuppressLint
+import android.content.Context
+import android.content.Intent
+import android.view.View
+import android.widget.TextView
+import androidx.activity.ComponentActivity
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.driver.igotrip.R
+import com.driver.igotrip.base.MyBaseActivity
+import com.driver.igotrip.bean.StringBean
+import com.driver.igotrip.netUtls.Api
+import com.driver.igotrip.netUtls.BaseBean
+import com.driver.igotrip.netUtls.HttpManager
+import com.driver.igotrip.netUtls.MyObserver
+import com.driver.igotrip.ui.DialogUtil
+import com.driver.igotrip.ui.GetImgActivity
+import com.driver.igotrip.ui.adapter.MediaOperationAdapter
+import com.tbruyelle.rxpermissions2.RxPermissions
+import io.reactivex.disposables.Disposable
+import org.jetbrains.anko.find
+import org.jetbrains.anko.toast
+import java.io.File
+
+//多媒体操作页
+class MediaOperationActivity : MyBaseActivity() {
+ //多媒体资源
+ private val mediaMap = mutableMapOf<String, String>()
+ private val title by lazy { intent.getStringExtra("title") }
+ private val operationLabel by lazy { intent.getStringExtra("operationLabel") }
+ private val max by lazy { intent.getIntExtra("max", 0) }
+ private val min by lazy { intent.getIntExtra("min", 0) }
+ private val pictures = mutableListOf<String>("")
+ private val adapter by lazy { MediaOperationAdapter() }
+ private val rvList by lazy { findViewById<RecyclerView>(R.id.rv_list) }
+ private val tvOperation by lazy { findViewById<TextView>(R.id.tv_operation) }
+
+ companion object {
+ //获取跳转此页面intent
+ fun getIntent(
+ context: Context,
+ title: String,
+ operationLabel: String,
+ max: Int,
+ min: Int
+ ): Intent {
+ return Intent(context, MediaOperationActivity::class.java).apply {
+ putExtra("title", title)
+ putExtra("operationLabel", operationLabel)
+ putExtra("max", max)
+ putExtra("min", min)
+ }
+ }
+ }
+
+ override fun setContentView() {
+ setContentView(R.layout.activity_media_operation)
+ }
+
+ override fun initView() {
+ setTitleText("请上传图片")
+ tv_title.text = title
+ rvList.adapter = adapter
+ rvList.layoutManager = GridLayoutManager(this, 4)
+ adapter.data = pictures
+ tvOperation.text = operationLabel
+ }
+
+ override fun setOnclick() {
+ adapter.setOnItemClickListener { _, position ->
+ if (pictures[position].isEmpty()) {
+ mediaOperation("请选择")
+ } else {
+ val arrayList = ArrayList<String>()
+ arrayList.addAll(pictures)
+ startActivity(ShowPictureActivity.getIntent(this, "", arrayList, position))
+ }
+ }
+ adapter.setOnItemDeleteClickListener { position, item ->
+ removeMedia(position)
+ }
+ tvOperation.setOnClickListener {
+ val data = pictures.toMutableList().apply {
+ removeIf { it.isEmpty() }
+ }
+ if (data.size < min) {
+ toast(getString(R.string.请上传图片))
+ return@setOnClickListener
+ }
+
+ setResult(RESULT_OK, Intent().apply {
+ putStringArrayListExtra("result", ArrayList<String>().apply { addAll(data) })
+ })
+ finish()
+ }
+ }
+
+ //多媒体的操作
+ @SuppressLint("CheckResult")
+ private fun mediaOperation(title: String) {
+ val rxPermissions = RxPermissions(this)
+ rxPermissions.request(Manifest.permission.CAMERA)
+ .subscribe { aBoolean ->
+ if (aBoolean) {
+ val phoneDialog = DialogUtil.getDialog(mContext, R.layout.dialog_phone)
+ val view = DialogUtil.getView(phoneDialog)
+ if (!title.isEmpty()) {
+ view.find<TextView>(R.id.btn_title).text = title
+ } else {
+ view.find<TextView>(R.id.btn_title).text = getString(R.string.选择照片)
+ }
+ view.find<View>(R.id.button_cancel).setOnClickListener {
+ phoneDialog.dismiss()
+ }
+ view.find<View>(R.id.btn_album).setOnClickListener {
+ openAlbum()
+ phoneDialog.dismiss()
+ }
+
+ view.find<View>(R.id.btn_phone).setOnClickListener {
+ openCarmra()
+ phoneDialog.dismiss()
+ }
+ } else {
+ showToast(getString(R.string.请在应用权限页面开启相机权限))
+ }
+ }
+ }
+
+ //打开相册
+ fun openAlbum() {
+ startActivityForResult(Intent(this, GetImgActivity::class.java).apply {
+ putExtra("type", false)
+ }, 321)
+ }
+
+ //拍照
+ private fun openCarmra() {
+ startActivityForResult(Intent(this, GetImgActivity::class.java).apply {
+ putExtra("type", true)
+ }, 123)
+ }
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+ if (resultCode == ComponentActivity.RESULT_OK) {
+ if (requestCode == 123) {
+ data?.let { it ->
+ it.getStringExtra("img")?.also {
+ operationMedia(it)
+ }
+ }
+ } else {
+ data?.let { it ->
+ it.getStringExtra("img")?.also {
+ operationMedia(it)
+ }
+ }
+ }
+ }
+ }
+
+ //操作多媒体
+ private fun operationMedia(filePath: String) {
+ val url = mediaMap[filePath]
+ if (url.isNullOrEmpty()) {
+ saveMedia(filePath) {
+ mediaMap[filePath] = it
+ addMedia(it)
+ }
+ return
+ }
+ addMedia(url)
+ }
+
+ //添加多媒体
+ private fun addMedia(url: String) {
+ pictures.removeIf { it.isEmpty() }
+ pictures.add(url)
+ if (pictures.size < max) {
+ pictures.add(0, "")
+ }
+ adapter.data = pictures
+ }
+
+ //移除多媒体
+ private fun removeMedia(position: Int) {
+ pictures.removeAt(position)
+ pictures.removeIf { it.isEmpty() }
+ if (pictures.size < max) {
+ pictures.add(0, "")
+ }
+ adapter.data = pictures
+ }
+
+ /***
+ * 保存多媒体,上传oss
+ */
+ private fun saveMedia(filePath: String, block: (url: String) -> Unit) {
+ HttpManager.getInstance()
+ .post<BaseBean<String>>(
+ Api.upImage,
+ File(filePath),
+ object : MyObserver(this@MediaOperationActivity) {
+ override fun onSubscribe(d: Disposable) {
+ super.onSubscribe(d)
+ println("上传开始:" + filePath)
+ showDialog()
+ }
+
+ override fun success(responseString: String?) {
+ dismissDialog()
+ val fromJson = gson.fromJson(responseString, StringBean::class.java)
+ val url = fromJson.data
+ if (!url.isNullOrEmpty()) {
+ println("上传成功:" + url)
+ block.invoke(url)
+ } else {
+ println("上传失败:" + url)
+ }
+ }
+
+ override fun onError(e: Throwable) {
+ super.onError(e)
+ dismissDialog()
+ println("上传失败:" + e.message)
+ }
+ })
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt
index 483a759..1662fe4 100644
--- a/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt
@@ -58,6 +58,12 @@
private val tv_end_address by lazy { find<TextView>(R.id.tv_end_address) }
private val tv_red_money by lazy { find<TextView>(R.id.tv_red_money) }
private val remark by lazy { find<TextView>(R.id.remark) }
+ private val ll_order_money by lazy { find<LinearLayout>(R.id.ll_order_money) }
+ private val tv_order_money by lazy { find<TextView>(R.id.tv_order_money) }
+ private val ll_service_money by lazy { find<LinearLayout>(R.id.ll_service_money) }
+ private val tv_service_money by lazy { find<TextView>(R.id.tv_service_money) }
+ private val ll_real_income by lazy { find<LinearLayout>(R.id.ll_real_income) }
+ private val tv_real_income by lazy { find<TextView>(R.id.tv_real_income) }
private val tv_cancel_to by lazy { find<TextView>(R.id.tv_cancel_to) }
private val tv_cancel_money by lazy { find<TextView>(R.id.tv_cancel_money) }
private val tv_cancel_result by lazy { find<TextView>(R.id.tv_cancel_result) }
@@ -108,6 +114,9 @@
if(orderType == "1"){
tv_red_money.gone()
}
+ tv_order_money.text = getString(R.string.money) + it.orderMoney
+ tv_service_money.text = getString(R.string.money) + it.platformServerMoney
+ tv_real_income.text = getString(R.string.money) + it.driverServerMoney
when (orderBean.orderState) {
10,12-> {
ll_order_cancel.visible()
diff --git a/app/src/main/java/com/driver/igotrip/ui/main/ShowPictureActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/ShowPictureActivity.kt
new file mode 100644
index 0000000..5440d4b
--- /dev/null
+++ b/app/src/main/java/com/driver/igotrip/ui/main/ShowPictureActivity.kt
@@ -0,0 +1,72 @@
+package com.driver.igotrip.ui.main
+
+import android.content.Context
+import android.content.Intent
+import android.widget.TextView
+import androidx.core.view.isVisible
+import androidx.viewpager2.widget.ViewPager2
+import com.driver.igotrip.R
+import com.driver.igotrip.base.MyBaseActivity
+import com.driver.igotrip.ui.adapter.ShowPictureAdapter
+
+//显示图片页
+class ShowPictureActivity : MyBaseActivity() {
+ private val title by lazy { intent.getStringExtra("title") }
+ private val list by lazy { intent.getStringArrayListExtra("list") }
+ private val index by lazy { intent.getIntExtra("index", 0) }
+ private val adapter by lazy { ShowPictureAdapter() }
+ private val tvBack by lazy { findViewById<TextView>(R.id.tv_back) }
+ private val tvTitle by lazy { findViewById<TextView>(R.id.tv_title) }
+ private val viewPager by lazy { findViewById<ViewPager2>(R.id.viewPager) }
+ private val tvCount by lazy { findViewById<TextView>(R.id.tv_count) }
+
+ companion object {
+ //获取跳转此页面intent
+ fun getIntent(
+ context: Context,
+ title: String,
+ list: ArrayList<String>,
+ index: Int = 0
+ ): Intent {
+ return Intent(context, ShowPictureActivity::class.java).apply {
+ putExtra("title", title)
+ putStringArrayListExtra("list", list)
+ putExtra("index", index)
+ }
+ }
+ }
+
+ override fun setContentView() {
+ setContentView(R.layout.activity_show_picture)
+ }
+
+ override fun initView() {
+ setBlcakShow(false)
+ setFullScreenMode(true)
+ tvTitle.text = title
+ viewPager.adapter = adapter
+ viewPager.offscreenPageLimit = list?.size ?: 1
+ viewPager.currentItem = index
+ adapter.setData(list ?: emptyList())
+ tvCount.isVisible = (list?.size ?: 0) > 1
+ runOnUiThread {
+ viewPager.currentItem = index
+ refreshCount(index)
+ }
+ }
+
+ override fun setOnclick() {
+ tvBack.setOnClickListener { finish() }
+ viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
+ override fun onPageSelected(position: Int) {
+ super.onPageSelected(position)
+ refreshCount(position)
+ }
+ })
+ }
+
+ //刷新下标
+ private fun refreshCount(index: Int) {
+ tvCount.text = "${index + 1}/${list?.size ?: 0}"
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt
index 5c0f19c..b23669e 100644
--- a/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt
@@ -1,6 +1,7 @@
package com.driver.igotrip.ui.main.small_cargo
import android.annotation.SuppressLint
+import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.Looper
@@ -10,6 +11,8 @@
import android.widget.EditText
import android.widget.ImageView
import android.widget.TextView
+import androidx.activity.result.ActivityResultLauncher
+import androidx.activity.result.contract.ActivityResultContracts
import cn.sinata.xldutils.utils.*
import com.driver.igotrip.R
import com.driver.igotrip.base.BaseEvent
@@ -27,6 +30,7 @@
import com.driver.igotrip.netUtls.*
import com.driver.igotrip.ui.DialogUtil
import com.driver.igotrip.ui.UiUtil
+import com.driver.igotrip.ui.main.MediaOperationActivity
import com.driver.igotrip.ui.main.ReassignActivity
import com.driver.igotrip.utils.DateUtil
import com.driver.igotrip.utils.MyUtils
@@ -81,6 +85,9 @@
var graylist = arrayListOf<LatLng>() // 灰色轨迹
var grayline: Polyline? = null
+ //业务多媒体类型
+ var businessMediaType: Int = 0
+
private val tv_name by lazy { find<TextView>(R.id.tv_name) }
private val tv_car_num by lazy { find<TextView>(R.id.tv_car_num) }
private val tv_people_cargo by lazy { find<TextView>(R.id.tv_people_cargo) }
@@ -97,6 +104,9 @@
private val iv_police by lazy { find<View>(R.id.iv_police) }
private val iv_to_gd by lazy { find<View>(R.id.iv_to_gd) }
private val slide_btn by lazy { find<SlidingButton>(R.id.slide_btn) }
+
+ //跳转另一个页面并接收返回结果启动器
+ private lateinit var launcherForResult: ActivityResultLauncher<Intent>
override fun setContentView() {
setContentView(R.layout.activity_trip_cargo)
@@ -119,7 +129,28 @@
}
override fun initView() {
+ launcherForResult =
+ registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+ when (businessMediaType) {
+ 0 -> {
+ if (result.resultCode == RESULT_OK && result.data != null) {
+ val result = result.data!!.getStringArrayListExtra("result")
+ showConfirmPriceDialog(result!!.joinToString(separator = ","))
+ } else {
+ }
+ }
+
+ 1 -> {
+ if (result.resultCode == RESULT_OK && result.data != null) {
+ val result = result.data!!.getStringArrayListExtra("result")
+ showConfirmDeliveryDialog(result!!.joinToString(separator = ","))
+ } else {
+
+ }
+ }
+ }
+ }
}
private fun addSockectCancel() {
@@ -320,18 +351,14 @@
2, 3, 4 -> {
if (it.data.orderState == 4) {
if (orderType == "4") {
- DialogUtil.getDelAndSureDialog(
- this,
- getString(R.string.确认现金金额).format(it.data.expressPayAllMoney)
- .replace(",", "."),
- {},
- {
- it.data.orderState++
- callStatue("1", it.data.orderState) {
- iv_to_gd.callOnClick()
- }
- showStatueMapUI(it)
- })
+ businessMediaType = 0
+ launcherForResult.launch(
+ MediaOperationActivity.getIntent(
+ this,
+ getString(R.string.请上传图片),
+ getString(R.string.确认取货), 3, 1
+ )
+ )
} else {
it.data.orderState++
callStatue("1", it.data.orderState) {
@@ -350,49 +377,16 @@
}
5, 6 -> {
- sendCode() {
- it.data.orderState = 6
- var dialog =
- DialogUtil.getDialog(this, R.layout.dialog_show_cargo_money)
- var viewContent = DialogUtil.getView(dialog)
- val view_hint_close_car =
- viewContent.find<View>(R.id.view_hint_close_car)
- val tv_car_num_close = viewContent.find<View>(R.id.tv_car_num_close)
- val tv_money = viewContent.find<TextView>(R.id.tv_money)
- val tv_sure_car_num = viewContent.find<TextView>(R.id.tv_sure_car_num)
- val et_num_zg = viewContent.find<EditText>(R.id.et_num_zg)
- view_hint_close_car.setOnClickListener {
- dialog.dismiss()
- }
- tv_car_num_close.setOnClickListener {
- dialog.dismiss()
- }
- if (it.data.driverPay == "1") {
- tv_money.visible()
- tv_money.text =
- getString(R.string.确认现金金额).format(if (orderType == "4") it.data.expressPayAllMoney else if (it.data.payMoney == 0.0) it.data.orderMoney else it.data.payMoney)
- .replace(",", ".")
- }
- tv_sure_car_num.setOnClickListener {
- var num = et_num_zg.getContent()
- if (num.isEmpty()) {
- toast(getString(R.string.请输入验证码))
- return@setOnClickListener
- }
- callStatue(orderBean!!.data.orderState, num) {
- dialog.dismiss()
-// startActivity<SmallOverActivity>(
-// "orderId" to orderId,
-// "orderType" to orderType
-// )
- /* startActivity<MajorSureMoneyActivity>(
- "orderId" to orderId,
- "orderType" to orderType
- )*/
- finish()
- }
- }
- }
+// sendCode() {
+ businessMediaType = 1
+ launcherForResult.launch(
+ MediaOperationActivity.getIntent(
+ this,
+ getString(R.string.请上传图片),
+ getString(R.string.确认送达), 3, 1
+ )
+ )
+// }
}
12 -> {
@@ -423,6 +417,62 @@
}
}
+ }
+
+ //显示确认送达弹窗
+ private fun showConfirmDeliveryDialog(url: String) {
+ orderBean?.let {
+ it.data.orderState = 6
+ val dialog = DialogUtil.getDialog(this, R.layout.dialog_show_cargo_money)
+ val viewContent = DialogUtil.getView(dialog)
+ val view_hint_close_car =
+ viewContent.find<View>(R.id.view_hint_close_car)
+ val tv_car_num_close = viewContent.find<View>(R.id.tv_car_num_close)
+ val tv_money = viewContent.find<TextView>(R.id.tv_money)
+ val tv_sure_car_num = viewContent.find<TextView>(R.id.tv_sure_car_num)
+ val et_num_zg = viewContent.find<EditText>(R.id.et_num_zg)
+ view_hint_close_car.setOnClickListener {
+ dialog.dismiss()
+ }
+ tv_car_num_close.setOnClickListener {
+ dialog.dismiss()
+ }
+ if (it.data.driverPay == "1") {
+ tv_money.visible()
+ tv_money.text =
+ getString(R.string.确认现金金额).format(if (orderType == "4") it.data.expressPayAllMoney else if (it.data.payMoney == 0.0) it.data.orderMoney else it.data.payMoney)
+ .replace(",", ".")
+ }
+ tv_sure_car_num.setOnClickListener {
+ val num = et_num_zg.getContent()
+ if (num.isEmpty()) {
+ toast(getString(R.string.请输入验证码))
+ return@setOnClickListener
+ }
+ confirmDelivery(6, num, url) {
+ dialog.dismiss()
+ finish()
+ }
+ }
+ }
+ }
+
+ //显示确认价格弹窗
+ private fun showConfirmPriceDialog(url: String) {
+ orderBean?.let {
+ DialogUtil.getDelAndSureDialog(
+ this,
+ getString(R.string.确认现金金额).format(it.data.expressPayAllMoney)
+ .replace(",", "."),
+ {},
+ {
+ confirmPickUp(url, 5) {
+ it.data.orderState = 5
+ showStatueMapUI(it)
+ iv_to_gd.callOnClick()
+ }
+ })
+ }
}
fun startNavi(startLat: Double, startLon: Double, endLat: Double, endLon: Double) {
@@ -475,6 +525,27 @@
}
}
+ //确认送达
+ private fun confirmDelivery(i: Int, num: String, imgTwo: String, click: () -> Unit) {
+ var map = getMapByAny()
+ map["orderId"] = orderId
+ map["orderType"] = orderType
+ map["state"] = i
+ if (!num.isNullOrEmpty())
+ map["pickUpCode"] = num
+ Log.e(
+ "定位==============》",
+ "${MyApplication.getLocation()?.latitude},${MyApplication.getLocation()?.longitude}"
+ )
+ map["imgTwo"] = imgTwo
+ map["lat"] = MyApplication.getLocation()?.latitude ?: 0.0
+ map["lon"] = MyApplication.getLocation()?.longitude ?: 0.0
+ callNet(Api.process, map) {
+ OrderTimeOutManager.instance.checkOrderManager(orderId, orderType, i)
+ click()
+ }
+ }
+
private fun callStatue(phone: String, i: Int, click: () -> Unit) {
var map = getMapByAny()
map["orderId"] = orderId
@@ -489,6 +560,21 @@
}
}
+ //确认收获
+ private fun confirmPickUp(imgOne: String, i: Int, click: () -> Unit) {
+ var map = getMapByAny()
+ map["orderId"] = orderId
+ map["orderType"] = orderType
+ map["imgOne"] = imgOne
+ map["state"] = i
+ map["lat"] = MyApplication.getLocation()?.latitude ?: 0.0
+ map["lon"] = MyApplication.getLocation()?.longitude ?: 0.0
+ callNet(Api.process, map) {
+ OrderTimeOutManager.instance.checkOrderManager(orderId, orderType, i)
+ click()
+ }
+ }
+
private var movedByFinger = false
/***
diff --git a/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallOverActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallOverActivity.kt
index 5b4bfde..b4611ff 100644
--- a/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallOverActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallOverActivity.kt
@@ -43,6 +43,12 @@
private val tv_end_address by lazy { find<TextView>(R.id.tv_end_address) }
private val tv_money_cargo by lazy { find<TextView>(R.id.tv_money_cargo) }
private val tv_remark by lazy { find<TextView>(R.id.tv_remark) }
+ private val ll_order_money by lazy { find<LinearLayout>(R.id.ll_order_money) }
+ private val tv_order_money by lazy { find<TextView>(R.id.tv_order_money) }
+ private val ll_service_money by lazy { find<LinearLayout>(R.id.ll_service_money) }
+ private val tv_service_money by lazy { find<TextView>(R.id.tv_service_money) }
+ private val ll_real_income by lazy { find<LinearLayout>(R.id.ll_real_income) }
+ private val tv_real_income by lazy { find<TextView>(R.id.tv_real_income) }
private val tv_pay_result_small_money by lazy { find<TextView>(R.id.tv_pay_result_small_money) }
private val tv_tv_num_cargo by lazy { find<TextView>(R.id.tv_tv_num_cargo) }
private val tv_people_cargo by lazy { find<TextView>(R.id.tv_people_cargo) }
@@ -100,27 +106,31 @@
getString(R.string.其中含加急费用) + it.tipMoney.toString()
setTitleText(getSmallStatue(it.orderState))
tv_pay_result_title.text = getString(R.string.订单) + getSmallStatue(it.orderState)
+ tv_order_money.text = getString(R.string.money) + it.orderMoney
+ tv_service_money.text = getString(R.string.money) + it.platformServerMoney
+ tv_real_income.text = getString(R.string.money) + it.driverServerMoney
ll_pay_result.visible()
if (it.orderState in 6..7) {
tv_pay_result_title.text = getString(R.string.待乘客支付)
- }else if (it.orderState == 8){
+ } else if (it.orderState == 8) {
tv_pay_result_title.text = getString(R.string.订单待评价)
- }else if (it.orderState == 9){
+ } else if (it.orderState == 9) {
tv_pay_result_title.text = getString(R.string.订单已完成)
- }else if (it.orderState == 10||it.orderState == 12){
+ } else if (it.orderState == 10 || it.orderState == 12) {
ll_order_cancel.visible()
iv_phone.gone()
ll_pay_result.gone()
tv_cancel_to.text = it.cancelUser
- tv_cancel_money.text = getString(R.string.money) +" "+ doubleOne(it.cancelPayMoney)
+ tv_cancel_money.text =
+ getString(R.string.money) + " " + doubleOne(it.cancelPayMoney)
tv_cancel_result.text = it.cancelReason
tv_cancel_s.text = it.cancelRemark
- if (it.cancelRemark.isNullOrEmpty()){
+ if (it.cancelRemark.isNullOrEmpty()) {
tv_cancel_s.text = ""
}
}
- if (it.orderState in 6..9){
+ if (it.orderState in 6..9) {
tv_pay_result_small_money.text = getString(R.string.查看收费明细)
tv_pay_result_small_money.visible()
view_line_money_detail.visible()
@@ -131,10 +141,12 @@
)
}
}
- if (it.isFrozen == 2){
+ if (it.isFrozen == 2) {
tv_frozen.visible()
- tv_frozen.setCompoundDrawablesRelativeWithIntrinsicBounds(0,
- UiUtil.getFrozenBitmap(),0,0)
+ tv_frozen.setCompoundDrawablesRelativeWithIntrinsicBounds(
+ 0,
+ UiUtil.getFrozenBitmap(), 0, 0
+ )
}
}
}
diff --git a/app/src/main/java/com/driver/igotrip/utils/glide/GlideUtil.java b/app/src/main/java/com/driver/igotrip/utils/glide/GlideUtil.java
index 25efd0a..0d41dbe 100644
--- a/app/src/main/java/com/driver/igotrip/utils/glide/GlideUtil.java
+++ b/app/src/main/java/com/driver/igotrip/utils/glide/GlideUtil.java
@@ -60,6 +60,19 @@
/***
* 加载图片
+ */
+ @SuppressLint("CheckResult")
+ public static void load(ImageView imageView, String url, int placeholder, int error, int radius) {
+ Glide.with(imageView)
+ .load(url)
+ .apply(getRequestOption(radius))
+ .placeholder(placeholder)
+ .error(error)
+ .into(imageView);
+ }
+
+ /***
+ * 加载图片
* @param context
* @param url
* @param imageView
diff --git a/app/src/main/res/drawable/shape_black1_bg_4.xml b/app/src/main/res/drawable/shape_black1_bg_4.xml
new file mode 100644
index 0000000..917049e
--- /dev/null
+++ b/app/src/main/res/drawable/shape_black1_bg_4.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="@color/black1" />
+ <corners android:radius="4dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_media_operation.xml b/app/src/main/res/layout/activity_media_operation.xml
new file mode 100644
index 0000000..e106419
--- /dev/null
+++ b/app/src/main/res/layout/activity_media_operation.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/main"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".ui.main.MediaOperationActivity">
+
+ <TextView
+ android:id="@+id/tv_notice"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="14dp"
+ android:layout_marginTop="8dp"
+ android:text="只支持jpg格式"
+ android:textColor="#ff979797"
+ android:textSize="14sp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_list"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginTop="4dp"
+ android:layout_marginHorizontal="9dp"
+ app:layout_constraintBottom_toTopOf="@id/tv_operation"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/tv_notice" />
+
+ <TextView
+ android:id="@+id/tv_operation"
+ android:layout_width="0dp"
+ android:layout_height="50dp"
+ android:layout_marginHorizontal="14dp"
+ android:layout_marginBottom="30dp"
+ android:background="@drawable/bg_login"
+ android:gravity="center"
+ android:text=""
+ android:textColor="@color/white"
+ android:textSize="16sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_mine_income.xml b/app/src/main/res/layout/activity_mine_income.xml
index ff5399f..cf4ed8a 100644
--- a/app/src/main/res/layout/activity_mine_income.xml
+++ b/app/src/main/res/layout/activity_mine_income.xml
@@ -41,7 +41,7 @@
android:maxWidth="280dp"
android:maxLines="1"
android:singleLine="true"
- android:text="@string/我的收入"
+ android:text="@string/平台服务费"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold" />
diff --git a/app/src/main/res/layout/activity_mine_purse.xml b/app/src/main/res/layout/activity_mine_purse.xml
index 5b20051..9dc987d 100644
--- a/app/src/main/res/layout/activity_mine_purse.xml
+++ b/app/src/main/res/layout/activity_mine_purse.xml
@@ -128,7 +128,7 @@
android:gravity="center_vertical"
android:paddingStart="14dp"
android:paddingEnd="14dp"
- android:text="@string/我的收入"
+ android:text="@string/平台服务费"
android:textColor="#ff333333"
android:textSize="14sp" />
diff --git a/app/src/main/res/layout/activity_order_over.xml b/app/src/main/res/layout/activity_order_over.xml
index 8aa5bba..c6421a0 100644
--- a/app/src/main/res/layout/activity_order_over.xml
+++ b/app/src/main/res/layout/activity_order_over.xml
@@ -6,6 +6,126 @@
<include layout="@layout/include_order_top" />
+ <LinearLayout
+ android:id="@+id/ll_money_detail"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:elevation="3dp"
+ android:orientation="vertical"
+ android:paddingHorizontal="14dp">
+
+ <LinearLayout
+ android:id="@+id/ll_order_money"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginVertical="11dp"
+ android:text="@string/订单金额"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="6dp"
+ android:layout_marginVertical="11dp"
+ android:text=":"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tv_order_money"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="0"
+ android:textColor="@color/color_e72c1c"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/ll_service_money"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginVertical="11dp"
+ android:text="@string/平台服务费"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="6dp"
+ android:layout_marginVertical="11dp"
+ android:text=":"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tv_service_money"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="0"
+ android:textColor="@color/color_e72c1c"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/ll_real_income"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginVertical="11dp"
+ android:text="@string/实际收入"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="6dp"
+ android:layout_marginVertical="11dp"
+ android:text=":"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tv_real_income"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="0"
+ android:textColor="@color/color_e72c1c"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+ </LinearLayout>
+ </LinearLayout>
+
<include
layout="@layout/include_order_money"
android:layout_width="match_parent"
@@ -20,30 +140,31 @@
<TextView
android:id="@+id/tv_show_pay_over"
- android:layout_marginTop="10dp"
- android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginTop="10dp"
android:text="@string/Passengers_have_paid"
- android:textStyle="bold"
android:textColor="#ff000000"
- android:textSize="18sp" />
+ android:textSize="18sp"
+ android:textStyle="bold" />
- <include layout="@layout/include_weight_height"/>
+ <include layout="@layout/include_weight_height" />
- <include layout="@layout/include_pay_bottom"/>
+ <include layout="@layout/include_pay_bottom" />
+
<TextView
+ android:id="@+id/tv_frozen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/tv_frozen"
- android:gravity="center"
- android:layout_marginBottom="50dp"
- android:visibility="gone"
- android:textColor="#FF9803"
- android:textStyle="bold"
- android:textSize="14sp"
android:layout_marginHorizontal="40dp"
+ android:layout_marginBottom="50dp"
android:drawableTop="@mipmap/yidongjie_cn"
android:drawablePadding="20dp"
- android:text="@string/被冻结"/>
+ android:gravity="center"
+ android:text="@string/被冻结"
+ android:textColor="#FF9803"
+ android:textSize="14sp"
+ android:textStyle="bold"
+ android:visibility="gone" />
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_order_over_small.xml b/app/src/main/res/layout/activity_order_over_small.xml
index 45917c0..8e41be7 100644
--- a/app/src/main/res/layout/activity_order_over_small.xml
+++ b/app/src/main/res/layout/activity_order_over_small.xml
@@ -6,6 +6,126 @@
<include layout="@layout/include_order_top_cargo" />
+ <LinearLayout
+ android:id="@+id/ll_money_detail"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:elevation="3dp"
+ android:orientation="vertical"
+ android:paddingHorizontal="14dp">
+
+ <LinearLayout
+ android:id="@+id/ll_order_money"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginVertical="11dp"
+ android:text="@string/订单金额"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="6dp"
+ android:layout_marginVertical="11dp"
+ android:text=":"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tv_order_money"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="0"
+ android:textColor="@color/color_e72c1c"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/ll_service_money"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginVertical="11dp"
+ android:text="@string/平台服务费"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="6dp"
+ android:layout_marginVertical="11dp"
+ android:text=":"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tv_service_money"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="0"
+ android:textColor="@color/color_e72c1c"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/ll_real_income"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginVertical="11dp"
+ android:text="@string/实际收入"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="6dp"
+ android:layout_marginVertical="11dp"
+ android:text=":"
+ android:textColor="#ff27282d"
+ android:textSize="14sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tv_real_income"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="0"
+ android:textColor="@color/color_e72c1c"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+ </LinearLayout>
+ </LinearLayout>
+
<include
layout="@layout/include_order_money"
android:layout_width="match_parent"
@@ -20,26 +140,27 @@
<TextView
android:id="@+id/tv_show_pay_over"
- android:layout_marginTop="10dp"
- android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginTop="10dp"
android:text="@string/Passengers_have_paid"
android:textColor="#ff000000"
android:textSize="14sp" />
+
<TextView
+ android:id="@+id/tv_frozen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/tv_frozen"
- android:gravity="center"
- android:layout_marginBottom="50dp"
- android:visibility="gone"
- android:textColor="#FF9803"
- android:textStyle="bold"
- android:textSize="14sp"
android:layout_marginHorizontal="40dp"
+ android:layout_marginBottom="50dp"
android:drawableTop="@mipmap/yidongjie_cn"
android:drawablePadding="20dp"
- android:text="@string/被冻结"/>
+ android:gravity="center"
+ android:text="@string/被冻结"
+ android:textColor="#FF9803"
+ android:textSize="14sp"
+ android:textStyle="bold"
+ android:visibility="gone" />
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_show_picture.xml b/app/src/main/res/layout/activity_show_picture.xml
new file mode 100644
index 0000000..0056f71
--- /dev/null
+++ b/app/src/main/res/layout/activity_show_picture.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/main"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/black"
+ tools:context=".ui.main.ShowPictureActivity">
+
+ <androidx.viewpager2.widget.ViewPager2
+ android:id="@+id/viewPager"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/tv_back"
+ android:layout_width="wrap_content"
+ android:layout_marginTop="26dp"
+ android:layout_height="50dp"
+ android:drawableStart="@mipmap/icon_close"
+ android:gravity="center"
+ android:paddingStart="@dimen/dp_10"
+ android:paddingEnd="@dimen/dp_15"
+ android:textColor="@color/white"
+ android:textSize="16sp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/tv_title"
+ android:layout_width="wrap_content"
+ android:layout_height="50dp"
+ android:drawablePadding="3dp"
+ android:layout_marginTop="26dp"
+ android:gravity="center"
+ android:maxWidth="240dp"
+ android:maxLines="2"
+ android:textColor="#333333"
+ android:textSize="17sp"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/tv_count"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="30dp"
+ android:textColor="@color/white"
+ android:textSize="12sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_order_money.xml b/app/src/main/res/layout/include_order_money.xml
index e477172..e523367 100644
--- a/app/src/main/res/layout/include_order_money.xml
+++ b/app/src/main/res/layout/include_order_money.xml
@@ -22,7 +22,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
tools:text="FCFA15.12"
- android:textColor="#E72C1C"
+ android:textColor="@color/color_e72c1c"
android:textSize="36sp"
android:textStyle="bold" />
diff --git a/app/src/main/res/layout/item_media_operation.xml b/app/src/main/res/layout/item_media_operation.xml
new file mode 100644
index 0000000..d6b5298
--- /dev/null
+++ b/app/src/main/res/layout/item_media_operation.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="5dp"
+ android:paddingVertical="4dp">
+
+ <ImageView
+ android:id="@+id/iv_picture"
+ android:layout_width="80dp"
+ android:layout_height="80dp" />
+
+ <ImageView
+ android:id="@+id/iv_delete"
+ android:layout_marginTop="2dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignTop="@id/iv_picture"
+ android:layout_alignEnd="@id/iv_picture"
+ android:background="@drawable/shape_black1_bg_4"
+ android:padding="5dp"
+ android:src="@mipmap/icon_close" />
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_show_picture.xml b/app/src/main/res/layout/item_show_picture.xml
new file mode 100644
index 0000000..158c072
--- /dev/null
+++ b/app/src/main/res/layout/item_show_picture.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ImageView
+ android:id="@+id/iv_picture"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_camera_box.png b/app/src/main/res/mipmap-xxhdpi/icon_camera_box.png
new file mode 100644
index 0000000..7513479
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_camera_box.png
Binary files differ
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 78daa72..01fa077 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -823,5 +823,9 @@
<string name="选择区号">Select Area Code</string>
<string name="科特迪瓦">Côte d\'Ivoire</string>
<string name="中国">China</string>
+ <string name="确认取货">Confirm pickup</string>
+ <string name="请上传图片">please upload images</string>
+ <string name="请在应用权限页面开启相机权限">Please enable camera permissions on the app permissions page</string>
+ <string name="实际收入">Real income</string>
</resources>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index ab316fc..27a18e3 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -827,4 +827,9 @@
<string name="选择区号">Choisir le code régional</string>
<string name="科特迪瓦">Côte d\'Ivoire</string>
<string name="中国">Chine</string>
+ <string name="确认取货">Confirmation de retrait</string>
+ <string name="请上传图片">Veuillez télécharger une image</string>
+ <string name="请在应用权限页面开启相机权限">Veuillez activer les autorisations de la caméra sur la page autorisations de l\'application</string>
+ <string name="实际收入">Revenus réels</string>
+
</resources>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 7282507..e4d9da9 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -111,6 +111,7 @@
<color name="color_2378D2">#2378D2</color>
<color name="color_F35646">#F35646</color>
+ <color name="color_e72c1c">#E72C1C</color>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fa1709d..884a281 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -815,5 +815,9 @@
<string name="选择区号">选择区号</string>
<string name="科特迪瓦">科特迪瓦</string>
<string name="中国">中国</string>
+ <string name="确认取货">确认取货</string>
+ <string name="请上传图片">请上传图片</string>
+ <string name="请在应用权限页面开启相机权限">请在应用权限页面开启相机权限</string>
+ <string name="实际收入">实际收入</string>
</resources>
--
Gitblit v1.7.1