Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TangKuPos
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
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
王海
TangKuPos
Commits
8afa25ee
Commit
8afa25ee
authored
Jan 04, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
6e81cf77
c53d86cf
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
474 additions
and
126 deletions
+474
-126
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+1
-0
app/src/main/java/com/xingdata/zzdpos/model/Ticket.java
app/src/main/java/com/xingdata/zzdpos/model/Ticket.java
+15
-1
app/src/main/java/com/xingdata/zzdpos/model/VipRechargeOrder.java
...main/java/com/xingdata/zzdpos/model/VipRechargeOrder.java
+15
-1
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentActivity.java
...zzdpos/ui/manage/replenishment/ReplenishmentActivity.java
+15
-0
app/src/main/java/com/xingdata/zzdpos/ui/splash/SplashActivity.java
...in/java/com/xingdata/zzdpos/ui/splash/SplashActivity.java
+0
-1
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
...om/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
+3
-3
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsGroupAdapter.java
.../zzdpos/ui/statistics/adapter/StatisticsGroupAdapter.java
+0
-32
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsOrderGroupAdapter.java
...os/ui/statistics/adapter/StatisticsOrderGroupAdapter.java
+81
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsRechargeGroupAdapter.java
...ui/statistics/adapter/StatisticsRechargeGroupAdapter.java
+45
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsTicketGroupAdapter.java
...s/ui/statistics/adapter/StatisticsTicketGroupAdapter.java
+42
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/StatisticsTitleFragment.java
...zdpos/ui/statistics/fragment/StatisticsTitleFragment.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/ms/RechargeListFragment.java
...zdpos/ui/statistics/fragment/ms/RechargeListFragment.java
+68
-17
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/ms/UsedTicketListFragment.java
...pos/ui/statistics/fragment/ms/UsedTicketListFragment.java
+61
-19
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/order/OrderListFragment.java
...zdpos/ui/statistics/fragment/order/OrderListFragment.java
+63
-19
app/src/main/java/com/xingdata/zzdpos/util/StringUtil.java
app/src/main/java/com/xingdata/zzdpos/util/StringUtil.java
+1
-0
app/src/main/res/layout/activity_replenishment.xml
app/src/main/res/layout/activity_replenishment.xml
+9
-0
app/src/main/res/layout/dialog_integral_get_setting.xml
app/src/main/res/layout/dialog_integral_get_setting.xml
+1
-1
app/src/main/res/layout/dialog_ticket_add_setting.xml
app/src/main/res/layout/dialog_ticket_add_setting.xml
+2
-2
app/src/main/res/layout/fragment_ms_list.xml
app/src/main/res/layout/fragment_ms_list.xml
+0
-1
app/src/main/res/layout/fragment_order_list.xml
app/src/main/res/layout/fragment_order_list.xml
+27
-27
app/src/main/res/layout/item_marketing_menu.xml
app/src/main/res/layout/item_marketing_menu.xml
+1
-1
app/src/main/res/layout/item_string_head.xml
app/src/main/res/layout/item_string_head.xml
+23
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
8afa25ee
...
...
@@ -92,6 +92,7 @@
android:name=
".ui.manage.manageMenu.ManageMenuActivity"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode=
"adjustUnspecified|stateHidden"
/>
<activity
android:name=
".ui.manage.replenishment.ReplenishmentActivity"
></activity>
</application>
</manifest>
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/model/Ticket.java
View file @
8afa25ee
package
com
.
xingdata
.
zzdpos
.
model
;
import
android.provider.MediaStore
;
import
com.chad.library.adapter.base.entity.SectionEntity
;
import
com.xingdata.zzdpos.base.BaseBean
;
import
java.util.Date
;
public
class
Ticket
implements
BaseBean
{
public
class
Ticket
extends
SectionEntity
<
MediaStore
.
Video
>
implements
BaseBean
{
private
boolean
isSelected
;
...
...
@@ -16,9 +19,19 @@ public class Ticket implements BaseBean {
isSelected
=
selected
;
}
public
Ticket
(
boolean
isHeader
,
String
header
)
{
super
(
isHeader
,
header
);
}
public
Ticket
(
MediaStore
.
Video
video
)
{
super
(
video
);
}
public
Ticket
()
{
super
(
false
,
""
);
}
/**
* 创建默认优惠卷(无优惠)
*
...
...
@@ -32,6 +45,7 @@ public class Ticket implements BaseBean {
@Deprecated
public
Ticket
(
Long
l
)
{
super
(
false
,
""
);
this
.
id
=
l
;
this
.
ticketNo
=
l
;
this
.
ticketValAmt
=
0L
;
...
...
app/src/main/java/com/xingdata/zzdpos/model/VipRechargeOrder.java
View file @
8afa25ee
package
com
.
xingdata
.
zzdpos
.
model
;
import
android.provider.MediaStore
;
import
com.chad.library.adapter.base.entity.SectionEntity
;
import
com.xingdata.api.print.entity.BaseGoodPrint
;
import
com.xingdata.api.print.entity.BaseOrderPrint
;
import
com.xingdata.zzdpos.base.BaseBean
;
...
...
@@ -12,7 +15,7 @@ import java.util.List;
* Created by Administrator on 2017/12/15.
*/
public
class
VipRechargeOrder
implements
BaseOrderPrint
,
BaseBean
{
public
class
VipRechargeOrder
extends
SectionEntity
<
MediaStore
.
Video
>
implements
BaseOrderPrint
,
BaseBean
{
private
Long
cardAmtPay
;
private
Long
cardAmtSend
;
private
String
orderNo
;
...
...
@@ -23,6 +26,17 @@ public class VipRechargeOrder implements BaseOrderPrint, BaseBean {
private
String
vipMobile
;
private
Long
createTime
;
public
VipRechargeOrder
(
boolean
isHeader
,
String
header
)
{
super
(
isHeader
,
header
);
}
public
VipRechargeOrder
(
MediaStore
.
Video
video
)
{
super
(
video
);
}
public
VipRechargeOrder
()
{
super
(
false
,
""
);
}
public
Long
getCreateTime
()
{
return
createTime
;
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentActivity.java
0 → 100644
View file @
8afa25ee
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
replenishment
;
import
android.support.v7.app.AppCompatActivity
;
import
android.os.Bundle
;
import
com.xingdata.zzdpos.R
;
public
class
ReplenishmentActivity
extends
AppCompatActivity
{
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_replenishment
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/splash/SplashActivity.java
View file @
8afa25ee
...
...
@@ -92,7 +92,6 @@ public class SplashActivity extends BaseActivity<com.xingdata.zzdpos.ui.splash.S
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
View file @
8afa25ee
...
...
@@ -49,7 +49,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
})
.
subscribe
(
orderlist
->
{
fragment
.
setData
(
orderlist
,
orderlist
.
isFirstPage
()
);
fragment
.
setData
(
orderlist
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
...
...
@@ -77,7 +77,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
mView
.
isShowLoading
(
true
);
ApiFactory
.
Rctrace
.
queryRecharge
(
pageNumber
,
nowPageSize
).
doFinally
(()->
mView
.
isShowLoading
(
false
))
.
subscribe
(
vipRechargeOrderPager
->
{
msListFragment
.
setData
(
vipRechargeOrderPager
,
vipRechargeOrderPager
.
isFirstPage
()
);
msListFragment
.
setData
(
vipRechargeOrderPager
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
...
...
@@ -104,7 +104,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
mView
.
isShowLoading
(
true
);
ApiFactory
.
Ticket
.
query
(
pageNumber
,
nowPageSize
,
2
).
doFinally
(()->
mView
.
isShowLoading
(
false
))
.
subscribe
(
ticketPager
->
{
msListFragment
.
setData
(
ticketPager
,
ticketPager
.
isFirstPage
()
);
msListFragment
.
setData
(
ticketPager
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsGroupAdapter.java
deleted
100644 → 0
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
adapter
;
import
android.support.v7.widget.RecyclerView
;
import
com.chad.library.adapter.base.BaseSectionQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
java.util.List
;
/**
* Created by Administrator on 2017/12/26.
*/
public
class
StatisticsGroupAdapter
extends
BaseSectionQuickAdapter
<
Saleorder
,
BaseViewHolder
>
{
public
StatisticsGroupAdapter
(
int
layoutResId
,
int
sectionHeadResId
,
List
<
Saleorder
>
data
)
{
super
(
layoutResId
,
sectionHeadResId
,
data
);
}
@Override
protected
void
convertHead
(
com
.
chad
.
library
.
adapter
.
base
.
BaseViewHolder
helper
,
Saleorder
item
)
{
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
Saleorder
item
)
{
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsOrderGroupAdapter.java
0 → 100644
View file @
8afa25ee
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
adapter
;
import
android.widget.ImageView
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.chad.library.adapter.base.BaseSectionQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
/**
* Created by Administrator on 2017/12/26.
*/
public
class
StatisticsOrderGroupAdapter
extends
BaseSectionQuickAdapter
<
Saleorder
,
BaseViewHolder
>
{
public
StatisticsOrderGroupAdapter
(
List
<
Saleorder
>
data
)
{
super
(
R
.
layout
.
item_statistics
,
R
.
layout
.
item_string_head
,
data
);
}
@Override
protected
void
convertHead
(
BaseViewHolder
helper
,
Saleorder
item
)
{
helper
.
setText
(
R
.
id
.
item_tv
,
item
.
header
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
Saleorder
item
)
{
if
(
item
.
getFirstName
()
!=
null
)
{
helper
.
setText
(
R
.
id
.
tv_left_top
,
item
.
getFirstName
());
}
else
{
helper
.
setText
(
R
.
id
.
tv_left_top
,
item
.
getOrderNo
());
}
if
(
item
.
getOrderPayAmt
()
>
0
)
{
helper
.
setText
(
R
.
id
.
tv_right_top
,
"+"
+
item
.
getPayAmt
());
}
else
{
helper
.
setText
(
R
.
id
.
tv_right_top
,
item
.
getPayAmt
());
}
helper
.
setText
(
R
.
id
.
tv_left_bottom
,
com
.
blankj
.
utilcode
.
util
.
TimeUtils
.
millis2String
(
item
.
getCreateTime
(),
new
SimpleDateFormat
(
StringUtil
.
mmddhhmmmDatePattern
)));
switch
(
item
.
getPayType
())
{
case
C
.
PAY_CHANNEL
.
CASH
:
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
pay_cash
);
break
;
case
C
.
PAY_CHANNEL
.
WECHAT
:
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
pay_wechat
);
break
;
case
C
.
PAY_CHANNEL
.
ALI
:
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
pay_alipay
);
break
;
case
C
.
PAY_CHANNEL
.
BANK
:
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
pay_card
);
break
;
case
C
.
PAY_CHANNEL
.
CARD
:
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
pay_membershipcard
);
break
;
case
C
.
PAY_CHANNEL
.
TALLY
:
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
pay_credit
);
break
;
}
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsRechargeGroupAdapter.java
0 → 100644
View file @
8afa25ee
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
adapter
;
import
android.support.v7.widget.RecyclerView
;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseSectionQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
/**
* Created by Administrator on 2017/12/26.
*/
public
class
StatisticsRechargeGroupAdapter
extends
BaseSectionQuickAdapter
<
VipRechargeOrder
,
BaseViewHolder
>
{
public
StatisticsRechargeGroupAdapter
(
List
<
VipRechargeOrder
>
data
)
{
super
(
R
.
layout
.
item_statistics
,
R
.
layout
.
item_string_head
,
data
);
}
@Override
protected
void
convertHead
(
com
.
chad
.
library
.
adapter
.
base
.
BaseViewHolder
helper
,
VipRechargeOrder
item
)
{
helper
.
setText
(
R
.
id
.
item_tv
,
item
.
header
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
VipRechargeOrder
item
)
{
helper
.
setText
(
R
.
id
.
tv_left_top
,
item
.
getUserName
());
helper
.
setText
(
R
.
id
.
tv_left_bottom
,
com
.
blankj
.
utilcode
.
util
.
TimeUtils
.
millis2String
(
item
.
getCreateTime
(),
new
SimpleDateFormat
(
StringUtil
.
mmddhhmmmDatePattern
)));
helper
.
setText
(
R
.
id
.
tv_right_top
,
"+"
+
ConvertUtil
.
fenToYuan
(
item
.
getCardAmtPay
(),
false
));
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
ic_text_recharge
);
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsTicketGroupAdapter.java
0 → 100644
View file @
8afa25ee
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
adapter
;
import
android.widget.ImageView
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.chad.library.adapter.base.BaseSectionQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
/**
* Created by Administrator on 2017/12/26.
*/
public
class
StatisticsTicketGroupAdapter
extends
BaseSectionQuickAdapter
<
Ticket
,
BaseViewHolder
>
{
public
StatisticsTicketGroupAdapter
(
List
<
Ticket
>
data
)
{
super
(
R
.
layout
.
item_statistics
,
R
.
layout
.
item_string_head
,
data
);
}
@Override
protected
void
convertHead
(
BaseViewHolder
helper
,
Ticket
item
)
{
helper
.
setText
(
R
.
id
.
item_tv
,
item
.
header
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
Ticket
item
)
{
helper
.
setText
(
R
.
id
.
tv_left_top
,
ConvertUtil
.
fenToYuanNoZero
(
item
.
getTicketValAmt
())
+
"元优惠券"
);
helper
.
setText
(
R
.
id
.
tv_left_bottom
,
TimeUtils
.
date2String
(
item
.
getCreateTime
(),
new
SimpleDateFormat
(
StringUtil
.
mmddhhmmmDatePattern
)));
((
ImageView
)
helper
.
getView
(
R
.
id
.
img_left
)).
setImageResource
(
R
.
mipmap
.
ic_text_ticket
);
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/StatisticsTitleFragment.java
View file @
8afa25ee
...
...
@@ -225,7 +225,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
return
true
;
}
if
(
mTicketSearchFragment
.
isAdded
())
{
FragmentUtils
.
remove
(
m
Recharge
SearchFragment
);
FragmentUtils
.
remove
(
m
Ticket
SearchFragment
);
return
true
;
}
mViewBinding
.
icTitle
.
edTitle
.
setText
(
""
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/ms/RechargeListFragment.java
View file @
8afa25ee
...
...
@@ -6,6 +6,7 @@ import android.support.v7.widget.LinearLayoutManager;
import
android.view.View
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
...
...
@@ -14,14 +15,23 @@ import com.xingdata.zzdpos.model.Pager;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsPresenter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsRechargeAdapter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsRechargeGroupAdapter
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.functions.Action
;
import
io.reactivex.schedulers.Schedulers
;
public
class
RechargeListFragment
extends
BaseFragment
<
StatisticsPresenter
,
FragmentMsListBinding
>
{
private
StatisticsRecharge
Adapter
mStatisticsRecharge
Adapter
;
private
StatisticsRecharge
GroupAdapter
mStatisticsGroup
Adapter
;
private
int
pagerNum
;
private
String
monthDate
;
@Override
...
...
@@ -33,30 +43,36 @@ public class RechargeListFragment extends BaseFragment<StatisticsPresenter, Frag
public
void
initView
()
{
pagerNum
=
1
;
mViewBinding
.
tvEmpty
.
setText
(
R
.
string
.
statistics_search_empty_recharge
);
if
(
mStatistics
Recharge
Adapter
==
null
)
{
mStatistics
RechargeAdapter
=
new
StatisticsRecharge
Adapter
(
new
ArrayList
<>());
if
(
mStatistics
Group
Adapter
==
null
)
{
mStatistics
GroupAdapter
=
new
StatisticsRechargeGroup
Adapter
(
new
ArrayList
<>());
mViewBinding
.
statisticsRecycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Recharge
Adapter
);
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Group
Adapter
);
}
else
{
mViewBinding
.
statisticsRecycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Recharge
Adapter
);
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Group
Adapter
);
}
mStatistics
Recharge
Adapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
mStatistics
Group
Adapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
Intent
intent
=
new
Intent
(
getActivity
(),
StatisticsDetailActivity
.
class
);
intent
.
putExtra
(
VipRechargeOrder
.
class
.
getName
(),
mStatisticsRechargeAdapter
.
getData
().
get
(
position
));
ActivityUtils
.
startActivity
(
intent
);
if
(!
mStatisticsGroupAdapter
.
getData
().
get
(
position
).
isHeader
)
{
Intent
intent
=
new
Intent
(
getActivity
(),
StatisticsDetailActivity
.
class
);
intent
.
putExtra
(
VipRechargeOrder
.
class
.
getName
(),
mStatisticsGroupAdapter
.
getData
().
get
(
position
));
ActivityUtils
.
startActivity
(
intent
);
}
}
});
mViewBinding
.
srlProduct
.
setOnRefreshListener
(
this
::
onRefresh
);
mStatistics
Recharge
Adapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
statisticsRecycler
);
mStatistics
Group
Adapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
statisticsRecycler
);
mPresenter
.
getRechargeList
(
pagerNum
,
this
);
}
private
void
onRefresh
()
{
...
...
@@ -78,15 +94,15 @@ public class RechargeListFragment extends BaseFragment<StatisticsPresenter, Frag
*/
public
void
setData
(
Pager
<
VipRechargeOrder
>
pager
,
boolean
isRefresh
)
{
if
(
isRefresh
)
{
mStatistics
Recharge
Adapter
.
setEnableLoadMore
(
true
);
mStatistics
Group
Adapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
srlProduct
.
setRefreshing
(
false
);
}
if
(
isRefresh
)
mStatistics
Recharge
Adapter
.
setNewData
(
pager
.
getList
());
else
if
(
pager
.
getList
().
size
()
>
0
)
mStatistics
Recharge
Adapter
.
addData
(
pager
.
getList
());
if
(
pager
.
isLastPage
())
mStatistics
Recharge
Adapter
.
loadMoreEnd
(
isRefresh
);
else
mStatistics
Recharge
Adapter
.
loadMoreComplete
();
if
(
isRefresh
)
mStatistics
Group
Adapter
.
setNewData
(
pager
.
getList
());
else
if
(
pager
.
getList
().
size
()
>
0
)
mStatistics
Group
Adapter
.
addData
(
pager
.
getList
());
if
(
pager
.
isLastPage
())
mStatistics
Group
Adapter
.
loadMoreEnd
(
isRefresh
);
else
mStatistics
Group
Adapter
.
loadMoreComplete
();
if
(
mStatistics
Recharge
Adapter
.
getData
().
size
()
==
0
)
{
if
(
mStatistics
Group
Adapter
.
getData
().
size
()
==
0
)
{
mViewBinding
.
llEmpty
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
statisticsRecycler
.
setVisibility
(
View
.
GONE
);
}
else
{
...
...
@@ -95,9 +111,44 @@ public class RechargeListFragment extends BaseFragment<StatisticsPresenter, Frag
}
}
public
void
setData
(
Pager
<
VipRechargeOrder
>
pager
)
{
if
(
pager
.
isFirstPage
())
{
monthDate
=
""
;
}
io
.
reactivex
.
Observable
.
create
(
new
ObservableOnSubscribe
<
Pager
<
VipRechargeOrder
>>()
{
@Override
public
void
subscribe
(
ObservableEmitter
<
Pager
<
VipRechargeOrder
>>
e
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
pager
.
getList
().
size
();
i
++)
{
String
m
=
TimeUtils
.
millis2String
(
pager
.
getList
().
get
(
i
).
getCreateTime
(),
new
SimpleDateFormat
(
StringUtil
.
defaultDatePattern
));
if
(!
m
.
equals
(
monthDate
))
{
monthDate
=
m
;
pager
.
getList
().
add
(
i
,
new
VipRechargeOrder
(
true
,
monthDate
+
""
));
i
++;
}
}
e
.
onComplete
();
}
}).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
doOnComplete
(
new
Action
()
{
@Override
public
void
run
()
throws
Exception
{
setData
(
pager
,
pager
.
isFirstPage
());
}
}).
subscribe
();
}
@Override
public
String
getTabTitle
()
{
return
"充值记录"
;
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/ms/UsedTicketListFragment.java
View file @
8afa25ee
...
...
@@ -6,6 +6,7 @@ import android.support.v7.widget.LinearLayoutManager;
import
android.view.View
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
...
...
@@ -14,17 +15,25 @@ import com.xingdata.zzdpos.model.Pager;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsPresenter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsTicketAdapter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsTicketAdapter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsRechargeGroupAdapter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsTicketGroupAdapter
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.functions.Action
;
import
io.reactivex.schedulers.Schedulers
;
public
class
UsedTicketListFragment
extends
BaseFragment
<
StatisticsPresenter
,
FragmentMsListBinding
>
{
private
StatisticsTicket
Adapter
mStatisticsTicket
Adapter
;
private
StatisticsTicket
GroupAdapter
mStatisticsGroup
Adapter
;
private
int
pagerNum
;
private
String
monthDate
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -36,27 +45,30 @@ public class UsedTicketListFragment extends BaseFragment<StatisticsPresenter, Fr
pagerNum
=
1
;
mViewBinding
.
tvEmpty
.
setText
(
R
.
string
.
statistics_search_empty_ticket
);
if
(
mStatistics
Ticket
Adapter
==
null
)
{
mStatistics
TicketAdapter
=
new
StatisticsTicket
Adapter
(
new
ArrayList
<>());
if
(
mStatistics
Group
Adapter
==
null
)
{
mStatistics
GroupAdapter
=
new
StatisticsTicketGroup
Adapter
(
new
ArrayList
<>());
mViewBinding
.
statisticsRecycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Ticket
Adapter
);
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Group
Adapter
);
}
else
{
mViewBinding
.
statisticsRecycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Ticket
Adapter
);
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatistics
Group
Adapter
);
}
mStatistics
Ticket
Adapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
mStatistics
Group
Adapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
Intent
intent
=
new
Intent
(
getActivity
(),
StatisticsDetailActivity
.
class
);
intent
.
putExtra
(
Ticket
.
class
.
getName
(),
mStatisticsTicketAdapter
.
getData
().
get
(
position
));
ActivityUtils
.
startActivity
(
intent
);
if
(!
mStatisticsGroupAdapter
.
getData
().
get
(
position
).
isHeader
)
{
Intent
intent
=
new
Intent
(
getActivity
(),
StatisticsDetailActivity
.
class
);
intent
.
putExtra
(
Ticket
.
class
.
getName
(),
mStatisticsGroupAdapter
.
getData
().
get
(
position
));
ActivityUtils
.
startActivity
(
intent
);
}
}
});
mViewBinding
.
srlProduct
.
setOnRefreshListener
(
this
::
onRefresh
);
mStatistics
Ticket
Adapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
statisticsRecycler
);
mStatistics
Group
Adapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
statisticsRecycler
);
mPresenter
.
getTicketList
(
pagerNum
,
this
);
}
...
...
@@ -80,15 +92,15 @@ public class UsedTicketListFragment extends BaseFragment<StatisticsPresenter, Fr
*/
public
void
setData
(
Pager
<
Ticket
>
pager
,
boolean
isRefresh
)
{
if
(
isRefresh
)
{
mStatistics
Ticket
Adapter
.
setEnableLoadMore
(
true
);
mStatistics
Group
Adapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
srlProduct
.
setRefreshing
(
false
);
}
if
(
isRefresh
)
mStatistics
Ticket
Adapter
.
setNewData
(
pager
.
getList
());
else
if
(
pager
.
getList
().
size
()
>
0
)
mStatistics
Ticket
Adapter
.
addData
(
pager
.
getList
());
if
(
pager
.
isLastPage
())
mStatistics
Ticket
Adapter
.
loadMoreEnd
(
isRefresh
);
else
mStatistics
Ticket
Adapter
.
loadMoreComplete
();
if
(
isRefresh
)
mStatistics
Group
Adapter
.
setNewData
(
pager
.
getList
());
else
if
(
pager
.
getList
().
size
()
>
0
)
mStatistics
Group
Adapter
.
addData
(
pager
.
getList
());
if
(
pager
.
isLastPage
())
mStatistics
Group
Adapter
.
loadMoreEnd
(
isRefresh
);
else
mStatistics
Group
Adapter
.
loadMoreComplete
();
if
(
mStatistics
Ticket
Adapter
.
getData
().
size
()
==
0
)
{
if
(
mStatistics
Group
Adapter
.
getData
().
size
()
==
0
)
{
mViewBinding
.
llEmpty
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
statisticsRecycler
.
setVisibility
(
View
.
GONE
);
}
else
{
...
...
@@ -97,6 +109,36 @@ public class UsedTicketListFragment extends BaseFragment<StatisticsPresenter, Fr
}
}
public
void
setData
(
Pager
<
Ticket
>
pager
)
{
if
(
pager
.
isFirstPage
())
{
monthDate
=
""
;
}
io
.
reactivex
.
Observable
.
create
(
new
ObservableOnSubscribe
<
Pager
<
Ticket
>>()
{
@Override
public
void
subscribe
(
ObservableEmitter
<
Pager
<
Ticket
>>
e
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
pager
.
getList
().
size
();
i
++)
{
String
m
=
TimeUtils
.
date2String
(
pager
.
getList
().
get
(
i
).
getCreateTime
(),
new
SimpleDateFormat
(
StringUtil
.
defaultDatePattern
));
if
(!
m
.
equals
(
monthDate
))
{
monthDate
=
m
;
pager
.
getList
().
add
(
i
,
new
Ticket
(
true
,
monthDate
+
""
));
i
++;
}
}
e
.
onComplete
();
}
}).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
doOnComplete
(
new
Action
()
{
@Override
public
void
run
()
throws
Exception
{
setData
(
pager
,
pager
.
isFirstPage
());
}
}).
subscribe
();
}
@Override
public
String
getTabTitle
()
{
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/order/OrderListFragment.java
View file @
8afa25ee
...
...
@@ -8,6 +8,7 @@ import android.view.View;
import
com.alibaba.fastjson.JSON
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
...
...
@@ -21,18 +22,29 @@ import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import
com.xingdata.zzdpos.ui.statistics.StatisticsPresenter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderAdapter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderGroupAdapter
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.List
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.functions.Action
;
import
io.reactivex.schedulers.Schedulers
;
public
class
OrderListFragment
extends
BaseFragment
<
StatisticsPresenter
,
FragmentOrderListBinding
>
{
private
StatisticsOrderAdapter
mStatisticsAdapter
;
private
StatisticsOrder
Group
Adapter
mStatisticsAdapter
;
private
Long
monthDateStart
;
private
Long
monthDateEnd
;
private
int
pagerNum
;
private
String
monthDate
;
public
OrderListFragment
setDate
(
Long
end
,
Long
start
)
{
monthDateStart
=
start
;
...
...
@@ -49,27 +61,27 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen
@Override
public
void
initView
()
{
pagerNum
=
1
;
Calendar
calendar
=
Calendar
.
getInstance
();
//获得当前时间的月份,月份从0开始所以结果要加1
int
monthNow
=
calendar
.
get
(
Calendar
.
MONTH
)
+
1
;
calendar
.
setTimeInMillis
(
monthDateStart
);
int
monthStart
=
calendar
.
get
(
Calendar
.
MONTH
)
+
1
;
if
(
monthStart
==
monthNow
)
{
mViewBinding
.
setMonth
(
"本月"
);
}
else
{
mViewBinding
.
setMonth
(
monthStart
+
"月"
);
}
mViewBinding
.
setAmt
(
"收入:¥230.00"
);
mViewBinding
.
llTitle
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
pop
();
}
});
//
Calendar calendar = Calendar.getInstance();
//
//
获得当前时间的月份,月份从0开始所以结果要加1
//
int monthNow = calendar.get(Calendar.MONTH) + 1;
//
calendar.setTimeInMillis(monthDateStart);
//
int monthStart = calendar.get(Calendar.MONTH) + 1;
//
if (monthStart == monthNow) {
//
mViewBinding.setMonth("本月");
//
} else {
//
mViewBinding.setMonth(monthStart + "月");
//
}
//
mViewBinding.setAmt("收入:¥230.00");
//
mViewBinding.llTitle.setOnClickListener(new OnClickListener() {
//
@Override
//
protected void myOnClickListener(View v) {
//
pop();
//
}
//
});
mViewBinding
.
tvEmpty
.
setText
(
R
.
string
.
statistics_search_empty
);
if
(
mStatisticsAdapter
==
null
)
{
mStatisticsAdapter
=
new
StatisticsOrderAdapter
(
new
ArrayList
<>());
mStatisticsAdapter
=
new
StatisticsOrder
Group
Adapter
(
new
ArrayList
<>());
mViewBinding
.
statisticsRecycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatisticsAdapter
);
...
...
@@ -128,4 +140,36 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen
mViewBinding
.
statisticsRecycler
.
setVisibility
(
View
.
VISIBLE
);
}
}
public
void
setData
(
Pager
<
Saleorder
>
pager
)
{
if
(
pager
.
isFirstPage
())
{
monthDate
=
""
;
}
io
.
reactivex
.
Observable
.
create
(
new
ObservableOnSubscribe
<
Pager
<
Saleorder
>>()
{
@Override
public
void
subscribe
(
ObservableEmitter
<
Pager
<
Saleorder
>>
e
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
pager
.
getList
().
size
();
i
++)
{
String
m
=
TimeUtils
.
millis2String
(
pager
.
getList
().
get
(
i
).
getCreateTime
(),
new
SimpleDateFormat
(
StringUtil
.
defaultDatePattern
));
if
(!
m
.
equals
(
monthDate
))
{
monthDate
=
m
;
pager
.
getList
().
add
(
i
,
new
Saleorder
(
true
,
monthDate
+
""
));
i
++;
}
}
e
.
onComplete
();
}
}).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
()).
doOnComplete
(
new
Action
()
{
@Override
public
void
run
()
throws
Exception
{
setData
(
pager
,
pager
.
isFirstPage
());
}
}).
subscribe
();
}
}
app/src/main/java/com/xingdata/zzdpos/util/StringUtil.java
View file @
8afa25ee
...
...
@@ -16,6 +16,7 @@ import java.util.Date;
public
class
StringUtil
{
public
static
String
defaultDatePattern
=
"yyyy-MM-dd"
;
public
static
String
mmddhhmmmDatePattern
=
"MM-dd HH:mm"
;
/**
...
...
app/src/main/res/layout/activity_replenishment.xml
0 → 100644
View file @
8afa25ee
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
"com.xingdata.zzdpos.ui.manage.replenishment.ReplenishmentActivity"
>
</android.support.constraint.ConstraintLayout>
app/src/main/res/layout/dialog_integral_get_setting.xml
View file @
8afa25ee
...
...
@@ -62,7 +62,7 @@
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:background=
"@
drawable/red_border
"
></View>
android:background=
"@
color/gray_huanggai
"
></View>
<TextView
android:layout_width=
"match_parent"
...
...
app/src/main/res/layout/dialog_ticket_add_setting.xml
View file @
8afa25ee
...
...
@@ -79,7 +79,7 @@
android:id=
"@+id/tv_status"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"
1
"
android:layout_weight=
"
2
"
android:text=
"启用状态:"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/et_textsize"
/>
...
...
@@ -87,7 +87,7 @@
<RadioGroup
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"
1
"
android:layout_weight=
"
5
"
android:checkedButton=
"@id/rb_suspended"
android:orientation=
"horizontal"
>
...
...
app/src/main/res/layout/fragment_ms_list.xml
View file @
8afa25ee
...
...
@@ -28,7 +28,6 @@
android:id=
"@+id/srl_product"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_marginTop=
"@dimen/all_padding"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
app/src/main/res/layout/fragment_order_list.xml
View file @
8afa25ee
...
...
@@ -24,33 +24,33 @@
<!-- TODO: Update blank fragmfragment_integral_indexyout -->
<
LinearLayout
android:id=
"@+id/ll_title"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:weightSum=
"2"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<
TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"left"
android:padding=
"@dimen/all_padding"
android:text=
"@{month}"
/
>
<
TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"right"
android:padding=
"@dimen/all_padding"
android:text=
"@{amt}"
android:visibility=
"invisible"
/
>
<
/LinearLayout
>
<
!--<LinearLayout-->
<!--android:id="@+id/ll_title"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:orientation="horizontal"-->
<!--android:weightSum="2"-->
<!--app:layout_constraintEnd_toEndOf="parent"-->
<!--app:layout_constraintStart_toStartOf="parent"-->
<!--app:layout_constraintTop_toTopOf="parent">--
>
<
!--<TextView-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_weight="1"-->
<!--android:gravity="left"-->
<!--android:padding="@dimen/all_padding"-->
<!--android:text="@{month}" />--
>
<
!--<TextView-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_weight="1"-->
<!--android:gravity="right"-->
<!--android:padding="@dimen/all_padding"-->
<!--android:text="@{amt}"-->
<!--android:visibility="invisible" />--
>
<
!--</LinearLayout>--
>
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/srl_product"
...
...
app/src/main/res/layout/item_marketing_menu.xml
View file @
8afa25ee
...
...
@@ -10,7 +10,7 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_
margin
"
android:layout_marginTop=
"@dimen/all_
padding_left_right
"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
...
...
app/src/main/res/layout/item_string_head.xml
0 → 100644
View file @
8afa25ee
<?xml version="1.0" encoding="utf-8"?>
<layout>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:id=
"@+id/item_tv"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:gravity=
"left"
android:paddingTop=
"@dimen/all_padding"
android:paddingBottom=
"@dimen/all_padding"
android:paddingStart=
"@dimen/all_padding_left_right"
android:singleLine=
"true"
android:text=
"北京店"
android:textColor=
"@color/black"
android:textSize=
"14sp"
/>
</RelativeLayout>
</layout>
\ No newline at end of file
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