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
8e76ee5d
Commit
8e76ee5d
authored
Jun 24, 2019
by
linfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码更新
parent
ed7782ef
Changes
69
Show whitespace changes
Inline
Side-by-side
Showing
69 changed files
with
2503 additions
and
129 deletions
+2503
-129
Constance.java
MyFrame/src/main/java/com/frame/base/url/Constance.java
+1
-1
StarBar.java
MyFrame/src/main/java/com/frame/base/view/StarBar.java
+182
-0
attrs.xml
MyFrame/src/main/res/values/attrs.xml
+16
-0
build.gradle
RvClient/build.gradle
+1
-0
AndroidManifest.xml
RvClient/src/main/AndroidManifest.xml
+7
-0
ModuleUtil.java
RvClient/src/main/java/com/test/rv/ModuleUtil.java
+4
-3
BaseTitleBarLayout.java
...src/main/java/com/frame/rv/widget/BaseTitleBarLayout.java
+17
-0
travel_rv_collect.png
RvFrame/src/main/res/drawable-xxhdpi/travel_rv_collect.png
+0
-0
travel_rv_rentingcar_icon_share.png
...n/res/drawable-xxhdpi/travel_rv_rentingcar_icon_share.png
+0
-0
layout_title.xml
RvFrame/src/main/res/layout/layout_title.xml
+19
-0
ApiConfig.java
RvHome/src/main/java/com/rv/home/rv/module/ApiConfig.java
+8
-1
PickerPresenter.java
...om/rv/home/rv/module/basic/presenter/PickerPresenter.java
+1
-3
BingPhoneActivity.java
...ava/com/rv/home/rv/module/ui/login/BingPhoneActivity.java
+9
-11
ConfirmPwdActivity.java
...va/com/rv/home/rv/module/ui/login/ConfirmPwdActivity.java
+4
-4
RegisteredActivity.java
...va/com/rv/home/rv/module/ui/login/RegisteredActivity.java
+5
-1
HomeActivity.java
...main/java/com/rv/home/rv/module/ui/main/HomeActivity.java
+30
-1
CarDetailActivity.java
...com/rv/home/rv/module/ui/main/home/CarDetailActivity.java
+9
-5
CarRentalActivity.java
...com/rv/home/rv/module/ui/main/home/CarRentalActivity.java
+1
-1
ConfirmOrderActivity.java
.../rv/home/rv/module/ui/main/home/ConfirmOrderActivity.java
+32
-8
DrivingListActivity.java
...m/rv/home/rv/module/ui/main/home/DrivingListActivity.java
+19
-3
DrivingUploadActivity.java
...rv/home/rv/module/ui/main/home/DrivingUploadActivity.java
+4
-4
HomeFragment.java
...java/com/rv/home/rv/module/ui/main/home/HomeFragment.java
+818
-0
HomePageFragment.java
.../com/rv/home/rv/module/ui/main/home/HomePageFragment.java
+1
-1
DrivingListAdapter.java
...me/rv/module/ui/main/home/adapter/DrivingListAdapter.java
+5
-0
HotCarTypeAdapter.java
...ome/rv/module/ui/main/home/adapter/HotCarTypeAdapter.java
+14
-6
RVEnthusiastAdapter.java
...e/rv/module/ui/main/home/adapter/RVEnthusiastAdapter.java
+27
-0
RVTourListAdapter.java
...ome/rv/module/ui/main/home/adapter/RVTourListAdapter.java
+24
-0
RVTourListLabelAdapter.java
...v/module/ui/main/home/adapter/RVTourListLabelAdapter.java
+57
-0
SelectedEventsAdapter.java
...rv/module/ui/main/home/adapter/SelectedEventsAdapter.java
+20
-0
DrivingListBean.java
.../rv/home/rv/module/ui/main/home/bean/DrivingListBean.java
+9
-0
EvaluationActivity.java
...home/rv/module/ui/main/home/order/EvaluationActivity.java
+187
-31
HaveToTravelFragment.java
...me/rv/module/ui/main/home/order/HaveToTravelFragment.java
+1
-1
OrderListActivity.java
.../home/rv/module/ui/main/home/order/OrderListActivity.java
+3
-0
OrderListBean.java
...home/rv/module/ui/main/home/order/bean/OrderListBean.java
+9
-0
ScoreBean.java
.../rv/home/rv/module/ui/main/home/order/bean/ScoreBean.java
+22
-0
selector_home_item_button_left.xml
.../src/main/res/drawable/selector_home_item_button_left.xml
+5
-0
selector_home_item_button_right.xml
...src/main/res/drawable/selector_home_item_button_right.xml
+5
-0
selector_rv_button_home_type.xml
...me/src/main/res/drawable/selector_rv_button_home_type.xml
+6
-0
shape_rv_bg_crimson_xiao_fang.xml
...e/src/main/res/drawable/shape_rv_bg_crimson_xiao_fang.xml
+8
-0
shape_rv_bg_dark_yellow.xml
RvHome/src/main/res/drawable/shape_rv_bg_dark_yellow.xml
+5
-0
shape_rv_button_gray.xml
RvHome/src/main/res/drawable/shape_rv_button_gray.xml
+5
-0
shape_rv_dark_gray_circle.xml
RvHome/src/main/res/drawable/shape_rv_dark_gray_circle.xml
+8
-0
shape_rv_textview_home_translucent.xml
.../main/res/drawable/shape_rv_textview_home_translucent.xml
+5
-0
rv_act_evaluation.xml
RvHome/src/main/res/layout/rv_act_evaluation.xml
+48
-20
styles.xml
RvHome/src/main/res/values/styles.xml
+2
-2
build.gradle
RvMine/build.gradle
+14
-2
MineActivity.java
RvMine/src/main/java/com/rv/rvmine/MineActivity.java
+2
-0
CollectionAdapter.java
...rc/main/java/com/rv/rvmine/adapter/CollectionAdapter.java
+65
-0
CollectionListBean.java
.../src/main/java/com/rv/rvmine/bean/CollectionListBean.java
+203
-0
SuccessfulCertificationActivity.java
...m/rv/rvmine/personal/SuccessfulCertificationActivity.java
+3
-0
CollectionActivity.java
.../main/java/com/rv/rvmine/traveler/CollectionActivity.java
+84
-4
SettingActivity.java
...src/main/java/com/rv/rvmine/traveler/SettingActivity.java
+3
-0
activity_collection.xml
RvMine/src/main/res/layout/activity_collection.xml
+3
-2
rv_item_mine_collection_car_rental.xml
...rc/main/res/layout/rv_item_mine_collection_car_rental.xml
+73
-0
rv_item_mine_collection_travel.xml
...ne/src/main/res/layout/rv_item_mine_collection_travel.xml
+67
-0
build.gradle
RvTravel/build.gradle
+9
-0
GoOtherUtil.java
RvTravel/src/main/java/com/rv/travel/GoOtherUtil.java
+75
-7
ApiUtil.java
RvTravel/src/main/java/com/rv/travel/api/ApiUtil.java
+148
-2
TravelApi.java
RvTravel/src/main/java/com/rv/travel/api/TravelApi.java
+6
-0
BeanCheckCollection.java
...src/main/java/com/rv/travel/bean/BeanCheckCollection.java
+22
-0
TravelFragmentCommitOrder.java
...ava/com/rv/travel/fragment/TravelFragmentCommitOrder.java
+1
-1
TravelFragmentHotType.java
...in/java/com/rv/travel/fragment/TravelFragmentHotType.java
+1
-1
TravelFragmentMain.java
.../main/java/com/rv/travel/fragment/TravelFragmentMain.java
+1
-1
OtherClickListener.java
...src/main/java/com/rv/travel/other/OtherClickListener.java
+6
-0
OtherOption.java
RvTravel/src/main/java/com/rv/travel/other/OtherOption.java
+28
-0
TravelFragmentActivity.java
...main/java/com/rv/travel/other/TravelFragmentActivity.java
+21
-1
colors.xml
RvWrapper/src/main/res/values/colors.xml
+2
-0
dimens.xml
RvWrapper/src/main/res/values/dimens.xml
+2
-0
settings.gradle
settings.gradle
+1
-1
No files found.
MyFrame/src/main/java/com/frame/base/url/Constance.java
View file @
8e76ee5d
...
...
@@ -4,5 +4,5 @@ package com.frame.base.url;
* ARouter上面的注解需要我们写路径标识
*/
public
final
class
Constance
{
public
static
final
String
ACTIVITY_URL_ORDERLIST
=
"/
ui/main/home/
order/OrderListActivity"
;
public
static
final
String
ACTIVITY_URL_ORDERLIST
=
"/order/OrderListActivity"
;
}
MyFrame/src/main/java/com/frame/base/view/StarBar.java
0 → 100644
View file @
8e76ee5d
package
com
.
frame
.
base
.
view
;
import
android.content.Context
;
import
android.content.res.TypedArray
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapShader
;
import
android.graphics.Canvas
;
import
android.graphics.Paint
;
import
android.graphics.drawable.Drawable
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
com.yuyife.framebase.R
;
public
class
StarBar
extends
View
{
private
int
starDistance
=
0
;
//星星间距
private
int
starCount
=
5
;
//星星个数
private
int
starSize
;
//星星高度大小,星星一般正方形,宽度等于高度
private
float
starMark
=
0.0
F
;
//评分星星
private
Bitmap
starFillBitmap
;
//亮星星
private
Drawable
starEmptyDrawable
;
//暗星星
private
OnStarChangeListener
onStarChangeListener
;
//监听星星变化接口
private
Paint
paint
;
//绘制星星画笔
private
boolean
integerMark
=
false
;
public
StarBar
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
init
(
context
,
attrs
);
}
public
StarBar
(
Context
context
,
AttributeSet
attrs
,
int
defStyleAttr
)
{
super
(
context
,
attrs
,
defStyleAttr
);
init
(
context
,
attrs
);
}
/**
* 初始化UI组件
*
* @param context
* @param attrs
*/
private
void
init
(
Context
context
,
AttributeSet
attrs
){
setClickable
(
true
);
TypedArray
mTypedArray
=
context
.
obtainStyledAttributes
(
attrs
,
R
.
styleable
.
RatingBar
);
this
.
starDistance
=
(
int
)
mTypedArray
.
getDimension
(
R
.
styleable
.
RatingBar_starDistance
,
0
);
this
.
starSize
=
(
int
)
mTypedArray
.
getDimension
(
R
.
styleable
.
RatingBar_starSize
,
20
);
this
.
starCount
=
mTypedArray
.
getInteger
(
R
.
styleable
.
RatingBar_starCount
,
5
);
this
.
starEmptyDrawable
=
mTypedArray
.
getDrawable
(
R
.
styleable
.
RatingBar_starEmpty
);
this
.
starFillBitmap
=
drawableToBitmap
(
mTypedArray
.
getDrawable
(
R
.
styleable
.
RatingBar_starFill
));
mTypedArray
.
recycle
();
paint
=
new
Paint
();
paint
.
setAntiAlias
(
true
);
paint
.
setShader
(
new
BitmapShader
(
starFillBitmap
,
BitmapShader
.
TileMode
.
CLAMP
,
BitmapShader
.
TileMode
.
CLAMP
));
}
/**
* 设置是否需要整数评分
* @param integerMark
*/
public
void
setIntegerMark
(
boolean
integerMark
){
this
.
integerMark
=
integerMark
;
}
/**
* 设置显示的星星的分数
*
* @param mark
*/
public
void
setStarMark
(
float
mark
){
if
(
integerMark
)
{
starMark
=
(
int
)
Math
.
ceil
(
mark
);
}
else
{
starMark
=
Math
.
round
(
mark
*
10
)
*
1.0f
/
10
;
}
if
(
this
.
onStarChangeListener
!=
null
)
{
this
.
onStarChangeListener
.
onStarChange
(
starMark
);
//调用监听接口
}
invalidate
();
}
/**
* 获取显示星星的数目
*
* @return starMark
*/
public
float
getStarMark
(){
return
starMark
;
}
/**
* 定义星星点击的监听接口
*/
public
interface
OnStarChangeListener
{
void
onStarChange
(
float
mark
);
}
/**
* 设置监听
* @param onStarChangeListener
*/
public
void
setOnStarChangeListener
(
OnStarChangeListener
onStarChangeListener
){
this
.
onStarChangeListener
=
onStarChangeListener
;
}
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
super
.
onMeasure
(
widthMeasureSpec
,
heightMeasureSpec
);
setMeasuredDimension
(
starSize
*
starCount
+
starDistance
*
(
starCount
-
1
),
starSize
);
}
@Override
protected
void
onDraw
(
Canvas
canvas
)
{
super
.
onDraw
(
canvas
);
if
(
starFillBitmap
==
null
||
starEmptyDrawable
==
null
)
{
return
;
}
for
(
int
i
=
0
;
i
<
starCount
;
i
++)
{
starEmptyDrawable
.
setBounds
((
starDistance
+
starSize
)
*
i
,
0
,
(
starDistance
+
starSize
)
*
i
+
starSize
,
starSize
);
starEmptyDrawable
.
draw
(
canvas
);
}
if
(
starMark
>
1
)
{
canvas
.
drawRect
(
0
,
0
,
starSize
,
starSize
,
paint
);
if
(
starMark
-(
int
)(
starMark
)
==
0
)
{
for
(
int
i
=
1
;
i
<
starMark
;
i
++)
{
canvas
.
translate
(
starDistance
+
starSize
,
0
);
canvas
.
drawRect
(
0
,
0
,
starSize
,
starSize
,
paint
);
}
}
else
{
for
(
int
i
=
1
;
i
<
starMark
-
1
;
i
++)
{
canvas
.
translate
(
starDistance
+
starSize
,
0
);
canvas
.
drawRect
(
0
,
0
,
starSize
,
starSize
,
paint
);
}
canvas
.
translate
(
starDistance
+
starSize
,
0
);
canvas
.
drawRect
(
0
,
0
,
starSize
*
(
Math
.
round
((
starMark
-
(
int
)
(
starMark
))*
10
)*
1.0f
/
10
),
starSize
,
paint
);
}
}
else
{
canvas
.
drawRect
(
0
,
0
,
starSize
*
starMark
,
starSize
,
paint
);
}
}
@Override
public
boolean
onTouchEvent
(
MotionEvent
event
)
{
int
x
=
(
int
)
event
.
getX
();
if
(
x
<
0
)
x
=
0
;
if
(
x
>
getMeasuredWidth
())
x
=
getMeasuredWidth
();
switch
(
event
.
getAction
()){
case
MotionEvent
.
ACTION_DOWN
:
{
setStarMark
(
x
*
1.0f
/
(
getMeasuredWidth
()*
1.0f
/
starCount
));
break
;
}
case
MotionEvent
.
ACTION_MOVE
:
{
setStarMark
(
x
*
1.0f
/
(
getMeasuredWidth
()*
1.0f
/
starCount
));
break
;
}
case
MotionEvent
.
ACTION_UP
:
{
// setStarMark(x*1.0f / (getMeasuredWidth()*1.0f/starCount));
break
;
}
}
invalidate
();
return
super
.
onTouchEvent
(
event
);
}
/**
* drawable转bitmap
*
* @param drawable
* @return
*/
private
Bitmap
drawableToBitmap
(
Drawable
drawable
)
{
if
(
drawable
==
null
)
return
null
;
Bitmap
bitmap
=
Bitmap
.
createBitmap
(
starSize
,
starSize
,
Bitmap
.
Config
.
ARGB_8888
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
drawable
.
setBounds
(
0
,
0
,
starSize
,
starSize
);
drawable
.
draw
(
canvas
);
return
bitmap
;
}
}
\ No newline at end of file
MyFrame/src/main/res/values/attrs.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable
name=
"RatingBar"
>
<!--星星间距-->
<attr
format=
"dimension"
name=
"starDistance"
/>
<!--星星大小-->
<attr
format=
"dimension"
name=
"starSize"
/>
<!--星星个数-->
<attr
format=
"integer"
name=
"starCount"
/>
<!--星星空图-->
<attr
format=
"reference"
name=
"starEmpty"
/>
<!--星星满图-->
<attr
format=
"reference"
name=
"starFill"
/>
</declare-styleable>
</resources>
\ No newline at end of file
RvClient/build.gradle
View file @
8e76ee5d
...
...
@@ -47,5 +47,6 @@ dependencies {
api
project
(
path:
':RvHome'
)
api
project
(
path:
':RvMine'
)
api
project
(
path:
':RvCamp'
)
api
project
(
path:
':module_tourism'
)
}
RvClient/src/main/AndroidManifest.xml
View file @
8e76ee5d
...
...
@@ -428,6 +428,13 @@
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
/>
<!--============================旅游==========================================-->
<!--旅游主页-->
<activity
android:name=
"com.rv.tourism.TourismActivity"
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
/>
</application>
</manifest>
\ No newline at end of file
RvClient/src/main/java/com/test/rv/ModuleUtil.java
View file @
8e76ee5d
...
...
@@ -12,6 +12,7 @@ import com.rv.home.rv.module.ui.main.HomeActivity;
import
com.rv.rvmine.MineActivity
;
import
com.rv.rvmine.bean.UserInfoBean
;
import
com.rv.rvmine.traveler.AddAVisitorActivity
;
import
com.rv.tourism.TourismActivity
;
import
com.rv.travel.GoOtherUtil
;
import
com.rv.travel.TravelActivity
;
import
com.yuyife.okgo.OkGoUtil
;
...
...
@@ -39,9 +40,9 @@ public class ModuleUtil {
case
OnModuleEventListener
.
MODULE_TRAVEL
:
if
(
currentModule
==
OnModuleEventListener
.
MODULE_TRAVEL
)
return
;
if
(
ModuleEventUtil
.
currentActivity
!=
null
)
{
IntentUtil
.
goActivityWithAnimationAlpha
(
ModuleEventUtil
.
currentActivity
,
T
ravel
Activity
.
class
);
IntentUtil
.
goActivityWithAnimationAlpha
(
ModuleEventUtil
.
currentActivity
,
T
ourism
Activity
.
class
);
}
else
{
IntentUtil
.
startActivity
(
FrameApp
.
getInstance
(),
T
ravel
Activity
.
class
);
IntentUtil
.
startActivity
(
FrameApp
.
getInstance
(),
T
ourism
Activity
.
class
);
}
break
;
case
OnModuleEventListener
.
MODULE_CAMP
:
...
...
@@ -93,7 +94,7 @@ public class ModuleUtil {
FrameApp
.
getMainHandler
().
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
GoOtherUtil
.
goTravelDetailWeb
(
GoOtherUtil
.
travelDetailId
,
FrameApp
.
getInstance
());
GoOtherUtil
.
goTravelDetailWeb
(
GoOtherUtil
.
mBean
,
FrameApp
.
getInstance
());
}
},
500
);
}
...
...
RvFrame/src/main/java/com/frame/rv/widget/BaseTitleBarLayout.java
View file @
8e76ee5d
package
com
.
frame
.
rv
.
widget
;
import
android.content.Context
;
import
android.media.Image
;
import
android.util.AttributeSet
;
import
android.view.LayoutInflater
;
import
android.view.View
;
...
...
@@ -31,6 +32,8 @@ public class BaseTitleBarLayout extends RelativeLayout {
private
ImageView
backImageView
;
private
TextView
titleTextView
;
private
TextView
buttonView
;
public
ImageView
buttonCollect
;
public
ImageView
buttonShare
;
private
void
init
(
Context
context
)
{
...
...
@@ -38,7 +41,21 @@ public class BaseTitleBarLayout extends RelativeLayout {
backImageView
=
view
.
findViewById
(
R
.
id
.
title_bar_back_image_view
);
titleTextView
=
view
.
findViewById
(
R
.
id
.
title_bar_text_view
);
buttonView
=
view
.
findViewById
(
R
.
id
.
title_bar_button_view
);
buttonCollect
=
view
.
findViewById
(
R
.
id
.
iv_collect
);
buttonShare
=
view
.
findViewById
(
R
.
id
.
iv_share
);
buttonView
.
setVisibility
(
GONE
);
buttonCollect
.
setVisibility
(
GONE
);
buttonShare
.
setVisibility
(
GONE
);
}
public
void
setButtonShare
(
OnClickListener
listener
){
buttonShare
.
setVisibility
(
VISIBLE
);
buttonShare
.
setOnClickListener
(
listener
);
}
public
void
setButtonCollect
(
OnClickListener
listener
){
buttonCollect
.
setVisibility
(
VISIBLE
);
buttonCollect
.
setOnClickListener
(
listener
);
}
public
void
setButtonView
(
String
text
,
OnClickListener
listener
)
{
...
...
RvFrame/src/main/res/drawable-xxhdpi/travel_rv_collect.png
0 → 100644
View file @
8e76ee5d
4.05 KB
RvFrame/src/main/res/drawable-xxhdpi/travel_rv_rentingcar_icon_share.png
0 → 100644
View file @
8e76ee5d
3.83 KB
RvFrame/src/main/res/layout/layout_title.xml
View file @
8e76ee5d
...
...
@@ -42,6 +42,25 @@
android:text=
"button"
android:textColor=
"@color/colorPrimary"
android:textSize=
"@dimen/_ui_text_size_h6"
/>
<ImageView
android:id=
"@+id/iv_collect"
android:layout_width=
"34dp"
android:layout_height=
"34dp"
android:layout_centerVertical=
"true"
android:src=
"@drawable/travel_rv_collect"
android:padding=
"5dp"
/>
<ImageView
android:id=
"@+id/iv_share"
android:layout_width=
"34dp"
android:layout_height=
"34dp"
android:layout_marginLeft=
"10dp"
android:layout_marginRight=
"4dp"
android:layout_centerVertical=
"true"
android:src=
"@drawable/travel_rv_rentingcar_icon_share"
android:padding=
"5dp"
/>
</LinearLayout>
</LinearLayout>
...
...
RvHome/src/main/java/com/rv/home/rv/module/ApiConfig.java
View file @
8e76ee5d
...
...
@@ -43,7 +43,14 @@ public class ApiConfig {
public
static
String
HTTP_URL_CAR_TYPE_TRAVELORDERDETAIL
=
RvFrameConfig
.
HOST
+
"/h5/appHtml/view/travelOrderDetail.html"
;
//旅游订单详情页
public
static
String
HTTP_URL_CAR_TYPE_COSTDETAIL
=
RvFrameConfig
.
HOST
+
"/h5/appHtml/view/costDetail.html"
;
//费用明细
public
static
String
HTTP_URL_APP_USER_INFO
=
RvFrameConfig
.
ADMIN_POST
+
"app/user/info"
;
//获取用户信息
public
static
String
HTTP_URL_CERTIFICATE
=
RvFrameConfig
.
VEHICLE_UPLOAD
+
"certif/app/Certificate"
;
//实名认证
public
static
String
HTTP_URL_CERTIFICATE
=
RvFrameConfig
.
VEHICLE_UPLOAD
+
"certif/app/certificate"
;
//实名认证
public
static
String
HTTP_URL_UPUSER_EDIT
=
RvFrameConfig
.
ADMIN_POST
+
"app/user/edit"
;
//更新用户信息
public
static
String
HTTP_URL_GETTOURUSERLIST
=
RvFrameConfig
.
VEHICLE_TOURUSER
+
"tourUser/app/unauth/getTourUserList"
;
//获得全部出游人信息
public
static
String
HTTP_URL_ADDANDUPDATE
=
RvFrameConfig
.
VEHICLE_TOURUSER
+
"tourUser/app/addAndUpdate"
;
//添加和更新出游人信息
public
static
String
HTTP_URL_CAR_TYPE_NOTICE
=
RvFrameConfig
.
HOST
+
"/h5/appHtml/view/notice.html"
;
//预定须知
public
static
String
HTTP_URL_COLLECTONLIST
=
RvFrameConfig
.
ADMIN_POST
+
"app/user/collect/page"
;
//我的收藏列表
public
static
String
HTTP_URL_SCORE
=
RvFrameConfig
.
HOST
+
"/vehicle/vehicleUserScore/score"
;
//订单评价保存
}
RvHome/src/main/java/com/rv/home/rv/module/basic/presenter/PickerPresenter.java
View file @
8e76ee5d
...
...
@@ -21,6 +21,7 @@ import java.io.FileOutputStream;
import
java.io.IOException
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.util.Map
;
/**
* Created by Amuse
...
...
@@ -70,9 +71,6 @@ public class PickerPresenter extends CommonPresenter {
}
}
/**
* 获得相机存储地址
*
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/login/BingPhoneActivity.java
View file @
8e76ee5d
...
...
@@ -129,17 +129,17 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
@OnClick
({
R2
.
id
.
iv_clear_phone
,
R2
.
id
.
iv_clear_code
,
R2
.
id
.
tv_get_code
,
R2
.
id
.
tv_bind
})
public
void
onViewClicked
(
View
view
)
{
if
(
view
.
getId
()==
R
2
.
id
.
iv_clear_phone
){
if
(
view
.
getId
()==
R
.
id
.
iv_clear_phone
){
clearEditData
(
etPhone
);
}
else
if
(
view
.
getId
()==
R
2
.
id
.
iv_clear_code
){
}
else
if
(
view
.
getId
()==
R
.
id
.
iv_clear_code
){
clearEditData
(
etPhoneCode
);
}
else
if
(
view
.
getId
()==
R
2
.
id
.
tv_get_code
){
}
else
if
(
view
.
getId
()==
R
.
id
.
tv_get_code
){
if
(
TextUtils
.
isEmpty
(
getPhone
()))
{
showToast
(
mActivity
.
getString
(
R
.
string
.
rv_phone_hint
));
return
;
}
sendCode
(
60
);
}
else
if
(
view
.
getId
()==
R
2
.
id
.
tv_get_code
){
}
else
if
(
view
.
getId
()==
R
.
id
.
tv_get_code
){
checkPhone
();
}
// switch (view.getId()) {
...
...
@@ -217,14 +217,12 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
@Override
public
void
afterTextChanged
(
Editable
s
)
{
super
.
afterTextChanged
(
s
);
switch
(
editText
.
getId
())
{
case
R2
.
id
.
et_phone
:
if
(
editText
.
getId
()
==
R
.
id
.
et_phone
){
ivClearPhone
.
setVisibility
(
getPhone
().
length
()
>
0
?
View
.
VISIBLE
:
View
.
GONE
);
break
;
case
R2
.
id
.
et_phone_code
:
}
else
if
(
editText
.
getId
()
==
R
.
id
.
et_phone_code
){
ivClearCode
.
setVisibility
(
getCode
().
length
()
>
0
?
View
.
VISIBLE
:
View
.
GONE
);
break
;
}
if
(
etPhone
.
length
()
>
0
&&
etPhoneCode
.
length
()
>
0
)
{
tvBind
.
setEnabled
(
true
);
tvBind
.
setSelected
(
true
);
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/login/ConfirmPwdActivity.java
View file @
8e76ee5d
...
...
@@ -139,19 +139,19 @@ public class ConfirmPwdActivity extends BaseLoginActivity<CommonPresenter> {
@OnClick
({
R2
.
id
.
iv_clear_pwd
,
R2
.
id
.
iv_clear_again_pwd
,
R2
.
id
.
tv_agreement
,
R2
.
id
.
tv_registered
})
public
void
onViewClicked
(
View
view
)
{
if
(
view
.
getId
()==
R
2
.
id
.
iv_clear_pwd
){
if
(
view
.
getId
()==
R
.
id
.
iv_clear_pwd
){
pwdShow
=!
pwdShow
;
ivClearPwd
.
setSelected
(
pwdShow
);
etPwd
.
setTransformationMethod
(
pwdShow
?
HideReturnsTransformationMethod
.
getInstance
():
PasswordTransformationMethod
.
getInstance
());
}
else
if
(
view
.
getId
()==
R
2
.
id
.
iv_clear_again_pwd
){
}
else
if
(
view
.
getId
()==
R
.
id
.
iv_clear_again_pwd
){
confirmShow
=!
confirmShow
;
ivClearAgainPwd
.
setSelected
(
confirmShow
);
etAgainPwd
.
setTransformationMethod
(
confirmShow
?
HideReturnsTransformationMethod
.
getInstance
():
PasswordTransformationMethod
.
getInstance
());
}
else
if
(
view
.
getId
()==
R
2
.
id
.
tv_agreement
){
else
if
(
view
.
getId
()==
R
.
id
.
tv_agreement
){
}
else
if
(
view
.
getId
()==
R
2
.
id
.
tv_registered
){
else
if
(
view
.
getId
()==
R
.
id
.
tv_registered
){
if
(
getPwd
().
length
()
<
8
)
{
showToast
(
mActivity
.
getString
(
R
.
string
.
rv_pwd_length
));
return
;
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/login/RegisteredActivity.java
View file @
8e76ee5d
...
...
@@ -218,7 +218,11 @@ public class RegisteredActivity extends BaseLoginActivity<CommonPresenter> {
private
void
sendCode
()
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"username"
,
getPhone
());
if
(
mType
==
0
){
map
.
put
(
"type"
,
0
);
}
else
{
map
.
put
(
"type"
,
4
);
}
mPresenter
.
postData
(
0
,
ApiConfig
.
HTTP_URL_SEND_CODE
,
SendCodeBean
.
class
,
map
,
true
);
}
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/HomeActivity.java
View file @
8e76ee5d
...
...
@@ -5,9 +5,11 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.support.v4.content.ContextCompat
;
import
android.text.TextUtils
;
import
android.view.KeyEvent
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
com.frame.rv.ModuleEventUtil
;
import
com.frame.rv.OnModuleEventListener
;
...
...
@@ -23,6 +25,7 @@ import com.rv.home.rv.module.ui.login.LoginRvActivity;
import
com.rv.home.rv.module.ui.main.adapter.TabAdapter
;
import
com.rv.home.rv.module.ui.main.camp.CampFragment
;
import
com.rv.home.rv.module.ui.main.found.FoundFragment
;
import
com.rv.home.rv.module.ui.main.home.HomeFragment
;
import
com.rv.home.rv.module.ui.main.home.HomePageFragment
;
import
com.rv.home.rv.module.ui.main.mine.MineFragment
;
import
com.rv.home.rv.module.ui.main.travel.TravelFragment
;
...
...
@@ -65,6 +68,7 @@ public class HomeActivity extends BaseActivity<CommonPresenter> {
private
final
int
TYPE_CAMP
=
2
;
//营地
private
final
int
TYPE_FOUND
=
3
;
//旅行
private
final
int
TYPE_MINE
=
4
;
//我的
private
long
exitTime
=
0
;
public
static
Intent
getIntent
(
Context
context
)
{
return
new
Intent
(
context
,
HomeActivity
.
class
);
...
...
@@ -150,7 +154,8 @@ public class HomeActivity extends BaseActivity<CommonPresenter> {
private
List
<
BaseWrapperFragment
>
getListFragment
()
{
List
<
BaseWrapperFragment
>
list
=
new
ArrayList
<>();
list
.
add
(
HomePageFragment
.
getInstance
(
TYPE_HOME_PAGE
));
// list.add(HomePageFragment.getInstance(TYPE_HOME_PAGE));
list
.
add
(
HomeFragment
.
getInstance
(
TYPE_HOME_PAGE
));
list
.
add
(
TravelFragment
.
getInstance
(
TYPE_TRAVEL
));
list
.
add
(
CampFragment
.
getInstance
(
TYPE_CAMP
));
list
.
add
(
FoundFragment
.
getInstance
(
TYPE_FOUND
));
...
...
@@ -179,4 +184,28 @@ public class HomeActivity extends BaseActivity<CommonPresenter> {
imageView
.
setSelected
(
isTrue
);
textView
.
setTextColor
(
ContextCompat
.
getColor
(
this
,
isTrue
?
R
.
color
.
colorAuxiliaryYellow
:
R
.
color
.
textMain
));
}
@Override
public
boolean
dispatchKeyEvent
(
KeyEvent
event
)
{
if
(
event
.
getKeyCode
()
==
KeyEvent
.
KEYCODE_BACK
)
{
if
(
event
.
getAction
()
==
KeyEvent
.
ACTION_DOWN
&&
event
.
getRepeatCount
()
==
0
)
{
exitApp
();
}
return
true
;
}
return
super
.
dispatchKeyEvent
(
event
);
}
/**
* 退出APP
*/
private
void
exitApp
()
{
if
(
System
.
currentTimeMillis
()
-
exitTime
>
2000
)
{
Toast
.
makeText
(
this
,
"再按一次,退出程序"
,
Toast
.
LENGTH_SHORT
).
show
();
exitTime
=
System
.
currentTimeMillis
();
}
else
{
finish
();
}
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/CarDetailActivity.java
View file @
8e76ee5d
...
...
@@ -66,9 +66,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
.
putExtra
(
"carBean"
,
carBean
)
.
putExtra
(
"startTime"
,
startTime
)
.
putExtra
(
"endTime"
,
endTime
);
}
;
};
public
static
Intent
getIntent
(
Context
context
,
int
type
)
{
return
new
Intent
(
context
,
CarDetailActivity
.
class
)
...
...
@@ -105,7 +103,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
@Override
protected
void
onStart
()
{
super
.
onStart
();
onShowLoading
();
//
onShowLoading();
}
@Override
...
...
@@ -170,7 +168,8 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
if
(
view
.
getId
()==
R
.
id
.
iv_back
){
finish
();
}
else
if
(
view
.
getId
()==
R
.
id
.
iv_collect
){
//添加收藏
addCollection
();
}
else
if
(
view
.
getId
()==
R
.
id
.
iv_share
){
if
(
shareManager
!=
null
)
{
...
...
@@ -211,6 +210,11 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
// }
}
//添加收藏
private
void
addCollection
()
{
}
private
void
initWeb
()
{
WebSettings
webSettings
=
mWebView
.
getSettings
();
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/CarRentalActivity.java
View file @
8e76ee5d
...
...
@@ -241,7 +241,7 @@ public class CarRentalActivity extends BaseStatusActivity<CommonPresenter> {
for
(
int
i
=
0
;
i
<
20
;
i
++)
{
list
.
add
(
"东莞松山湖欣新房车总店"
+
i
);
}
mAdapter
.
setNewData
(
list
);
//
mAdapter.setNewData(list);
}
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/ConfirmOrderActivity.java
View file @
8e76ee5d
...
...
@@ -10,9 +10,11 @@ import android.util.Log;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.WindowManager
;
import
android.widget.CheckBox
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.PopupWindow
;
import
android.widget.RatingBar
;
import
android.widget.TextView
;
...
...
@@ -22,10 +24,14 @@ import com.google.gson.Gson;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.util.ViewHolder
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.frame.base.bus.PaymentFailedEvent
;
import
com.frame.base.bus.PaymentSuccessfulEvent
;
import
com.frame.base.bus.RxBus
;
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.WebActivity
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean
;
import
com.rv.home.rv.module.ui.main.home.bean.ConfirmOrderBean
;
...
...
@@ -37,15 +43,13 @@ import com.rv.home.rv.module.ui.main.home.bean.OrderPriceDetailBean;
import
com.rv.home.rv.module.ui.main.home.dialog.OrderPriceDetailPw
;
import
com.rv.home.rv.module.ui.main.home.dialog.PaymentTypeSelection
;
import
com.rv.home.rv.module.ui.main.home.order.OrderListActivity
;
import
com.rv.home.rv.until.bus.PaymentFailedEvent
;
import
com.rv.home.rv.until.bus.PaymentSuccessfulEvent
;
import
com.rv.home.rv.until.bus.RxBus
;
import
com.tencent.mm.opensdk.modelpay.PayReq
;
import
com.tencent.mm.opensdk.openapi.IWXAPI
;
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedList
;
import
java.util.Map
;
import
butterknife.BindView
;
...
...
@@ -205,6 +209,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
break
;
case
2
:
pay
((
OrderPayBean
)
result
);
break
;
case
3
:
startActivity
(
OrderListActivity
.
getIntent
(
mActivity
,
0
));
...
...
@@ -235,7 +241,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
}
@OnClick
({
R2
.
id
.
rl_goods
,
R2
.
id
.
tv_get_time
,
R2
.
id
.
tv_get_week
,
R2
.
id
.
tv_out_time
,
R2
.
id
.
tv_out_week
,
R2
.
id
.
tv_get_car_address
,
R2
.
id
.
tv_out_car_address
,
R2
.
id
.
iv_add_driving
,
R2
.
id
.
tv_give_car_info
,
R2
.
id
.
tv_give_car_content
,
R2
.
id
.
tv_detail
,
R2
.
id
.
tv_confirm_order
,
R2
.
id
.
tv_delete
,
R2
.
id
.
rb_xin_driving
,
R2
.
id
.
rb_user_driving
})
R2
.
id
.
tv_give_car_content
,
R2
.
id
.
tv_detail
,
R2
.
id
.
tv_confirm_order
,
R2
.
id
.
tv_delete
,
R2
.
id
.
rb_xin_driving
,
R2
.
id
.
rb_user_driving
,
R2
.
id
.
tv_contract_agreement
})
public
void
onViewClicked
(
View
view
)
{
int
i
=
view
.
getId
();
...
...
@@ -247,7 +253,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
}
else
if
(
i
==
R
.
id
.
tv_get_car_address
)
{
}
else
if
(
i
==
R
.
id
.
tv_out_car_address
)
{
}
else
if
(
i
==
R
.
id
.
iv_add_driving
)
{
startActivityForResult
(
DrivingListActivity
.
getIntent
(
mActivity
),
TYPE_REQUEST_DRIVING
);
startActivityForResult
(
DrivingListActivity
.
getIntent
(
mActivity
,
drivingListBean
),
TYPE_REQUEST_DRIVING
);
}
else
if
(
i
==
R
.
id
.
tv_give_car_info
)
{
}
else
if
(
i
==
R
.
id
.
tv_give_car_content
)
{
...
...
@@ -277,6 +283,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
}
getOrderPrice
();
}
else
if
(
i
==
R
.
id
.
tv_contract_agreement
){
startActivity
(
WebActivity
.
getIntent
(
mActivity
,
mActivity
.
getString
(
R
.
string
.
rv_contract_agreement
),
ApiConfig
.
HTTP_URL_CAR_TYPE_NOTICE
));
}
// if(view.getId()==R.id.iv_add_driving){
...
...
@@ -433,6 +441,25 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
int
offsetY
=
-(
detailPw
.
getContentView
().
getMeasuredHeight
()
+
view
.
getHeight
());
PopupWindowCompat
.
showAsDropDown
(
detailPw
,
view
,
offsetX
,
offsetY
,
Gravity
.
START
);
/**
* 点击popupWindow让背景变暗
*/
final
WindowManager
.
LayoutParams
lp
=
getWindow
().
getAttributes
();
lp
.
alpha
=
0.5f
;
//代表透明程度,范围为0 - 1.0f
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DIM_BEHIND
);
getWindow
().
setAttributes
(
lp
);
/**
* 退出popupWindow时取消暗背景
*/
detailPw
.
setOnDismissListener
(
new
PopupWindow
.
OnDismissListener
()
{
@Override
public
void
onDismiss
()
{
lp
.
alpha
=
1.0f
;
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DIM_BEHIND
);
getWindow
().
setAttributes
(
lp
);
}
});
}
...
...
@@ -462,9 +489,6 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
req
.
sign
=
data
.
getData
().
getSign
();
req
.
extData
=
"app data"
;
// optional
api
.
sendReq
(
req
);
showToast
(
"正常调起支付"
);
}
catch
(
Exception
e
)
{
showToast
(
"异常"
);
}
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/DrivingListActivity.java
View file @
8e76ee5d
...
...
@@ -22,6 +22,7 @@ import com.rv.home.rv.module.ui.main.home.bean.DrivingListBean;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
butterknife.BindView
;
...
...
@@ -35,10 +36,14 @@ public class DrivingListActivity extends BaseStatusActivity<CommonPresenter> imp
private
final
int
TYPE_REQUEST_EDIT
=
2
;
private
int
mPage
;
private
int
countPage
;
private
DrivingListBean
.
DataBeanX
.
DataBean
dataBean
;
public
static
Intent
getIntent
(
Context
context
)
{
return
new
Intent
(
context
,
DrivingListActivity
.
class
);
};
public
static
Intent
getIntent
(
Context
context
,
DrivingListBean
.
DataBeanX
.
DataBean
dataBean
)
{
return
new
Intent
(
context
,
DrivingListActivity
.
class
)
.
putExtra
(
"data"
,
dataBean
);
}
;
@Override
protected
int
setLayout
()
{
...
...
@@ -48,6 +53,7 @@ public class DrivingListActivity extends BaseStatusActivity<CommonPresenter> imp
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
titleView
.
setTitle
(
mActivity
.
getString
(
R
.
string
.
rv_driving
));
dataBean
=
(
DrivingListBean
.
DataBeanX
.
DataBean
)
intent
.
getSerializableExtra
(
"data"
);
titleView
.
setImageResource
(
R
.
id
.
iv_title_right
,
R
.
drawable
.
rv_common_icon_thestaff
);
titleView
.
setChildClickListener
(
R
.
id
.
iv_title_right
,
new
View
.
OnClickListener
()
{
@Override
...
...
@@ -141,6 +147,16 @@ public class DrivingListActivity extends BaseStatusActivity<CommonPresenter> imp
mAdapter
.
setEmptyView
(
getEmptyView
(
recyclerView
,
-
1
,
mActivity
.
getString
(
R
.
string
.
rv_driving_data_null
)));
return
;
}
if
(
bean
.
getData
()
!=
null
&&
bean
.
getData
().
getData
().
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
bean
.
getData
().
getData
().
size
();
i
++)
{
if
(
dataBean
!=
null
)
{
if
(
dataBean
.
getId
()
==
bean
.
getData
().
getData
().
get
(
i
).
getId
())
{
bean
.
getData
().
getData
().
get
(
i
).
setCheck
(
true
);
}
}
}
}
countPage
=
bean
.
getData
().
getTotalPage
();
mAdapter
.
setNewData
(
bean
.
getData
().
getData
());
mAdapter
.
loadMoreComplete
();
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/DrivingUploadActivity.java
View file @
8e76ee5d
...
...
@@ -118,10 +118,10 @@ public class DrivingUploadActivity extends BaseStatusActivity<PickerPresenter> {
showToast
(
mActivity
.
getString
(
R
.
string
.
rv_upload_driving_toast
));
return
;
}
if
(
TextUtils
.
isEmpty
(
strCardCopy
))
{
showToast
(
mActivity
.
getString
(
R
.
string
.
rv_upload_driving_copy_toast
));
return
;
}
//
if (TextUtils.isEmpty(strCardCopy)) {
//
showToast(mActivity.getString(R.string.rv_upload_driving_copy_toast));
//
return;
//
}
processDriving
();
}
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/HomeFragment.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
;
import
android.Manifest
;
import
android.app.DatePickerDialog
;
import
android.app.TimePickerDialog
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.graphics.Rect
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
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.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.DatePicker
;
import
android.widget.EditText
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.Switch
;
import
android.widget.TextView
;
import
android.widget.TimePicker
;
import
com.baidu.location.BDAbstractLocationListener
;
import
com.baidu.location.BDLocation
;
import
com.baidu.mapapi.model.LatLng
;
import
com.base.utils.tools.android.IntentUtil
;
import
com.base.utils.ui.datetime.selector.util.TextUtil
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.base.FrameApp
;
import
com.frame.base.glide.GlideManager
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.google.gson.Gson
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.util.LocationManager
;
import
com.ruiwenliu.wrapper.util.TimeManager
;
import
com.ruiwenliu.wrapper.util.UtilsManager
;
import
com.ruiwenliu.wrapper.util.permission.RxPermission
;
import
com.rv.home.R
;
import
com.rv.home.R2
;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.home.rv.module.ui.main.home.adapter.HotCarTypeAdapter
;
import
com.rv.home.rv.module.ui.main.home.adapter.RVEnthusiastAdapter
;
import
com.rv.home.rv.module.ui.main.home.adapter.RVTourListAdapter
;
import
com.rv.home.rv.module.ui.main.home.adapter.RVTourListLabelAdapter
;
import
com.rv.home.rv.module.ui.main.home.adapter.SelectedEventsAdapter
;
import
com.rv.home.rv.module.ui.main.home.bean.CityPickerBean
;
import
com.rv.home.rv.module.ui.main.home.bean.ListsBean
;
import
com.rv.home.rv.module.ui.main.home.bean.OrderDataBean
;
import
com.rv.home.rv.module.ui.main.home.bean.ShopListBean
;
import
com.rv.travel.TravelActivity
;
import
com.rv.travel.api.ApiUtil
;
import
com.rv.travel.api.OnApiResponseCallback
;
import
com.rv.travel.bean.BeanHot
;
import
com.rv.travel.fragment.TravelFragmentMain
;
import
com.yuyife.banner.Banner
;
import
com.yuyife.banner.BannerConfig
;
import
com.yuyife.banner.listener.OnBannerListener
;
import
com.yuyife.banner.loader.ImageLoader
;
import
org.w3c.dom.Text
;
import
java.text.ParseException
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
import
butterknife.Unbinder
;
import
io.reactivex.functions.Consumer
;
/**
* 首页
*/
public
class
HomeFragment
extends
BaseFragment
<
CommonPresenter
>
{
Unbinder
unbinder
;
@BindView
(
R2
.
id
.
ll_layout_renting_a_car
)
LinearLayout
llLayoutRentingACar
;
@BindView
(
R2
.
id
.
ll_layout_rv_tour
)
LinearLayout
llLayoutRvTour
;
@BindView
(
R2
.
id
.
mine_banner
)
Banner
mineBanner
;
@BindView
(
R2
.
id
.
tv_item_rv_tour
)
TextView
tvItemRvTour
;
@BindView
(
R2
.
id
.
tv_item_renting_a_car
)
TextView
tvItemRentingACar
;
@BindView
(
R2
.
id
.
tv_get_city
)
TextView
headTvGetCity
;
@BindView
(
R2
.
id
.
tv_get_address
)
TextView
headTvGetShop
;
@BindView
(
R2
.
id
.
switch_get
)
Switch
switchGet
;
@BindView
(
R2
.
id
.
tv_out_city
)
TextView
headTvOutCity
;
@BindView
(
R2
.
id
.
tv_out_address
)
TextView
headTvOutShop
;
@BindView
(
R2
.
id
.
switch_out
)
Switch
switchOut
;
@BindView
(
R2
.
id
.
tv_get_time
)
TextView
tvGetTime
;
@BindView
(
R2
.
id
.
tv_get_week
)
TextView
tvGetWeek
;
@BindView
(
R2
.
id
.
tv_day
)
TextView
tvDay
;
@BindView
(
R2
.
id
.
tv_out_time
)
TextView
tvOutTime
;
@BindView
(
R2
.
id
.
tv_out_week
)
TextView
tvOutWeek
;
@BindView
(
R2
.
id
.
recyclerView_content
)
RecyclerView
recyclerViewContent
;
@BindView
(
R2
.
id
.
recyclerView_activity
)
RecyclerView
recyclerViewActivity
;
@BindView
(
R2
.
id
.
recyclerView_rvtourlist
)
RecyclerView
recyclerViewRvtourlist
;
@BindView
(
R2
.
id
.
recyclerView_rvtourlist_title
)
RecyclerView
recyclerViewRvtourlistTitle
;
@BindView
(
R2
.
id
.
recyclerView_rv_enthusiast
)
RecyclerView
recyclerViewRvEnthusiast
;
@BindView
(
R2
.
id
.
travel_city_text
)
TextView
travelCityText
;
@BindView
(
R2
.
id
.
travel_city_layout
)
LinearLayout
travelCityLayout
;
@BindView
(
R2
.
id
.
search_input
)
EditText
searchInput
;
@BindView
(
R2
.
id
.
search_commit
)
TextView
searchCommit
;
@BindView
(
R2
.
id
.
travel_server_image
)
ImageView
travelServerImage
;
@BindView
(
R2
.
id
.
tv_rv_city
)
TextView
tvRvCity
;
@BindView
(
R2
.
id
.
tv_book_now
)
TextView
tvBookNow
;
@BindView
(
R2
.
id
.
tv_rv_hot_label1
)
TextView
tvRvHotLabel1
;
@BindView
(
R2
.
id
.
tv_rv_hot_label2
)
TextView
tvRvHotLabel2
;
@BindView
(
R2
.
id
.
tv_rv_hot_label3
)
TextView
tvRvHotLabel3
;
@BindView
(
R2
.
id
.
tv_hot_rvtour
)
TextView
tvHotRvtour
;
@BindView
(
R2
.
id
.
tv_hot_entertainment_camp
)
TextView
tvHotEntertainmentCamp
;
@BindView
(
R2
.
id
.
tv_hot_car_rental
)
TextView
tvHotCarRental
;
Unbinder
unbinder1
;
private
final
int
TYPE_REQUEST_CITY
=
1
;
//城市列表
private
final
int
TYPE_REQUEST_SHOP
=
2
;
//门店列表
private
final
int
TYPE_REQUEST_ADDRESS
=
3
;
//地址选择
Unbinder
unbinder2
;
Unbinder
unbinder3
;
private
String
nowCity
=
""
;
private
int
getSwitchType
;
//取车开关类型
private
int
outSwitchType
;
//还车开关类型
private
double
latLatitude
=
0
;
private
double
lonLongitude
;
private
LatLng
mLatLng
;
//当前城市经纬度
private
double
outLatitude
=
0
;
private
double
outLongitude
;
private
int
getCityId
;
//取车城市ID
private
int
outCityId
;
//还车城市ID
private
int
vVTourCityId
;
// 房车游城市ID
private
OrderDataBean
dataBean
;
private
int
copyDay
=
2
;
//租车天数
private
Map
<
String
,
Integer
>
mapGetTime
;
private
Map
<
String
,
Integer
>
mapOutTime
;
private
LocationManager
locationManager
;
private
List
<
BeanHot
>
hotData
;
//热门标签
private
double
rvTourLatitude
=
0
;
private
double
rvTourLongitude
;
private
HotCarTypeAdapter
mAdapter
;
private
SelectedEventsAdapter
mActivityAdapter
;
private
RVEnthusiastAdapter
mRvEnthusiast
;
private
RVTourListAdapter
mRvTourAdapter
;
private
RVTourListLabelAdapter
mRvTourLabelAdapter
;
public
static
HomeFragment
getInstance
(
int
type
)
{
Bundle
bundl
=
new
Bundle
();
bundl
.
putInt
(
"type"
,
type
);
HomeFragment
fragment
=
new
HomeFragment
();
fragment
.
setArguments
(
bundl
);
return
fragment
;
}
@Override
public
int
getViewLayout
()
{
return
R
.
layout
.
fragment_home
;
}
@Override
protected
void
initView
(
Bundle
savedInstanceState
)
{
permissionProcess
();
setBanner
();
initTime
(
tvGetTime
,
tvOutTime
);
tvDay
.
setText
(
String
.
format
(
"%1$s%2$s"
,
copyDay
,
getContext
().
getString
(
R
.
string
.
rv_days
)));
tvItemRvTour
.
setSelected
(
true
);
mAdapter
=
new
HotCarTypeAdapter
();
recyclerViewContent
.
setLayoutManager
(
new
GridLayoutManager
(
getContext
(),
2
));
recyclerViewContent
.
setNestedScrollingEnabled
(
false
);
recyclerViewContent
.
setAdapter
(
mAdapter
);
//精选活动
mActivityAdapter
=
new
SelectedEventsAdapter
();
recyclerViewActivity
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
(),
LinearLayoutManager
.
HORIZONTAL
,
false
));
recyclerViewActivity
.
addItemDecoration
(
new
AbSpacesItemDecoration
(
5
));
// 分割线。
recyclerViewActivity
.
setNestedScrollingEnabled
(
false
);
recyclerViewActivity
.
setAdapter
(
mActivityAdapter
);
//房车发烧友
mRvEnthusiast
=
new
RVEnthusiastAdapter
();
recyclerViewRvEnthusiast
.
setLayoutManager
(
new
GridLayoutManager
(
getContext
(),
2
));
recyclerViewRvEnthusiast
.
addItemDecoration
(
new
AbSpacesItemDecoration
(
5
));
// 分割线。
recyclerViewRvEnthusiast
.
setNestedScrollingEnabled
(
false
);
;
recyclerViewRvEnthusiast
.
setAdapter
(
mRvEnthusiast
);
//房车游榜单
mRvTourAdapter
=
new
RVTourListAdapter
();
recyclerViewRvtourlist
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
(),
LinearLayoutManager
.
HORIZONTAL
,
false
));
recyclerViewRvtourlist
.
addItemDecoration
(
new
AbSpacesItemDecoration
(
5
));
recyclerViewRvtourlist
.
setNestedScrollingEnabled
(
false
);
recyclerViewRvtourlist
.
setAdapter
(
mRvTourAdapter
);
// //房车游榜单 标注
mRvTourLabelAdapter
=
new
RVTourListLabelAdapter
();
recyclerViewRvtourlistTitle
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
(),
LinearLayoutManager
.
HORIZONTAL
,
false
));
recyclerViewRvtourlistTitle
.
addItemDecoration
(
new
AbSpacesItemDecoration
(
20
));
recyclerViewRvtourlistTitle
.
setNestedScrollingEnabled
(
false
);
recyclerViewRvtourlistTitle
.
setAdapter
(
mRvTourLabelAdapter
);
getData
();
mRvTourLabelAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
mRvTourLabelAdapter
.
setSelectPosition
(
position
);
recyclerViewRvtourlist
.
scrollToPosition
(
position
);
}
});
mRvTourAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
mRvTourLabelAdapter
.
setSelectPosition
(
position
);
recyclerViewRvtourlistTitle
.
scrollToPosition
(
position
);
TravelActivity
.
isGoHotType
=
true
;
TravelActivity
.
goHotTypeData
=
(
BeanHot
)
adapter
.
getItem
(
position
);
IntentUtil
.
startActivity
(
_mActivity
,
TravelActivity
.
class
);
}
});
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
// TODO: inflate a fragment view
View
rootView
=
super
.
onCreateView
(
inflater
,
container
,
savedInstanceState
);
unbinder3
=
ButterKnife
.
bind
(
this
,
rootView
);
return
rootView
;
}
@Override
public
void
onDestroyView
()
{
super
.
onDestroyView
();
unbinder3
.
unbind
();
}
public
class
AbSpacesItemDecoration
extends
RecyclerView
.
ItemDecoration
{
private
int
space
;
public
AbSpacesItemDecoration
(
int
space
)
{
this
.
space
=
space
;
}
@Override
public
void
getItemOffsets
(
Rect
outRect
,
View
view
,
RecyclerView
parent
,
RecyclerView
.
State
state
)
{
outRect
.
left
=
space
;
outRect
.
right
=
space
;
outRect
.
bottom
=
space
;
//注释这两行是为了上下间距相同
// if(parent.getChildAdapterPosition(view)==0){
outRect
.
top
=
space
;
}
}
private
void
getData
()
{
List
<
String
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
5
;
i
++)
{
list
.
add
(
"https://xxtest.upyuns.com/image/app/ENRq748FQTq86R8R77J88YEWhnPeZ3.png"
);
}
mActivityAdapter
.
setNewData
(
list
);
mRvEnthusiast
.
setNewData
(
list
);
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
)
{
hotData
();
}
private
void
hotData
()
{
ApiUtil
.
getHotData
(
"1"
,
"1"
,
"50"
,
new
OnApiResponseCallback
<
List
<
BeanHot
>,
String
>()
{
@Override
public
void
done
(
List
<
BeanHot
>
data
,
String
errorMessage
)
{
hotData
=
data
;
if
(
data
!=
null
&&
data
.
size
()
>
2
)
{
tvRvHotLabel1
.
setText
(
data
.
get
(
0
).
getName
());
tvRvHotLabel2
.
setText
(
data
.
get
(
1
).
getName
());
tvRvHotLabel3
.
setText
(
data
.
get
(
2
).
getName
());
}
mAdapter
.
setNewData
(
data
);
mRvTourAdapter
.
setNewData
(
data
);
mRvTourLabelAdapter
.
setNewData
(
data
);
}
});
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
processData
((
ShopListBean
)
result
);
}
@OnClick
({
R2
.
id
.
tv_item_rv_tour
,
R2
.
id
.
tv_item_renting_a_car
,
R2
.
id
.
tv_get_city
,
R2
.
id
.
tv_out_city
,
R2
.
id
.
tv_get_address
,
R2
.
id
.
tv_out_address
,
R2
.
id
.
ll_item_get_time
,
R2
.
id
.
ll_item_alsotime
,
R2
.
id
.
tv_select_car
,
R2
.
id
.
ll_item_rv_city
,
R2
.
id
.
tv_book_now
,
R2
.
id
.
ll_item_rv_hot_label1
,
R2
.
id
.
ll_item_rv_hot_label2
,
R2
.
id
.
ll_item_rv_hot_label3
,
R2
.
id
.
ll_item_hot_rvtour
,
R2
.
id
.
ll_item_hot_entertainment_camp
,
R2
.
id
.
ll_item_hot_car_rental
,
R2
.
id
.
tv_see_more_popular
})
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
tv_item_rv_tour
)
{
tvItemRvTour
.
setSelected
(
true
);
tvItemRentingACar
.
setSelected
(
false
);
llLayoutRentingACar
.
setVisibility
(
View
.
VISIBLE
);
llLayoutRvTour
.
setVisibility
(
View
.
GONE
);
}
else
if
(
id
==
R
.
id
.
tv_item_renting_a_car
)
{
tvItemRvTour
.
setSelected
(
false
);
tvItemRentingACar
.
setSelected
(
true
);
llLayoutRentingACar
.
setVisibility
(
View
.
GONE
);
llLayoutRvTour
.
setVisibility
(
View
.
VISIBLE
);
}
else
if
(
id
==
R
.
id
.
tv_get_city
)
{
startActivityForResult
(
CityListActivity
.
getIntent
(
getContext
(),
1
,
headTvGetCity
.
getText
().
toString
().
trim
(),
getCityId
),
TYPE_REQUEST_CITY
);
}
else
if
(
id
==
R
.
id
.
tv_out_city
)
{
startActivityForResult
(
CityListActivity
.
getIntent
(
getContext
(),
2
,
headTvOutCity
.
getText
().
toString
().
trim
(),
outCityId
),
TYPE_REQUEST_CITY
);
}
else
if
(
id
==
R
.
id
.
tv_get_address
)
{
String
getCity
=
headTvGetCity
.
getText
().
toString
().
trim
();
// if (getSwitchType == 0) {
// startActivityForResult(SelectShopActivity.getIntent(mActivity, 1,"",getCity.equals(nowCity) && mLatLng!=null?mLatLng.latitude:0,getCity.equals(nowCity)&& mLatLng!=null?mLatLng.longitude:0), TYPE_REQUEST_SHOP);
// } else {
startActivityForResult
(
SelectLocationActivity
.
getIntent
(
getContext
(),
1
,
getCity
,
latLatitude
,
lonLongitude
,
nowCity
),
TYPE_REQUEST_ADDRESS
);
}
else
if
(
id
==
R
.
id
.
tv_out_address
)
{
String
outCity
=
headTvOutCity
.
getText
().
toString
().
trim
();
// if (outSwitchType == 0) {
// startActivityForResult(SelectShopActivity.getIntent(mActivity, 2,"",outCity.equals(nowCity)&& mLatLng!=null?mLatLng.latitude:0,outCity.equals(nowCity)&& mLatLng!=null?mLatLng.longitude:0), TYPE_REQUEST_SHOP);
// } else {
startActivityForResult
(
SelectLocationActivity
.
getIntent
(
getContext
(),
2
,
outCity
,
outLatitude
,
outLongitude
,
nowCity
),
TYPE_REQUEST_ADDRESS
);
}
else
if
(
id
==
R
.
id
.
ll_item_get_time
)
{
if
(
mapGetTime
==
null
)
{
return
;
}
showDatePicker
(
mapGetTime
.
get
(
"year"
),
mapGetTime
.
get
(
"month"
),
mapGetTime
.
get
(
"day"
),
mapGetTime
.
get
(
"hour"
),
mapGetTime
.
get
(
"minute"
),
tvGetTime
,
tvGetWeek
,
mapGetTime
,
tvDay
);
}
else
if
(
id
==
R
.
id
.
ll_item_alsotime
)
{
if
(
mapOutTime
==
null
)
{
return
;
}
showDatePicker
(
mapOutTime
.
get
(
"year"
),
mapOutTime
.
get
(
"month"
),
mapOutTime
.
get
(
"day"
),
mapOutTime
.
get
(
"hour"
),
mapOutTime
.
get
(
"minute"
),
tvOutTime
,
tvOutWeek
,
mapOutTime
,
tvDay
);
}
else
if
(
id
==
R
.
id
.
tv_select_car
)
{
if
(
mapGetTime
.
size
()
>
0
&&
mapOutTime
.
size
()
>
0
)
{
String
getTime
=
String
.
format
(
"%1$s-%2$s-%3$s"
,
mapGetTime
.
get
(
"year"
),
mapGetTime
.
get
(
"month"
)
<
10
?
"0"
+
mapGetTime
.
get
(
"month"
)
:
mapGetTime
.
get
(
"month"
),
mapGetTime
.
get
(
"day"
)
<
10
?
"0"
+
mapGetTime
.
get
(
"day"
)
:
mapGetTime
.
get
(
"day"
));
String
outTime
=
String
.
format
(
"%1$s-%2$s-%3$s"
,
mapOutTime
.
get
(
"year"
),
mapOutTime
.
get
(
"month"
)
<
10
?
"0"
+
mapOutTime
.
get
(
"month"
)
:
mapOutTime
.
get
(
"month"
),
mapOutTime
.
get
(
"day"
)
<
10
?
"0"
+
mapOutTime
.
get
(
"day"
)
:
mapOutTime
.
get
(
"day"
));
if
(
copyDay
<
1
)
{
showToast
(
getContext
().
getString
(
R
.
string
.
rv_day_toast
));
return
;
}
if
(
TextUtil
.
isEmpty
(
headTvGetShop
.
getText
().
toString
().
trim
())
||
TextUtil
.
isEmpty
(
headTvOutShop
.
getText
().
toString
().
trim
())){
showToast
(
"请选择取/还车地址"
);
return
;
}
sendData
(
headTvGetCity
.
getText
().
toString
().
trim
(),
headTvGetShop
.
getText
().
toString
().
trim
(),
headTvOutCity
.
getText
().
toString
().
trim
(),
headTvOutShop
.
getText
().
toString
().
trim
(),
getTime
,
outTime
,
copyDay
,
tvGetTime
.
getText
().
toString
().
trim
(),
tvOutTime
.
getText
().
toString
().
trim
()
);
}
}
else
if
(
id
==
R
.
id
.
ll_item_rv_city
)
{
//房车游选择城市
startActivityForResult
(
CityListActivity
.
getIntent
(
getContext
(),
3
,
tvRvCity
.
getText
().
toString
().
trim
(),
getCityId
),
TYPE_REQUEST_CITY
);
}
else
if
(
id
==
R
.
id
.
tv_book_now
)
{
//立即预定
}
else
if
(
id
==
R
.
id
.
ll_item_rv_hot_label1
)
{
//热门标签1
if
(
hotData
!=
null
&&
hotData
.
size
()
>
0
)
{
TravelActivity
.
isGoHotType
=
true
;
TravelActivity
.
goHotTypeData
=
hotData
.
get
(
0
);
IntentUtil
.
startActivity
(
_mActivity
,
TravelActivity
.
class
);
}
}
else
if
(
id
==
R
.
id
.
ll_item_rv_hot_label2
)
{
//热门标签2
if
(
hotData
!=
null
&&
hotData
.
size
()
>
1
)
{
TravelActivity
.
isGoHotType
=
true
;
TravelActivity
.
goHotTypeData
=
hotData
.
get
(
1
);
IntentUtil
.
startActivity
(
_mActivity
,
TravelActivity
.
class
);
}
}
else
if
(
id
==
R
.
id
.
ll_item_rv_hot_label3
)
{
//热门标签3
if
(
hotData
!=
null
&&
hotData
.
size
()
>
2
)
{
TravelActivity
.
isGoHotType
=
true
;
TravelActivity
.
goHotTypeData
=
hotData
.
get
(
2
);
IntentUtil
.
startActivity
(
_mActivity
,
TravelActivity
.
class
);
}
}
else
if
(
id
==
R
.
id
.
ll_item_hot_rvtour
)
{
//热门房车游
tvHotRvtour
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
text_Main
));
tvHotEntertainmentCamp
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
textGray
));
tvHotCarRental
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
textGray
));
}
else
if
(
id
==
R
.
id
.
ll_item_hot_entertainment_camp
)
{
//娱乐营地
tvHotRvtour
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
textGray
));
tvHotEntertainmentCamp
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
text_Main
));
tvHotCarRental
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
textGray
));
}
else
if
(
id
==
R
.
id
.
ll_item_hot_car_rental
)
{
//热门租车
tvHotRvtour
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
textGray
));
tvHotEntertainmentCamp
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
textGray
));
tvHotCarRental
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
text_Main
));
}
else
if
(
id
==
R
.
id
.
tv_see_more_popular
)
{
//查看更多热门
}
}
@Override
public
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
resultCode
==
RESULT_OK
)
{
int
type
=
data
.
getIntExtra
(
"type"
,
1
);
String
requestData
=
data
.
getStringExtra
(
"location"
);
switch
(
requestCode
)
{
case
TYPE_REQUEST_CITY:
//城市列表
if
(
type
==
1
)
{
headTvGetShop
.
setText
(
""
);
getCityId
=
data
.
getIntExtra
(
"id"
,
0
);
}
else
if
(
type
==
2
)
{
headTvOutShop
.
setText
(
""
);
outCityId
=
data
.
getIntExtra
(
"id"
,
0
);
}
else
if
(
type
==
3
)
{
tvRvCity
.
setText
(
""
);
vVTourCityId
=
data
.
getIntExtra
(
"id"
,
0
);
}
setRequestData
(
type
,
requestData
,
headTvGetCity
,
headTvOutCity
,
0
,
0
);
break
;
case
TYPE_REQUEST_SHOP:
//门店
setRequestData
(
type
,
requestData
,
headTvGetShop
,
headTvOutShop
,
0
,
0
);
break
;
case
TYPE_REQUEST_ADDRESS:
//地址
double
lat
=
data
.
getDoubleExtra
(
"latitude"
,
0
);
double
lon
=
data
.
getDoubleExtra
(
"longitude"
,
0
);
setRequestData
(
type
,
requestData
,
headTvGetShop
,
headTvOutShop
,
lat
,
lon
);
break
;
}
}
}
/**
* 设置返回结果参数
*
* @param type
* @param data
* @param tvGet
* @param tvOut
* @param lat
* @param lon
*/
private
void
setRequestData
(
int
type
,
String
data
,
TextView
tvGet
,
TextView
tvOut
,
double
lat
,
double
lon
)
{
if
(
tvGet
==
null
)
{
return
;
}
switch
(
type
)
{
case
1
:
latLatitude
=
lat
;
lonLongitude
=
lon
;
tvGet
.
setText
(
data
);
break
;
case
2
:
outLatitude
=
lat
;
outLongitude
=
lon
;
tvOut
.
setText
(
data
);
break
;
case
3
:
rvTourLatitude
=
lat
;
rvTourLongitude
=
lon
;
tvRvCity
.
setText
(
data
);
break
;
}
}
private
ArrayList
<
String
>
images
=
new
ArrayList
<>();
//图片(默认采用网络地址)
private
List
<
String
>
titles
=
new
ArrayList
<>();
//图片标题
private
List
<
Integer
>
localImages
=
new
ArrayList
<>();
//图片(本地资源)
private
void
setBanner
()
{
titles
.
clear
();
images
.
clear
();
localImages
.
clear
();
localImages
.
add
(
R
.
drawable
.
aa_image_banner
);
localImages
.
add
(
R
.
drawable
.
aa_image_banner
);
mineBanner
.
setImages
(
localImages
);
for
(
int
i
=
0
;
i
<
localImages
.
size
();
i
++)
{
titles
.
add
(
""
);
}
mineBanner
.
isAutoPlay
(
true
)
.
setBannerTitles
(
titles
)
.
setDelayTime
(
3000
)
.
setImageLoader
(
new
ImageLoader
()
{
@Override
public
void
displayImage
(
Context
context
,
Object
path
,
ImageView
imageView
)
{
GlideManager
.
getInstance
(
context
).
loadImage
(
path
,
imageView
);
}
})
.
setOnBannerListener
(
new
OnBannerListener
()
{
@Override
public
void
OnBannerClick
(
int
position
)
{
/* if (localImages != null && localImages.size() > 0) {
Bundle bundle = new Bundle();
bundle.putInt(ActivityImageBrowseInt.KEY_BACKGROUND, R.color.colorPrimary);
bundle.putIntegerArrayList(ActivityImageBrowseInt.KEY_IMAGE, (ArrayList<Integer>) localImages);
IntentUtil.startActivity(_mActivity, ActivityImageBrowseInt.class, bundle);
}*/
}
})
.
start
();
mineBanner
.
updateBannerStyle
(
BannerConfig
.
CIRCLE_INDICATOR
);
}
/**
* 处理最近门店请求结果
*
* @param bean
*/
private
void
processData
(
ShopListBean
bean
)
{
if
(
bean
.
getData
().
getTotalCount
()
>
0
)
{
if
(
headTvGetShop
!=
null
&&
TextUtils
.
isEmpty
(
headTvGetShop
.
getText
().
toString
().
trim
()))
{
headTvGetShop
.
setText
(
bean
.
getData
().
getData
().
get
(
0
).
getName
());
latLatitude
=
bean
.
getData
().
getData
().
get
(
0
).
getLatitude
();
lonLongitude
=
bean
.
getData
().
getData
().
get
(
0
).
getLongitude
();
}
if
(
headTvOutShop
!=
null
&&
TextUtils
.
isEmpty
(
headTvOutShop
.
getText
().
toString
().
trim
()))
{
headTvOutShop
.
setText
(
bean
.
getData
().
getData
().
get
(
0
).
getName
());
outLatitude
=
bean
.
getData
().
getData
().
get
(
0
).
getLatitude
();
outLongitude
=
bean
.
getData
().
getData
().
get
(
0
).
getLongitude
();
}
}
}
/**
* 获取门店列表
*/
private
void
getShopList
(
double
lat
,
double
lon
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"page"
,
1
);
map
.
put
(
"limit"
,
1
);
map
.
put
(
"lat"
,
lat
);
map
.
put
(
"lon"
,
lon
);
mPresenter
.
getData
(
RvFrameConfig
.
VEHICLE_POST
,
0
,
ApiConfig
.
HTTP_URL_SHOP_LIST
,
ShopListBean
.
class
,
map
,
true
);
}
/**
* 传参
*
* @param starCity
* @param starAddress
* @param endCity
* @param endAddress
* @param getTime
* @param outTime
* @param day
* @param startTime
* @param endTime
*/
private
void
sendData
(
String
starCity
,
String
starAddress
,
String
endCity
,
String
endAddress
,
String
getTime
,
String
outTime
,
int
day
,
String
startTime
,
String
endTime
)
{
if
(
dataBean
==
null
)
{
dataBean
=
new
OrderDataBean
();
}
if
(
getCityId
>
0
&&
outCityId
>
0
)
{
dataBean
.
setEndCity
(
outCityId
);
dataBean
.
setStartCity
(
getCityId
);
}
else
{
String
json
=
UtilsManager
.
getInstance
().
getJson
(
getContext
(),
"city.json"
);
CityPickerBean
bean
=
new
Gson
().
fromJson
(
json
,
CityPickerBean
.
class
);
for
(
CityPickerBean
.
CityBean
cityBean
:
bean
.
getCity
())
{
for
(
ListsBean
lsBean
:
cityBean
.
getLists
())
{
if
(
starCity
.
equals
(
lsBean
.
getName
()))
{
dataBean
.
setStartCity
(
lsBean
.
getId
());
}
if
(
endCity
.
equals
(
lsBean
.
getName
()))
{
dataBean
.
setEndCity
(
lsBean
.
getId
());
}
}
}
}
dataBean
.
setDayNum
(
day
);
dataBean
.
setStartCityName
(
starCity
);
dataBean
.
setStartAddr
(
starAddress
);
try
{
dataBean
.
setStartTime
(
TimeManager
.
dateToStamp
(
getTime
));
dataBean
.
setEndTime
(
TimeManager
.
dateToStamp
(
outTime
));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
dataBean
.
setEndCityName
(
endCity
);
dataBean
.
setEndAddr
(
endAddress
);
dataBean
.
setDriverType
(
2
);
startActivity
(
CarRentalListActivity
.
getIntent
(
getContext
(),
latLatitude
,
lonLongitude
,
false
,
dataBean
,
startTime
,
endTime
));
}
/**
* 初始化时间进程
*/
private
void
initTime
(
TextView
tvGetTime
,
TextView
tvOutTime
)
{
Calendar
cal
=
Calendar
.
getInstance
();
if
(
mapGetTime
==
null
)
{
mapGetTime
=
new
LinkedHashMap
<>();
}
mapGetTime
.
put
(
"year"
,
cal
.
get
(
Calendar
.
YEAR
));
mapGetTime
.
put
(
"month"
,
cal
.
get
(
Calendar
.
MONTH
)
+
1
);
mapGetTime
.
put
(
"day"
,
cal
.
get
(
Calendar
.
DAY_OF_MONTH
));
mapGetTime
.
put
(
"hour"
,
cal
.
get
(
Calendar
.
HOUR
));
mapGetTime
.
put
(
"minute"
,
cal
.
get
(
Calendar
.
MINUTE
));
if
(
mapOutTime
==
null
)
{
mapOutTime
=
new
LinkedHashMap
<>();
}
String
[]
timeGroup
=
TimeManager
.
getAfterDay
(
2
).
split
(
"-"
);
mapOutTime
.
put
(
"year"
,
Integer
.
valueOf
(
timeGroup
[
0
]));
mapOutTime
.
put
(
"month"
,
Integer
.
valueOf
(
timeGroup
[
1
]));
mapOutTime
.
put
(
"day"
,
Integer
.
valueOf
(
timeGroup
[
2
]));
mapOutTime
.
put
(
"hour"
,
cal
.
get
(
Calendar
.
HOUR
));
mapOutTime
.
put
(
"minute"
,
cal
.
get
(
Calendar
.
MINUTE
));
tvGetTime
.
setText
(
String
.
format
(
"%1$s-%2$s-%3$s %4$s:%5$s"
,
mapGetTime
.
get
(
"year"
),
mapGetTime
.
get
(
"month"
),
mapGetTime
.
get
(
"day"
),
mapGetTime
.
get
(
"hour"
),
mapGetTime
.
get
(
"minute"
)));
tvOutTime
.
setText
(
String
.
format
(
"%1$s-%2$s-%3$s %4$s:%5$s"
,
mapOutTime
.
get
(
"year"
),
mapOutTime
.
get
(
"month"
),
mapOutTime
.
get
(
"day"
),
mapOutTime
.
get
(
"hour"
),
mapOutTime
.
get
(
"minute"
)));
}
/**
* 展示日历弹窗
*
* @param newYear
* @param newMonth
* @param newDay
* @param tvTime
*/
private
void
showDatePicker
(
int
newYear
,
int
newMonth
,
int
newDay
,
final
int
newHour
,
final
int
newMinute
,
final
TextView
tvTime
,
final
TextView
tvWeek
,
final
Map
<
String
,
Integer
>
map
,
final
TextView
day
)
{
if
(
tvTime
==
null
)
{
return
;
}
//实例化日期选择器悬浮窗
//参数1:上下文对象
//参数2:监听事件
//参数3:初始化年份
//参数4:初始化月份
//参数5:初始化日期
new
DatePickerDialog
(
getContext
(),
new
DatePickerDialog
.
OnDateSetListener
()
{
@Override
public
void
onDateSet
(
DatePicker
view
,
int
year
,
int
month
,
int
dayOfMonth
)
{
map
.
clear
();
map
.
put
(
"year"
,
year
);
map
.
put
(
"month"
,
month
+
1
);
map
.
put
(
"day"
,
dayOfMonth
);
tvTime
.
setText
(
""
);
tvWeek
.
setText
(
""
);
String
tvMonth
=
month
<
10
?
"0"
+
month
:
""
+
month
;
String
tvDays
=
month
<
10
?
"0"
+
dayOfMonth
:
""
+
dayOfMonth
;
tvTime
.
append
(
""
+
year
+
"-"
+
tvMonth
+
"-"
+
tvDays
+
" "
);
showTimeDialog
(
newHour
,
newMinute
,
tvTime
,
map
);
getTimeDay
(
day
);
}
},
newYear
,
newMonth
-
1
,
newDay
).
show
();
}
/**
* 获取进程天数
*
* @param day
*/
private
void
getTimeDay
(
TextView
day
)
{
if
(
mapGetTime
!=
null
&&
mapOutTime
!=
null
)
{
copyDay
=
TimeManager
.
getDays
(
String
.
format
(
"%1$s-%2$s-%3$s"
,
mapGetTime
.
get
(
"year"
),
mapGetTime
.
get
(
"month"
),
mapGetTime
.
get
(
"day"
))
,
String
.
format
(
"%1$s-%2$s-%3$s"
,
mapOutTime
.
get
(
"year"
),
mapOutTime
.
get
(
"month"
),
mapOutTime
.
get
(
"day"
)));
day
.
setText
(
String
.
format
(
"%1$s%2$s"
,
copyDay
,
getContext
().
getString
(
R
.
string
.
rv_days
)));
}
}
/**
* 展示时间弹窗
* //实例化时间选择器
* //参数1:上下文对象
* //参数2:监听事件
* //参数3:初始化小时
* //参数4:初始化分钟
* //参数5:是否24小时制
*/
private
void
showTimeDialog
(
int
hour
,
int
minute
,
final
TextView
tvTime
,
final
Map
<
String
,
Integer
>
map
)
{
new
TimePickerDialog
(
getContext
(),
new
TimePickerDialog
.
OnTimeSetListener
()
{
//实现监听方法
@Override
public
void
onTimeSet
(
TimePicker
timePicker
,
int
i
,
int
i1
)
{
map
.
put
(
"hour"
,
i
);
map
.
put
(
"minute"
,
i1
);
//设置文本显示内容
tvTime
.
append
(
""
+
i
+
":"
+
i1
);
// tvTime.append(String.format("%1$s:%2$s", i,i1));
}
},
hour
,
minute
,
true
).
show
();
//记得使用show才能显示!
}
/**
* 定位权限处理
*/
private
void
permissionProcess
()
{
/**
* 6.0以上手机做权限处理
*/
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
N
)
{
new
RxPermission
(
getActivity
()).
request
(
Manifest
.
permission
.
ACCESS_COARSE_LOCATION
,
Manifest
.
permission
.
ACCESS_FINE_LOCATION
).
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
if
(
aBoolean
==
true
)
{
initGps
();
}
else
{
getActivity
().
finish
();
}
}
});
}
else
{
initGps
();
}
}
/**
* 初始化定位
*/
public
void
initGps
()
{
locationManager
=
new
LocationManager
(
getContext
());
locationManager
.
getLocationDetail
(
new
BDAbstractLocationListener
()
{
@Override
public
void
onReceiveLocation
(
BDLocation
location
)
{
//此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
//以下只列举部分获取经纬度相关(常用)的结果信息
//更多结果信息获取说明,请参照类参考中BDLocation类中的说明
//获取定位精度,默认值为0.0f
float
radius
=
location
.
getRadius
();
//获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准
String
coorType
=
location
.
getCoorType
();
//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明
int
errorCode
=
location
.
getLocType
();
// setGpsContent("count=:",String.valueOf(count));
// setGpsContent("latitude:",String.valueOf(location.getLatitude()));
// setGpsContent("longitude:",String.valueOf(location.getLongitude()));
// setGpsContent("城市:",location.getCity());
// setGpsContent("街道:",location.getAddrStr());
// setGpsContent("当前位置:",location.getLocationDescribe());
latLatitude
=
location
.
getLatitude
();
lonLongitude
=
location
.
getLongitude
();
mLatLng
=
new
LatLng
(
location
.
getLatitude
(),
location
.
getLongitude
());
getShopList
(
mLatLng
.
latitude
,
mLatLng
.
longitude
);
headTvGetCity
.
setText
(
location
.
getCity
());
headTvOutCity
.
setText
(
location
.
getCity
());
nowCity
=
location
.
getCity
();
locationManager
.
stopLocation
();
}
});
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/HomePageFragment.java
View file @
8e76ee5d
...
...
@@ -252,7 +252,7 @@ public class HomePageFragment extends BaseFragment<CommonPresenter> {
for
(
int
i
=
0
;
i
<
20
;
i
++)
{
list
.
add
(
"东莞松山湖欣新房车总店"
+
i
);
}
mAdapter
.
setNewData
(
list
);
//
mAdapter.setNewData(list);
}
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/DrivingListAdapter.java
View file @
8e76ee5d
...
...
@@ -31,6 +31,11 @@ public class DrivingListAdapter extends BaseQuickAdapter<DrivingListBean.DataBea
helper
.
setText
(
R
.
id
.
tv_name
,
item
.
getName
());
helper
.
setText
(
R
.
id
.
tv_phone
,
item
.
getPhone
());
helper
.
setText
(
R
.
id
.
tv_id_card
,
item
.
getIdCard
());
if
(
item
.
isCheck
())
{
helper
.
setChecked
(
R
.
id
.
cb_driving
,
true
);
}
else
{
helper
.
setChecked
(
R
.
id
.
cb_driving
,
false
);
}
helper
.
addOnClickListener
(
R
.
id
.
tv_edit
);
helper
.
setOnCheckedChangeListener
(
R
.
id
.
cb_driving
,
new
CompoundButton
.
OnCheckedChangeListener
()
{
@Override
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/HotCarTypeAdapter.java
View file @
8e76ee5d
...
...
@@ -3,9 +3,11 @@ package com.rv.home.rv.module.ui.main.home.adapter;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.base.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.BaseGlideHolder
;
import
com.rv.home.R
;
import
com.rv.home.R2
;
import
com.rv.travel.bean.BeanHot
;
/**
* Created :Auser
...
...
@@ -13,17 +15,23 @@ import com.rv.home.R2;
* Desc:热门车型适配
*/
public
class
HotCarTypeAdapter
extends
BaseQuickAdapter
<
String
,
BaseGlideHolder
>{
public
class
HotCarTypeAdapter
extends
BaseQuickAdapter
<
BeanHot
,
BaseGlideHolder
>{
public
HotCarTypeAdapter
()
{
super
(
R
.
layout
.
rv_item_hot_car_type
);
}
@Override
protected
void
convert
(
BaseGlideHolder
helper
,
String
item
)
{
String
url
=
"https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1543312516&di=6e4dacdfc8ca2ebd0a18ae25d3154717&src=http://pic1.win4000.com/wallpaper/2018-07-20/5b51756e43021.jpg"
;
helper
.
loadRoundImage
(
mContext
,
url
,
(
ImageView
)
helper
.
getView
(
R
.
id
.
iv_goods
),
10
);
helper
.
setText
(
R
.
id
.
tv_name
,
item
);
protected
void
convert
(
BaseGlideHolder
helper
,
BeanHot
bean
)
{
GlideManager
.
getInstance
(
mContext
).
loadImage
(
bean
.
getImg
(),
(
ImageView
)
helper
.
getView
(
R
.
id
.
iv_goods
))
;
// helper.loadRoundImage(mContext,bean.getImg()
, (ImageView) helper.getView(R.id.iv_goods),10);
helper
.
setText
(
R
.
id
.
tv_name
,
bean
.
getName
()
);
helper
.
setText
(
R
.
id
.
tv_content
,
"c1、烧烤、麻将、微波炉"
);
helper
.
setText
(
R
.
id
.
tv_price
,
String
.
format
(
"¥%1$s%2$s"
,
"332225"
,
mContext
.
getString
(
R
.
string
.
rv_day
)));
helper
.
setText
(
R
.
id
.
tv_price
,
String
.
format
(
"¥%1$s%2$s"
,
"1000"
,
mContext
.
getString
(
R
.
string
.
rv_day
)));
}
@Override
public
int
getItemCount
()
{
return
4
;
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/RVEnthusiastAdapter.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
adapter
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.base.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.BaseGlideHolder
;
import
com.rv.home.R
;
import
java.util.Random
;
public
class
RVEnthusiastAdapter
extends
BaseQuickAdapter
<
String
,
BaseGlideHolder
>
{
public
RVEnthusiastAdapter
()
{
super
(
R
.
layout
.
rv_item_rv_enthusiast
);
}
@Override
protected
void
convert
(
BaseGlideHolder
helper
,
String
string
)
{
GlideManager
.
getInstance
(
mContext
).
loadImage
(
string
,
(
ImageView
)
helper
.
getView
(
R
.
id
.
iv_activity
));
// ViewGroup.LayoutParams layoutParams = helper.getView(R.id.ll_item_rv_enthusiast).getLayoutParams();
// layoutParams.height = new Random().nextInt(200)+500;
// helper.getView(R.id.ll_item_rv_enthusiast).setLayoutParams(layoutParams);
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/RVTourListAdapter.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
adapter
;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.base.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.BaseGlideHolder
;
import
com.rv.home.R
;
import
com.rv.travel.bean.BeanHot
;
/**
* 房车游榜单
*/
public
class
RVTourListAdapter
extends
BaseQuickAdapter
<
BeanHot
,
BaseGlideHolder
>
{
public
RVTourListAdapter
()
{
super
(
R
.
layout
.
rv_item_rv_tourlist
);
}
@Override
protected
void
convert
(
BaseGlideHolder
helper
,
BeanHot
bean
)
{
GlideManager
.
getInstance
(
mContext
).
loadImage
(
bean
.
getImg
(),
(
ImageView
)
helper
.
getView
(
R
.
id
.
iv_rv_tour
));
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/RVTourListLabelAdapter.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
adapter
;
import
android.view.Gravity
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.base.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.BaseGlideHolder
;
import
com.rv.home.R
;
import
com.rv.travel.bean.BeanHot
;
import
org.w3c.dom.Text
;
/**
* 房车游榜单 标注
*/
public
class
RVTourListLabelAdapter
extends
BaseQuickAdapter
<
BeanHot
,
BaseGlideHolder
>
{
private
int
selectPosition
;
public
RVTourListLabelAdapter
()
{
super
(
R
.
layout
.
rv_item_rv_tourlist_label
);
}
@Override
protected
void
convert
(
BaseGlideHolder
helper
,
BeanHot
bean
)
{
helper
.
setText
(
R
.
id
.
tv_rvtour_label
,
bean
.
getName
());
TextView
label
=
(
TextView
)
helper
.
getView
(
R
.
id
.
tv_rvtour_label
);
RelativeLayout
.
LayoutParams
layoutParams
=
(
RelativeLayout
.
LayoutParams
)
label
.
getLayoutParams
();
if
(
selectPosition
==
mData
.
indexOf
(
bean
))
{
layoutParams
.
width
=
200
;
layoutParams
.
height
=
90
;
label
.
setLayoutParams
(
layoutParams
);
label
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
colorMain
));
// label.setWidth(R.dimen.size_90);
// label.setHeight(R.dimen.size_50);
}
else
{
// helper.setChecked(R.id.rg_check,false);
// label.setWidth(R.dimen.size_70);
// label.setHeight(R.dimen.size_30);
layoutParams
.
width
=
140
;
layoutParams
.
height
=
70
;
label
.
setLayoutParams
(
layoutParams
);
label
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
textGray
));
}
}
public
void
setSelectPosition
(
int
position
)
{
this
.
selectPosition
=
position
;
notifyDataSetChanged
();
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/adapter/SelectedEventsAdapter.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
adapter
;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.base.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.BaseGlideHolder
;
import
com.rv.home.R
;
public
class
SelectedEventsAdapter
extends
BaseQuickAdapter
<
String
,
BaseGlideHolder
>
{
public
SelectedEventsAdapter
()
{
super
(
R
.
layout
.
rv_item_selected_events
);
}
@Override
protected
void
convert
(
BaseGlideHolder
helper
,
String
string
)
{
GlideManager
.
getInstance
(
mContext
).
loadImage
(
string
,
(
ImageView
)
helper
.
getView
(
R
.
id
.
iv_activity
));
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/bean/DrivingListBean.java
View file @
8e76ee5d
...
...
@@ -107,6 +107,7 @@ public class DrivingListBean extends BaseBean{
private
String
fimg
;
private
int
updateTime
;
private
int
isdel
;
private
boolean
check
;
public
int
getId
()
{
return
id
;
...
...
@@ -187,6 +188,14 @@ public class DrivingListBean extends BaseBean{
public
void
setIsdel
(
int
isdel
)
{
this
.
isdel
=
isdel
;
}
public
boolean
isCheck
()
{
return
check
;
}
public
void
setCheck
(
boolean
check
)
{
this
.
check
=
check
;
}
}
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/order/EvaluationActivity.java
View file @
8e76ee5d
...
...
@@ -12,27 +12,31 @@ import android.text.TextUtils;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.ImageView
;
import
android.widget.RatingBar
;
import
android.widget.TextView
;
import
com.base.utils.ui.datetime.selector.util.TextUtil
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.frame.base.glide.GlideManager
;
import
com.frame.base.view.StarBar
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.util.
TimeManag
er
;
import
com.ruiwenliu.wrapper.util.
ViewHold
er
;
import
com.ruiwenliu.wrapper.util.listener.TextChangedListener
;
import
com.ruiwenliu.wrapper.util.permission.RxPermission
;
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.ruiwenliu.wrapper.util.ViewHolder
;
import
com.ruiwenliu.wrapper.util.permission.RxPermission
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.rv.home.rv.module.basic.dialog.PickerDialog
;
import
com.rv.home.rv.module.basic.presenter.PickerPresenter
;
import
com.rv.home.rv.module.ui.main.home.bean.ImageUploadBean
;
import
com.rv.home.rv.module.ui.main.home.order.adapter.EvaluationAdapter
;
import
com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean
;
import
com.rv.home.rv.module.ui.main.home.order.bean.ScoreBean
;
import
com.yuyife.okgo.OkGoUtil
;
import
org.w3c.dom.Text
;
import
java.io.File
;
import
java.util.ArrayList
;
...
...
@@ -41,6 +45,7 @@ import java.util.List;
import
java.util.Map
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
import
io.reactivex.functions.Consumer
;
import
okhttp3.MediaType
;
...
...
@@ -60,22 +65,31 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
TextView
tvName
;
@BindView
(
R2
.
id
.
tv_content
)
TextView
tvContent
;
@BindView
(
R2
.
id
.
rating_serve_bar
)
RatingBar
ratingServeBar
;
@BindView
(
R2
.
id
.
rating_driving_bar
)
RatingBar
ratingDrivingBar
;
@BindView
(
R2
.
id
.
rating_bar
)
RatingBar
ratingBar
;
@BindView
(
R2
.
id
.
et_evaluation_content
)
EditText
etEvaluationContent
;
@BindView
(
R2
.
id
.
tv_count
)
TextView
tvCount
;
@BindView
(
R2
.
id
.
recyclerView
)
RecyclerView
recyclerView
;
@BindView
(
R2
.
id
.
starbar1
)
StarBar
starbar1
;
@BindView
(
R2
.
id
.
starbar2
)
StarBar
starbar2
;
@BindView
(
R2
.
id
.
starbar3
)
StarBar
starbar3
;
@BindView
(
R2
.
id
.
tv_hint1
)
TextView
tvHint1
;
@BindView
(
R2
.
id
.
tv_hint2
)
TextView
tvHint2
;
@BindView
(
R2
.
id
.
tv_hint3
)
TextView
tvHint3
;
private
EvaluationAdapter
mAdapter
;
private
List
<
String
>
listImg
;
private
OrderListBean
.
DataBeanX
.
DataBean
dataBean
;
private
String
mark1
;
private
String
mark2
;
private
String
mark3
;
public
static
Intent
getIntent
(
Context
context
,
OrderListBean
.
DataBeanX
.
DataBean
dataBean
)
{
return
new
Intent
(
context
,
EvaluationActivity
.
class
)
...
...
@@ -98,7 +112,7 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
titleView
.
setTitle
(
mActivity
.
getString
(
R
.
string
.
rv_to_appointment_evaluation
));
dataBean
=
(
OrderListBean
.
DataBeanX
.
DataBean
)
intent
.
getSerializableExtra
(
"dataBean"
);
if
(
dataBean
!=
null
)
{
if
(
dataBean
!=
null
)
{
tvName
.
setText
(
dataBean
.
getName
());
GlideManager
.
getInstance
(
mActivity
).
loadImage
(
dataBean
.
getPicture
(),
ivCar
);
}
...
...
@@ -128,11 +142,57 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
}
});
starbar1
.
setIntegerMark
(
true
);
starbar1
.
setOnStarChangeListener
(
new
StarBar
.
OnStarChangeListener
()
{
@Override
public
void
onStarChange
(
float
mark
)
{
mark1
=
String
.
valueOf
((
int
)(
mark
*
10
));
setHint
(
mark
,
tvHint1
);
}
});
starbar2
.
setIntegerMark
(
true
);
starbar2
.
setOnStarChangeListener
(
new
StarBar
.
OnStarChangeListener
()
{
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
public
void
onStarChange
(
float
mark
)
{
mark2
=
String
.
valueOf
((
int
)(
mark
*
10
));
setHint
(
mark
,
tvHint2
);
}
});
starbar3
.
setIntegerMark
(
true
);
starbar3
.
setOnStarChangeListener
(
new
StarBar
.
OnStarChangeListener
()
{
@Override
public
void
onStarChange
(
float
mark
)
{
mark3
=
String
.
valueOf
((
int
)(
mark
*
10
));
setHint
(
mark
,
tvHint3
);
}
});
}
private
void
setHint
(
float
mark
,
TextView
textView
)
{
if
(
1
==
mark
)
{
textView
.
setText
(
"非常差"
);
}
else
if
(
2
==
mark
)
{
textView
.
setText
(
"差"
);
}
else
if
(
3
==
mark
)
{
textView
.
setText
(
"一般"
);
}
else
if
(
4
==
mark
)
{
textView
.
setText
(
"好"
);
}
else
if
(
5
==
mark
)
{
textView
.
setText
(
"非常好"
);
}
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
switch
(
requestType
)
{
case
0
:
showToast
(
"评价成功!"
);
finish
();
break
;
}
}
...
...
@@ -156,14 +216,70 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
}
@OnClick
(
R2
.
id
.
tv_commit
)
public
void
onViewClicked
()
{
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
tv_commit
)
{
onCommit
();
}
// getIntent().putExtra("content", "可以的");
// setResult(RESULT_OK);
// finish();
// processUploadImage();
}
private
void
onCommit
()
{
if
(
TextUtil
.
isEmpty
(
mark1
))
{
showToast
(
"服务态度评分不能为空!"
);
return
;
}
if
(
TextUtil
.
isEmpty
(
mark2
))
{
showToast
(
"司机态度评分不能为空!"
);
return
;
}
if
(
TextUtil
.
isEmpty
(
mark3
))
{
showToast
(
"体验感受评分不能为空!"
);
return
;
}
ArrayList
<
ScoreBean
>
scores
=
new
ArrayList
<>();
ScoreBean
scoreBean
=
new
ScoreBean
();
scoreBean
.
setScore
(
mark1
);
scoreBean
.
setVehicleScoreType
(
"SERVICE"
);
scores
.
add
(
scoreBean
);
ScoreBean
scoreBean2
=
new
ScoreBean
();
scoreBean2
.
setScore
(
mark2
);
scoreBean2
.
setVehicleScoreType
(
"DRIVER"
);
scores
.
add
(
scoreBean2
);
ScoreBean
scoreBean3
=
new
ScoreBean
();
scoreBean3
.
setScore
(
mark3
);
scoreBean3
.
setVehicleScoreType
(
"EXPERIENCE"
);
scores
.
add
(
scoreBean3
);
String
id
=
null
;
if
(
1
==
dataBean
.
getType
()){
OrderListBean
.
DataBeanX
.
DataBean
.
OrderRentVehicleDetail
orderRentVehicleDetail
=
dataBean
.
getOrderRentVehicleDetail
();
if
(
orderRentVehicleDetail
!=
null
){
id
=
String
.
valueOf
(
orderRentVehicleDetail
.
getId
());
}
}
else
if
(
2
==
dataBean
.
getType
()){
OrderListBean
.
DataBeanX
.
DataBean
.
OrderTourDetail
orderTourDetail
=
dataBean
.
getOrderTourDetail
();
if
(
orderTourDetail
!=
null
){
id
=
orderTourDetail
.
getId
();
}
}
mPresenter
.
postBodyData
(
0
,
ApiConfig
.
HTTP_URL_SCORE
,
BaseBean
.
class
,
new
Score
(
id
,
dataBean
.
getId
(),
scores
),
getHeadMap
(),
true
);
}
processUploadImage
();
private
Map
<
String
,
Object
>
getHeadMap
()
{
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<>();
if
(
OkGoUtil
.
getToken
()
!=
null
)
headMap
.
put
(
"Authorization"
,
OkGoUtil
.
getToken
());
return
headMap
;
}
/**
...
...
@@ -251,7 +367,7 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
}
}
private
void
uploadImage
(
File
file
){
private
void
uploadImage
(
File
file
)
{
RequestBody
requestFile
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/otcet-stream"
),
file
);
MultipartBody
.
Part
body
=
...
...
@@ -269,35 +385,75 @@ public class EvaluationActivity extends BaseStatusActivity<PickerPresenter> {
}
/**
*
*/
private
void
processUploadImage
(){
Map
<
String
,
RequestBody
>
map
=
new
LinkedHashMap
<>();
for
(
String
url:
mAdapter
.
getData
()){
if
(
TextUtils
.
isEmpty
(
url
)){
private
void
processUploadImage
()
{
Map
<
String
,
RequestBody
>
map
=
new
LinkedHashMap
<>();
for
(
String
url
:
mAdapter
.
getData
())
{
if
(
TextUtils
.
isEmpty
(
url
))
{
continue
;
}
url
=
url
.
substring
(
7
,
url
.
length
());
File
file
=
new
File
(
url
);
map
.
put
(
file
.
getName
(),
getPart
(
file
));
url
=
url
.
substring
(
7
,
url
.
length
());
File
file
=
new
File
(
url
);
map
.
put
(
file
.
getName
(),
getPart
(
file
));
}
uploadImages
(
map
);
}
private
void
uploadImages
(
Map
<
String
,
RequestBody
>
map
)
{
private
void
uploadImages
(
Map
<
String
,
RequestBody
>
map
)
{
RequestBody
description
=
RequestBody
.
create
(
MediaType
.
parse
(
"multipart/form-data"
),
"flie"
);
mPresenter
.
getUploadFiles
(
RvFrameConfig
.
VEHICLE_UPLOAD
,
0
,
ApiConfig
.
HTTP_URL_FILE_UPLOADS
,
BaseBean
.
class
,
description
,
map
,
true
);
mPresenter
.
getUploadFiles
(
RvFrameConfig
.
VEHICLE_UPLOAD
,
0
,
ApiConfig
.
HTTP_URL_FILE_UPLOADS
,
BaseBean
.
class
,
description
,
map
,
true
);
}
private
RequestBody
getPart
(
File
file
){
private
RequestBody
getPart
(
File
file
)
{
return
RequestBody
.
create
(
MediaType
.
parse
(
"application/otcet-stream"
),
file
);
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// TODO: add setContentView(...) invocation
ButterKnife
.
bind
(
this
);
}
private
class
Score
{
private
String
modelId
;
//":23,
private
int
orderId
;
//"
private
List
<
ScoreBean
>
scoretype
;
//"
public
Score
(
String
modelId
,
int
orderId
,
List
<
ScoreBean
>
scoretype
)
{
this
.
modelId
=
modelId
;
this
.
orderId
=
orderId
;
this
.
scoretype
=
scoretype
;
}
public
String
getModelId
()
{
return
modelId
;
}
public
void
setModelId
(
String
modelId
)
{
this
.
modelId
=
modelId
;
}
public
int
getOrderId
()
{
return
orderId
;
}
public
void
setOrderId
(
int
orderId
)
{
this
.
orderId
=
orderId
;
}
public
List
<
ScoreBean
>
getScoretype
()
{
return
scoretype
;
}
public
void
setScoretype
(
List
<
ScoreBean
>
scoretype
)
{
this
.
scoretype
=
scoretype
;
}
}
}
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/order/HaveToTravelFragment.java
View file @
8e76ee5d
...
...
@@ -80,7 +80,7 @@ public class HaveToTravelFragment extends BaseFragment<CommonPresenter>implement
@Override
public
void
onItemChildClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
tv_
process
){
if
(
id
==
R
.
id
.
tv_
rvtour_label
){
OrderListBean
.
DataBeanX
.
DataBean
dataBean
=
(
OrderListBean
.
DataBeanX
.
DataBean
)
adapter
.
getItem
(
position
);
startActivity
(
PickUpTheCarQRCodeActivity
.
getIntent
(
_mActivity
,
dataBean
));
}
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/order/OrderListActivity.java
View file @
8e76ee5d
...
...
@@ -8,7 +8,9 @@ import android.support.v7.widget.GridLayoutManager;
import
android.support.v7.widget.RecyclerView
;
import
android.view.View
;
import
com.alibaba.android.arouter.facade.annotation.Route
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.frame.base.url.Constance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.rv.home.R
;
...
...
@@ -26,6 +28,7 @@ import java.util.List;
import
butterknife.BindView
;
@Route
(
path
=
Constance
.
ACTIVITY_URL_ORDERLIST
)
public
class
OrderListActivity
extends
BaseStatusActivity
<
PickerPresenter
>
{
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/order/bean/OrderListBean.java
View file @
8e76ee5d
...
...
@@ -118,6 +118,7 @@ public class OrderListBean extends BaseBean {
*/
private
String
no
;
private
int
id
;
private
int
type
;
@SerializedName
(
"status"
)
private
int
statusX
;
...
...
@@ -138,6 +139,14 @@ public class OrderListBean extends BaseBean {
private
int
detailId
;
private
String
name
;
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
...
...
RvHome/src/main/java/com/rv/home/rv/module/ui/main/home/order/bean/ScoreBean.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
.
order
.
bean
;
public
class
ScoreBean
{
private
String
score
;
private
String
vehicleScoreType
;
public
String
getScore
()
{
return
score
;
}
public
void
setScore
(
String
score
)
{
this
.
score
=
score
;
}
public
String
getVehicleScoreType
()
{
return
vehicleScoreType
;
}
public
void
setVehicleScoreType
(
String
vehicleScoreType
)
{
this
.
vehicleScoreType
=
vehicleScoreType
;
}
}
RvHome/src/main/res/drawable/selector_home_item_button_left.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@drawable/icon_home_item_button_left"
android:state_selected=
"true"
/>
<item
android:drawable=
"@drawable/icon_home_item_button"
android:state_selected=
"false"
/>
</selector>
\ No newline at end of file
RvHome/src/main/res/drawable/selector_home_item_button_right.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@drawable/icon_home_item_button_right"
android:state_selected=
"true"
/>
<item
android:drawable=
"@drawable/icon_home_item_button"
android:state_selected=
"false"
/>
</selector>
\ No newline at end of file
RvHome/src/main/res/drawable/selector_rv_button_home_type.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:topRightRadius=
"@dimen/size_80"
/>
<solid
android:color=
"@color/colorWrite"
/>
</shape>
\ No newline at end of file
RvHome/src/main/res/drawable/shape_rv_bg_crimson_xiao_fang.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:topLeftRadius=
"30dp"
android:topRightRadius=
"30dp"
android:bottomRightRadius=
"30dp"
/>
<solid
android:color=
"@color/gray_F96363"
/>
</shape>
\ No newline at end of file
RvHome/src/main/res/drawable/shape_rv_bg_dark_yellow.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"30dp"
/>
<solid
android:color=
"@color/gray_FFB74B"
/>
</shape>
\ No newline at end of file
RvHome/src/main/res/drawable/shape_rv_button_gray.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"8dp"
/>
<solid
android:color=
"@color/colorLine"
/>
</shape>
\ No newline at end of file
RvHome/src/main/res/drawable/shape_rv_dark_gray_circle.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/size_30"
/>
<solid
android:color=
"@color/colorWrite"
/>
<stroke
android:width=
"@dimen/size_1"
android:color=
"@color/colorGray"
/>
</shape>
\ No newline at end of file
RvHome/src/main/res/drawable/shape_rv_textview_home_translucent.xml
0 → 100644
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/size_8"
/>
<solid
android:color=
"@color/gray_50ffffff"
/>
</shape>
\ No newline at end of file
RvHome/src/main/res/layout/rv_act_evaluation.xml
View file @
8e76ee5d
...
...
@@ -3,6 +3,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:ratingbar=
"http://schemas.android.com/apk/res-auto"
android:background=
"@color/colorWrite"
tools:context=
".rv.module.ui.main.home.order.EvaluationActivity"
>
...
...
@@ -71,15 +72,24 @@
android:textColor=
"@color/textGray"
android:textSize=
"@dimen/text_14"
/>
<RatingBar
android:id=
"@+id/rating_serve_bar"
style=
"@style/fiveRatingBar"
<com.frame.base.view.StarBar
android:id=
"@+id/starbar1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@id/tv_context"
android:layout_marginLeft=
"@dimen/size_20"
android:numStars=
"5"
android:rating=
"0"
/>
ratingbar:starEmpty=
"@drawable/rv_vehicle_icon_star_gray"
ratingbar:starFill=
"@drawable/rv_vehicle_icon_star_light"
ratingbar:starDistance=
"5dp"
ratingbar:starCount=
"5"
ratingbar:starSize=
"@dimen/size_20"
/>
<TextView
android:id=
"@+id/tv_hint1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/text_10"
android:layout_marginLeft=
"@dimen/size_15"
android:textColor=
"@color/text_Gray"
/>
</LinearLayout>
<LinearLayout
...
...
@@ -99,15 +109,24 @@
android:textColor=
"@color/textGray"
android:textSize=
"@dimen/text_14"
/>
<RatingBar
android:id=
"@+id/rating_driving_bar"
style=
"@style/fiveRatingBar"
<com.frame.base.view.StarBar
android:id=
"@+id/starbar2"
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/size_16"
android:layout_below=
"@id/tv_context"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_20"
android:numStars=
"5"
android:rating=
"0"
/>
ratingbar:starEmpty=
"@drawable/rv_vehicle_icon_star_gray"
ratingbar:starFill=
"@drawable/rv_vehicle_icon_star_light"
ratingbar:starDistance=
"5dp"
ratingbar:starCount=
"5"
ratingbar:starSize=
"@dimen/size_20"
/>
<TextView
android:id=
"@+id/tv_hint2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/text_10"
android:layout_marginLeft=
"@dimen/size_15"
android:textColor=
"@color/text_Gray"
/>
</LinearLayout>
<LinearLayout
...
...
@@ -127,15 +146,24 @@
android:textColor=
"@color/textGray"
android:textSize=
"@dimen/text_14"
/>
<RatingBar
android:id=
"@+id/rating_bar"
style=
"@style/fiveRatingBar"
<com.frame.base.view.StarBar
android:id=
"@+id/starbar3"
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/size_16"
android:layout_below=
"@id/tv_context"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_20"
android:numStars=
"5"
android:rating=
"0"
/>
ratingbar:starEmpty=
"@drawable/rv_vehicle_icon_star_gray"
ratingbar:starFill=
"@drawable/rv_vehicle_icon_star_light"
ratingbar:starDistance=
"5dp"
ratingbar:starCount=
"5"
ratingbar:starSize=
"@dimen/size_20"
/>
<TextView
android:id=
"@+id/tv_hint3"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"@dimen/text_10"
android:layout_marginLeft=
"@dimen/size_15"
android:textColor=
"@color/text_Gray"
/>
</LinearLayout>
<RelativeLayout
...
...
RvHome/src/main/res/values/styles.xml
View file @
8e76ee5d
...
...
@@ -15,11 +15,11 @@
<!-- <item name="android:minHeight">20dp</item>-->
<!-- <item name="android:maxHeight">20dp</item>-->
<!--</style>-->
<style
name=
"fiveRatingBar"
parent=
"@android:style/Widget.RatingBar"
>
<!--
<style name="fiveRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/layer_stars</item>
<item name="android:minHeight">@dimen/size_15</item>
<item name="android:minWidth">@dimen/size_15</item>
</style>
</style>
-->
...
...
RvMine/build.gradle
View file @
8e76ee5d
...
...
@@ -11,6 +11,15 @@ android {
versionCode
1
versionName
"1.0"
javaCompileOptions
{
annotationProcessorOptions
{
arguments
=
[
moduleName
:
project
.
getName
()
]
}
}
}
buildTypes
{
...
...
@@ -23,8 +32,11 @@ android {
dependencies
{
implementation
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
api
'com.jakewharton:butterknife:
8.8.
1'
api
'com.jakewharton:butterknife:
9.0.0-rc
1'
implementation
'com.android.support.constraint:constraint-layout:1.1.3'
annotationProcessor
'com.jakewharton:butterknife-compiler:8.8.1'
annotationProcessor
'com.jakewharton:butterknife-compiler:9.0.0-rc1'
implementation
'com.github.zcweng:switch-button:0.0.3@aar'
implementation
'com.contrarywind:Android-PickerView:3.2.7'
api
project
(
':RvHome'
)
annotationProcessor
'com.alibaba:arouter-compiler:1.1.4'
}
RvMine/src/main/java/com/rv/rvmine/MineActivity.java
View file @
8e76ee5d
...
...
@@ -12,11 +12,13 @@ import android.widget.LinearLayout;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.base.utils.tools.android.IntentUtil
;
import
com.base.utils.ui.image.round.RoundImageView
;
import
com.frame.base.browse.ActivityImageBrowseInt
;
import
com.frame.base.bus.RxBus
;
import
com.frame.base.glide.GlideManager
;
import
com.frame.base.url.Constance
;
import
com.frame.rv.ModuleEventUtil
;
import
com.frame.rv.OnModuleEventListener
;
import
com.frame.rv.config.RvFrameConfig
;
...
...
RvMine/src/main/java/com/rv/rvmine/adapter/CollectionAdapter.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
rvmine
.
adapter
;
import
android.widget.CompoundButton
;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseMultiItemQuickAdapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.chad.library.adapter.base.entity.MultiItemEntity
;
import
com.ruiwenliu.wrapper.util.BaseGlideHolder
;
import
com.ruiwenliu.wrapper.util.TimeManager
;
import
com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean
;
import
com.rv.rvmine.R
;
import
com.rv.rvmine.bean.CollectionListBean
;
import
com.rv.rvmine.bean.TravelerListBean
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 收藏人列表
*/
public
class
CollectionAdapter
extends
BaseMultiItemQuickAdapter
<
MultiItemEntity
,
BaseGlideHolder
>
{
public
static
final
int
TYPE_COLLECTION_CARRENTAL
=
1
;
public
static
final
int
TYPE_COLLECTION_TRAVEL
=
2
;
public
CollectionAdapter
(
List
<
MultiItemEntity
>
data
)
{
super
(
data
);
addItemType
(
TYPE_COLLECTION_CARRENTAL
,
R
.
layout
.
rv_item_mine_collection_car_rental
);
addItemType
(
TYPE_COLLECTION_TRAVEL
,
R
.
layout
.
rv_item_mine_collection_travel
);
}
@Override
protected
void
convert
(
BaseGlideHolder
helper
,
MultiItemEntity
item
)
{
switch
(
helper
.
getItemViewType
())
{
case
TYPE_COLLECTION_CARRENTAL:
CollectionListBean
.
DataBeanX
.
DataBean
dataBean
=
(
CollectionListBean
.
DataBeanX
.
DataBean
)
item
;
if
(
dataBean
==
null
)
{
return
;
}
helper
.
setText
(
R
.
id
.
tv_car_name
,
dataBean
.
getName
());
helper
.
setText
(
R
.
id
.
tv_car_price
,
String
.
format
(
"¥%1$s"
,
dataBean
.
getPrice
()));
helper
.
loadRoundImage
(
mContext
,
dataBean
.
getCover
(),
(
ImageView
)
helper
.
getView
(
R
.
id
.
iv_car_icon
),
10
);
break
;
case
TYPE_COLLECTION_TRAVEL:
CollectionListBean
.
DataBeanX
.
DataBean
dataBean2
=
(
CollectionListBean
.
DataBeanX
.
DataBean
)
item
;
if
(
dataBean2
==
null
)
{
return
;
}
helper
.
setText
(
R
.
id
.
tv_tour_name
,
dataBean2
.
getName
());
helper
.
setText
(
R
.
id
.
tv_tour_price
,
String
.
format
(
"¥%1$s"
,
dataBean2
.
getPrice
()));
helper
.
loadRoundImage
(
mContext
,
dataBean2
.
getCover
(),
(
ImageView
)
helper
.
getView
(
R
.
id
.
iv_tour_icon
),
10
);
break
;
}
}
public
void
addNewData
(
CollectionListBean
bean
)
{
mData
.
clear
();
addData
(
bean
.
getData
().
getData
());
notifyDataSetChanged
();
}
}
RvMine/src/main/java/com/rv/rvmine/bean/CollectionListBean.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
rvmine
.
bean
;
import
com.chad.library.adapter.base.entity.MultiItemEntity
;
import
com.google.gson.annotations.SerializedName
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 收藏列表
*/
public
class
CollectionListBean
extends
BaseBean
{
private
DataBeanX
data
;
private
boolean
rel
;
public
DataBeanX
getData
()
{
return
data
;
}
public
void
setData
(
DataBeanX
data
)
{
this
.
data
=
data
;
}
public
boolean
isRel
()
{
return
rel
;
}
public
void
setRel
(
boolean
rel
)
{
this
.
rel
=
rel
;
}
public
static
class
DataBeanX
{
private
int
totalCount
;
private
int
totalPage
;
private
int
pageNum
;
private
int
pageSize
;
private
List
<
DataBean
>
data
;
public
int
getTotalCount
()
{
return
totalCount
;
}
public
void
setTotalCount
(
int
totalCount
)
{
this
.
totalCount
=
totalCount
;
}
public
int
getTotalPage
()
{
return
totalPage
;
}
public
void
setTotalPage
(
int
totalPage
)
{
this
.
totalPage
=
totalPage
;
}
public
int
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
int
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
int
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
int
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
List
<
DataBean
>
getData
()
{
return
data
;
}
public
void
setData
(
List
<
DataBean
>
data
)
{
this
.
data
=
data
;
}
public
static
class
DataBean
implements
MultiItemEntity
,
Serializable
{
private
int
id
;
private
int
userId
;
private
int
type
;
private
int
typeId
;
private
String
name
;
private
String
cover
;
private
double
price
;
private
String
unit
;
private
long
crtTime
;
private
long
updTime
;
private
int
status
;
private
int
isDel
;
@Override
public
int
getItemType
()
{
return
type
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
int
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
int
userId
)
{
this
.
userId
=
userId
;
}
public
int
getType
()
{
return
type
;
}
public
void
setType
(
int
type
)
{
this
.
type
=
type
;
}
public
int
getTypeId
()
{
return
typeId
;
}
public
void
setTypeId
(
int
typeId
)
{
this
.
typeId
=
typeId
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getCover
()
{
return
cover
;
}
public
void
setCover
(
String
cover
)
{
this
.
cover
=
cover
;
}
public
double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
double
price
)
{
this
.
price
=
price
;
}
public
String
getUnit
()
{
return
unit
;
}
public
void
setUnit
(
String
unit
)
{
this
.
unit
=
unit
;
}
public
long
getCrtTime
()
{
return
crtTime
;
}
public
void
setCrtTime
(
long
crtTime
)
{
this
.
crtTime
=
crtTime
;
}
public
long
getUpdTime
()
{
return
updTime
;
}
public
void
setUpdTime
(
long
updTime
)
{
this
.
updTime
=
updTime
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
public
int
getIsDel
()
{
return
isDel
;
}
public
void
setIsDel
(
int
isDel
)
{
this
.
isDel
=
isDel
;
}
}
}
}
RvMine/src/main/java/com/rv/rvmine/personal/SuccessfulCertificationActivity.java
View file @
8e76ee5d
...
...
@@ -3,6 +3,9 @@ package com.rv.rvmine.personal;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
com.alibaba.android.arouter.facade.annotation.Route
;
import
com.frame.base.url.Constance
;
import
com.rv.rvmine.R2
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
...
...
RvMine/src/main/java/com/rv/rvmine/traveler/CollectionActivity.java
View file @
8e76ee5d
...
...
@@ -2,22 +2,43 @@ package com.rv.rvmine.traveler;
import
android.content.Context
;
import
android.content.Intent
;
import
android.support.annotation.Nullable
;
import
android.support.v7.app.AppCompatActivity
;
import
android.os.Bundle
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.entity.MultiItemEntity
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout
;
import
com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView
;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.ui.main.home.bean.DrivingListBean
;
import
com.rv.home.rv.module.ui.main.home.order.adapter.ForPaymentAdapter
;
import
com.rv.rvmine.R2
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.rv.home.rv.module.basic.BaseStatusActivity
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.rvmine.R
;
import
com.rv.rvmine.adapter.CollectionAdapter
;
import
com.rv.rvmine.bean.CollectionListBean
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
butterknife.BindView
;
public
class
CollectionActivity
extends
BaseStatusActivity
<
CommonPresenter
>
{
public
class
CollectionActivity
extends
BaseStatusActivity
<
CommonPresenter
>
implements
BaseQuickAdapter
.
RequestLoadMoreListener
{
@BindView
(
R2
.
id
.
recyclerView
)
RecyclerView
recyclerView
;
private
int
mPage
;
private
int
countPage
;
private
CollectionAdapter
collectionAdapter
;
public
static
Intent
getIntent
(
Context
context
)
{
...
...
@@ -33,15 +54,74 @@ public class CollectionActivity extends BaseStatusActivity<CommonPresenter> {
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
titleView
.
setTitle
(
"收藏"
);
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
recyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
mActivity
));
collectionAdapter
=
new
CollectionAdapter
(
new
ArrayList
<
MultiItemEntity
>());
collectionAdapter
.
setOnLoadMoreListener
(
this
,
recyclerView
);
recyclerView
.
setAdapter
(
collectionAdapter
);
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
,
Intent
intent
)
{
super
.
loadData
(
savedInstanceState
,
intent
);
onRefresh
();
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
processData
((
CollectionListBean
)
result
);
}
@Override
public
void
onLoadMoreRequested
()
{
if
(
mPage
>=
countPage
)
{
collectionAdapter
.
loadMoreEnd
();
}
else
{
mPage
++;
getDrivingList
(
mPage
);
}
}
/**
* 刷新数据
*/
private
void
onRefresh
()
{
mPage
=
1
;
getDrivingList
(
mPage
);
}
/**
* 获取收藏列表
*/
private
void
getDrivingList
(
int
page
)
{
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<>();
if
(
OkGoUtil
.
getToken
()
!=
null
)
headMap
.
put
(
"Authorization"
,
OkGoUtil
.
getToken
());
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"page"
,
page
);
mPresenter
.
getData
(
RvFrameConfig
.
ADMIN_POST
,
0
,
ApiConfig
.
HTTP_URL_COLLECTONLIST
,
CollectionListBean
.
class
,
map
,
headMap
,
page
==
1
?
true
:
false
);
}
private
void
processData
(
CollectionListBean
bean
)
{
if
(
mPage
==
1
)
{
if
(
bean
.
getData
().
getTotalCount
()
==
0
)
{
collectionAdapter
.
setEmptyView
(
getEmptyView
(
recyclerView
,
-
1
,
mActivity
.
getString
(
R
.
string
.
rv_driving_data_null
)));
return
;
}
countPage
=
bean
.
getData
().
getTotalPage
();
collectionAdapter
.
addNewData
(
bean
);
collectionAdapter
.
loadMoreComplete
();
}
else
{
collectionAdapter
.
addData
(
bean
.
getData
().
getData
());
collectionAdapter
.
loadMoreComplete
();
}
}
}
RvMine/src/main/java/com/rv/rvmine/traveler/SettingActivity.java
View file @
8e76ee5d
...
...
@@ -5,6 +5,9 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.view.View
;
import
com.alibaba.android.arouter.facade.annotation.Route
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.frame.base.url.Constance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.util.UtilsManager
;
...
...
RvMine/src/main/res/layout/activity_collection.xml
View file @
8e76ee5d
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:
tools=
"http://schemas.android.com/tools
"
<LinearLayout
xmlns:
android=
"http://schemas.android.com/apk/res/android
"
android:layout_width=
"match_parent"
android:id=
"@+id/refresh"
android:layout_height=
"match_parent"
>
<include
layout=
"@layout/common_rv"
/>
</LinearLayout>
\ No newline at end of file
RvMine/src/main/res/layout/rv_item_mine_collection_car_rental.xml
0 → 100644
View file @
8e76ee5d
<?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"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<ImageView
android:id=
"@+id/iv_car_icon"
android:layout_width=
"@dimen/size_120"
android:layout_height=
"@dimen/size_80"
android:layout_marginLeft=
"@dimen/size_15"
android:layout_marginTop=
"@dimen/size_10"
android:layout_marginBottom=
"@dimen/size_10"
android:scaleType=
"centerCrop"
android:src=
"@drawable/aa_ivava"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_marginRight=
"@dimen/size_15"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_car_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:maxLines=
"1"
android:text=
"大通自行式C型房车"
android:textColor=
"@color/colorMain"
android:textSize=
"@dimen/text_14"
/>
<TextView
android:id=
"@+id/tv_car_address"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_5"
android:maxLines=
"1"
android:text=
"东莞市松山湖欣新房车总部"
android:textColor=
"@color/textGray"
android:textSize=
"@dimen/text_10"
/>
<TextView
android:id=
"@+id/tv_car_deploy"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_3"
android:maxLines=
"1"
android:text=
"烧烤·麻将·微波炉·5"
android:textColor=
"@color/textGray"
android:textSize=
"@dimen/text_10"
/>
<TextView
android:id=
"@+id/tv_car_price"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_5"
android:maxLines=
"1"
android:text=
"¥3500/天"
android:textColor=
"@color/colorBg"
android:textSize=
"@dimen/text_14"
/>
</LinearLayout>
</LinearLayout>
<include
layout=
"@layout/common_line"
/>
</LinearLayout>
\ No newline at end of file
RvMine/src/main/res/layout/rv_item_mine_collection_travel.xml
0 → 100644
View file @
8e76ee5d
<?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:layout_marginTop=
"@dimen/size_10"
android:layout_marginBottom=
"@dimen/size_10"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<ImageView
android:id=
"@+id/iv_tour_icon"
android:layout_width=
"@dimen/size_120"
android:layout_height=
"@dimen/size_80"
android:layout_marginLeft=
"@dimen/size_15"
android:scaleType=
"centerCrop"
android:src=
"@drawable/aa_ivava"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_marginRight=
"@dimen/size_15"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_tour_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:maxLines=
"2"
android:text=
"大通自行式C型房车"
android:textColor=
"@color/colorMain"
android:textSize=
"@dimen/text_14"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_tour_number_of_departures"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:textSize=
"@dimen/text_10"
android:textColor=
"@color/textGray"
android:text=
"20人待出发"
/>
<TextView
android:id=
"@+id/tv_tour_price"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/colorBg"
android:textSize=
"@dimen/text_14"
android:text=
"¥5000/人"
/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<include
layout=
"@layout/common_line"
/>
</LinearLayout>
\ No newline at end of file
RvTravel/build.gradle
View file @
8e76ee5d
...
...
@@ -18,6 +18,14 @@ android {
includeCompileClasspath
=
true
}
}
javaCompileOptions
{
annotationProcessorOptions
{
arguments
=
[
moduleName
:
project
.
getName
()
]
}
}
}
buildTypes
{
...
...
@@ -46,5 +54,6 @@ android {
api
'com.jakewharton:butterknife:9.0.0-rc1'
annotationProcessor
'com.jakewharton:butterknife-compiler:9.0.0-rc1'
implementation
'com.github.zcweng:switch-button:0.0.3@aar'
annotationProcessor
'com.alibaba:arouter-compiler:1.1.4'
}
}
RvTravel/src/main/java/com/rv/travel/GoOtherUtil.java
View file @
8e76ee5d
package
com
.
rv
.
travel
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.widget.ImageView
;
import
android.widget.Toast
;
import
com.base.utils.tools.android.IntentUtil
;
import
com.rv.travel.api.ApiUtil
;
import
com.rv.travel.api.OnApiResponseCallback
;
import
com.rv.travel.bean.BeanCheckCollection
;
import
com.rv.travel.bean.BeanOrderPay
;
import
com.rv.travel.bean.BeanRim
;
import
com.rv.travel.fragment.TravelFragmentCommitOrder
;
import
com.rv.travel.fragment.TravelWebFragment
;
import
com.rv.travel.other.OtherClickListener
;
...
...
@@ -12,15 +18,20 @@ import com.rv.travel.other.TravelFragmentActivity;
public
class
GoOtherUtil
{
public
static
String
travelDetailId
=
"0"
;
public
static
BeanRim
mBean
;
private
static
String
isCollection
=
"0"
;
//0 没有收藏 1 收藏
private
static
String
id
;
//去旅游详情
public
static
void
goTravelDetailWeb
(
String
id
,
Context
context
)
{
GoOtherUtil
.
travelDetailId
=
id
;
String
url
=
"https://xxtest.upyuns.com/h5/appHtml/view/travelDetails.html?id="
+
id
;
public
static
void
goTravelDetailWeb
(
final
BeanRim
bean
,
final
Context
context
)
{
GoOtherUtil
.
travelDetailId
=
bean
.
getId
();
mBean
=
bean
;
String
url
=
"https://xxtest.upyuns.com/h5/appHtml/view/travelDetails.html?id="
+
bean
.
getId
();
//TravelFragmentActivity.currentFragment = TravelWebFragment.getInstance(url);
TravelFragmentActivity
.
currentFragment
=
TravelWebFragment
.
getInstance
(
url
);
OtherOption
otherOption
=
new
OtherOption
();
final
OtherOption
otherOption
=
new
OtherOption
();
otherOption
.
setTitle
(
"详情"
);
otherOption
.
setCollect
(
true
);
otherOption
.
setShare
(
true
);
otherOption
.
setClickListener
(
new
OtherClickListener
()
{
@Override
public
void
onBack
()
{
...
...
@@ -32,8 +43,55 @@ public class GoOtherUtil {
public
void
onButton
()
{
}
@Override
public
void
onButtonCollect
(
final
ImageView
buttonCollect
)
{
if
(
"1"
.
equals
(
isCollection
))
{
ApiUtil
.
cancelCollection
(
id
,
"1"
,
new
OnApiResponseCallback
<
String
,
String
>()
{
@Override
public
void
done
(
String
data
,
String
errorMessage
)
{
Toast
.
makeText
(
context
,
"取消收藏成功"
,
Toast
.
LENGTH_SHORT
).
show
();
buttonCollect
.
setImageResource
(
R
.
drawable
.
travel_rv_collect
);
isCollection
=
"0"
;
}
});
}
else
{
ApiUtil
.
addCollection
(
"2"
,
bean
.
getId
(),
bean
.
getName
(),
bean
.
getCover
(),
bean
.
getPrice
(),
bean
.
getUnit
(),
new
OnApiResponseCallback
<
String
,
String
>()
{
@Override
public
void
done
(
String
data
,
String
errorMessage
)
{
Toast
.
makeText
(
context
,
"收藏成功"
,
Toast
.
LENGTH_SHORT
).
show
();
buttonCollect
.
setImageResource
(
R
.
drawable
.
home_icon_campsite_selected
);
isCollection
=
"1"
;
}
});
}
}
@Override
public
void
onButtonShare
()
{
}
});
TravelFragmentActivity
.
option
=
otherOption
;
ApiUtil
.
getIsCollection
(
bean
.
getId
(),
new
OnApiResponseCallback
<
BeanCheckCollection
,
String
>()
{
@Override
public
void
done
(
BeanCheckCollection
data
,
String
errorMessage
)
{
isCollection
=
data
.
getStatus
();
id
=
data
.
getId
();
ImageView
buttonCollect
=
otherOption
.
getLayout
().
buttonCollect
;
if
(
"1"
.
equals
(
data
.
getStatus
())){
buttonCollect
.
setImageResource
(
R
.
drawable
.
home_icon_campsite_selected
);
}
else
{
buttonCollect
.
setImageResource
(
R
.
drawable
.
travel_rv_collect
);
}
}
});
IntentUtil
.
startActivity
(
context
,
TravelFragmentActivity
.
class
);
}
...
...
@@ -45,13 +103,23 @@ public class GoOtherUtil {
otherOption
.
setClickListener
(
new
OtherClickListener
()
{
@Override
public
void
onBack
()
{
GoOtherUtil
.
goTravelDetailWeb
(
GoOtherUtil
.
travelDetailId
,
context
);
GoOtherUtil
.
goTravelDetailWeb
(
GoOtherUtil
.
mBean
,
context
);
}
@Override
public
void
onButton
()
{
}
@Override
public
void
onButtonCollect
(
ImageView
buttonCollect
)
{
}
@Override
public
void
onButtonShare
()
{
}
});
TravelFragmentActivity
.
option
=
otherOption
;
IntentUtil
.
startActivity
(
context
,
TravelFragmentActivity
.
class
);
...
...
RvTravel/src/main/java/com/rv/travel/api/ApiUtil.java
View file @
8e76ee5d
...
...
@@ -7,6 +7,7 @@ import com.google.gson.reflect.TypeToken;
import
com.lzy.okgo.callback.StringCallback
;
import
com.lzy.okgo.model.Response
;
import
com.rv.travel.bean.BeanBanner
;
import
com.rv.travel.bean.BeanCheckCollection
;
import
com.rv.travel.bean.BeanHot
;
import
com.rv.travel.bean.BeanOrderPay
;
import
com.rv.travel.bean.BeanOrderResponse
;
...
...
@@ -51,7 +52,6 @@ public class ApiUtil {
String
token
=
OkGoUtil
.
getStringToJson
(
response
.
body
(),
"token"
);
OkGoUtil
.
setToken
(
token
);
callback
.
done
(
true
,
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
MESSAGE
));
}
@Override
...
...
@@ -491,7 +491,7 @@ public class ApiUtil {
/**
*订单支付
*
订单支付
*/
public
static
void
payOrder
(
String
orderNo
,
...
...
@@ -540,4 +540,150 @@ public class ApiUtil {
}
});
}
/**
* 添加收藏
*/
public
static
void
addCollection
(
String
type
,
String
typeId
,
String
name
,
String
cover
,
String
price
,
String
unit
,
final
OnApiResponseCallback
<
String
,
String
>
callback
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"unit"
,
unit
);
map
.
put
(
"price"
,
price
);
map
.
put
(
"cover"
,
cover
);
map
.
put
(
"name"
,
name
);
map
.
put
(
"typeId"
,
typeId
);
map
.
put
(
"type"
,
type
);
String
url
=
TravelApi
.
COMMIT_COLLECT_ADD
;
OkGoUtil
.
postJson
(
url
,
map
,
new
StringCallback
()
{
@Override
public
void
onSuccess
(
Response
<
String
>
response
)
{
LogUtil
.
e
(
ApiUtil
.
class
,
"onSuccess commitOrder:"
+
response
.
body
());
if
(
callback
==
null
)
return
;
String
status
=
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
STATUS
);
if
(
status
==
null
)
{
callback
.
done
(
null
,
ApiKey
.
ERROR_NO_STATUS
);
return
;
}
if
(!
status
.
equals
(
ApiKey
.
STATUS_200
))
{
callback
.
done
(
null
,
ApiKey
.
ERROR_PREFIX
+
"--status"
+
status
+
"--message"
+
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
MESSAGE
));
return
;
}
JSONObject
data
=
OkGoUtil
.
getJsonObjectToJson
(
response
.
body
(),
ApiKey
.
DATA
);
String
bean
=
null
;
if
(
data
!=
null
)
{
bean
=
new
Gson
().
fromJson
(
data
.
toString
(),
new
TypeToken
<
String
>()
{
}.
getType
());
}
callback
.
done
(
bean
,
null
);
}
@Override
public
void
onError
(
Response
<
String
>
response
)
{
super
.
onError
(
response
);
LogUtil
.
e
(
ApiUtil
.
class
,
"onError commitOrder:"
+
response
.
body
());
LogUtil
.
e
(
ApiUtil
.
class
,
"onError commitOrder:"
+
response
.
message
());
if
(
callback
!=
null
)
{
callback
.
done
(
null
,
response
.
message
());
}
}
});
}
public
static
void
getIsCollection
(
String
id
,
final
OnApiResponseCallback
<
BeanCheckCollection
,
String
>
callback
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
id
);
map
.
put
(
"type"
,
"2"
);
String
url
=
TravelApi
.
COMMIT_COLLECT_IS
;
OkGoUtil
.
getMap
(
url
,
map
,
new
StringCallback
()
{
@Override
public
void
onSuccess
(
Response
<
String
>
response
)
{
LogUtil
.
e
(
ApiUtil
.
class
,
"onSuccess getBannerDataHot:"
+
response
.
body
());
if
(
callback
==
null
)
return
;
String
status
=
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
STATUS
);
if
(
status
==
null
)
{
callback
.
done
(
null
,
ApiKey
.
ERROR_NO_STATUS
);
return
;
}
if
(!
status
.
equals
(
ApiKey
.
STATUS_200
))
{
callback
.
done
(
null
,
ApiKey
.
ERROR_PREFIX
+
"--status"
+
status
+
"--message"
+
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
MESSAGE
));
return
;
}
JSONObject
data
=
OkGoUtil
.
getJsonObjectToJson
(
response
.
body
(),
ApiKey
.
DATA
);
BeanCheckCollection
bean
=
null
;
if
(
data
!=
null
)
{
bean
=
new
Gson
().
fromJson
(
data
.
toString
(),
new
TypeToken
<
BeanCheckCollection
>()
{
}.
getType
());
}
callback
.
done
(
bean
,
null
);
}
@Override
public
void
onError
(
Response
<
String
>
response
)
{
super
.
onError
(
response
);
LogUtil
.
e
(
ApiUtil
.
class
,
"onError getBannerDataHot:"
+
response
.
body
());
LogUtil
.
e
(
ApiUtil
.
class
,
"onError getBannerDataHot:"
+
response
.
message
());
if
(
callback
!=
null
)
{
callback
.
done
(
null
,
response
.
message
());
}
}
});
}
/**
*取消收藏
*/
public
static
void
cancelCollection
(
String
id
,
String
status
,
final
OnApiResponseCallback
<
String
,
String
>
callback
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
id
);
map
.
put
(
"status"
,
status
);
String
url
=
TravelApi
.
COMMIT_COLLECT_REMOVE
;
OkGoUtil
.
postJson
(
url
,
map
,
new
StringCallback
()
{
@Override
public
void
onSuccess
(
Response
<
String
>
response
)
{
LogUtil
.
e
(
ApiUtil
.
class
,
"onSuccess commitOrder:"
+
response
.
body
());
if
(
callback
==
null
)
return
;
String
status
=
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
STATUS
);
if
(
status
==
null
)
{
callback
.
done
(
null
,
ApiKey
.
ERROR_NO_STATUS
);
return
;
}
if
(!
status
.
equals
(
ApiKey
.
STATUS_200
))
{
callback
.
done
(
null
,
ApiKey
.
ERROR_PREFIX
+
"--status"
+
status
+
"--message"
+
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
MESSAGE
));
return
;
}
String
data
=
OkGoUtil
.
getStringToJson
(
response
.
body
(),
ApiKey
.
DATA
);
callback
.
done
(
data
,
null
);
}
@Override
public
void
onError
(
Response
<
String
>
response
)
{
super
.
onError
(
response
);
LogUtil
.
e
(
ApiUtil
.
class
,
"onError commitOrder:"
+
response
.
body
());
LogUtil
.
e
(
ApiUtil
.
class
,
"onError commitOrder:"
+
response
.
message
());
if
(
callback
!=
null
)
{
callback
.
done
(
null
,
response
.
message
());
}
}
});
}
}
RvTravel/src/main/java/com/rv/travel/api/TravelApi.java
View file @
8e76ee5d
...
...
@@ -22,4 +22,10 @@ public interface TravelApi extends RvFrameConfig {
String
QUERY_TRAVEL_MONEY_DETAIL
=
HOST
+
"/api/order/orderTour/calculate-price"
;
//订单支付
String
COMMIT_ORDER_PAY
=
HOST
+
"/api/order/baseOrder/pay"
;
//添加收藏
String
COMMIT_COLLECT_ADD
=
HOST
+
"/api/admin/app/user/collect/add"
;
//查看是否已经收藏
String
COMMIT_COLLECT_IS
=
HOST
+
"/api/admin/app/user/collect"
;
//取消收藏
String
COMMIT_COLLECT_REMOVE
=
HOST
+
"/api/admin/app/user/collect/remove"
;
}
RvTravel/src/main/java/com/rv/travel/bean/BeanCheckCollection.java
0 → 100644
View file @
8e76ee5d
package
com
.
rv
.
travel
.
bean
;
public
class
BeanCheckCollection
{
private
String
id
;
private
String
status
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
}
RvTravel/src/main/java/com/rv/travel/fragment/TravelFragmentCommitOrder.java
View file @
8e76ee5d
...
...
@@ -275,7 +275,7 @@ public class TravelFragmentCommitOrder extends BaseFragment {
// showToast("333333");
// if (baseContext.getClass().equals(TravelFragmentCommitOrder.class)) {
// startActivity(OrderListActivity.getIntent(getActivity(), 0));
//
ARouter.getInstance().build(Constance.ACTIVITY_URL_ORDERLIST).navigation();
ARouter
.
getInstance
().
build
(
Constance
.
ACTIVITY_URL_ORDERLIST
).
navigation
();
// getActivity().finish();
// }
}
...
...
RvTravel/src/main/java/com/rv/travel/fragment/TravelFragmentHotType.java
View file @
8e76ee5d
...
...
@@ -131,7 +131,7 @@ public class TravelFragmentHotType extends BaseFragment {
adapterRim
.
setItemRootClickListener
(
new
AdapterRim
.
OnItemRootClickListener
()
{
@Override
public
void
onItemClick
(
BeanRim
bean
)
{
GoOtherUtil
.
goTravelDetailWeb
(
bean
.
getId
()
,
baseContext
);
GoOtherUtil
.
goTravelDetailWeb
(
bean
,
baseContext
);
}
});
final
LinearLayoutManager
linearLayoutManager
=
new
LinearLayoutManager
(
baseContext
);
...
...
RvTravel/src/main/java/com/rv/travel/fragment/TravelFragmentMain.java
View file @
8e76ee5d
...
...
@@ -159,7 +159,7 @@ public class TravelFragmentMain extends BaseFragment {
adapterRim
.
setItemRootClickListener
(
new
AdapterRim
.
OnItemRootClickListener
()
{
@Override
public
void
onItemClick
(
BeanRim
bean
)
{
GoOtherUtil
.
goTravelDetailWeb
(
bean
.
getId
()
,
baseContext
);
GoOtherUtil
.
goTravelDetailWeb
(
bean
,
baseContext
);
}
});
final
LinearLayoutManager
linearLayoutManager
=
new
LinearLayoutManager
(
baseContext
);
...
...
RvTravel/src/main/java/com/rv/travel/other/OtherClickListener.java
View file @
8e76ee5d
package
com
.
rv
.
travel
.
other
;
import
android.widget.ImageView
;
import
java.io.Serializable
;
public
abstract
class
OtherClickListener
implements
Serializable
{
public
abstract
void
onBack
();
public
abstract
void
onButton
();
public
abstract
void
onButtonCollect
(
ImageView
buttonCollect
);
public
abstract
void
onButtonShare
();
}
RvTravel/src/main/java/com/rv/travel/other/OtherOption.java
View file @
8e76ee5d
package
com
.
rv
.
travel
.
other
;
import
com.frame.rv.widget.BaseTitleBarLayout
;
import
java.io.Serializable
;
public
class
OtherOption
implements
Serializable
{
...
...
@@ -7,6 +9,9 @@ public class OtherOption implements Serializable {
private
String
title
;
private
String
buttonText
;
private
OtherClickListener
clickListener
;
private
boolean
isCollect
;
private
boolean
isShare
;
private
BaseTitleBarLayout
layout
;
public
String
getTitle
()
{
return
title
;
...
...
@@ -32,4 +37,27 @@ public class OtherOption implements Serializable {
this
.
clickListener
=
clickListener
;
}
public
boolean
isCollect
()
{
return
isCollect
;
}
public
void
setCollect
(
boolean
collect
)
{
isCollect
=
collect
;
}
public
boolean
isShare
()
{
return
isShare
;
}
public
void
setShare
(
boolean
share
)
{
isShare
=
share
;
}
public
BaseTitleBarLayout
getLayout
()
{
return
layout
;
}
public
void
setLayout
(
BaseTitleBarLayout
layout
)
{
this
.
layout
=
layout
;
}
}
RvTravel/src/main/java/com/rv/travel/other/TravelFragmentActivity.java
View file @
8e76ee5d
...
...
@@ -66,7 +66,8 @@ public class TravelFragmentActivity extends BaseActivity {
//设置参数
private
void
applyOption
()
{
if
(
TravelFragmentActivity
.
option
==
null
)
return
;
if
(
TravelFragmentActivity
.
option
==
null
)
return
;
titleBarLayout
.
setTitleText
(
TravelFragmentActivity
.
option
.
getTitle
());
if
(
TravelFragmentActivity
.
option
.
getClickListener
()
==
null
)
{
titleBarLayout
.
setBackClickListener
(
null
);
...
...
@@ -85,6 +86,25 @@ public class TravelFragmentActivity extends BaseActivity {
}
});
}
if
(
TravelFragmentActivity
.
option
.
isCollect
()){
TravelFragmentActivity
.
option
.
setLayout
(
titleBarLayout
);
titleBarLayout
.
setButtonCollect
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
TravelFragmentActivity
.
option
.
getClickListener
().
onButtonCollect
(
titleBarLayout
.
buttonCollect
);
}
});
}
if
(
TravelFragmentActivity
.
option
.
isShare
()){
titleBarLayout
.
setButtonShare
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
TravelFragmentActivity
.
option
.
getClickListener
().
onButtonShare
();
}
});
}
}
}
...
...
RvWrapper/src/main/res/values/colors.xml
View file @
8e76ee5d
...
...
@@ -34,6 +34,8 @@
<color
name=
"gray_50ffffff"
>
#50ffffff
</color>
<color
name=
"gray_707070"
>
#707070
</color>
<color
name=
"gray_50000000"
>
#50000000
</color>
<color
name=
"gray_EEEEEE"
>
#EEEEEE
</color>
<color
name=
"gray_ba242525"
>
#ba242525
</color>
<!--end-->
...
...
RvWrapper/src/main/res/values/dimens.xml
View file @
8e76ee5d
...
...
@@ -39,6 +39,8 @@
<dimen
name=
"size_100"
>
100dp
</dimen>
<dimen
name=
"size_110"
>
100dp
</dimen>
<dimen
name=
"size_120"
>
120dp
</dimen>
<dimen
name=
"size_130"
>
130dp
</dimen>
<dimen
name=
"size_140"
>
140dp
</dimen>
<dimen
name=
"size_150"
>
150dp
</dimen>
<dimen
name=
"size_170"
>
170dp
</dimen>
<dimen
name=
"size_180"
>
180dp
</dimen>
...
...
settings.gradle
View file @
8e76ee5d
//include ':WXPay'
include
':RvFrame'
include
':RvFrame'
,
':module_tourism'
include
':RvTravel'
include
':RvClient'
include
':RvWrapper'
...
...
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