Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RvApp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lify
RvApp
Commits
8359ad94
Commit
8359ad94
authored
Aug 03, 2019
by
linfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
随车物品
parent
ca32fc7a
Changes
29
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
1455 additions
and
93 deletions
+1455
-93
build.gradle
RvClient/build.gradle
+2
-2
AndroidManifest.xml
RvClient/src/main/AndroidManifest.xml
+2
-1
FlowLayout.java
...ol/src/main/java/com/rv/component/control/FlowLayout.java
+447
-0
attrs.xml
component_control/src/main/res/values/attrs.xml
+26
-0
rv_map_shop.png
...nent_resource/src/main/res/drawable-xhdpi/rv_map_shop.png
+0
-0
rv_max_map_shop.png
..._resource/src/main/res/drawable-xhdpi/rv_max_map_shop.png
+0
-0
DisplayUtil.java
...ils/src/main/java/com/rv/component/utils/DisplayUtil.java
+7
-0
AndroidManifest.xml
module_home/src/main/AndroidManifest.xml
+3
-1
ApiConfig.java
...e_home/src/main/java/com/rv/home/rv/module/ApiConfig.java
+9
-0
ConfirmOrderActivity.java
.../rv/home/rv/module/ui/main/home/ConfirmOrderActivity.java
+73
-12
SelectItemDefaultAdapter.java
...module/ui/main/home/adapter/SelectItemDefaultAdapter.java
+24
-0
SelectItemOptionalAdapter.java
...odule/ui/main/home/adapter/SelectItemOptionalAdapter.java
+30
-0
SelectedItemAdapter.java
...e/rv/module/ui/main/home/adapter/SelectedItemAdapter.java
+21
-0
OrderDataBean.java
...om/rv/home/rv/module/ui/main/home/bean/OrderDataBean.java
+10
-0
SelectItemBean.java
...m/rv/home/rv/module/ui/main/home/bean/SelectItemBean.java
+104
-0
DepositefundProgressDetailsActivity.java
.../main/home/order/DepositefundProgressDetailsActivity.java
+161
-0
OrderDetailActivity.java
...ome/rv/module/ui/main/home/order/OrderDetailActivity.java
+5
-2
SelectItemActivity.java
...home/rv/module/ui/main/home/other/SelectItemActivity.java
+176
-0
activity_depositefund_progress_details.xml
...ain/res/layout/activity_depositefund_progress_details.xml
+25
-0
activity_select_item.xml
module_home/src/main/res/layout/activity_select_item.xml
+107
-0
rv_act_car_detail.xml
module_home/src/main/res/layout/rv_act_car_detail.xml
+1
-1
rv_act_confim_order.xml
module_home/src/main/res/layout/rv_act_confim_order.xml
+100
-44
rv_item_selectitem_default_list.xml
...e/src/main/res/layout/rv_item_selectitem_default_list.xml
+17
-0
rv_item_selectitem_optional_list.xml
.../src/main/res/layout/rv_item_selectitem_optional_list.xml
+34
-0
rv_item_selectitemt_list.xml
module_home/src/main/res/layout/rv_item_selectitemt_list.xml
+20
-0
MineFragment.java
module_mine/src/main/java/com/rv/rvmine/MineFragment.java
+33
-18
PersonalInformationActivity.java
...a/com/rv/rvmine/traveler/PersonalInformationActivity.java
+0
-7
activity_mine.xml
module_mine/src/main/res/layout/activity_mine.xml
+6
-5
TravelDetailsActivity.java
...main/java/com/rv/tourism/other/TravelDetailsActivity.java
+12
-0
No files found.
RvClient/build.gradle
View file @
8359ad94
...
@@ -8,8 +8,8 @@ android {
...
@@ -8,8 +8,8 @@ android {
minSdkVersion
rootProject
.
ext
.
minSdkVersion
minSdkVersion
rootProject
.
ext
.
minSdkVersion
targetSdkVersion
rootProject
.
ext
.
targetSdkVersion
targetSdkVersion
rootProject
.
ext
.
targetSdkVersion
versionCode
12
7
versionCode
12
8
versionName
"1.2.
7
"
versionName
"1.2.
8
"
multiDexEnabled
true
multiDexEnabled
true
//新版Gradle 是 implementation 为了兼容compile,写上这句话
//新版Gradle 是 implementation 为了兼容compile,写上这句话
...
...
RvClient/src/main/AndroidManifest.xml
View file @
8359ad94
...
@@ -153,7 +153,8 @@
...
@@ -153,7 +153,8 @@
<activity
<activity
android:name=
".wxapi.WXPayEntryActivity"
android:name=
".wxapi.WXPayEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTop"
/>
<!-- QQ callback -->
android:launchMode=
"singleTop"
/>
<!-- QQ callback -->
<activity
<activity
android:name=
"com.tencent.tauth.AuthActivity"
android:name=
"com.tencent.tauth.AuthActivity"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
...
...
component_control/src/main/java/com/rv/component/control/FlowLayout.java
0 → 100644
View file @
8359ad94
This diff is collapsed.
Click to expand it.
component_control/src/main/res/values/attrs.xml
0 → 100644
View file @
8359ad94
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable
name=
"FlowLayout"
>
<attr
name=
"flFlow"
format=
"boolean"
/>
<attr
name=
"flChildSpacing"
format=
"enum|dimension"
>
<enum
name=
"auto"
value=
"-65536"
/>
</attr>
<attr
name=
"flMinChildSpacing"
format=
"dimension"
/>
<attr
name=
"flChildSpacingForLastRow"
format=
"enum|dimension"
>
<enum
name=
"auto"
value=
"-65536"
/>
<enum
name=
"align"
value=
"-65537"
/>
</attr>
<attr
name=
"flRowSpacing"
format=
"enum|dimension"
>
<enum
name=
"auto"
value=
"-65536"
/>
</attr>
<attr
name=
"flRtl"
format=
"boolean"
/>
<attr
name=
"flMaxRows"
format=
"integer"
/>
<attr
name=
"flRowVerticalGravity"
format=
"enum"
>
<enum
name=
"auto"
value=
"-65536"
/>
<enum
name=
"top"
value=
"0x30"
/>
<enum
name=
"center"
value=
"0x10"
/>
<enum
name=
"bottom"
value=
"0x50"
/>
</attr>
<attr
name=
"android:gravity"
/>
</declare-styleable>
</resources>
component_resource/src/main/res/drawable-xhdpi/rv_map_shop.png
View replaced file @
ca32fc7a
View file @
8359ad94
4.12 KB
|
W:
|
H:
1.63 KB
|
W:
|
H:
2-up
Swipe
Onion skin
component_resource/src/main/res/drawable-xhdpi/rv_max_map_shop.png
View replaced file @
ca32fc7a
View file @
8359ad94
2.66 KB
|
W:
|
H:
2.08 KB
|
W:
|
H:
2-up
Swipe
Onion skin
component_utils/src/main/java/com/rv/component/utils/DisplayUtil.java
View file @
8359ad94
...
@@ -3,6 +3,7 @@ package com.rv.component.utils;
...
@@ -3,6 +3,7 @@ package com.rv.component.utils;
import
android.content.Context
;
import
android.content.Context
;
import
android.text.TextPaint
;
import
android.text.TextPaint
;
import
android.util.DisplayMetrics
;
import
android.util.DisplayMetrics
;
import
android.util.TypedValue
;
import
android.view.Display
;
import
android.view.Display
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
import
android.widget.TextView
;
import
android.widget.TextView
;
...
@@ -34,6 +35,12 @@ public class DisplayUtil {
...
@@ -34,6 +35,12 @@ public class DisplayUtil {
return
(
int
)
(
dipValue
*
scale
+
0.5f
);
return
(
int
)
(
dipValue
*
scale
+
0.5f
);
}
}
public
static
float
dpToPx
(
Context
context
,
float
dp
){
return
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
dp
,
context
.
getResources
().
getDisplayMetrics
());
}
/**
/**
* 将px值转换为sp值,保证文字大小不变
* 将px值转换为sp值,保证文字大小不变
*
*
...
...
module_home/src/main/AndroidManifest.xml
View file @
8359ad94
...
@@ -3,8 +3,10 @@
...
@@ -3,8 +3,10 @@
package=
"com.rv.home"
>
package=
"com.rv.home"
>
<application>
<application>
<activity
android:name=
".rv.module.ui.main.home.order.DepositefundProgressDetailsActivity"
></activity>
<activity
android:name=
".rv.module.ui.main.home.other.SelectItemActivity"
/>
<activity
android:name=
".rv.module.ui.main.home.order.MemberOrderDetailsActivity"
/>
<activity
android:name=
".rv.module.ui.main.home.order.MemberOrderDetailsActivity"
/>
<activity
android:name=
".rv.module.ui.main.home.SalesroomActivity"
></activity
>
<activity
android:name=
".rv.module.ui.main.home.SalesroomActivity"
/
>
</application>
</application>
</manifest>
</manifest>
\ No newline at end of file
module_home/src/main/java/com/rv/home/rv/module/ApiConfig.java
View file @
8359ad94
...
@@ -113,4 +113,13 @@ public class ApiConfig {
...
@@ -113,4 +113,13 @@ public class ApiConfig {
public
static
String
HTTP_URL_RELATION_BIND
=
RvFrameConfig
.
HOST
+
"/api/admin/relation/bind"
;
public
static
String
HTTP_URL_RELATION_BIND
=
RvFrameConfig
.
HOST
+
"/api/admin/relation/bind"
;
public
static
String
HTTP_URL_WALLETCATH_LIST
=
RvFrameConfig
.
HOST
+
"/api/admin/walletcath/page"
;
public
static
String
HTTP_URL_WALLETCATH_LIST
=
RvFrameConfig
.
HOST
+
"/api/admin/walletcath/page"
;
// 随车物品
public
static
String
HTTP_URL_UNAUTH_TYPEITEMS
=
RvFrameConfig
.
HOST
+
"/vehicle/accompanyingItem/app/unauth/type_items"
;
//随车物品说明
public
static
String
HTTP_URL_WEBVIEW_CARGOODS
=
RvFrameConfig
.
HOST
+
"/h5/appHtml/view/carGoods.html"
;
//押金退还进度
public
static
String
HTTP_URL_WEBVIEW_REFUNDPROGRESS
=
RvFrameConfig
.
HOST
+
"/h5/appHtml/view/refundProgress.html"
;
}
}
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/ConfirmOrderActivity.java
View file @
8359ad94
...
@@ -7,9 +7,12 @@ import android.os.Bundle;
...
@@ -7,9 +7,12 @@ import android.os.Bundle;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.os.Message
;
import
android.os.Message
;
import
android.support.v4.widget.PopupWindowCompat
;
import
android.support.v4.widget.PopupWindowCompat
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.text.Html
;
import
android.text.Html
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.util.Log
;
import
android.util.TypedValue
;
import
android.view.Gravity
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
...
@@ -40,16 +43,18 @@ import com.ruiwenliu.wrapper.util.UtilsManager;
...
@@ -40,16 +43,18 @@ import com.ruiwenliu.wrapper.util.UtilsManager;
import
com.ruiwenliu.wrapper.util.ViewHolder
;
import
com.ruiwenliu.wrapper.util.ViewHolder
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.rv.component.control.FlowLayout
;
import
com.rv.component.control.SwitchButton
;
import
com.rv.component.control.SwitchButton
;
import
com.rv.component.dialog.OrderPriceDetailPw
;
import
com.rv.component.dialog.OrderPriceDetailPw
;
import
com.rv.component.dialog.PaymentTypeSelection
;
import
com.rv.component.dialog.PaymentTypeSelection
;
import
com.rv.component.dialog.bean.OrderPriceDetailBean
;
import
com.rv.component.dialog.bean.OrderPriceDetailBean
;
import
com.rv.component.utils.DisplayUtil
;
import
com.rv.home.R
;
import
com.rv.home.R
;
import
com.rv.home.R2
;
import
com.rv.home.R2
;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.basic.BaseStatusActivity
;
import
com.rv.home.rv.module.basic.BaseStatusActivity
;
import
com.rv.home.rv.module.basic.WebActivity
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.home.rv.module.ui.main.home.adapter.SelectedItemAdapter
;
import
com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean
;
import
com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean
;
import
com.rv.home.rv.module.ui.main.home.bean.ConfirmOrderBean
;
import
com.rv.home.rv.module.ui.main.home.bean.ConfirmOrderBean
;
import
com.rv.home.rv.module.ui.main.home.bean.DrivingListBean
;
import
com.rv.home.rv.module.ui.main.home.bean.DrivingListBean
;
...
@@ -57,7 +62,9 @@ import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
...
@@ -57,7 +62,9 @@ import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
import
com.rv.home.rv.module.ui.main.home.bean.OrderDataBean
;
import
com.rv.home.rv.module.ui.main.home.bean.OrderDataBean
;
import
com.rv.home.rv.module.ui.main.home.bean.OrderPayBean
;
import
com.rv.home.rv.module.ui.main.home.bean.OrderPayBean
;
import
com.rv.home.rv.module.ui.main.home.bean.OrderPriceBean
;
import
com.rv.home.rv.module.ui.main.home.bean.OrderPriceBean
;
import
com.rv.home.rv.module.ui.main.home.bean.SelectItemBean
;
import
com.rv.home.rv.module.ui.main.home.order.OrderListActivity
;
import
com.rv.home.rv.module.ui.main.home.order.OrderListActivity
;
import
com.rv.home.rv.module.ui.main.home.other.SelectItemActivity
;
import
com.tencent.mm.opensdk.modelpay.PayReq
;
import
com.tencent.mm.opensdk.modelpay.PayReq
;
import
com.tencent.mm.opensdk.openapi.IWXAPI
;
import
com.tencent.mm.opensdk.openapi.IWXAPI
;
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
;
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
;
...
@@ -65,9 +72,9 @@ import com.xxrv.coupon.api.CouponApi;
...
@@ -65,9 +72,9 @@ import com.xxrv.coupon.api.CouponApi;
import
com.xxrv.coupon.bean.CouponBean
;
import
com.xxrv.coupon.bean.CouponBean
;
import
com.yuyife.okgo.OkGoUtil
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -148,6 +155,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -148,6 +155,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
TextView
tvXinDrivingPrice
;
TextView
tvXinDrivingPrice
;
@BindView
(
R2
.
id
.
tv_coupon_amount
)
@BindView
(
R2
.
id
.
tv_coupon_amount
)
TextView
tvCouponAmount
;
TextView
tvCouponAmount
;
@BindView
(
R2
.
id
.
rv_content_select
)
FlowLayout
rvContentSelect
;
private
final
int
TYPE_REQUEST_DRIVING
=
3
;
private
final
int
TYPE_REQUEST_DRIVING
=
3
;
...
@@ -170,11 +179,15 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -170,11 +179,15 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
private
double
oldCarAmount
;
//
private
double
oldCarAmount
;
//
private
List
<
CouponBean
.
DataBean
>
couponDataList
;
//优惠券数据
private
List
<
CouponBean
.
DataBean
>
couponDataList
;
//优惠券数据
private
SelectedItemAdapter
mSelectedItemAdapter
;
private
double
couponAmount
=
0
;
//优惠券金额
private
double
couponAmount
=
0
;
//优惠券金额
private
String
status
=
"1"
;
// 优惠券状态
private
String
status
=
"1"
;
// 优惠券状态
private
List
<
String
>
couponIdList
=
new
ArrayList
<>();
//选中优惠券
private
List
<
String
>
couponIdList
=
new
ArrayList
<>();
//选中优惠券
private
List
<
String
>
selectItemList
=
new
ArrayList
<>();
//随车物品
private
List
<
SelectItemBean
.
DataBean
>
selectItem
;
public
static
Intent
getIntent
(
Context
context
,
OrderDataBean
bean
,
CarTypeListBean
.
DataBeanX
.
DataBean
carBean
,
String
startTime
,
String
endTime
)
{
public
static
Intent
getIntent
(
Context
context
,
OrderDataBean
bean
,
CarTypeListBean
.
DataBeanX
.
DataBean
carBean
,
String
startTime
,
String
endTime
)
{
return
new
Intent
(
context
,
ConfirmOrderActivity
.
class
)
return
new
Intent
(
context
,
ConfirmOrderActivity
.
class
)
...
@@ -197,6 +210,22 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -197,6 +210,22 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
mCarBean
=
(
CarTypeListBean
.
DataBeanX
.
DataBean
)
intent
.
getSerializableExtra
(
"carBean"
);
mCarBean
=
(
CarTypeListBean
.
DataBeanX
.
DataBean
)
intent
.
getSerializableExtra
(
"carBean"
);
intiView
();
intiView
();
initRxBus
();
initRxBus
();
// mSelectedItemAdapter = new SelectedItemAdapter();
// rvContentSelect.setLayoutManager(new LinearLayoutManager(this));
// rvContentSelect.setAdapter(mSelectedItemAdapter);
}
private
TextView
buildLabel
(
String
text
)
{
TextView
textView
=
new
TextView
(
this
);
textView
.
setText
(
text
);
textView
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
textGray
));
textView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_SP
,
12
);
textView
.
setPadding
((
int
)
DisplayUtil
.
dpToPx
(
mActivity
,
15
),
(
int
)
DisplayUtil
.
dpToPx
(
mActivity
,
8
),
(
int
)
DisplayUtil
.
dpToPx
(
mActivity
,
15
),
(
int
)
DisplayUtil
.
dpToPx
(
mActivity
,
8
));
return
textView
;
}
}
@SuppressLint
(
"CheckResult"
)
@SuppressLint
(
"CheckResult"
)
...
@@ -330,6 +359,19 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -330,6 +359,19 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
// }
// }
getPayMoney
();
getPayMoney
();
break
;
break
;
case
134
:
selectItem
=
JSON
.
parseArray
(
data
.
getStringExtra
(
"selectItem"
),
SelectItemBean
.
DataBean
.
class
);
rvContentSelect
.
removeAllViews
();
selectItemList
.
clear
();
if
(
selectItem
!=
null
&&
selectItem
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
selectItem
.
size
();
i
++)
{
rvContentSelect
.
addView
(
buildLabel
(
selectItem
.
get
(
i
).
getName
()));
selectItemList
.
add
(
selectItem
.
get
(
i
).
getId
()
+
","
+
selectItem
.
get
(
i
).
getNumber
());
}
}
break
;
}
}
}
}
}
}
...
@@ -337,13 +379,14 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -337,13 +379,14 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
@OnClick
({
R2
.
id
.
rl_goods
,
R2
.
id
.
tv_get_car_address
,
R2
.
id
.
tv_out_car_address
,
R2
.
id
.
iv_add_driving
,
@OnClick
({
R2
.
id
.
rl_goods
,
R2
.
id
.
tv_get_car_address
,
R2
.
id
.
tv_out_car_address
,
R2
.
id
.
iv_add_driving
,
R2
.
id
.
tv_detail
,
R2
.
id
.
tv_confirm_order
,
R2
.
id
.
tv_delete
,
R2
.
id
.
rb_xin_driving
,
R2
.
id
.
ll_item_xin_driving
,
R2
.
id
.
tv_detail
,
R2
.
id
.
tv_confirm_order
,
R2
.
id
.
tv_delete
,
R2
.
id
.
rb_xin_driving
,
R2
.
id
.
ll_item_xin_driving
,
R2
.
id
.
rb_user_driving
,
R2
.
id
.
tv_user_driving_hint
,
R2
.
id
.
tv_contract_agreement
,
R2
.
id
.
tv_service_fee_show
,
R2
.
id
.
tv_vehicle_cleaning_fee_show
,
R2
.
id
.
rb_user_driving
,
R2
.
id
.
tv_user_driving_hint
,
R2
.
id
.
tv_contract_agreement
,
R2
.
id
.
tv_service_fee_show
,
R2
.
id
.
tv_vehicle_cleaning_fee_show
,
R2
.
id
.
tv_lab3
,
R2
.
id
.
tv_deposit_hint
,
R2
.
id
.
tv_privilege_service_hint
,
R2
.
id
.
tv_booking_instructions_hint
,
R2
.
id
.
rl_item_select_coupon
})
R2
.
id
.
tv_lab3
,
R2
.
id
.
tv_deposit_hint
,
R2
.
id
.
tv_privilege_service_hint
,
R2
.
id
.
tv_booking_instructions_hint
,
R2
.
id
.
rl_item_select_coupon
,
R2
.
id
.
tv_item_caritem
,
R2
.
id
.
tv_item_select_caritem
})
public
void
onViewClicked
(
View
view
)
{
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
rl_goods
)
{
if
(
id
==
R
.
id
.
rl_goods
)
{
}
else
if
(
id
==
R
.
id
.
tv_get_car_address
)
{
}
else
if
(
id
==
R
.
id
.
tv_get_car_address
)
{
}
else
if
(
id
==
R
.
id
.
tv_out_car_address
)
{
}
else
if
(
id
==
R
.
id
.
tv_out_car_address
)
{
}
else
if
(
id
==
R
.
id
.
iv_add_driving
)
{
}
else
if
(
id
==
R
.
id
.
tv_user_driving_hint
||
id
==
R
.
id
.
iv_add_driving
)
{
startActivityForResult
(
DrivingListActivity
.
getIntent
(
mActivity
,
drivingListBean
,
1
),
TYPE_REQUEST_DRIVING
);
startActivityForResult
(
DrivingListActivity
.
getIntent
(
mActivity
,
drivingListBean
,
1
),
TYPE_REQUEST_DRIVING
);
}
else
if
(
id
==
R
.
id
.
tv_detail
)
{
}
else
if
(
id
==
R
.
id
.
tv_detail
)
{
showOrderDetail
(
llBottom
);
showOrderDetail
(
llBottom
);
...
@@ -363,7 +406,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -363,7 +406,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
dataBean
.
setDriverType
(
1
);
dataBean
.
setDriverType
(
1
);
getPayMoney
();
getPayMoney
();
}
else
if
(
id
==
R
.
id
.
rb_user_driving
||
id
==
R
.
id
.
tv_user_driving_hint
)
{
}
else
if
(
id
==
R
.
id
.
rb_user_driving
)
{
drivingType
=
2
;
drivingType
=
2
;
rbXinDriving
.
setChecked
(
false
);
rbXinDriving
.
setChecked
(
false
);
rbUserDriving
.
setChecked
(
true
);
rbUserDriving
.
setChecked
(
true
);
...
@@ -431,6 +474,16 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -431,6 +474,16 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
.
withSerializable
(
"coupon"
,
JSON
.
toJSONString
(
couponDataList
))
.
withSerializable
(
"coupon"
,
JSON
.
toJSONString
(
couponDataList
))
.
navigation
(
this
,
133
);
.
navigation
(
this
,
133
);
}
}
}
else
if
(
id
==
R
.
id
.
tv_item_caritem
)
{
//随车物品
ARouter
.
getInstance
().
build
(
Constance
.
ACTIVITY_URL_WEBVIEW
)
.
withString
(
"title"
,
"随车物品说明"
)
.
withString
(
"url"
,
ApiConfig
.
HTTP_URL_WEBVIEW_CARGOODS
)
.
navigation
();
}
else
if
(
id
==
R
.
id
.
tv_item_select_caritem
)
{
//选择随车物品
startActivityForResult
(
SelectItemActivity
.
getIntent
(
mActivity
,
JSON
.
toJSONString
(
selectItem
)),
134
);
}
}
}
}
...
@@ -439,16 +492,22 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -439,16 +492,22 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
* 确定订单
* 确定订单
*/
*/
private
void
confirmOrder
()
{
private
void
confirmOrder
()
{
//
if
(
drivingType
==
0
)
{
// if (drivingType == 0) {
showToast
(
"未选择驾驶人"
);
// showToast("未选择驾驶人");
// return;
// }
// if (drivingType == 2 && drivingListBean == null) {
// showToast(mActivity.getString(R.string.rv_add_driving_toast));
// return;
// }
if
(
drivingListBean
==
null
)
{
showToast
(
"请添加驾驶人!"
);
return
;
return
;
}
}
if
(
drivingType
==
2
&&
drivingListBean
==
null
)
{
showToast
(
mActivity
.
getString
(
R
.
string
.
rv_add_driving_toast
));
return
;
}
if
(
tvPassengerKnow
.
isChecked
()
==
false
)
{
if
(
tvPassengerKnow
.
isChecked
()
==
false
)
{
showToast
(
"请同意预定须知"
);
showToast
(
"请同意预定须知"
);
return
;
return
;
...
@@ -493,6 +552,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -493,6 +552,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
String
ids
=
couponIdList
.
toString
().
replace
(
"["
,
""
).
replace
(
"]"
,
""
).
replaceAll
(
" "
,
""
);
String
ids
=
couponIdList
.
toString
().
replace
(
"["
,
""
).
replace
(
"]"
,
""
).
replaceAll
(
" "
,
""
);
dataBean
.
setTickerNos
(
ids
);
dataBean
.
setTickerNos
(
ids
);
dataBean
.
setAccompanyStrs
(
selectItemList
);
Log
.
i
(
"confirmorderactivity"
,
"createOrder: "
+
dataBean
.
toString
());
Log
.
i
(
"confirmorderactivity"
,
"createOrder: "
+
dataBean
.
toString
());
mPresenter
.
postBodyData
(
RvFrameConfig
.
VEHICLE_ORDER
,
payType
,
ApiConfig
.
HTTP_URL_CONFIRM_ORDER
,
ConfirmOrderBean
.
class
,
dataBean
,
headMap
,
true
);
mPresenter
.
postBodyData
(
RvFrameConfig
.
VEHICLE_ORDER
,
payType
,
ApiConfig
.
HTTP_URL_CONFIRM_ORDER
,
ConfirmOrderBean
.
class
,
dataBean
,
headMap
,
true
);
}
}
...
...
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/SelectItemDefaultAdapter.java
0 → 100644
View file @
8359ad94
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
adapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.rv.home.R
;
import
com.rv.home.rv.module.ui.main.home.bean.SelectItemBean
;
/**
* 默认随车物品
*/
public
class
SelectItemDefaultAdapter
extends
BaseQuickAdapter
<
SelectItemBean
.
DataBean
,
BaseViewHolder
>
{
public
SelectItemDefaultAdapter
()
{
super
(
R
.
layout
.
rv_item_selectitem_default_list
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
final
SelectItemBean
.
DataBean
item
)
{
if
(
item
!=
null
)
{
helper
.
setText
(
R
.
id
.
tv_article_content
,
item
.
getName
()
+
"*"
+
item
.
getNumber
()
+
item
.
getUnit
());
}
}
}
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/SelectItemOptionalAdapter.java
0 → 100644
View file @
8359ad94
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
adapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.rv.home.R
;
import
com.rv.home.rv.module.ui.main.home.bean.SelectItemBean
;
/**
* 可选随车物品
*/
public
class
SelectItemOptionalAdapter
extends
BaseQuickAdapter
<
SelectItemBean
.
DataBean
,
BaseViewHolder
>
{
public
SelectItemOptionalAdapter
()
{
super
(
R
.
layout
.
rv_item_selectitem_optional_list
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
final
SelectItemBean
.
DataBean
item
)
{
if
(
item
!=
null
)
{
helper
.
setText
(
R
.
id
.
tv_article_content
,
item
.
getName
());
if
(
item
.
isSelect
()){
helper
.
getView
(
R
.
id
.
iv_select
).
setSelected
(
true
);
}
else
{
helper
.
getView
(
R
.
id
.
iv_select
).
setSelected
(
false
);
}
}
}
}
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/SelectedItemAdapter.java
0 → 100644
View file @
8359ad94
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
adapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.rv.home.R
;
/**
* 随车物品
*/
public
class
SelectedItemAdapter
extends
BaseQuickAdapter
<
String
,
BaseViewHolder
>
{
public
SelectedItemAdapter
()
{
super
(
R
.
layout
.
rv_item_selectitemt_list
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
final
String
item
)
{
helper
.
setText
(
R
.
id
.
tv_article_content
,
item
);
}
}
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/bean/OrderDataBean.java
View file @
8359ad94
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
bean
;
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
bean
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.List
;
/**
/**
* Created :Auser
* Created :Auser
...
@@ -50,6 +51,7 @@ public class OrderDataBean implements Serializable{
...
@@ -50,6 +51,7 @@ public class OrderDataBean implements Serializable{
private
int
damageSafe
;
//是否购买免赔 1--是 0--否
private
int
damageSafe
;
//是否购买免赔 1--是 0--否
private
int
rentFreeDay
;
//是否使用出租免费天数 1--是 0--否
private
int
rentFreeDay
;
//是否使用出租免费天数 1--是 0--否
private
String
tickerNos
;
//优惠券ids,逗号分割
private
String
tickerNos
;
//优惠券ids,逗号分割
private
List
<
String
>
accompanyStrs
;
//随车物品参数
public
int
getDayNum
()
{
public
int
getDayNum
()
{
return
dayNum
;
return
dayNum
;
...
@@ -189,6 +191,14 @@ public class OrderDataBean implements Serializable{
...
@@ -189,6 +191,14 @@ public class OrderDataBean implements Serializable{
this
.
tickerNos
=
tickerNos
;
this
.
tickerNos
=
tickerNos
;
}
}
public
List
<
String
>
getAccompanyStrs
()
{
return
accompanyStrs
;
}
public
void
setAccompanyStrs
(
List
<
String
>
accompanyStrs
)
{
this
.
accompanyStrs
=
accompanyStrs
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"OrderDataBean{"
+
return
"OrderDataBean{"
+
...
...
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/bean/SelectItemBean.java
0 → 100644
View file @
8359ad94
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
bean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
java.io.Serializable
;
import
java.util.List
;
public
class
SelectItemBean
extends
BaseBean
{
private
List
<
DataBean
>
data
;
private
boolean
rel
;
public
List
<
DataBean
>
getData
()
{
return
data
;
}
public
void
setData
(
List
<
DataBean
>
data
)
{
this
.
data
=
data
;
}
public
boolean
isRel
()
{
return
rel
;
}
public
void
setRel
(
boolean
rel
)
{
this
.
rel
=
rel
;
}
public
static
class
DataBean
implements
Serializable
{
private
String
id
;
//": 99,
private
String
type
;
//": 1, 1:随车工具 2:随车配备 3:可配物品
private
String
name
;
//": "行驶证",
private
String
number
;
//": 1,
private
String
unit
;
//": "本", 单位
private
double
price
;
//": 0.00, 价格
private
String
rank
;
//": 20
private
boolean
select
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getNumber
()
{
return
number
;
}
public
void
setNumber
(
String
number
)
{
this
.
number
=
number
;
}
public
String
getUnit
()
{
return
unit
;
}
public
void
setUnit
(
String
unit
)
{
this
.
unit
=
unit
;
}
public
double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
double
price
)
{
this
.
price
=
price
;
}
public
String
getRank
()
{
return
rank
;
}
public
void
setRank
(
String
rank
)
{
this
.
rank
=
rank
;
}
public
boolean
isSelect
()
{
return
select
;
}
public
void
setSelect
(
boolean
select
)
{
this
.
select
=
select
;
}
}
}
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/order/DepositefundProgressDetailsActivity.java
0 → 100644
View file @
8359ad94
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
order
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.webkit.JavascriptInterface
;
import
android.webkit.WebChromeClient
;
import
android.webkit.WebResourceRequest
;
import
android.webkit.WebSettings
;
import
android.webkit.WebView
;
import
android.webkit.WebViewClient
;
import
android.widget.ProgressBar
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.rv.home.R
;
import
com.rv.home.R2
;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.basic.BaseStatusActivity
;
import
com.rv.home.rv.module.basic.presenter.PickerPresenter
;
import
com.yuyife.okgo.OkGoUtil
;
import
butterknife.BindView
;
import
static
com
.
ruiwenliu
.
wrapper
.
weight
.
webview
.
SafeWebView
.
hasKitkat
;
/**
* 押金退还进度
*/
public
class
DepositefundProgressDetailsActivity
extends
BaseStatusActivity
<
PickerPresenter
>
{
@BindView
(
R2
.
id
.
webView
)
WebView
mWebView
;
@BindView
(
R2
.
id
.
pb_progress
)
ProgressBar
pbProgress
;
private
String
webUrl
;
public
static
Intent
getIntent
(
Context
context
,
String
orderId
)
{
return
new
Intent
(
context
,
DepositefundProgressDetailsActivity
.
class
)
.
putExtra
(
"orderId"
,
orderId
);
}
@Override
protected
int
setLayout
()
{
return
R
.
layout
.
activity_depositefund_progress_details
;
}
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
titleView
.
setTitle
(
"押金退还进度"
);
String
orderId
=
intent
.
getStringExtra
(
"orderId"
);
webUrl
=
ApiConfig
.
HTTP_URL_WEBVIEW_REFUNDPROGRESS
+
"?orderId="
+
orderId
;
initWeb
();
}
private
void
initWeb
()
{
WebSettings
webSettings
=
mWebView
.
getSettings
();
if
(
webSettings
==
null
)
return
;
// 支持 Js 使用
webSettings
.
setJavaScriptEnabled
(
true
);
// 开启DOM缓存,默认状态下是不支持LocalStorage的
webSettings
.
setDomStorageEnabled
(
true
);
// 开启数据库缓存
webSettings
.
setDatabaseEnabled
(
true
);
// 支持自动加载图片
webSettings
.
setLoadsImagesAutomatically
(
hasKitkat
());
// 设置 WebView 的缓存模式
webSettings
.
setCacheMode
(
WebSettings
.
LOAD_DEFAULT
);
// 支持启用缓存模式
webSettings
.
setAppCacheEnabled
(
true
);
// 设置 AppCache 最大缓存值(现在官方已经不提倡使用,已废弃)
// webSettings.setAppCacheMaxSize(8 * 1024 * 1024);
// Android 私有缓存存储,如果你不调用setAppCachePath方法,WebView将不会产生这个目录
webSettings
.
setAppCachePath
(
getCacheDir
().
getAbsolutePath
());
// 数据库路径
// if (!hasKitkat()) {
// webSettings.setDatabasePath(getDatabasePath("html").getPath());
// }
// 关闭密码保存提醒功能
// webSettings.setSavePassword(false);
// 支持缩放
webSettings
.
setSupportZoom
(
true
);
// 设置 UserAgent 属性
webSettings
.
setUserAgentString
(
""
);
// 允许加载本地 html 文件/false
webSettings
.
setAllowFileAccess
(
true
);
// 允许通过 file url 加载的 Javascript 读取其他的本地文件,Android 4.1 之前默认是true,在 Android 4.1 及以后默认是false,也就是禁止
webSettings
.
setAllowFileAccessFromFileURLs
(
true
);
// 允许通过 file url 加载的 Javascript 可以访问其他的源,包括其他的文件和 http,https 等其他的源,
// Android 4.1 之前默认是true,在 Android 4.1 及以后默认是false,也就是禁止
// 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用
webSettings
.
setAllowUniversalAccessFromFileURLs
(
true
);
mWebView
.
addJavascriptInterface
(
new
AndroidJs
(),
"AndroidJs"
);
mWebView
.
setWebViewClient
(
new
WebViewClient
()
{
@Override
public
boolean
shouldOverrideUrlLoading
(
WebView
view
,
WebResourceRequest
request
)
{
return
super
.
shouldOverrideUrlLoading
(
view
,
request
);
}
});
mWebView
.
loadUrl
(
webUrl
);
mWebView
.
setWebChromeClient
(
new
WebChromeClient
()
{
@Override
public
void
onProgressChanged
(
WebView
view
,
int
newProgress
)
{
if
(
newProgress
==
100
)
{
pbProgress
.
setVisibility
(
View
.
GONE
);
//加载完网页进度条消失
}
else
{
pbProgress
.
setVisibility
(
View
.
VISIBLE
);
//开始加载网页时显示进度条
pbProgress
.
setProgress
(
newProgress
);
//设置进度值
}
}
});
}
public
class
AndroidJs
{
@JavascriptInterface
public
String
getToken
()
{
return
OkGoUtil
.
getToken
();
}
}
@Override
public
void
onResume
()
{
super
.
onResume
();
mWebView
.
onResume
();
// 生命周期onResume
}
@Override
protected
void
onPause
()
{
super
.
onPause
();
mWebView
.
onPause
();
//生命周期onPause
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
mWebView
.
stopLoading
();
// 停止当前加载
mWebView
.
clearMatches
();
// 清除网页查找的高亮匹配字符。
mWebView
.
clearHistory
();
// 清除当前 WebView 访问的历史记录
mWebView
.
clearSslPreferences
();
//清除ssl信息
mWebView
.
clearCache
(
true
);
//清空网页访问留下的缓存数据。需要注意的时,由于缓存是全局的,所以只要是WebView用到的缓存都会被清空,即便其他地方也会使用到。该方法接受一个参数,从命名即可看出作用。若设为false,则只清空内存里的资源缓存,而不清空磁盘里的。
mWebView
.
loadUrl
(
"about:blank"
);
// 清空当前加载
mWebView
.
removeAllViews
();
// 清空子 View
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
JELLY_BEAN_MR2
)
{
mWebView
.
removeJavascriptInterface
(
"AndroidNative"
);
// 向 Web端注入 java 对象
}
// mWebView.addJavascriptInterface(new AndroidJs(),"AndroidJs");
mWebView
.
destroy
();
// 生命周期销毁
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
}
}
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/order/OrderDetailActivity.java
View file @
8359ad94
...
@@ -294,10 +294,13 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
...
@@ -294,10 +294,13 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
startActivityForResult
(
CancelTheTripActivity
.
getIntent
(
mActivity
,
no
,
"8"
),
1
);
startActivityForResult
(
CancelTheTripActivity
.
getIntent
(
mActivity
,
no
,
"8"
),
1
);
break
;
break
;
case
5
:
case
5
:
showToast
(
"该功能还在开发中..."
);
Intent
intent
=
new
Intent
(
Intent
.
ACTION_DIAL
);
Uri
uri
=
Uri
.
parse
(
"tel:"
+
"4000369369"
);
intent
.
setData
(
uri
);
startActivity
(
intent
);
break
;
break
;
case
6
:
case
6
:
showToast
(
"该功能还在开发中..."
);
startActivity
(
DepositefundProgressDetailsActivity
.
getIntent
(
mActivity
,
no
)
);
break
;
break
;
}
}
}
}
...
...
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/other/SelectItemActivity.java
0 → 100644
View file @
8359ad94
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
other
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.alibaba.fastjson.JSON
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.rv.home.R
;
import
com.rv.home.R2
;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.basic.BaseStatusActivity
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.home.rv.module.ui.main.home.adapter.SelectItemDefaultAdapter
;
import
com.rv.home.rv.module.ui.main.home.adapter.SelectItemOptionalAdapter
;
import
com.rv.home.rv.module.ui.main.home.bean.SelectItemBean
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
/**
* 选择随车物品
*/
public
class
SelectItemActivity
extends
BaseStatusActivity
<
CommonPresenter
>
{
@BindView
(
R2
.
id
.
rv_content_default
)
RecyclerView
rvContentDefault
;
@BindView
(
R2
.
id
.
rv_content_select
)
RecyclerView
rvContentSelect
;
private
SelectItemDefaultAdapter
mDefaultAdapter
;
private
SelectItemOptionalAdapter
mOptionalAdapter
;
private
List
<
SelectItemBean
.
DataBean
>
dataBean
;
private
List
<
SelectItemBean
.
DataBean
>
selectData
;
private
List
<
SelectItemBean
.
DataBean
>
oldSelectData
;
public
static
Intent
getIntent
(
Context
context
,
String
selectItemList
)
{
return
new
Intent
(
context
,
SelectItemActivity
.
class
)
.
putExtra
(
"selectitem"
,
selectItemList
);
}
@Override
protected
int
setLayout
()
{
return
R
.
layout
.
activity_select_item
;
}
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
titleView
.
setTitle
(
"选择随车物品"
);
String
selectitem
=
intent
.
getStringExtra
(
"selectitem"
);
if
(!
TextUtils
.
isEmpty
(
selectitem
))
{
oldSelectData
=
JSON
.
parseArray
(
selectitem
,
SelectItemBean
.
DataBean
.
class
);
}
//默认随车物品
mDefaultAdapter
=
new
SelectItemDefaultAdapter
();
rvContentDefault
.
setLayoutManager
(
new
GridLayoutManager
(
mActivity
,
3
));
rvContentDefault
.
setNestedScrollingEnabled
(
false
);
rvContentDefault
.
setAdapter
(
mDefaultAdapter
);
//可选随车物品
mOptionalAdapter
=
new
SelectItemOptionalAdapter
();
rvContentSelect
.
setLayoutManager
(
new
LinearLayoutManager
(
mActivity
,
LinearLayoutManager
.
VERTICAL
,
false
));
rvContentSelect
.
setNestedScrollingEnabled
(
false
);
rvContentSelect
.
setAdapter
(
mOptionalAdapter
);
mOptionalAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
SelectItemBean
.
DataBean
item
=
(
SelectItemBean
.
DataBean
)
adapter
.
getItem
(
position
);
if
(
item
.
isSelect
())
{
item
.
setSelect
(
false
);
}
else
{
item
.
setSelect
(
true
);
}
mOptionalAdapter
.
notifyItemChanged
(
position
);
}
});
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
,
Intent
intent
)
{
super
.
loadData
(
savedInstanceState
,
intent
);
loadDefaultData
();
loadSelectData
();
}
private
void
loadSelectData
()
{
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<>();
if
(
OkGoUtil
.
getToken
()
!=
null
)
headMap
.
put
(
"Authorization"
,
OkGoUtil
.
getToken
());
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"type"
,
"3"
);
mPresenter
.
getData
(
RvFrameConfig
.
HOST
,
1
,
ApiConfig
.
HTTP_URL_UNAUTH_TYPEITEMS
,
SelectItemBean
.
class
,
map
,
headMap
,
true
);
}
private
void
loadDefaultData
()
{
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<>();
if
(
OkGoUtil
.
getToken
()
!=
null
)
headMap
.
put
(
"Authorization"
,
OkGoUtil
.
getToken
());
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"type"
,
"1,2"
);
mPresenter
.
getData
(
RvFrameConfig
.
HOST
,
0
,
ApiConfig
.
HTTP_URL_UNAUTH_TYPEITEMS
,
SelectItemBean
.
class
,
map
,
headMap
,
true
);
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
switch
(
requestType
)
{
case
0
:
setDefaultData
((
SelectItemBean
)
result
);
break
;
case
1
:
setSelectData
((
SelectItemBean
)
result
);
break
;
}
}
private
void
setSelectData
(
SelectItemBean
bean
)
{
dataBean
=
bean
.
getData
();
if
(
oldSelectData
!=
null
&&
oldSelectData
.
size
()
>
0
&&
dataBean
!=
null
&&
dataBean
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
oldSelectData
.
size
();
i
++)
{
for
(
int
j
=
0
;
j
<
dataBean
.
size
();
j
++)
{
if
(
dataBean
.
get
(
j
).
getId
().
equals
(
oldSelectData
.
get
(
i
).
getId
()))
{
dataBean
.
get
(
j
).
setSelect
(
true
);
break
;
}
}
}
}
mOptionalAdapter
.
addData
(
dataBean
);
}
private
void
setDefaultData
(
SelectItemBean
bean
)
{
mDefaultAdapter
.
addData
(
bean
.
getData
());
}
@OnClick
(
R2
.
id
.
btn_item_ok
)
public
void
onViewClicked
(
View
v
)
{
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_item_ok
)
{
resultData
();
getIntent
().
putExtra
(
"selectItem"
,
JSON
.
toJSONString
(
selectData
));
setResult
(
RESULT_OK
,
getIntent
());
finish
();
}
}
private
void
resultData
()
{
selectData
=
new
ArrayList
<>();
if
(
dataBean
!=
null
&&
dataBean
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
dataBean
.
size
();
i
++)
{
if
(
dataBean
.
get
(
i
).
isSelect
())
{
selectData
.
add
(
dataBean
.
get
(
i
));
}
}
}
}
}
module_home/src/main/res/layout/activity_depositefund_progress_details.xml
0 → 100644
View file @
8359ad94
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
".rv.module.ui.main.home.order.DepositefundProgressDetailsActivity"
>
<ProgressBar
android:id=
"@+id/pb_progress"
style=
"?android:attr/progressBarStyleHorizontal"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_3"
android:indeterminateOnly=
"false"
android:max=
"100"
android:progressDrawable=
"@drawable/shape_rv_bg_yellow_progress"
android:visibility=
"gone"
></ProgressBar>
<WebView
android:id=
"@+id/webView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
module_home/src/main/res/layout/activity_select_item.xml
0 → 100644
View file @
8359ad94
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
android:background=
"@color/colorLine"
tools:context=
".rv.module.ui.main.home.other.SelectItemActivity"
>
<android.support.v4.widget.NestedScrollView
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/colorWrite"
android:layout_marginBottom=
"@dimen/size_15"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_50"
android:layout_marginLeft=
"@dimen/size_15"
android:gravity=
"center_vertical"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"默认随车物品"
android:textColor=
"@color/colorMain"
android:textSize=
"@dimen/text_14"
/>
</LinearLayout>
<include
layout=
"@layout/common_line"
/>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rv_content_default"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/size_15"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/colorWrite"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_50"
android:gravity=
"center_vertical"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_15"
android:text=
"可选随车物品"
android:textColor=
"@color/colorMain"
android:textSize=
"@dimen/text_14"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"(部分物品损坏或遗失需按价赔偿)"
android:textColor=
"@color/text_Gray"
android:textSize=
"@dimen/text_12"
/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rv_content_select"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<LinearLayout
android:background=
"@color/colorWrite"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<include
layout=
"@layout/common_line"
/>
<Button
android:id=
"@+id/btn_item_ok"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_50"
android:layout_marginLeft=
"@dimen/size_15"
android:layout_marginTop=
"@dimen/size_10"
android:layout_marginRight=
"@dimen/size_15"
android:layout_marginBottom=
"@dimen/size_10"
android:background=
"@drawable/shape_rv_bg_shallow_dark_yellow_circle"
android:text=
"确定"
android:textColor=
"@color/colorWrite"
android:textSize=
"@dimen/text_16"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
module_home/src/main/res/layout/rv_act_car_detail.xml
View file @
8359ad94
...
@@ -95,7 +95,7 @@
...
@@ -95,7 +95,7 @@
android:textSize=
"@dimen/text_14"
android:textSize=
"@dimen/text_14"
android:gravity=
"center"
android:gravity=
"center"
android:id=
"@+id/tv_appointment"
android:id=
"@+id/tv_appointment"
android:background=
"@color/
colorAuxiliaryYellow
"
android:background=
"@color/
gray_FFB74B
"
android:textColor=
"@color/colorWrite"
android:textColor=
"@color/colorWrite"
android:text=
"@string/rv_to_appointment"
android:text=
"@string/rv_to_appointment"
/>
/>
...
...
module_home/src/main/res/layout/rv_act_confim_order.xml
View file @
8359ad94
This diff is collapsed.
Click to expand it.
module_home/src/main/res/layout/rv_item_selectitem_default_list.xml
0 → 100644
View file @
8359ad94
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
>
<TextView
android:id=
"@+id/tv_article_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:textSize=
"@dimen/text_14"
android:layout_marginLeft=
"@dimen/size_15"
android:layout_marginTop=
"@dimen/size_20"
android:textColor=
"@color/textGray"
android:text=
"牙膏*2支"
/>
</LinearLayout>
module_home/src/main/res/layout/rv_item_selectitem_optional_list.xml
0 → 100644
View file @
8359ad94
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<include
layout=
"@layout/common_line"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_50"
>
<TextView
android:id=
"@+id/tv_article_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/size_15"
android:text=
"帐篷"
android:textColor=
"@color/colorMain"
android:textSize=
"@dimen/text_14"
/>
<ImageView
android:id=
"@+id/iv_select"
android:layout_width=
"@dimen/size_20"
android:layout_height=
"@dimen/size_20"
android:layout_alignParentRight=
"true"
android:layout_centerVertical=
"true"
android:layout_gravity=
"center_vertical|right"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_marginRight=
"@dimen/size_15"
android:src=
"@drawable/selector_rv_icon_mark"
/>
</RelativeLayout>
</LinearLayout>
module_home/src/main/res/layout/rv_item_selectitemt_list.xml
0 → 100644
View file @
8359ad94
<?xml version="1.0" encoding="utf-8"?>
<com.rv.component.control.FlowLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
app:flFlow=
"true"
app:flChildSpacing=
"auto"
app:flChildSpacingForLastRow=
"align"
>
<TextView
android:id=
"@+id/tv_article_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/text_12"
android:layout_marginLeft=
"@dimen/size_15"
android:layout_marginTop=
"@dimen/size_10"
android:textColor=
"@color/textGray"
android:text=
"牙膏*2支"
/>
</com.rv.component.control.FlowLayout>
module_mine/src/main/java/com/rv/rvmine/MineFragment.java
View file @
8359ad94
...
@@ -19,6 +19,7 @@ import android.widget.TextView;
...
@@ -19,6 +19,7 @@ import android.widget.TextView;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.base.utils.tools.android.IntentUtil
;
import
com.base.utils.tools.android.IntentUtil
;
import
com.base.utils.ui.datetime.selector.util.TextUtil
;
import
com.base.utils.ui.image.round.RoundImageView
;
import
com.base.utils.ui.image.round.RoundImageView
;
import
com.frame.base.bus.LoginSuccessfulEvent
;
import
com.frame.base.bus.LoginSuccessfulEvent
;
import
com.frame.base.bus.Observer
;
import
com.frame.base.bus.Observer
;
...
@@ -31,6 +32,7 @@ import com.frame.rv.config.RvFrameConfig;
...
@@ -31,6 +32,7 @@ import com.frame.rv.config.RvFrameConfig;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.bean.BeanUserInfo
;
import
com.ruiwenliu.wrapper.bean.UserInfoBean
;
import
com.ruiwenliu.wrapper.bean.UserInfoBean
;
import
com.ruiwenliu.wrapper.browse.ActivityImageBrowseInt
;
import
com.ruiwenliu.wrapper.browse.ActivityImageBrowseInt
;
import
com.ruiwenliu.wrapper.statusbar.StatusBarUtil
;
import
com.ruiwenliu.wrapper.statusbar.StatusBarUtil
;
...
@@ -165,6 +167,16 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
...
@@ -165,6 +167,16 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
tvViewPrivileges
.
setText
(
"查看会员特权"
);
tvViewPrivileges
.
setText
(
"查看会员特权"
);
mSimpleRefreshLayout
.
setPullDownEnable
(
true
);
mSimpleRefreshLayout
.
setPullDownEnable
(
true
);
}
}
String
spStringCode
=
UtilsManager
.
getInstance
(
OkGoUtil
.
application
).
getSPStringCode
(
SPConstance
.
USER_JSON
,
SPConstance
.
USER_JSON_USERINFO
);
if
(!
TextUtil
.
isEmpty
(
spStringCode
))
{
UserInfoBean
.
UserInfo
userInfo
=
JSON
.
parseObject
(
spStringCode
,
UserInfoBean
.
UserInfo
.
class
);
GlideManager
.
getInstance
(
_mActivity
).
loadImage
(
userInfo
.
getHeadimgurl
(),
ivAvatar
);
tvNickname
.
setText
(
userInfo
.
getNickname
());
setMember
(
userInfo
);
}
}
}
private
void
initRefresh
()
{
private
void
initRefresh
()
{
...
@@ -517,24 +529,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
...
@@ -517,24 +529,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
}
}
if
(
0
==
info
.
getIsMember
())
{
setMember
(
info
);
tvMembershipLevel
.
setText
(
"会员特权"
);
tvMemberHint
.
setText
(
"免费用车- -天"
);
tvMember
.
setText
(
"普通用户"
);
}
else
if
(
1
==
info
.
getIsMember
())
{
if
(
1
==
info
.
getMemberLevel
())
{
//1 普通会员 2 黄金会员 3 钻石会员
tvMembershipLevel
.
setText
(
" 普通会员特权"
);
tvMember
.
setText
(
"普通会员"
);
}
else
if
(
2
==
info
.
getMemberLevel
())
{
tvMembershipLevel
.
setText
(
"黄金会员特权"
);
tvMember
.
setText
(
"黄金会员"
);
}
else
if
(
3
==
info
.
getMemberLevel
())
{
tvMembershipLevel
.
setText
(
"钻石会员特权"
);
tvMember
.
setText
(
"钻石会员"
);
}
tvMemberHint
.
setText
(
"免费用车"
+
info
.
getRentFreeDays
()
+
"天"
);
}
}
}
if
(
TextUtils
.
isEmpty
(
OkGoUtil
.
getToken
()))
{
if
(
TextUtils
.
isEmpty
(
OkGoUtil
.
getToken
()))
{
...
@@ -554,6 +549,26 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
...
@@ -554,6 +549,26 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
}
}
}
}
private
void
setMember
(
UserInfoBean
.
UserInfo
infos
)
{
if
(
0
==
infos
.
getIsMember
())
{
tvMembershipLevel
.
setText
(
"会员特权"
);
tvMemberHint
.
setText
(
"免费用车- -天"
);
tvMember
.
setText
(
"普通用户"
);
}
else
if
(
1
==
infos
.
getIsMember
())
{
if
(
1
==
infos
.
getMemberLevel
())
{
//1 普通会员 2 黄金会员 3 钻石会员
tvMembershipLevel
.
setText
(
" 普通会员特权"
);
tvMember
.
setText
(
"普通会员"
);
}
else
if
(
2
==
infos
.
getMemberLevel
())
{
tvMembershipLevel
.
setText
(
"黄金会员特权"
);
tvMember
.
setText
(
"黄金会员"
);
}
else
if
(
3
==
infos
.
getMemberLevel
())
{
tvMembershipLevel
.
setText
(
"钻石会员特权"
);
tvMember
.
setText
(
"钻石会员"
);
}
tvMemberHint
.
setText
(
"免费用车"
+
infos
.
getRentFreeDays
()
+
"天"
);
}
}
@Override
@Override
public
void
onRefresh
()
{
public
void
onRefresh
()
{
...
...
module_mine/src/main/java/com/rv/rvmine/traveler/PersonalInformationActivity.java
View file @
8359ad94
...
@@ -192,13 +192,6 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
...
@@ -192,13 +192,6 @@ public class PersonalInformationActivity extends BaseStatusActivity<PickerPresen
}
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// TODO: add setContentView(...) invocation
ButterKnife
.
bind
(
this
);
}
@OnClick
({
R2
.
id
.
rl_item_avatar
,
R2
.
id
.
ll_item_date_of_birth
,
R2
.
id
.
ll_item_sex
,
R2
.
id
.
ll_item_binding_qq
,
R2
.
id
.
ll_item_binding_wechat
})
@OnClick
({
R2
.
id
.
rl_item_avatar
,
R2
.
id
.
ll_item_date_of_birth
,
R2
.
id
.
ll_item_sex
,
R2
.
id
.
ll_item_binding_qq
,
R2
.
id
.
ll_item_binding_wechat
})
public
void
onViewClicked
(
View
view
)
{
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
int
id
=
view
.
getId
();
...
...
module_mine/src/main/res/layout/activity_mine.xml
View file @
8359ad94
...
@@ -6,7 +6,8 @@
...
@@ -6,7 +6,8 @@
android:background=
"@color/colorLine"
android:background=
"@color/colorLine"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/refresh"
android:id=
"@+id/refresh"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
...
@@ -48,19 +49,19 @@
...
@@ -48,19 +49,19 @@
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<ImageView
<ImageView
android:id=
"@+id/iv_item_
setting
"
android:id=
"@+id/iv_item_
message
"
android:layout_width=
"@dimen/size_35"
android:layout_width=
"@dimen/size_35"
android:layout_height=
"@dimen/size_35"
android:layout_height=
"@dimen/size_35"
android:padding=
"@dimen/size_8"
android:padding=
"@dimen/size_8"
android:src=
"@drawable/mycenter_icon_
setting
"
/>
android:src=
"@drawable/mycenter_icon_
message
"
/>
<ImageView
<ImageView
android:id=
"@+id/iv_item_
message
"
android:id=
"@+id/iv_item_
setting
"
android:layout_width=
"@dimen/size_35"
android:layout_width=
"@dimen/size_35"
android:layout_height=
"@dimen/size_35"
android:layout_height=
"@dimen/size_35"
android:layout_alignParentRight=
"true"
android:layout_alignParentRight=
"true"
android:padding=
"@dimen/size_8"
android:padding=
"@dimen/size_8"
android:src=
"@drawable/mycenter_icon_
message
"
/>
android:src=
"@drawable/mycenter_icon_
setting
"
/>
</RelativeLayout>
</RelativeLayout>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
</LinearLayout>
</LinearLayout>
...
...
module_tourism/src/main/java/com/rv/tourism/other/TravelDetailsActivity.java
View file @
8359ad94
...
@@ -409,6 +409,18 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -409,6 +409,18 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
}
}
@JavascriptInterface
public
void
hideButton
()
{
mWebView
.
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
llItemBottom
.
setVisibility
(
View
.
GONE
);
}
});
}
@JavascriptInterface
@JavascriptInterface
public
void
tourStock
(
int
num
)
{
public
void
tourStock
(
int
num
)
{
if
(
num
>
0
)
{
if
(
num
>
0
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment