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
b4102c68
Commit
b4102c68
authored
Jul 04, 2019
by
jianglx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加消费记录,购买记录
parent
1aeabaf4
Changes
25
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1021 additions
and
27 deletions
+1021
-27
resources_styles.xml
Resource/src/main/res/values/resources_styles.xml
+8
-8
build.gradle
RvClient/build.gradle
+1
-1
ScaleUtils.java
.../src/main/java/com/ruiwenliu/wrapper/util/ScaleUtils.java
+20
-0
SimpleLoadView.java
.../com/ruiwenliu/wrapper/weight/refresh/SimpleLoadView.java
+62
-0
common_empty.xml
RvWrapper/src/main/res/layout/common_empty.xml
+1
-1
view_load_foot.xml
RvWrapper/src/main/res/layout/view_load_foot.xml
+13
-0
OrderListBean.java
...home/rv/module/ui/main/home/order/bean/OrderListBean.java
+21
-0
build.gradle
plugin_member/build.gradle
+1
-0
AndroidManifest.xml
plugin_member/src/main/AndroidManifest.xml
+9
-3
ConsumeRecordActivity.java
...er/src/main/java/com/rv.member/ConsumeRecordActivity.java
+131
-0
MemberCenterActivity.java
...ber/src/main/java/com/rv.member/MemberCenterActivity.java
+10
-3
ConsumeRecordListAdapter.java
.../java/com/rv.member/adapter/ConsumeRecordListAdapter.java
+78
-0
UserInfoBean.java
...member/src/main/java/com/rv.member/bean/UserInfoBean.java
+5
-3
AllDayDetailFragment.java
...ain/java/com/rv.member/fragment/AllDayDetailFragment.java
+39
-0
GiveDetailFragment.java
.../main/java/com/rv.member/fragment/GiveDetailFragment.java
+39
-0
UserDetailFragment.java
.../main/java/com/rv.member/fragment/UserDetailFragment.java
+133
-0
FreeDayProgressView.java
...src/main/java/com/rv.member/view/FreeDayProgressView.java
+131
-0
activity_consume_record.xml
...in_member/src/main/res/layout/activity_consume_record.xml
+12
-0
activity_frees_day.xml
plugin_member/src/main/res/layout/activity_frees_day.xml
+142
-0
activity_purchase_record.xml
...n_member/src/main/res/layout/activity_purchase_record.xml
+11
-0
item_consume_record.xml
plugin_member/src/main/res/layout/item_consume_record.xml
+139
-0
colors.xml
plugin_member/src/main/res/values/colors.xml
+5
-0
strings.xml
plugin_member/src/main/res/values/strings.xml
+8
-0
DownloadAppUtils.java
...n/src/main/java/com/rv/version/util/DownloadAppUtils.java
+1
-7
dialog_update_view.xml
plugin_version/src/main/res/layout/dialog_update_view.xml
+1
-1
No files found.
Resource/src/main/res/values/resources_styles.xml
View file @
b4102c68
...
...
@@ -14,12 +14,12 @@
<item
name=
"android:windowBackground"
>
@color/colorPrimary
</item>
</style>
<!--
App启动样式
-->
<
style
name=
"SplashTheme"
parent=
"ResourceBaseAppTheme"
>
<
item
name=
"android:windowBackground"
>
@color/colorPrimary
</item
>
<
item
name=
"android:windowFullscreen"
>
true
</item
>
<
item
name=
"windowNoTitle"
>
true
</item
>
<
item
name=
"windowActionBar"
>
false
</item
>
<
item
name=
"android:windowIsTranslucent"
>
true
</item
>
<
/style
>
<!--
<!– App启动样式 –>
-->
<
!--<style name="SplashTheme" parent="ResourceBaseAppTheme">--
>
<
!--<item name="android:windowBackground">@color/colorPrimary</item>--
>
<
!--<item name="android:windowFullscreen">true</item>--
>
<
!--<item name="windowNoTitle">true</item>--
>
<
!--<item name="windowActionBar">false</item>--
>
<
!--<item name="android:windowIsTranslucent">true</item>--
>
<
!--</style>--
>
</resources>
RvClient/build.gradle
View file @
b4102c68
...
...
@@ -8,7 +8,7 @@ android {
minSdkVersion
rootProject
.
ext
.
minSdkVersion
targetSdkVersion
rootProject
.
ext
.
targetSdkVersion
versionCode
30
versionName
"3.
0
"
versionName
"3.
2
"
multiDexEnabled
true
//新版Gradle 是 implementation 为了兼容compile,写上这句话
...
...
RvWrapper/src/main/java/com/ruiwenliu/wrapper/util/ScaleUtils.java
View file @
b4102c68
...
...
@@ -14,4 +14,24 @@ public class ScaleUtils {
public
static
int
px2dip
(
Context
context
,
int
pxValue
)
{
return
((
int
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
pxValue
,
context
.
getResources
().
getDisplayMetrics
()));
}
/*****
* sp转px
* @param context
* @param spValue
* @return
*/
public
static
int
sp2px
(
Context
context
,
float
spValue
)
{
return
(
int
)
(
spValue
*
context
.
getResources
().
getDisplayMetrics
().
scaledDensity
+
0.5f
);
}
/*******
* px转sp
* @param pxValue
* @return
*/
public
static
float
px2sp
(
Context
context
,
int
pxValue
)
{
return
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_PX
,
pxValue
,
context
.
getResources
().
getDisplayMetrics
());
}
}
RvWrapper/src/main/java/com/ruiwenliu/wrapper/weight/refresh/SimpleLoadView.java
0 → 100644
View file @
b4102c68
package
com
.
ruiwenliu
.
wrapper
.
weight
.
refresh
;
import
android.content.Context
;
import
android.support.annotation.Nullable
;
import
android.util.AttributeSet
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
com.ruiwenliu.wrapper.R
;
public
class
SimpleLoadView
extends
LinearLayout
implements
IFooterWrapper
{
private
TextView
tvStatus
;
public
SimpleLoadView
(
Context
context
)
{
this
(
context
,
null
);
}
public
SimpleLoadView
(
Context
context
,
@Nullable
AttributeSet
attrs
)
{
this
(
context
,
attrs
,
0
);
}
public
SimpleLoadView
(
Context
context
,
@Nullable
AttributeSet
attrs
,
int
defStyleAttr
)
{
super
(
context
,
attrs
,
defStyleAttr
);
initView
();
}
private
void
initView
()
{
View
view
=
LayoutInflater
.
from
(
getContext
()).
inflate
(
R
.
layout
.
view_load_foot
,
this
,
false
);
tvStatus
=
view
.
findViewById
(
R
.
id
.
tv_status
);
addView
(
view
);
}
@Override
public
View
getFooterView
()
{
return
this
;
}
@Override
public
void
pullUp
()
{
tvStatus
.
setText
(
"加载更多"
);
}
@Override
public
void
pullUpReleasable
()
{
tvStatus
.
setText
(
"松手可加载更多"
);
}
@Override
public
void
pullUpRelease
()
{
tvStatus
.
setText
(
"正在加载..."
);
}
@Override
public
void
pullUpFinish
()
{
}
}
RvWrapper/src/main/res/layout/common_empty.xml
View file @
b4102c68
...
...
@@ -23,6 +23,6 @@
android:layout_centerHorizontal=
"true"
android:text=
"@string/empty_no_data"
android:textColor=
"#ffcd00"
android:textSize=
"
24px
"
/>
android:textSize=
"
@dimen/sp_14
"
/>
</RelativeLayout>
\ No newline at end of file
RvWrapper/src/main/res/layout/view_load_foot.xml
0 → 100644
View file @
b4102c68
<?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:gravity=
"center"
>
<TextView
android:id=
"@+id/tv_status"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"上拉加载更多..."
/>
</LinearLayout>
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/order/bean/OrderListBean.java
View file @
b4102c68
...
...
@@ -363,6 +363,25 @@ public class OrderListBean extends BaseBean {
private
String
startAddr
;
private
int
orderId
;
private
int
endCity
;
private
int
freeDays
;
private
int
rebate
;
public
int
getFreeDays
()
{
return
freeDays
;
}
public
void
setFreeDays
(
int
freeDays
)
{
this
.
freeDays
=
freeDays
;
}
public
int
getRebate
()
{
return
rebate
;
}
public
void
setRebate
(
int
rebate
)
{
this
.
rebate
=
rebate
;
}
public
String
getStart_city_name
()
{
return
startCityName
;
...
...
@@ -539,6 +558,8 @@ public class OrderListBean extends BaseBean {
public
void
setEnd_city
(
int
end_city
)
{
this
.
endCity
=
end_city
;
}
}
public
static
class
OrderTourDetail
implements
Serializable
{
...
...
plugin_member/build.gradle
View file @
b4102c68
...
...
@@ -26,6 +26,7 @@ android {
dependencies
{
implementation
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
implementation
'com.jakewharton:butterknife:9.0.0-rc1'
implementation
'com.android.support.constraint:constraint-layout:1.1.3'
annotationProcessor
'com.jakewharton:butterknife-compiler:9.0.0-rc1'
implementation
'com.android.support:appcompat-v7:28.0.0'
testImplementation
'junit:junit:4.12'
...
...
plugin_member/src/main/AndroidManifest.xml
View file @
b4102c68
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.rv.member"
>
package=
"com.rv.member"
>
<application>
<activity
android:name=
"com.rv.member.MemberCenterActivity"
></activity>
<activity
android:name=
".MemberCenterActivity"
/>
<activity
android:name=
".ConsumeRecordActivity"
/>
<activity
android:name=
".FreesDayActivity"
/>
<activity
android:name=
".PurchaseRecordActivity"
></activity>
</application>
</manifest>
\ No newline at end of file
plugin_member/src/main/java/com/rv.member/ConsumeRecordActivity.java
0 → 100644
View file @
b4102c68
package
com
.
rv
.
member
;
import
android.content.Intent
;
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.frame.rv.config.RvFrameConfig
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
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.basic.presenter.CommonPresenter
;
import
com.rv.home.rv.module.ui.main.home.order.OrderDetailActivity
;
import
com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean
;
import
com.rv.member.adapter.ConsumeRecordListAdapter
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
butterknife.BindView
;
public
class
ConsumeRecordActivity
extends
BaseStatusActivity
<
CommonPresenter
>
implements
SimpleRefreshLayout
.
OnSimpleRefreshListener
,
BaseQuickAdapter
.
RequestLoadMoreListener
{
@BindView
(
R2
.
id
.
refresh
)
SimpleRefreshLayout
simpleRefreshLayout
;
@BindView
(
R2
.
id
.
recyclerView
)
RecyclerView
recyclerView
;
private
int
mPage
=
1
;
private
int
pageCount
;
private
List
<
OrderListBean
.
DataBeanX
.
DataBean
>
lists
=
new
ArrayList
<>();
private
ConsumeRecordListAdapter
adapter
=
null
;
@Override
protected
int
setLayout
()
{
return
R
.
layout
.
activity_consume_record
;
}
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
titleView
.
setTitle
(
"消费记录"
);
recyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
mActivity
));
adapter
=
new
ConsumeRecordListAdapter
(
lists
,
mClickListener
);
adapter
.
setEmptyView
(
getEmptyView
(
recyclerView
,
-
1
,
getString
(
R
.
string
.
tv_no_consume_data
)));
adapter
.
setOnLoadMoreListener
(
this
,
recyclerView
);
recyclerView
.
setAdapter
(
adapter
);
simpleRefreshLayout
.
setHeaderView
(
new
SimpleRefreshView
(
this
));
// simpleRefreshLayout.setFooterView(new SimpleLoadView(this), 100);
simpleRefreshLayout
.
setOnSimpleRefreshListener
(
this
);
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
if
(
requestType
==
1
)
{
// 下拉刷新数据
lists
.
clear
();
simpleRefreshLayout
.
onRefreshComplete
();
}
else
if
(
requestType
==
2
)
{
// 上拉加载更多
simpleRefreshLayout
.
onLoadMoreComplete
();
}
OrderListBean
listBean
=
(
OrderListBean
)
result
;
if
(
listBean
!=
null
&&
listBean
.
getData
()
!=
null
)
{
pageCount
=
listBean
.
getData
().
getTotalPage
();
lists
.
addAll
(
listBean
.
getData
().
getData
());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
// lists.add(new OrderListBean.DataBeanX.DataBean());
adapter
.
notifyDataSetChanged
();
}
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
,
Intent
intent
)
{
super
.
loadData
(
savedInstanceState
,
intent
);
getConsumeRecordData
(
0
);
}
private
void
getConsumeRecordData
(
int
position
)
{
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<>();
if
(
OkGoUtil
.
getToken
()
!=
null
)
headMap
.
put
(
"Authorization"
,
OkGoUtil
.
getToken
());
Map
<
String
,
Object
>
bodyMap
=
new
LinkedHashMap
<>();
bodyMap
.
put
(
"page"
,
mPage
);
bodyMap
.
put
(
"limit"
,
10
);
// bodyMap.put("status", "3");
bodyMap
.
put
(
"hasMemberRight"
,
1
);
bodyMap
.
put
(
"type"
,
1
);
bodyMap
.
put
(
"multiStatus"
,
"4,5,6"
);
mPresenter
.
getData
(
RvFrameConfig
.
VEHICLE_ORDER
,
position
,
ApiConfig
.
HTTP_URL_ORDER_LIST
,
OrderListBean
.
class
,
bodyMap
,
headMap
,
mPage
==
1
?
true
:
false
);
}
private
ConsumeRecordListAdapter
.
ConsumeListener
mClickListener
=
new
ConsumeRecordListAdapter
.
ConsumeListener
()
{
@Override
public
void
click
(
OrderListBean
.
DataBeanX
.
DataBean
bean
)
{
if
(
bean
!=
null
)
{
startActivity
(
OrderDetailActivity
.
getIntent
(
ConsumeRecordActivity
.
this
,
bean
));
}
}
};
@Override
public
void
onRefresh
()
{
mPage
=
1
;
getConsumeRecordData
(
1
);
}
@Override
public
void
onLoadMoreRequested
()
{
if
(
mPage
>=
pageCount
)
{
adapter
.
loadMoreEnd
();
}
else
{
mPage
+=
1
;
getConsumeRecordData
(
2
);
}
}
}
plugin_member/src/main/java/com/rv.member/MemberCenterActivity.java
View file @
b4102c68
...
...
@@ -29,6 +29,7 @@ import com.rv.component.dialog.PaymentTypeSelection;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.basic.BaseStatusActivity
;
import
com.rv.home.rv.module.ui.login.LoginRvActivity
;
import
com.rv.home.rv.module.ui.main.home.order.OrderListActivity
;
import
com.rv.member.bean.MemberListBean
;
import
com.rv.member.adapter.MemberListAdapter
;
...
...
@@ -149,7 +150,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
}
@OnClick
({
R2
.
id
.
iv_avatar
,
R2
.
id
.
tv_login
,
R2
.
id
.
tv_verified
,
R2
.
id
.
iv_title
})
@OnClick
({
R2
.
id
.
iv_avatar
,
R2
.
id
.
tv_login
,
R2
.
id
.
tv_verified
,
R2
.
id
.
iv_title
,
R2
.
id
.
tv_consume_record
,
R2
.
id
.
tv_purchase_record
,
R2
.
id
.
tv_free_day
})
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
iv_avatar
)
{
...
...
@@ -166,6 +167,12 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
startActivityForResult
(
intent
,
REQUEST_VERIFIED
);
}
else
if
(
id
==
R
.
id
.
iv_title
)
{
finish
();
}
else
if
(
id
==
R
.
id
.
tv_consume_record
)
{
startActivity
(
new
Intent
(
MemberCenterActivity
.
this
,
ConsumeRecordActivity
.
class
));
}
else
if
(
id
==
R
.
id
.
tv_purchase_record
)
{
startActivity
(
new
Intent
(
MemberCenterActivity
.
this
,
PurchaseRecordActivity
.
class
));
}
else
if
(
id
==
R
.
id
.
tv_free_day
)
{
// startActivity(new Intent(MemberCenterActivity.this, FreesDayActivity.class));
}
}
...
...
@@ -223,8 +230,8 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
}
tvConsumeRecord
.
setText
(
info
.
getPayCount
()
+
"\n 消费记录"
);
tv
PurchaseRecord
.
setText
(
info
.
getRentFreeDays
()
+
"\n 可免费租车 (天)"
);
tv
FreeDay
.
setText
(
info
.
getBuyCount
()
+
"\n 购买记录 (次)"
);
tv
FreeDay
.
setText
(
info
.
getRentFreeDays
()
+
"\n 可免费租车 (天)"
);
tv
PurchaseRecord
.
setText
(
info
.
getBuyCount
()
+
"\n 购买记录 (次)"
);
}
if
(
TextUtils
.
isEmpty
(
OkGoUtil
.
getToken
()))
{
...
...
plugin_member/src/main/java/com/rv.member/adapter/ConsumeRecordListAdapter.java
0 → 100644
View file @
b4102c68
package
com
.
rv
.
member
.
adapter
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean
;
import
com.rv.member.R
;
import
java.util.List
;
public
class
ConsumeRecordListAdapter
extends
BaseQuickAdapter
<
OrderListBean
.
DataBeanX
.
DataBean
,
BaseViewHolder
>
{
private
ConsumeListener
mListener
;
public
interface
ConsumeListener
{
void
click
(
OrderListBean
.
DataBeanX
.
DataBean
bean
);
}
public
ConsumeRecordListAdapter
(
List
<
OrderListBean
.
DataBeanX
.
DataBean
>
dataBeans
,
ConsumeListener
mClickListener
)
{
super
(
R
.
layout
.
item_consume_record
,
dataBeans
);
this
.
mListener
=
mClickListener
;
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
final
OrderListBean
.
DataBeanX
.
DataBean
bean
)
{
ImageView
imgCarType
=
helper
.
itemView
.
findViewById
(
R
.
id
.
img_car_type
);
GlideManager
.
getInstance
(
mContext
).
loadImage
(
"https://xxtest.upyuns.com/image/admin/2019-06-27/4.png"
,
imgCarType
,
160
,
160
);
if
(
bean
!=
null
)
{
if
(!
TextUtils
.
isEmpty
(
bean
.
getCrtTime
()))
{
helper
.
setText
(
R
.
id
.
tv_consume_time
,
"下单时间: "
+
bean
.
getCrtTime
());
if
(
bean
.
getStatusX
()
==
4
)
{
helper
.
setText
(
R
.
id
.
tv_state
,
"待出行"
);
}
else
if
(
bean
.
getStatusX
()
==
5
)
{
helper
.
setText
(
R
.
id
.
tv_state
,
"出行中"
);
}
else
if
(
bean
.
getStatusX
()
==
6
)
{
helper
.
setText
(
R
.
id
.
tv_state
,
"已完成"
);
}
if
(!
TextUtils
.
isEmpty
(
bean
.
getName
()))
{
helper
.
setText
(
R
.
id
.
tv_car_type
,
bean
.
getName
());
}
helper
.
setText
(
R
.
id
.
tv_price
,
"¥"
+
bean
.
getOrderAmount
());
if
(!
TextUtils
.
isEmpty
(
bean
.
getPicture
()))
{
// ImageView imgCarType = helper.itemView.findViewById(R.id.img_car_type);
GlideManager
.
getInstance
(
mContext
).
loadImage
(
bean
.
getPicture
(),
imgCarType
);
}
}
OrderListBean
.
DataBeanX
.
DataBean
.
OrderRentVehicleDetail
vehicleDetail
=
bean
.
getOrderRentVehicleDetail
();
if
(
vehicleDetail
!=
null
)
{
helper
.
setText
(
R
.
id
.
tv_location
,
vehicleDetail
.
getStart_city_name
()
+
"-"
+
vehicleDetail
.
getEnd_city_name
());
helper
.
setText
(
R
.
id
.
tv_get_info
,
vehicleDetail
.
getStart_time
()
+
" "
+
vehicleDetail
.
getStart_addr
());
helper
.
setText
(
R
.
id
.
tv_return_info
,
vehicleDetail
.
getEnd_time
()
+
" "
+
vehicleDetail
.
getEnd_addr
());
if
(
vehicleDetail
.
getFreeDays
()
>
0
)
{
helper
.
setText
(
R
.
id
.
tv_member_right
,
"免费"
+
vehicleDetail
.
getFreeDays
()
+
"天"
);
}
else
if
(
vehicleDetail
.
getRebate
()
>
0
)
{
helper
.
setText
(
R
.
id
.
tv_member_right
,
((
int
)
vehicleDetail
.
getRebate
()
/
10
)
+
"折"
);
}
}
}
helper
.
itemView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
if
(
mListener
!=
null
)
{
mListener
.
click
(
bean
);
}
}
});
}
}
plugin_member/src/main/java/com/rv.member/bean/UserInfoBean.java
View file @
b4102c68
package
com
.
rv
.
member
.
bean
;
import
com.google.gson.annotations.SerializedName
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
java.io.Serializable
;
...
...
@@ -7,7 +8,8 @@ import java.io.Serializable;
/**
* 获取用户信息
*/
public
class
UserInfoBean
extends
BaseBean
{
public
class
UserInfoBean
extends
BaseBean
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2037885960862296967L
;
private
UserInfo
data
;
private
boolean
rel
;
...
...
@@ -67,11 +69,11 @@ public class UserInfoBean extends BaseBean {
//备注
private
String
remark
;
// 剩余天数
private
int
rentFreeDays
;
private
int
rentFreeDays
;
// 会员消费次数
private
int
payCount
;
// 购买会员册数
private
int
buyCount
;
private
int
buyCount
;
// 会员等级
private
int
memberLevel
;
...
...
plugin_member/src/main/java/com/rv.member/fragment/AllDayDetailFragment.java
0 → 100644
View file @
b4102c68
package
com
.
rv
.
member
.
fragment
;
import
android.os.Bundle
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.member.R
;
/******
* 总天数明细
*/
public
class
AllDayDetailFragment
extends
BaseFragment
<
CommonPresenter
>
{
public
static
AllDayDetailFragment
getInstance
()
{
AllDayDetailFragment
fragment
=
new
AllDayDetailFragment
();
return
fragment
;
}
@Override
public
int
getViewLayout
()
{
return
R
.
layout
.
common_refresh
;
}
@Override
protected
void
initView
(
Bundle
savedInstanceState
)
{
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
)
{
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
}
}
plugin_member/src/main/java/com/rv.member/fragment/GiveDetailFragment.java
0 → 100644
View file @
b4102c68
package
com
.
rv
.
member
.
fragment
;
import
android.os.Bundle
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.rv.home.rv.module.basic.presenter.CommonPresenter
;
import
com.rv.member.R
;
/*******
* 赠送明细
*/
public
class
GiveDetailFragment
extends
BaseFragment
<
CommonPresenter
>
{
public
static
GiveDetailFragment
getInstance
()
{
GiveDetailFragment
fragment
=
new
GiveDetailFragment
();
return
fragment
;
}
@Override
public
int
getViewLayout
()
{
return
R
.
layout
.
common_refresh
;
}
@Override
protected
void
initView
(
Bundle
savedInstanceState
)
{
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
)
{
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
}
}
plugin_member/src/main/java/com/rv.member/fragment/UserDetailFragment.java
0 → 100644
View file @
b4102c68
package
com
.
rv
.
member
.
fragment
;
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.frame.rv.config.RvFrameConfig
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
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.basic.presenter.CommonPresenter
;
import
com.rv.home.rv.module.ui.main.home.order.OrderDetailActivity
;
import
com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean
;
import
com.rv.member.ConsumeRecordActivity
;
import
com.rv.member.R
;
import
com.rv.member.R2
;
import
com.rv.member.adapter.ConsumeRecordListAdapter
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
butterknife.BindView
;
public
class
UserDetailFragment
extends
BaseFragment
<
CommonPresenter
>
implements
SimpleRefreshLayout
.
OnSimpleRefreshListener
,
BaseQuickAdapter
.
RequestLoadMoreListener
{
@BindView
(
R2
.
id
.
refresh
)
SimpleRefreshLayout
simpleRefreshLayout
;
@BindView
(
R2
.
id
.
recyclerView
)
RecyclerView
recyclerView
;
private
int
mPage
=
1
;
private
int
pageCount
;
private
ConsumeRecordListAdapter
adapter
=
null
;
private
List
<
OrderListBean
.
DataBeanX
.
DataBean
>
lists
=
new
ArrayList
<>();
public
static
UserDetailFragment
getInstance
()
{
UserDetailFragment
fragment
=
new
UserDetailFragment
();
return
fragment
;
}
@Override
public
int
getViewLayout
()
{
return
R
.
layout
.
common_refresh
;
}
@Override
protected
void
initView
(
Bundle
savedInstanceState
)
{
recyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getContext
()));
adapter
=
new
ConsumeRecordListAdapter
(
lists
,
mClickListener
);
adapter
.
setEmptyView
(
getEmptyView
(
recyclerView
,
-
1
,
getString
(
R
.
string
.
tv_no_consume_data
)));
adapter
.
setOnLoadMoreListener
(
this
,
recyclerView
);
recyclerView
.
setAdapter
(
adapter
);
simpleRefreshLayout
.
setHeaderView
(
new
SimpleRefreshView
(
getContext
()));
simpleRefreshLayout
.
setOnSimpleRefreshListener
(
this
);
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
)
{
getConsumeRecordData
(
0
);
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
if
(
requestType
==
1
)
{
// 下拉刷新数据
lists
.
clear
();
simpleRefreshLayout
.
onRefreshComplete
();
}
else
if
(
requestType
==
2
)
{
// 上拉加载更多
simpleRefreshLayout
.
onLoadMoreComplete
();
}
OrderListBean
listBean
=
(
OrderListBean
)
result
;
if
(
listBean
!=
null
&&
listBean
.
getData
()
!=
null
)
{
// pageCount = listBean.getData().getTotalPage();
// lists.addAll(listBean.getData().getData());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
lists
.
add
(
new
OrderListBean
.
DataBeanX
.
DataBean
());
adapter
.
notifyDataSetChanged
();
}
}
private
void
getConsumeRecordData
(
int
position
)
{
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<>();
if
(
OkGoUtil
.
getToken
()
!=
null
)
headMap
.
put
(
"Authorization"
,
OkGoUtil
.
getToken
());
Map
<
String
,
Object
>
bodyMap
=
new
LinkedHashMap
<>();
bodyMap
.
put
(
"page"
,
mPage
);
bodyMap
.
put
(
"limit"
,
10
);
// bodyMap.put("status", "3");
bodyMap
.
put
(
"hasMemberRight"
,
1
);
bodyMap
.
put
(
"type"
,
1
);
bodyMap
.
put
(
"multiStatus"
,
"4,5,6"
);
mPresenter
.
getData
(
RvFrameConfig
.
VEHICLE_ORDER
,
position
,
ApiConfig
.
HTTP_URL_ORDER_LIST
,
OrderListBean
.
class
,
bodyMap
,
headMap
,
mPage
==
1
?
true
:
false
);
}
@Override
public
void
onRefresh
()
{
mPage
=
1
;
getConsumeRecordData
(
1
);
}
@Override
public
void
onLoadMoreRequested
()
{
if
(
mPage
>=
pageCount
)
{
adapter
.
loadMoreEnd
();
}
else
{
mPage
+=
1
;
getConsumeRecordData
(
2
);
}
}
private
ConsumeRecordListAdapter
.
ConsumeListener
mClickListener
=
new
ConsumeRecordListAdapter
.
ConsumeListener
()
{
@Override
public
void
click
(
OrderListBean
.
DataBeanX
.
DataBean
bean
)
{
if
(
bean
!=
null
)
{
startActivity
(
OrderDetailActivity
.
getIntent
(
getContext
(),
bean
));
}
}
};
}
plugin_member/src/main/java/com/rv.member/view/FreeDayProgressView.java
0 → 100644
View file @
b4102c68
package
com
.
rv
.
member
.
view
;
import
android.content.Context
;
import
android.graphics.Canvas
;
import
android.graphics.Color
;
import
android.graphics.Paint
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
com.ruiwenliu.wrapper.util.ScaleUtils
;
/***********
* 大概逻辑
* 1 计算出view的宽度
* 2 画圆(左圆和右圆)
* 3 根据进度(progress)计算出黄线起始坐标和结束左边,画黄色
* 4 画灰线
* 5 在左边和右边绘制文字
* 6 提供进度的水平位置
*/
public
class
FreeDayProgressView
extends
View
{
private
int
total
=
0
;
private
int
progress
=
0
;
private
int
width
;
private
int
height
;
private
Paint
cirPaint
;
// 圆的画笔
private
Paint
remPaint
;
// 剩余天数画笔
private
float
progressWidth
=
0
;
private
int
cicleRidius
;
// 圆半径
private
int
lineWidth
;
private
float
drawLength
;
private
DrawListener
mDrawListener
;
public
FreeDayProgressView
(
Context
context
)
{
super
(
context
);
}
public
FreeDayProgressView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
initParameter
();
initPaint
();
}
/******
*
*/
private
void
initParameter
()
{
cicleRidius
=
ScaleUtils
.
dip2px
(
getContext
(),
5
);
lineWidth
=
ScaleUtils
.
dip2px
(
getContext
(),
2
);
}
/********
* 初始化画笔
*/
private
void
initPaint
()
{
cirPaint
=
new
Paint
();
cirPaint
.
setColor
(
Color
.
parseColor
(
"#FFB74B"
));
cirPaint
.
setStrokeWidth
(
lineWidth
);
cirPaint
.
setAntiAlias
(
true
);
remPaint
=
new
Paint
();
remPaint
.
setColor
(
Color
.
parseColor
(
"#cccccc"
));
remPaint
.
setStrokeWidth
(
lineWidth
);
remPaint
.
setTextSize
(
ScaleUtils
.
sp2px
(
getContext
(),
12
));
remPaint
.
setAntiAlias
(
true
);
}
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
super
.
onMeasure
(
widthMeasureSpec
,
heightMeasureSpec
);
width
=
MeasureSpec
.
getSize
(
widthMeasureSpec
);
height
=
MeasureSpec
.
getSize
(
heightMeasureSpec
);
}
@Override
protected
void
onDraw
(
Canvas
canvas
)
{
super
.
onDraw
(
canvas
);
canvas
.
drawCircle
(
cicleRidius
,
cicleRidius
,
cicleRidius
,
cirPaint
);
// 画起始圆
canvas
.
drawCircle
(
width
-
cicleRidius
,
cicleRidius
,
cicleRidius
,
cirPaint
);
// 画结束的圆
canvas
.
drawLine
(
cicleRidius
*
2
,
cicleRidius
,
drawLength
+
cicleRidius
*
2
,
cicleRidius
,
cirPaint
);
canvas
.
drawLine
(
drawLength
+
cicleRidius
*
2
,
cicleRidius
,
width
-
cicleRidius
*
2
,
cicleRidius
,
remPaint
);
canvas
.
drawText
(
"0"
,
0
,
cicleRidius
*
2
+
ScaleUtils
.
dip2px
(
getContext
(),
12
),
remPaint
);
canvas
.
drawText
(
total
+
""
,
width
-
remPaint
.
measureText
(
total
+
""
),
cicleRidius
*
2
+
ScaleUtils
.
dip2px
(
getContext
(),
12
),
remPaint
);
observeDraw
();
}
/**********
* 观察绘制流程
*/
private
void
observeDraw
()
{
if
(
drawLength
<
progressWidth
)
{
drawLength
=
drawLength
+
5
;
drawLength
=
drawLength
>
progressWidth
?
progressWidth
:
drawLength
;
invalidate
();
return
;
}
if
(
mDrawListener
!=
null
)
{
mDrawListener
.
drawFinish
((
int
)
progressWidth
);
}
}
/******
* 设置进度
* @param progress
*/
public
void
setData
(
int
total
,
int
progress
)
{
this
.
total
=
total
>
0
?
total
:
0
;
this
.
progress
=
progress
>
total
?
total
:
(
progress
<
0
?
0
:
progress
);
if
(
total
!=
0
)
{
progressWidth
=
progress
/
(
total
*
1.0f
)
*
width
;
}
invalidate
();
}
/******
* 设置进度
* @param progress
*/
public
void
setData
(
int
total
,
int
progress
,
DrawListener
listener
)
{
this
.
mDrawListener
=
listener
;
setData
(
total
,
progress
);
}
public
interface
DrawListener
{
void
drawFinish
(
int
progressWidth
);
}
}
plugin_member/src/main/res/layout/activity_consume_record.xml
0 → 100644
View file @
b4102c68
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/gray_EEEEEE"
android:orientation=
"vertical"
tools:context=
".ConsumeRecordActivity"
>
<include
layout=
"@layout/common_refresh"
/>
</LinearLayout>
\ No newline at end of file
plugin_member/src/main/res/layout/activity_frees_day.xml
0 → 100644
View file @
b4102c68
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
".FreesDayActivity"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/colorMain"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
>
<com.base.utils.ui.image.round.RoundImageView
android:id=
"@+id/iv_avatar"
android:layout_width=
"@dimen/size_60"
android:layout_height=
"@dimen/size_60"
android:layout_marginTop=
"@dimen/size_20"
android:src=
"@drawable/common_icon_avatar_default"
/>
<TextView
android:id=
"@+id/tv_nickname"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_10"
android:textColor=
"@color/colorYellow"
android:textSize=
"@dimen/text_16"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:id=
"@+id/tv_has_use_day"
android:layout_width=
"@dimen/size_60"
android:layout_height=
"@dimen/size_25"
android:layout_gravity=
"left"
android:gravity=
"center"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_12"
android:visibility=
"gone"
/>
</LinearLayout>
<com.rv.member.view.FreeDayProgressView
android:id=
"@+id/progress_view"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_30"
android:layout_marginLeft=
"@dimen/size_30"
android:layout_marginRight=
"@dimen/size_30"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_20"
android:orientation=
"horizontal"
android:weightSum=
"3"
>
<TextView
android:id=
"@+id/tv_all_day"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:textColor=
"@color/gray_EEEEEE"
android:textSize=
"@dimen/sp_14"
/>
<TextView
android:id=
"@+id/tv_use_day"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:textColor=
"@color/gray_EEEEEE"
android:textSize=
"@dimen/sp_14"
/>
<TextView
android:id=
"@+id/tv_remain_day"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:textColor=
"@color/gray_EEEEEE"
android:textSize=
"@dimen/sp_14"
/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_48"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentLeft=
"true"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/size_20"
android:gravity=
"center_vertical"
android:text=
"赠送好友免费用车"
android:textColor=
"@color/color_999"
/>
<Button
android:id=
"@+id/btn_give"
android:layout_width=
"@dimen/size_80"
android:layout_height=
"@dimen/size_25"
android:layout_alignParentRight=
"true"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"@dimen/size_20"
android:background=
"@drawable/shape_rv_bg_dark_yellow"
android:gravity=
"center"
android:text=
"赠送"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_12"
/>
</RelativeLayout>
<include
layout=
"@layout/common_line"
/>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/recyclerview"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/colorWrite"
/>
<include
layout=
"@layout/common_line"
/>
<android.support.v4.view.ViewPager
android:id=
"@+id/viewpager"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
plugin_member/src/main/res/layout/activity_purchase_record.xml
0 → 100644
View file @
b4102c68
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".PurchaseRecordActivity"
>
<include
layout=
"@layout/common_refresh"
/>
</LinearLayout>
\ No newline at end of file
plugin_member/src/main/res/layout/item_consume_record.xml
0 → 100644
View file @
b4102c68
<?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:background=
"@color/gray_EEEEEE"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_consume_time"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_30"
android:gravity=
"bottom"
android:paddingLeft=
"@dimen/dp_10"
android:paddingBottom=
"@dimen/size_3"
android:text=
"下单时间"
android:textColor=
"@color/color_999"
android:textSize=
"@dimen/sp_12"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"vertical"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_5"
android:paddingLeft=
"@dimen/dp_10"
android:paddingRight=
"@dimen/dp_10"
>
<TextView
android:id=
"@+id/tv_location"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentLeft=
"true"
android:text=
"东莞-东莞"
android:textColor=
"@color/color_999"
android:textSize=
"@dimen/sp_12"
/>
<TextView
android:id=
"@+id/tv_state"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:text=
"待出行"
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp_12"
/>
</RelativeLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_marginTop=
"@dimen/size_5"
android:layout_marginRight=
"@dimen/size_10"
android:layout_marginBottom=
"7dp"
android:orientation=
"horizontal"
>
<FrameLayout
android:layout_width=
"75dp"
android:layout_height=
"75dp"
>
<ImageView
android:id=
"@+id/img_car_type"
android:layout_width=
"75dp"
android:layout_height=
"75dp"
android:scaleType=
"fitXY"
/>
<TextView
android:id=
"@+id/tv_member_right"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/bg_use_type"
android:paddingLeft=
"@dimen/size_5"
android:paddingTop=
"@dimen/size_3"
android:paddingRight=
"@dimen/size_5"
android:paddingBottom=
"@dimen/size_3"
android:text=
"免费3天"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_12"
/>
</FrameLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_3"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_car_type"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"大通自行式C型房车"
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp_16"
android:textStyle=
"normal"
/>
<TextView
android:id=
"@+id/tv_get_info"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_3"
android:drawableLeft=
"@drawable/rentingcar_icon_piccar"
android:drawablePadding=
"@dimen/size_3"
android:text=
"xxxxxxxx"
android:textColor=
"@color/color_999"
android:textSize=
"@dimen/size_10"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_return_info"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:drawableLeft=
"@drawable/rentingcar_icon_retcar"
android:drawablePadding=
"@dimen/size_3"
android:text=
"xxxxxxxx"
android:textColor=
"@color/color_999"
android:textSize=
"@dimen/size_10"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_price"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_5"
android:text=
"¥2000"
android:textColor=
"#f25b5b"
android:textSize=
"@dimen/sp_14"
android:textStyle=
"bold"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
plugin_member/src/main/res/values/colors.xml
0 → 100644
View file @
b4102c68
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color
name=
"white"
>
#ffffff
</color>
<color
name=
"color_999"
>
#999999
</color>
</resources>
plugin_member/src/main/res/values/strings.xml
View file @
b4102c68
...
...
@@ -9,4 +9,12 @@
<string
name=
"tv_please_wait"
>
敬请期待
</string>
<string
name=
"tv_login"
>
登录
</string>
<string
name=
"tv_title_consume_record"
>
消费记录
</string>
<string
name=
"tv_no_consume_data"
>
无消费记录
</string>
<string-array
name=
"free_day_list"
>
<item>
使用明细
</item>
<item>
赠送明细
</item>
<item>
总天数明细
</item>
</string-array>
</resources>
plugin_version/src/main/java/com/rv/version/util/DownloadAppUtils.java
View file @
b4102c68
...
...
@@ -24,13 +24,7 @@ public class DownloadAppUtils {
String
packageName
=
context
.
getPackageName
();
String
rootPath
=
null
;
if
(
Environment
.
getExternalStorageState
().
equals
(
Environment
.
MEDIA_MOUNTED
))
{
//外部存储卡
rootPath
=
Environment
.
getExternalStorageDirectory
()
+
File
.
separator
+
Environment
.
DIRECTORY_DOWNLOADS
+
File
.
separator
+
packageName
+
File
.
separator
;
}
else
{
Toast
.
makeText
(
context
,
"没有SD卡"
,
Toast
.
LENGTH_SHORT
).
show
();
Log
.
i
(
TAG
,
"没有SD卡"
);
return
;
}
rootPath
=
context
.
getExternalCacheDir
().
getPath
()
+
File
.
separator
+
Environment
.
DIRECTORY_DOWNLOADS
+
File
.
separator
;
send
(
context
,
-
1
,
serverVersionName
);
File
file
=
new
File
(
rootPath
);
if
(!
file
.
exists
())
{
...
...
plugin_version/src/main/res/layout/dialog_update_view.xml
View file @
b4102c68
...
...
@@ -2,7 +2,7 @@
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center
_horizontal
"
android:gravity=
"center"
android:orientation=
"vertical"
>
<LinearLayout
...
...
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