From 935a87b3578806ca37fee37f03da8c419a3896ce Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期二, 16 七月 2024 15:26:54 +0800
Subject: [PATCH] 删除无效引用

---
 settings.gradle                                                                 |    2 
 app/src/main/res/values/styles.xml                                              |   33 -----
 app/src/main/java/com/dollearn/student/ui/shop/GoodsDetailActivity.kt           |  132 ++++++++++++++++++++++
 app/src/main/AndroidManifest.xml                                                |   23 ---
 app/src/main/java/com/dollearn/student/MainActivity.kt                          |    1 
 app/src/main/java/com/dollearn/student/ui/home/PayResultActivity.kt             |    2 
 /dev/null                                                                       |   17 --
 app/src/main/java/com/dollearn/student/ui/mine/MineFragment.kt                  |    1 
 app/src/main/java/com/dollearn/student/ui/mine/adapter/ExchangeRecordAdapter.kt |   76 ++++++++++++
 .idea/gradle.xml                                                                |    1 
 app/src/main/java/com/dollearn/student/ui/mine/ExchangeRecordActivity.kt        |   67 +++++++++++
 app/src/main/java/com/dollearn/student/ui/shop/ShopFragment.kt                  |    2 
 app/build.gradle                                                                |    1 
 13 files changed, 280 insertions(+), 78 deletions(-)

diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 3f95b95..26d9f5c 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -12,7 +12,6 @@
             <option value="$PROJECT_DIR$/app" />
             <option value="$PROJECT_DIR$/umeng_sdk" />
             <option value="$PROJECT_DIR$/xldutils-kotlin" />
-            <option value="$PROJECT_DIR$/zxinglibrary" />
           </set>
         </option>
         <option name="resolveExternalAnnotations" value="false" />
diff --git a/app/build.gradle b/app/build.gradle
index b8cbb4c..ee67782 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -94,7 +94,6 @@
     implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
     implementation 'com.youth.banner:banner:2.0.11'
     implementation project(path: ':umeng_sdk')
-    implementation project(path: ':zxinglibrary')
     implementation 'top.zibin:Luban:1.1.8'//图片压缩
     implementation 'com.github.dueeeke.dkplayer:dkplayer-java:3.2.6'
     implementation 'com.github.dueeeke.dkplayer:dkplayer-ui:3.2.6'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ab1a974..f28e9e8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -78,34 +78,17 @@
             android:name=".ui.home.MatchActivity"
             android:label="自主学习5-音图相配"
             android:screenOrientation="landscape" />
-        <activity
-            android:name=".ui.course.MyCourseDetailActivity"
-            android:label="课时详情"
-            android:launchMode="singleTask" />
-        <activity
-            android:name=".ui.course.EvaluationActivity"
-            android:label="运动营成员评语" />
+
         <activity
             android:name=".ui.discovery.NoticeDetailActivity"
             android:label="公告详情" />
         <activity
-            android:name=".ui.course.JoinedCourseDetailActivity"
-            android:label="运动营详情" />
-        <activity
-            android:name=".ui.course.ReportActivity"
-            android:label="测试报告" />
-        <activity
-            android:name=".ui.welfare.GoodsDetailActivity"
+            android:name=".ui.shop.GoodsDetailActivity"
             android:label="商品详情" />
         <activity
-            android:name=".ui.welfare.ExchangeRecordActivity"
+            android:name=".ui.mine.ExchangeRecordActivity"
             android:label="兑换记录" />
-        <activity
-            android:name=".ui.welfare.ExchangeDetailActivity"
-            android:label="商品详情" />
 
-        <activity android:name=".ui.welfare.OnlineShopActivity"
-            android:screenOrientation="landscape"/>
         <activity android:name=".ui.home.WeekSelectActivity" android:label="第一年学习周目选择"
             android:screenOrientation="landscape">
 <!--            <intent-filter>-->
diff --git a/app/src/main/java/com/dollearn/student/MainActivity.kt b/app/src/main/java/com/dollearn/student/MainActivity.kt
index feaf6fe..90a8e89 100644
--- a/app/src/main/java/com/dollearn/student/MainActivity.kt
+++ b/app/src/main/java/com/dollearn/student/MainActivity.kt
@@ -22,7 +22,6 @@
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.activity_main.*
-import kotlinx.android.synthetic.main.fragment_shop.*
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 
diff --git a/app/src/main/java/com/dollearn/student/dialog/CalendarDialog.kt b/app/src/main/java/com/dollearn/student/dialog/CalendarDialog.kt
deleted file mode 100644
index 74b37d9..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/CalendarDialog.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.view.Gravity
-import androidx.core.os.bundleOf
-import androidx.fragment.app.FragmentManager
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import com.haibin.calendarview.Calendar
-import com.haibin.calendarview.CalendarView
-import com.dollearn.student.R
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_calendar.*
-
-class CalendarDialog:BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_calendar
-
-    var callback:StringCallback? = null
-
-    override fun setGravity() = Gravity.BOTTOM
-
-    override fun initView() {
-        tv_cancel.setOnClickListener { dismissAllowingStateLoss() }
-        calendar.setOnCalendarSelectListener(object :CalendarView.OnCalendarSelectListener{
-            override fun onCalendarOutOfRange(calendar: Calendar?) {
-
-            }
-
-            override fun onCalendarSelect(calendar: Calendar, isClick: Boolean) {
-                if (isClick){
-                    callback?.onResult(calendar.timeInMillis.toString())
-                    dismissAllowingStateLoss()
-                }
-            }
-
-        })
-        calendar.setOnMonthChangeListener { year, month ->
-            tv_date.text = "${year}年${month}月"
-        }
-        val c = java.util.Calendar.getInstance()
-        c.timeInMillis = System.currentTimeMillis()+ 10L*24*60*60*1000
-        calendar.setRange(calendar.curYear,calendar.curMonth,calendar.curDay,c.get(java.util.Calendar.YEAR),c.get(java.util.Calendar.MONTH)+1,c.get(java.util.Calendar.DAY_OF_MONTH))
-        val current = arguments?.getString("current")?:""
-        calendar.scrollToCalendar(current.split("-")[0].toInt(),current.split("-")[1].toInt(),current.split("-")[2].toInt())
-    }
-
-    companion object{
-        fun show(fm:FragmentManager,current:String,callback: StringCallback){
-            val calendarDialog = CalendarDialog()
-            calendarDialog.arguments = bundleOf("current" to current)
-            calendarDialog.callback = callback
-            calendarDialog.showAllowingStateLoss(fm,"calendar")
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/CheckShopsDialog.kt b/app/src/main/java/com/dollearn/student/dialog/CheckShopsDialog.kt
deleted file mode 100644
index e8a6cab..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/CheckShopsDialog.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.view.Gravity
-import androidx.core.os.bundleOf
-import androidx.fragment.app.FragmentManager
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import com.dollearn.student.R
-import kotlinx.android.synthetic.main.dialog_check_shops.*
-
-class CheckShopsDialog:BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_check_shops
-
-    override fun setGravity() = Gravity.BOTTOM
-
-    private val type by lazy { arguments?.getInt("type",TYPE_MATCH_SHOP)?:TYPE_MATCH_SHOP }
-    private val shopinfo by lazy { arguments?.getString("shopinfo") }
-
-    override fun initView() {
-        if(type == TYPE_COUPON_CITY){
-            mtv.text = "可用城市"
-        }else if (type == TYPE_COUPON_USAGE){
-            mtv.text = "可用门店"
-        }else if (type == TYPE_WORLD_SITE){
-            mtv.text = "参与赛点"
-        }
-        iv_close.setOnClickListener { dismissAllowingStateLoss() }
-        mtvinfo.text = shopinfo?.replace(",",",")
-    }
-
-    companion object{
-        const val TYPE_MATCH_SHOP = 1 //赛事参与门店
-        const val TYPE_COUPON_USAGE = 2//优惠券可用门店
-        const val TYPE_COUPON_CITY = 3//优惠券可用城市
-        const val TYPE_WORLD_SITE = 4//参与赛点
-        fun show(fm: FragmentManager, content:String, type:Int){
-            val loginRuleDialog = CheckShopsDialog()
-            loginRuleDialog.arguments = bundleOf("shopinfo" to content,"type" to type)
-            loginRuleDialog.showAllowingStateLoss(fm,"info")
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/ConfirmShopDialog.kt b/app/src/main/java/com/dollearn/student/dialog/ConfirmShopDialog.kt
deleted file mode 100644
index f332c2d..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/ConfirmShopDialog.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.view.Gravity
-import androidx.core.os.bundleOf
-import androidx.fragment.app.FragmentManager
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import com.dollearn.student.MainActivity
-import com.dollearn.student.R
-import com.dollearn.student.utils.Const
-import com.dollearn.student.utils.event.EmptyEvent
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_confirm_shop.*
-import org.greenrobot.eventbus.EventBus
-import org.jetbrains.anko.support.v4.startActivity
-
-class ConfirmShopDialog : BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_confirm_shop
-
-    private val type by lazy { arguments?.getInt("type",0)?:0 } //作用是根据上级页面显示不同标题
-
-    var callback: StringCallback? = null
-
-    override fun setGravity() = Gravity.CENTER
-
-    override fun initView() {
-        when(type){
-            TYPE_PLACE->{
-                tv_title.text = "请确认预约门店"
-            }
-            TYPE_WORLD->{
-                tv_title.text = "请确认参与赛点"
-                tv_change_shop.text = "更换赛点"
-            }
-        }
-        iv_shop.setImageURI(arguments?.getString("img"))
-        tv_name.text = arguments?.getString("name")
-        tv_address.text = arguments?.getString("address")
-        val distance = arguments?.getString("distance")
-        tv_distance.text = if (distance.isNullOrEmpty()) "" else "距你${distance}"
-        tv_change_shop.setOnClickListener {
-            dismissAllowingStateLoss()
-            startActivity<MainActivity>()
-            EventBus.getDefault().post(EmptyEvent(Const.EventCode.SHOW_CHANGE_SHOP_DIALOG))
-        }
-        tv_cancel.setOnClickListener { dismissAllowingStateLoss() }
-        tv_action.setOnClickListener {
-            callback?.onResult("")
-            dismissAllowingStateLoss()
-        }
-    }
-
-    companion object {
-        const val TYPE_PLACE = 1 //场地报名
-        const val TYPE_WORLD = 2 //世界杯报名
-
-        fun show(
-            fm: FragmentManager,
-            img: String,
-            name: String,
-            address: String,
-            distance: String,
-            callback: StringCallback,
-            type:Int = 0
-        ) {
-            val confirmShopDialog = ConfirmShopDialog()
-            confirmShopDialog.callback = callback
-            confirmShopDialog.arguments = bundleOf("img" to img,"name" to name,"address" to address,"distance" to distance,"type" to type)
-            confirmShopDialog.showAllowingStateLoss(fm,"confirm")
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/ConfirmShopsDialog.kt b/app/src/main/java/com/dollearn/student/dialog/ConfirmShopsDialog.kt
deleted file mode 100644
index 9120765..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/ConfirmShopsDialog.kt
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.view.Gravity
-import androidx.core.os.bundleOf
-import androidx.fragment.app.FragmentManager
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import com.dollearn.student.R
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_confirm_shops.*
-
-class ConfirmShopsDialog : BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_confirm_shops
-
-    private val type by lazy { arguments?.getInt("type",0)?:0 } //作用是根据上级页面显示不同标题
-
-    var callback: StringCallback? = null
-
-    override fun setGravity() = Gravity.CENTER
-
-    override fun initView() {
-
-        tv_name.text = arguments?.getString("name")
-
-        tv_cancel.setOnClickListener { dismissAllowingStateLoss() }
-        tv_action.setOnClickListener {
-            callback?.onResult("")
-            dismissAllowingStateLoss()
-        }
-    }
-
-    companion object {
-
-        fun show(
-            fm: FragmentManager,
-            name: String,
-            callback: StringCallback
-        ) {
-            val confirmShopDialog = ConfirmShopsDialog()
-            confirmShopDialog.callback = callback
-            confirmShopDialog.arguments = bundleOf("name" to name)
-            confirmShopDialog.showAllowingStateLoss(fm,"confirm")
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/CouponFilterPop.kt b/app/src/main/java/com/dollearn/student/dialog/CouponFilterPop.kt
deleted file mode 100644
index b185357..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/CouponFilterPop.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import android.widget.PopupWindow
-import com.dollearn.student.R
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.layout_filter_coupon.view.*
-import org.jetbrains.anko.dip
-
-class CouponFilterPop(context: Context) : PopupWindow(context) {
-    private var callback: StringCallback? = null
-
-    init {
-        val inflate = LayoutInflater.from(context).inflate(R.layout.layout_filter_coupon, null)
-        contentView = inflate
-        inflate?.apply {
-            tv_all.setOnClickListener {
-                callback?.onResult("全部")
-                dismiss()
-            }
-            tv_used.setOnClickListener {
-                callback?.onResult("已使用")
-                dismiss()
-            }
-            tv_unused.setOnClickListener {
-                callback?.onResult("未使用")
-                dismiss()
-            }
-            tv_disable.setOnClickListener {
-                callback?.onResult("已过期")
-                dismiss()
-            }
-        }
-        width = context.dip(100)
-        height = ViewGroup.LayoutParams.WRAP_CONTENT
-        setBackgroundDrawable(context.resources.getDrawable(R.color.transparent))
-        isOutsideTouchable = true
-        isFocusable = true
-    }
-
-    fun setCallback(callback: StringCallback) {
-        this.callback = callback
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/CoursePayDialog.kt b/app/src/main/java/com/dollearn/student/dialog/CoursePayDialog.kt
deleted file mode 100644
index 333d4f0..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/CoursePayDialog.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.view.Gravity
-import androidx.core.os.bundleOf
-import androidx.fragment.app.FragmentManager
-import androidx.recyclerview.widget.LinearLayoutManager
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.utils.myToast
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.PayCourse
-import com.dollearn.student.ui.home.adapter.CoursePayAdapter
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_pay_by_course.*
-import org.jetbrains.anko.support.v4.toast
-
-class CoursePayDialog: BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_pay_by_course
-
-    private val course by lazy {//课时
-        arguments?.getInt("course",0)?:0
-    }
-    private val list by lazy {//可用课时
-        arguments?.getParcelableArrayList<PayCourse>("list")?: arrayListOf()
-    }
-    private val adapter by lazy {
-        CoursePayAdapter(list,course)
-    }
-
-    var callback:StringCallback? = null
-
-    override fun setGravity() = Gravity.BOTTOM
-
-    override fun initView() {
-        tv_count.text = "所需课时数:${course}"
-        rv_course.layoutManager = LinearLayoutManager(requireContext())
-        rv_course.adapter = adapter
-        tv_cancel.setOnClickListener {
-            dismissAllowingStateLoss()
-        }
-        tv_pay.setOnClickListener {
-            if (adapter.checked == -1)
-                myToast("请选择课时")
-            else
-                callback?.onResult(list[adapter.checked].id.toString())
-        }
-    }
-
-    companion object{
-
-        fun show(fm:FragmentManager,callback:StringCallback,course:Int,courseList:ArrayList<PayCourse>){
-            val payDialog = CoursePayDialog()
-            payDialog.arguments = bundleOf("course" to course,"list" to courseList)
-            payDialog.callback = callback
-            payDialog.showAllowingStateLoss(fm,"coursePay")
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/FilterPop.kt b/app/src/main/java/com/dollearn/student/dialog/FilterPop.kt
deleted file mode 100644
index 690f9c1..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/FilterPop.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import android.widget.PopupWindow
-import com.dollearn.student.R
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.layout_filter.view.*
-import org.jetbrains.anko.dip
-
-class FilterPop(context: Context) : PopupWindow(context) {
-    private var callback: StringCallback? = null
-
-    init {
-        val inflate = LayoutInflater.from(context).inflate(R.layout.layout_filter, null)
-        contentView = inflate
-        inflate?.apply {
-            tv_all.setOnClickListener {
-                callback?.onResult("全部记录")
-                dismiss()
-            }
-            tv_add.setOnClickListener {
-                callback?.onResult("增加")
-                dismiss()
-            }
-            tv_reduce.setOnClickListener {
-                callback?.onResult("扣除")
-                dismiss()
-            }
-        }
-        width = context.dip(100)
-        height = ViewGroup.LayoutParams.WRAP_CONTENT
-        setBackgroundDrawable(context.resources.getDrawable(R.color.transparent))
-        isOutsideTouchable = true
-        isFocusable = true
-    }
-
-    fun setCallback(callback: StringCallback) {
-        this.callback = callback
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/GetMyCourseDialog.kt b/app/src/main/java/com/dollearn/student/dialog/GetMyCourseDialog.kt
deleted file mode 100644
index 82d18f1..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/GetMyCourseDialog.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.annotation.SuppressLint
-import android.view.Gravity
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.MyCourseList
-import com.dollearn.student.ui.course.adapter.MyCoursListAdapter
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_getmycourse.*
-import org.jetbrains.anko.support.v4.toast
-
-class GetMyCourseDialog(val call: StringCallback) : BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_getmycourse
-
-    override fun setGravity() = Gravity.BOTTOM
-
-
-    private val data by lazy { arguments?.getSerializable("data") as ArrayList<MyCourseList> }
-
-    val classHour by lazy {
-        arguments?.getInt("classHour")
-    }
-
-    val adapter by lazy {
-        MyCoursListAdapter(data)
-    }
-
-    @SuppressLint("SetTextI18n")
-    override fun initView() {
-        mtvNeedClassHour.text = "所需课时数:$classHour"
-        rv_list.layoutManager = LinearLayoutManager(context)
-        rv_list.adapter = adapter
-
-        tv_cancel.setOnClickListener { dismissAllowingStateLoss() }
-
-        tv_action.setOnClickListener {
-            if(adapter.mData.size==0){
-                toast("没有可用数据")
-                return@setOnClickListener
-            }
-            call.onResult(adapter.mData[adapter.checked].id.toString())
-            dismissAllowingStateLoss()
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/GoodsExchangeFilterPop.kt b/app/src/main/java/com/dollearn/student/dialog/GoodsExchangeFilterPop.kt
deleted file mode 100644
index 5c891c3..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/GoodsExchangeFilterPop.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import android.widget.PopupWindow
-import com.dollearn.student.R
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.layout_filter_exchange_record.view.*
-import org.jetbrains.anko.dip
-
-class GoodsExchangeFilterPop(context: Context) : PopupWindow(context) {
-    private var callback: StringCallback? = null
-
-    init {
-        val inflate = LayoutInflater.from(context).inflate(R.layout.layout_filter_exchange_record, null)
-        contentView = inflate
-        inflate?.apply {
-            tv_all.setOnClickListener {
-                callback?.onResult("商品类型")
-                dismiss()
-            }
-            tv_goods.setOnClickListener {
-                callback?.onResult("实物")
-                dismiss()
-            }
-            tv_course.setOnClickListener {
-                callback?.onResult("运动营")
-                dismiss()
-            }
-            tv_ticke.setOnClickListener {
-                callback?.onResult("门票")
-                dismiss()
-            }
-            tv_coupon.setOnClickListener {
-                callback?.onResult("优惠券")
-                dismiss()
-            }
-        }
-        width = context.dip(100)
-        height = ViewGroup.LayoutParams.WRAP_CONTENT
-        setBackgroundDrawable(context.resources.getDrawable(R.color.transparent))
-        isOutsideTouchable = true
-        isFocusable = true
-    }
-
-    fun setCallback(callback: StringCallback) {
-        this.callback = callback
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/MapTypeDialog.kt b/app/src/main/java/com/dollearn/student/dialog/MapTypeDialog.kt
deleted file mode 100644
index a75643a..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/MapTypeDialog.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.view.Gravity
-import com.dollearn.student.R
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_map_type.*
-
-class MapTypeDialog:BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_map_type
-    var callback:StringCallback? = null
-
-    override fun setGravity() = Gravity.BOTTOM
-
-    override fun initView() {
-        tv_gaode.setOnClickListener {
-            callback?.onResult("a")
-            dismissAllowingStateLoss()
-        }
-        tv_baidu.setOnClickListener {
-            callback?.onResult("b")
-            dismissAllowingStateLoss()
-        }
-        tv_tencent.setOnClickListener {
-            callback?.onResult("t")
-            dismissAllowingStateLoss()
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/MsgDialog.kt b/app/src/main/java/com/dollearn/student/dialog/MsgDialog.kt
deleted file mode 100644
index 309e51e..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/MsgDialog.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.content.DialogInterface
-import android.os.Bundle
-import android.os.CountDownTimer
-import android.view.Gravity
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.DialogFragment
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.screenWidth
-import cn.sinata.xldutils.visible
-import com.dollearn.student.R
-import kotlinx.android.synthetic.main.dialog_tip.*
-import org.jetbrains.anko.wrapContent
-
-class MsgDialog: DialogFragment() {
-    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
-            inflater.inflate(R.layout.dialog_msg,container,false)
-
-    private val countDownTimer by lazy {
-        object :CountDownTimer(3000,1000){
-            override fun onFinish() {
-                dismiss()
-            }
-
-            override fun onTick(millisUntilFinished: Long) {
-            }
-        }
-    }
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        setStyle(STYLE_NO_FRAME,R.style.FadeDialog)
-    }
-
-    override fun onActivityCreated(savedInstanceState: Bundle?) {
-        super.onActivityCreated(savedInstanceState)
-        dialog?.window?.setLayout((screenWidth()*0.85).toInt(), wrapContent)
-        dialog?.window?.setGravity(Gravity.CENTER)
-        dialog?.setCanceledOnTouchOutside(false)
-    }
-
-    private val msg by lazy {  //提示信息
-        arguments?.getString("msg")?:"是否确定取消订单?"
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        tv_msg.text = msg
-        countDownTimer.start()
-    }
-
-    override fun onDismiss(dialog: DialogInterface) {
-        super.onDismiss(dialog)
-        dismissCallbak?.onDismiss()
-    }
-
-    interface OnDismiss{
-        fun onDismiss()
-    }
-    private var dismissCallbak: OnDismiss? = null
-    fun setDismissCallback(callback: OnDismiss){
-        this.dismissCallbak = callback
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/PayDialog.kt b/app/src/main/java/com/dollearn/student/dialog/PayDialog.kt
deleted file mode 100644
index cc0126a..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/PayDialog.kt
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.view.Gravity
-import androidx.core.os.bundleOf
-import androidx.fragment.app.FragmentManager
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import com.dollearn.student.R
-import com.dollearn.student.utils.extention.clickDelay
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_pay.*
-import org.jetbrains.anko.support.v4.toast
-
-class PayDialog: BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_pay
-
-    private val isVip by lazy {
-        arguments?.getBoolean("isVip",false)?:false
-    }
-    private val coin by lazy {//玩湃币
-        arguments?.getInt("coin",0)?:0
-    }
-    private val course by lazy {//课时
-        arguments?.getInt("course",0)?:0
-    }
-    private val integral by lazy { //积分
-        arguments?.getInt("integral",0)?:0
-    }
-    private val price by lazy {//钱
-        arguments?.getDouble("price",0.0)?:0.0
-    }
-    private val courseEnable by lazy { //课时支付是否可用,不可用需将按钮置灰
-        arguments?.getBoolean("courseEnable",true)?:true
-    }
-    var callback:StringCallback? = null
-
-    override fun setGravity() = Gravity.BOTTOM
-
-    override fun initView() {
-        if (isVip){
-            tv_coin.gone()
-            line.gone()
-            tv_course.gone()
-            line3.gone()
-            tv_integral.gone()
-            line4.gone()
-            tv_wx.text = SpanBuilder("微信支付 ¥199").color(requireContext(),0,4,R.color.textColor66).build()
-            tv_ali.text = SpanBuilder("支付宝支付 ¥199").color(requireContext(),0,5,R.color.textColor66).build()
-        }else{
-            if (price == 0.0){
-                line1.gone()
-                line2.gone()
-                tv_wx.gone()
-                tv_ali.gone()
-                tv_coin.isChecked = true
-            }else{
-                tv_wx.text = SpanBuilder("微信支付 ¥%.2f".format(price)).color(requireContext(),0,4,R.color.textColor66).build()
-                tv_ali.text = SpanBuilder("支付宝支付 ¥%.2f".format(price)).color(requireContext(),0,5,R.color.textColor66).build()
-            }
-            if (coin == 0){
-                tv_coin.gone()
-                line.gone()
-            }else
-                tv_coin.text = SpanBuilder("玩湃币支付 ${coin}币").color(requireContext(),0,5,R.color.textColor66).build()
-            if (course == 0){
-                tv_course.gone()
-                line3.gone()
-            }else{
-                tv_course.text = SpanBuilder("课时支付 ${course}课时").color(requireContext(),0,4,R.color.textColor66).build()
-                if (!courseEnable){
-                    tv_course.isEnabled = false
-                    tv_course.alpha = 0.5f
-                }
-            }
-
-            if (integral == 0){
-                tv_integral.gone()
-                line4.gone()
-            }else
-                tv_integral.text = SpanBuilder("积分支付 ${integral}积分").color(requireContext(),0,4,R.color.textColor66).build()
-        }
-        tv_cancel.setOnClickListener {
-            dismissAllowingStateLoss()
-        }
-        tv_pay.clickDelay {
-//            val type = if (tv_ali.isChecked) 2 else if (tv_wx.isChecked) 1 else 3
-            val type = when(rg_pay.checkedRadioButtonId){
-                R.id.tv_ali->2
-                R.id.tv_wx->1
-                R.id.tv_integral->5
-                R.id.tv_coin->3
-                else->4
-            }
-            callback?.onResult(type.toString())
-            dismissAllowingStateLoss()
-        }
-    }
-
-    companion object{
-        /**
-         * @param courseEnable 赛事可以用课时支付,但当参赛学员有非学员身份时,课时支付需要置灰
-         */
-        fun show(fm:FragmentManager,isVip:Boolean,callback:StringCallback,price:Double? = null,coin:Int? = null,course:Int? = null,integral:Int? = null,courseEnable:Boolean? = null){
-            val payDialog = PayDialog()
-            payDialog.arguments = bundleOf("isVip" to isVip,"price" to price,"coin" to coin,"course" to course,"integral" to integral,"courseEnable" to courseEnable)
-            payDialog.callback = callback
-            payDialog.showAllowingStateLoss(fm,"pay")
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/TimeFilterPop.kt b/app/src/main/java/com/dollearn/student/dialog/TimeFilterPop.kt
deleted file mode 100644
index 2c19f3e..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/TimeFilterPop.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import android.widget.PopupWindow
-import com.dollearn.student.R
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.layout_filter_time.view.*
-import org.jetbrains.anko.dip
-
-class TimeFilterPop(context: Context) : PopupWindow(context) {
-    private var callback: StringCallback? = null
-
-    init {
-        val inflate = LayoutInflater.from(context).inflate(R.layout.layout_filter_time, null)
-        contentView = inflate
-        inflate?.apply {
-            tv_all.setOnClickListener {
-                callback?.onResult("上课时间")
-                dismiss()
-            }
-            tv_week.setOnClickListener {
-                callback?.onResult("最近一周")
-                dismiss()
-            }
-            tv_month.setOnClickListener {
-                callback?.onResult("最近一月")
-                dismiss()
-            }
-            tv_year.setOnClickListener {
-                callback?.onResult("最近一年")
-                dismiss()
-            }
-        }
-        width = context.dip(100)
-        height = ViewGroup.LayoutParams.WRAP_CONTENT
-        setBackgroundDrawable(context.resources.getDrawable(R.color.transparent))
-        isOutsideTouchable = true
-        isFocusable = true
-    }
-
-    fun setCallback(callback: StringCallback) {
-        this.callback = callback
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/dialog/UndistributedClassHourialog.kt b/app/src/main/java/com/dollearn/student/dialog/UndistributedClassHourialog.kt
deleted file mode 100644
index a45078e..0000000
--- a/app/src/main/java/com/dollearn/student/dialog/UndistributedClassHourialog.kt
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.dollearn.student.dialog
-
-import android.annotation.SuppressLint
-import android.view.Gravity
-import androidx.core.os.bundleOf
-import androidx.fragment.app.FragmentManager
-import androidx.recyclerview.widget.LinearLayoutManager
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.MyCourse
-import com.dollearn.student.ui.course.adapter.ClassHourChooseAdapter
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.dialog_exchange_count.tv_action
-import kotlinx.android.synthetic.main.dialog_exchange_count.tv_cancel
-import kotlinx.android.synthetic.main.dialog_wfp_classhour.*
-
-class UndistributedClassHourialog : BaseDialogFragment() {
-    override fun setContentView() = R.layout.dialog_wfp_classhour
-
-    var callback: StringCallback? = null
-
-    val count by lazy {
-        arguments?.getInt("count") ?: 0
-    }
-
-    val list by lazy {
-        arguments?.getSerializable("list") as ArrayList<MyCourse>
-    }
-
-    val adapter by lazy {
-        ClassHourChooseAdapter(list)
-    }
-
-    override fun setGravity() = Gravity.CENTER
-
-    @SuppressLint("SetTextI18n", "NotifyDataSetChanged")
-    override fun initView() {
-        mtvinfo.text = "未分配课时数:$count"
-        tv_action.setOnClickListener {
-            callback?.onResult(list[adapter.checked].id)
-            dismissAllowingStateLoss()
-        }
-        tv_cancel.setOnClickListener { dismissAllowingStateLoss() }
-
-        mrl.layoutManager = LinearLayoutManager(context)
-        mrl.adapter = adapter
-        adapter.setOnItemClickListener { _, position ->
-            run {
-                adapter.checked = position
-                adapter.notifyDataSetChanged()
-            }
-
-        }
-    }
-
-    companion object {
-        fun show(
-            fm: FragmentManager,
-            count: Int,
-            list: ArrayList<MyCourse>,
-            callback: StringCallback
-        ) :UndistributedClassHourialog{
-            val exchangeCountDialog = UndistributedClassHourialog()
-            exchangeCountDialog.callback = callback
-            exchangeCountDialog.arguments = bundleOf(
-                "count" to count,
-                "list" to list
-            )
-            exchangeCountDialog.showAllowingStateLoss(fm, "")
-
-           return exchangeCountDialog
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/course/EvaluationActivity.kt b/app/src/main/java/com/dollearn/student/ui/course/EvaluationActivity.kt
deleted file mode 100644
index 6db4a0c..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/EvaluationActivity.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.dollearn.student.ui.course
-
-import android.view.View
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.dollearn.student.R
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.Evaluation
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.ui.course.adapter.EvaluationAdapter
-import kotlinx.android.synthetic.main.layout_common_list.*
-
-class EvaluationActivity : TransparentStatusBarActivity() {
-    override fun setContentView() = R.layout.layout_common_list
-
-    private val stuId by lazy { intent.getStringExtra("stuId")?:"" }
-    private val list = arrayListOf<Evaluation>()
-    private val adapter = EvaluationAdapter(list)
-    override fun initClick() {
-    }
-
-    override fun initView() {
-        rv_list.layoutManager = LinearLayoutManager(this)
-        rv_list.adapter = adapter
-        refreshLayout.setEnableLoadMore(false)
-        refreshLayout.setOnRefreshListener {
-            getEvaluations()
-        }
-        getEvaluations()
-    }
-
-    private fun getEvaluations(){
-        HttpManager.stuComment(stuId).request(this,success = { _, data->
-            refreshLayout.finishRefresh(true)
-            list.clear()
-            list.addAll(data?: arrayListOf())
-            adapter.notifyDataSetChanged()
-            tv_empty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE
-        }){_,_->
-            refreshLayout.finishRefresh(false)
-        }
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/JoinedCourseDetailActivity.kt b/app/src/main/java/com/dollearn/student/ui/course/JoinedCourseDetailActivity.kt
deleted file mode 100644
index 3adcfa6..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/JoinedCourseDetailActivity.kt
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.dollearn.student.ui.course
-
-import android.view.View
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.*
-import cn.sinata.xldutils.visible
-import com.dollearn.student.R
-import com.dollearn.student.DollearnApplication
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.Banner
-import com.dollearn.student.network.entity.JoinedCourse
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.ui.home.adapter.HomeBannerAdapter
-import com.dollearn.student.utils.extention.clickDelay
-import com.dollearn.student.utils.extention.loadLongImage
-import kotlinx.android.synthetic.main.activity_joined_course_deatil.*
-import kotlinx.android.synthetic.main.dialog_pay.*
-import org.jetbrains.anko.startActivity
-
-class JoinedCourseDetailActivity :TransparentStatusBarActivity(){
-    override fun setContentView() = R.layout.activity_joined_course_deatil
-
-    private val id by lazy { intent.getStringExtra("id")!! }
-    private val orderId by lazy { intent.getStringExtra("orderId")!! }
-
-    private var course:JoinedCourse? = null
-
-    private val bannerImg = arrayListOf<Banner>()
-    private val bannerAdapter by lazy {
-        HomeBannerAdapter(bannerImg, this)
-    }
-
-    override fun initClick() {
-        tv_action.clickDelay {
-
-        }
-    }
-
-    override fun initView() {
-        banner.adapter = bannerAdapter
-        getDetail()
-    }
-
-    private fun getDetail(){
-        HttpManager.registeredData(id,orderId).request(this){_,data->
-            course = data
-            data?.apply {
-                val tag = type?.let {
-                    when (it) {
-                        1 -> {
-                            mll_class_yxq.gone()
-                            "常规班"
-                        }
-                        2 -> { //安雪晖:假期课没有续课按钮,显示运动营有效期
-                            ll_bottom.gone()
-                            mll_class_yxq.visible()
-                            mtv_class_yxq.text = time
-                            "假期班"
-                        }
-                        3 -> {
-                            class_time.gone()//安雪晖:体验课没有上课时间
-                            ll_bottom.gone()
-                            mll_class_yxq.visible()
-                            mtv_class_yxq.text = "购买当天有效"
-                            "体验班"
-                        }
-                        else -> ""
-                    }
-                }
-                tv_address.text = "${storeName}(${storeAddress})"
-                tv_distance.text = "距离我${distance}km"
-                mtvtag.visibility = if (tag.isNullOrEmpty()) View.GONE else View.VISIBLE
-                mtvtag.text = tag
-                bannerImg.addAll((detailDrawing?:"").split(",").map { Banner(url = it) })
-                bannerAdapter.notifyDataSetChanged()
-                tv_name.text = coursePackageName
-                tv_week.text = weeks?.replace(";","、")
-                tv_time.text = courseTimeFrame
-                if (!introduceDrawing.isNullOrEmpty()){
-                    introduceDrawing.loadLongImage(this@JoinedCourseDetailActivity,iv_introduction)
-                }
-                if (amount == 0.0)
-                    tv_price.gone()
-                else
-                    tv_price.text = "¥%s".format(amount.toString())
-                if (vipAmount == 0.0)
-                    tv_vip_price.gone()
-                else
-                    tv_vip_price.text = SpanBuilder("会员价:¥%s".format(vipAmount.toString())).color(this@JoinedCourseDetailActivity,0,4,R.color.textColor).build()
-                if (wpGold == 0)
-                    tv_coin_price.gone()
-                else
-                    tv_coin_price.text = SpanBuilder("玩湃币:%d币".format(wpGold)).color(this@JoinedCourseDetailActivity,0,4,R.color.textColor).build()
-
-                tv_action.text = if (payStatus == 1) "立即支付" else "续课"
-            }
-
-        }
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/MyCourseDetailActivity.kt b/app/src/main/java/com/dollearn/student/ui/course/MyCourseDetailActivity.kt
deleted file mode 100644
index 746c361..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/MyCourseDetailActivity.kt
+++ /dev/null
@@ -1,140 +0,0 @@
-package com.dollearn.student.ui.course
-
-import android.content.Intent
-import android.view.View
-import androidx.recyclerview.widget.LinearLayoutManager
-import cn.sinata.xldutils.utils.showAllowingStateLoss
-import cn.sinata.xldutils.utils.toTime
-import com.dollearn.student.R
-import com.dollearn.student.DollearnApplication
-import com.dollearn.student.dialog.ChooseMonthDialog
-import com.dollearn.student.dialog.FilterPop
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.CourseRecord
-import com.dollearn.student.network.entity.Session
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.ui.course.adapter.CourseNameAdapter
-import com.dollearn.student.ui.course.adapter.CourseRecordAdapter
-import com.dollearn.student.utils.interfaces.StringCallback
-import kotlinx.android.synthetic.main.activity_my_course_detail.*
-import org.jetbrains.anko.startActivityForResult
-
-class MyCourseDetailActivity : TransparentStatusBarActivity() {
-    override fun setContentView() = R.layout.activity_my_course_detail
-
-    private val stuId by lazy { intent.getStringExtra("stuId")?:"" }
-    private var courseId = ""
-    private val names = arrayListOf<Session>()
-    private val nameAdapter = CourseNameAdapter(names)
-    private val records = arrayListOf<CourseRecord>()
-    private val recordAdapter = CourseRecordAdapter(records)
-
-    private var date = ""
-    private var type: Int? = null
-
-    override fun initClick() {
-        nameAdapter.setOnItemClickListener { view, position ->
-            nameAdapter.checked = position
-            tv_deadline.text = "有效期:${names[position].periodOfValidity}"
-            nameAdapter.notifyDataSetChanged()
-            refreshCourseInfo()
-        }
-
-        tv_month.setOnClickListener {
-            val chooseMonthDialog = ChooseMonthDialog()
-            chooseMonthDialog.setCallback(object : StringCallback {
-                override fun onResult(rst: String) {
-                    tv_month.text = rst
-                    date = rst.replace("年", "-").replace("月", "")
-                    getRecord()
-                }
-            })
-            chooseMonthDialog.showAllowingStateLoss(supportFragmentManager, "date")
-        }
-
-        tv_filter.setOnClickListener {
-            val menuPop = FilterPop(this)
-            menuPop.setCallback(object : StringCallback {
-                override fun onResult(rst: String) {
-                    tv_filter.text = rst
-                    type = when (rst) {
-                        "增加" -> 1
-                        "扣除" -> 2
-                        else -> null
-                    }
-                    getRecord()
-                }
-            })
-            menuPop.contentView
-                .measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED)
-            menuPop.showAsDropDown(tv_filter, 0, 0, 0)
-        }
-
-        tv_buy.setOnClickListener {
-
-        }
-    }
-
-    override fun initView() {
-        courseId = intent.getStringExtra("courseId")?:""
-        tv_month.text = System.currentTimeMillis().toTime("yyyy年MM月")
-        date = System.currentTimeMillis().toTime("yyyy-MM")
-        rv_name.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
-        rv_name.adapter = nameAdapter
-        rv_record.layoutManager = LinearLayoutManager(this)
-        rv_record.adapter = recordAdapter
-        getData()
-        getRecord()
-    }
-
-
-    private fun getData() {
-        HttpManager.lessonDetails(courseId, stuId).request(this) { _, data ->
-            data?.apply {
-                iv_avatar.setImageURI(stuImage)
-                tv_name.text = stuName
-                tv_deadline.text = "有效期:${sessionNames.firstOrNull()?.periodOfValidity}"
-                tv_total_count.text = totalNums
-                tv_used_count.text = deductedNums
-                tv_last_count.text = remainingNums
-
-                // tv_used.text = "已扣课时数:${deductionClassHours}"
-                names.clear()
-                names.addAll(sessionNames)
-                nameAdapter.notifyDataSetChanged()
-                refreshCourseInfo()
-//                records.clear()
-//                records.addAll(details)
-//                recordAdapter.notifyDataSetChanged()
-            }
-        }
-    }
-
-    /**
-     * 显示课时信息
-     */
-    private fun refreshCourseInfo() {
-        val current = names[nameAdapter.checked]
-        tv_total_count2.text = current.totalNums
-        tv_used_count2.text = current.deductedNums
-        tv_last_count2.text = current.remainingNums
-        courseId = current.sessionid
-        getRecord()
-    }
-
-    private fun getRecord() {
-        HttpManager.recordDetails(stuId, courseId, date, type).request(this) { _, data ->
-            records.clear()
-            records.addAll(data ?: arrayListOf())
-            recordAdapter.notifyDataSetChanged()
-        }
-    }
-
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        super.onActivityResult(requestCode, resultCode, data)
-        if (requestCode == 1) {
-            getData()
-        }
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/ReportActivity.kt b/app/src/main/java/com/dollearn/student/ui/course/ReportActivity.kt
deleted file mode 100644
index 974de02..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/ReportActivity.kt
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.dollearn.student.ui.course
-
-import android.graphics.Bitmap
-import android.os.Environment
-import android.provider.MediaStore
-import android.widget.ImageView
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.drawToBitmap
-import cn.sinata.xldutils.activity.ImagePagerActivity
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.utils.myToast
-import cn.sinata.xldutils.visible
-import com.bumptech.glide.Glide
-import com.bumptech.glide.request.target.SimpleTarget
-import com.bumptech.glide.request.transition.Transition
-import com.dollearn.student.R
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.utils.extention.loadLongImage
-import kotlinx.android.synthetic.main.activity_report.*
-import org.jetbrains.anko.startActivity
-import java.io.File
-import java.io.FileOutputStream
-import java.lang.Exception
-
-class ReportActivity : TransparentStatusBarActivity() {
-    override fun setContentView() = R.layout.activity_report
-
-    private val id by lazy { intent.getStringExtra("id")?:"" }
-    private var urls = arrayListOf<String>()
-
-    override fun initClick() {
-        iv_report_1.setOnClickListener {
-            startActivity<ImagePagerActivity>("url" to urls,"position" to 0)
-        }
-        iv_report_2.setOnClickListener {
-            startActivity<ImagePagerActivity>("url" to urls,"position" to 1)
-        }
-        iv_report_3.setOnClickListener {
-            startActivity<ImagePagerActivity>("url" to urls,"position" to 2)
-        }
-        iv_report_1.setOnLongClickListener {
-            saveImg(iv_report_1)
-            return@setOnLongClickListener true
-        }
-        iv_report_2.setOnLongClickListener {
-            saveImg(iv_report_2)
-            return@setOnLongClickListener true
-        }
-        iv_report_3.setOnLongClickListener {
-            saveImg(iv_report_3)
-            return@setOnLongClickListener true
-        }
-    }
-
-    override fun initView() {
-        getData()
-    }
-
-    private fun saveImg(v: ImageView){
-        try {
-            val copyPath =
-                getExternalFilesDir(Environment.DIRECTORY_DCIM)!!.absolutePath + "/" + System.currentTimeMillis() + ".png"
-            val file = File(copyPath)
-            if (!file.exists()) {
-                file.createNewFile()
-            }
-            val fors = FileOutputStream(file)
-            v.drawToBitmap()?.compress(Bitmap.CompressFormat.PNG, 0, fors)
-            fors.flush()
-            fors.close()
-            MediaStore.Images.Media.insertImage(this.contentResolver, file.absolutePath, copyPath, null);
-            myToast("图片已保存")
-        } catch (e: Exception) {
-        }
-    }
-
-    private fun getData(){
-        HttpManager.queryPhysical(id).request(this){_,data->
-            data?.apply {
-                try {
-                    val heightS = "${height}cm"
-                    tv_height.text = SpanBuilder(heightS).size(heightS.length-2,heightS.length,14).build()
-                    val weightS = "${weight}kg"
-                    tv_wight.text = SpanBuilder(weightS).size(weightS.length-2,weightS.length,14).build()
-                    val bmiS = "${bmi}${bodyStatus}"
-                    tv_bmi.text = SpanBuilder(bmiS).size(bmiS.indexOf(bodyStatus),bmiS.length,14).build()
-                    this@ReportActivity.urls.addAll(urls)
-                    if (!urls.isNullOrEmpty()){
-                        urls.firstOrNull()?.loadLongImage(this@ReportActivity,iv_report_1)
-                        urls[1].loadLongImage(this@ReportActivity,iv_report_2)
-                        urls[2].loadLongImage(this@ReportActivity,iv_report_3)
-                    }else{
-                        tv_empty.visible()
-                    }
-                }catch (e:Exception){
-                }
-            }
-        }
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/ClassHourChooseAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/ClassHourChooseAdapter.kt
deleted file mode 100644
index b12d8f9..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/ClassHourChooseAdapter.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.MyCourse
-import com.dollearn.student.network.entity.Session
-import org.jetbrains.anko.backgroundResource
-import org.jetbrains.anko.textColorResource
-import java.util.ArrayList
-
-class ClassHourChooseAdapter(names: ArrayList<MyCourse>) :
-    HFRecyclerAdapter<MyCourse>(names, R.layout.item_class_hour) {
-    var checked = 0
-    override fun onBind(holder: ViewHolder, position: Int, data: MyCourse) {
-        holder.setText(R.id.mtvName, data.courseName)
-        holder.bind<TextView>(R.id.vchoose).backgroundResource =
-            if (position == checked) R.mipmap.coupon_checked else R.mipmap.coupon_uncheck
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/CourseNameAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/CourseNameAdapter.kt
deleted file mode 100644
index 4addf5c..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/CourseNameAdapter.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Session
-import org.jetbrains.anko.textColorResource
-import java.util.ArrayList
-
-class CourseNameAdapter(names: ArrayList<Session>) :HFRecyclerAdapter<Session>(names, R.layout.item_course_name){
-    var checked = 0
-    override fun onBind(holder: ViewHolder, position: Int, data: Session) {
-        holder.setText(R.id.tv_name,data.sessionName)
-        holder.bind<TextView>(R.id.tv_name).textColorResource = if (position == checked) R.color.textColorGreen else R.color.textColor99
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/CourseRecordAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/CourseRecordAdapter.kt
deleted file mode 100644
index eabdb72..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/CourseRecordAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.CourseRecord
-import org.jetbrains.anko.textColorResource
-import java.util.ArrayList
-
-class CourseRecordAdapter(records: ArrayList<CourseRecord>) :HFRecyclerAdapter<CourseRecord>(records, R.layout.item_course_record){
-    override fun onBind(holder: ViewHolder, position: Int, data: CourseRecord) {
-        holder.setText(R.id.tv_name,data.purchaseType)
-        holder.setText(R.id.tv_time,data.purchaseTime)
-        holder.setText(R.id.tv_record,data.purchaseAmount)
-        holder.bind<TextView>(R.id.tv_record).textColorResource = if (data.purchaseAmount.startsWith("-")) R.color.color_text_price else R.color.textColorGreen
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/EvaluationAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/EvaluationAdapter.kt
deleted file mode 100644
index a716662..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/EvaluationAdapter.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import androidx.recyclerview.widget.GridLayoutManager
-import androidx.recyclerview.widget.RecyclerView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Evaluation
-import java.util.ArrayList
-
-class EvaluationAdapter(list: ArrayList<Evaluation>) :HFRecyclerAdapter<Evaluation>(list, R.layout.item_evaluation){
-    override fun onBind(holder: ViewHolder, position: Int, data: Evaluation) {
-        holder.bind<SimpleDraweeView>(R.id.iv_avatar).setImageURI(data.headImg)
-        holder.setText(R.id.tv_name,data.stuName)
-        holder.setText(R.id.tv_time,data.comTime)
-        holder.setText(R.id.tv_content,data.contents)
-        holder.bind<RecyclerView>(R.id.rv_photo).apply {
-            layoutManager = GridLayoutManager(context,3)
-            val img = arrayListOf<String>()
-            img.addAll(data.imgs)
-            adapter = PhotoAdapter(img)
-        }
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/ExerciseGridAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/ExerciseGridAdapter.kt
deleted file mode 100644
index 42941f2..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/ExerciseGridAdapter.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Exercise
-import java.util.ArrayList
-
-class ExerciseGridAdapter(exerciseList: ArrayList<Exercise>) :HFRecyclerAdapter<Exercise>(exerciseList, R.layout.item_exercise){
-    override fun onBind(holder: ViewHolder, position: Int, data: Exercise) {
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.videoCoverImgUrl)
-        holder.setText(R.id.tv_name,data.videoName)
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/JoinedCourseAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/JoinedCourseAdapter.kt
deleted file mode 100644
index 9d6541a..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/JoinedCourseAdapter.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.view.View
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.visible
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.JoinedCourse
-import java.util.ArrayList
-
-class JoinedCourseAdapter(datas: ArrayList<JoinedCourse>) :
-    HFRecyclerAdapter<JoinedCourse>(datas, R.layout.item_joined_course) {
-    override fun onBind(holder: ViewHolder, position: Int, data: JoinedCourse) {
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.packageImg)
-        holder.setText(R.id.tv_name, data.courseNameStore)
-        holder.setText(R.id.tv_time, "报名时间:${data.courseTime}")
-        // holder.setText(R.id.tv_teacher,"授课老师${data.courseTeacher}")
-        val tv_used = holder.bind<TextView>(R.id.tv_used)
-        when (data.type) {
-            1 -> {
-                tv_used.visible()
-                tv_used.text = SpanBuilder("已上课时数:${data.courseNums}课时").color(
-                    context,
-                    0,
-                    6,
-                    R.color.textColor66
-                ).build()
-            }
-            else -> tv_used.gone()
-        }
-
-        holder.bind<View>(R.id.tv_un_pay).visibility =
-            if (data.payStatus == 2) View.GONE else View.VISIBLE
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/MedalGridAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/MedalGridAdapter.kt
deleted file mode 100644
index ecbef4c..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/MedalGridAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Medal
-import java.util.ArrayList
-
-class MedalGridAdapter(medalList: ArrayList<Medal>) :HFRecyclerAdapter<Medal>(medalList, R.layout.item_medal_grid){
-    override fun onBind(holder: ViewHolder, position: Int, data: Medal) {
-        holder.bind<TextView>(R.id.tv_english).apply {
-            text = data.getEnglish()
-            setCompoundDrawablesRelativeWithIntrinsicBounds(0,data.getIcon(),0,0)
-        }
-        holder.setText(R.id.tv_name,data.medalName)
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/MyCoursListAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/MyCoursListAdapter.kt
deleted file mode 100644
index 2702ff3..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/MyCoursListAdapter.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.annotation.SuppressLint
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.MyCourseList
-import org.jetbrains.anko.backgroundResource
-import java.util.ArrayList
-
-class MyCoursListAdapter(names: ArrayList<MyCourseList>) :
-    HFRecyclerAdapter<MyCourseList>(names, R.layout.item_my_course_list) {
-    var checked = 0
-
-    @SuppressLint("NotifyDataSetChanged")
-    override fun onBind(holder: ViewHolder, position: Int, data: MyCourseList) {
-        holder.setText(R.id.mtvName, data.name)
-        holder.setText(R.id.mtvClassHour, "(剩余:${data.courseNum} 课时)")
-        holder.bind<TextView>(R.id.vchoose).backgroundResource =
-            if (position == checked) R.mipmap.coupon_checked else R.mipmap.coupon_uncheck
-        holder.itemView.setOnClickListener {
-            checked = position
-            notifyDataSetChanged()
-        }
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/MyCourseAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/MyCourseAdapter.kt
deleted file mode 100644
index a319da1..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/MyCourseAdapter.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.MyCourse
-import java.util.ArrayList
-
-class MyCourseAdapter(courseList: ArrayList<MyCourse>) :HFRecyclerAdapter<MyCourse>(courseList, R.layout.item_my_course_check){
-    var checked = 0
-    override fun onBind(holder: ViewHolder, position: Int, data: MyCourse) {
-        holder.bind<TextView>(R.id.tv_name).apply {
-            text = data.courseName
-            isSelected = position == checked
-        }
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/PhotoAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/PhotoAdapter.kt
deleted file mode 100644
index 9cd7366..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/PhotoAdapter.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import java.util.ArrayList
-
-class PhotoAdapter(img: ArrayList<String>) : HFRecyclerAdapter<String>(img, R.layout.item_photo) {
-    override fun onBind(holder: ViewHolder, position: Int, data: String) {
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data)
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/PracticeAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/PracticeAdapter.kt
deleted file mode 100644
index 3a1c5cc..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/PracticeAdapter.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.visible
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Practice
-import org.jetbrains.anko.backgroundResource
-import org.jetbrains.anko.textColorResource
-import java.util.ArrayList
-
-class PracticeAdapter(list: ArrayList<Practice>) :HFRecyclerAdapter<Practice>(list, R.layout.item_practice_list){
-    override fun onBind(holder: ViewHolder, position: Int, data: Practice) {
-        holder.setText(R.id.tv_name,data.videoName)
-        holder.setText(R.id.tv_type,"布置运动营:${data.packageName}")
-        holder.setText(R.id.tv_introduce,data.synopsis)
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.coverImage)
-        val tvIncome = holder.bind<TextView>(R.id.tv_income)
-        holder.bind<TextView>(R.id.tv_state).apply {
-            text = if (data.studyStatus == 2){
-                backgroundResource = R.drawable.bg_grey_1dp
-                textColorResource = R.color.white
-                tvIncome.gone()
-                "已学习"
-            } else {
-                backgroundResource = R.drawable.bg_orange_1dp
-                textColorResource = R.color.colorPrimary
-                tvIncome.visible()
-                val s = "可获积分:${data.integral}积分"
-                tvIncome.text = SpanBuilder(s).size(5,s.length,14).color(context,5,s.length,R.color.color_text_price).bold(5,s.length).build()
-                "未学习"
-            }
-        }
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/course/adapter/SwitchStudentAdapter.kt b/app/src/main/java/com/dollearn/student/ui/course/adapter/SwitchStudentAdapter.kt
deleted file mode 100644
index 9f83799..0000000
--- a/app/src/main/java/com/dollearn/student/ui/course/adapter/SwitchStudentAdapter.kt
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.dollearn.student.ui.course.adapter
-
-import android.view.View
-import android.widget.ImageView
-import android.widget.TextView
-import cn.sinata.xldutils.activity.BaseActivity
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.utils.myToast
-import cn.sinata.xldutils.visible
-import com.dollearn.student.R
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.Student
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.home.AddStudentActivity
-import com.dollearn.student.utils.interfaces.StringCallback
-import org.jetbrains.anko.backgroundResource
-import org.jetbrains.anko.startActivityForResult
-import java.util.ArrayList
-
-class SwitchStudentAdapter(students: ArrayList<Student>):HFRecyclerAdapter<Student>(students, R.layout.item_student_switch) {
-    var checked = "" //选中的运动营成员id
-    var delCallback:StringCallback? = null
-    override fun onBind(holder: ViewHolder, position: Int, data: Student) {
-        val ivEdit = holder.bind<ImageView>(R.id.iv_edit)
-        val tvDefault = holder.bind<TextView>(R.id.tv_default)
-        val tvSetDefault = holder.bind<TextView>(R.id.tv_set_default)
-        val bg = holder.bind<View>(R.id.bg)
-
-        val name = "姓名:${data.stuName}"
-        holder.setText(R.id.tv_name, SpanBuilder(name).color(context, 0, 3, R.color.textColor66).bold(3, name.length).build())
-        val age = "年龄:${data.stuAge}"
-        holder.setText(R.id.tv_age, SpanBuilder(age).color(context, 0, 3, R.color.textColor66).bold(3, age.length).build())
-        val birth = "生日:${data.birthday}"
-        holder.setText(R.id.tv_birth, SpanBuilder(birth).color(context, 0, 3, R.color.textColor66).bold(3, birth.length).build())
-        val height = "身高:${data.stuHeight}"
-        holder.setText(R.id.tv_height, SpanBuilder(height).color(context, 0, 3, R.color.textColor66).bold(3, height.length).build())
-        val weight = "体重:${data.stuWeight}"
-        holder.setText(R.id.tv_wight, SpanBuilder(weight).color(context, 0, 3, R.color.textColor66).bold(3, weight.length).build())
-        bg.backgroundResource = if (data.stuId == checked) R.drawable.bg_orange_line_4dp else R.drawable.bg_grey_line_4dp
-        if (data.isNot == 1){
-            tvDefault.visible()
-            tvSetDefault.gone()
-        }else{
-            tvDefault.gone()
-            tvSetDefault.visible()
-            tvSetDefault.setOnClickListener {
-                HttpManager.editDefault(data.stuId?:"").request(context as BaseActivity){_,_->
-                    context.myToast("设置成功")
-                    mData[0].isNot = 0
-                    data.isNot = 1
-                    mData.remove(data)
-                    mData.add(0,data)
-                    notifyDataSetChanged()
-                }
-            }
-        }
-
-        ivEdit.setOnClickListener {
-            (context as BaseActivity).startActivityForResult<AddStudentActivity>(1,"user" to data,"type" to AddStudentActivity.TYPE_EDIT_STUDENT)
-        }
-
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/NoticeDetailActivity.kt b/app/src/main/java/com/dollearn/student/ui/discovery/NoticeDetailActivity.kt
deleted file mode 100644
index 7a93499..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/NoticeDetailActivity.kt
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.dollearn.student.ui.discovery
-
-import android.webkit.WebChromeClient
-import android.webkit.WebViewClient
-import com.dollearn.student.R
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import kotlinx.android.synthetic.main.activity_notice_detail.*
-
-class NoticeDetailActivity:TransparentStatusBarActivity() {
-    override fun setContentView() = R.layout.activity_notice_detail
-
-    private val id by lazy { intent.getStringExtra("id")?:"" }
-    private val type by lazy { intent.getIntExtra("type", TYPE_NOTICE) }
-
-    override fun initClick() {
-    }
-
-    override fun initView() {
-        if(type == TYPE_QUESTION){
-            title = "常见问题"
-        }
-        val settings = webView.settings
-        settings.javaScriptEnabled = true
-        settings.javaScriptCanOpenWindowsAutomatically = true
-        settings.defaultTextEncodingName = "utf-8"
-        settings.domStorageEnabled = true
-        webView.webChromeClient = object : WebChromeClient() {}
-        webView.webViewClient = object : WebViewClient() {}
-        getData()
-    }
-
-    private fun getData(){
-        HttpManager.noticeDetail(id,type).request(this){_,data->
-            data?.apply {
-                val content = if (type == TYPE_NOTICE){
-                    tv_title.text = noticeTitle
-                    tv_time.text = noticeTime
-                    noticeContents
-                }else{
-                    tv_title.text = quesTitle
-                    tv_time.text = quesTime
-                    quesContents
-                }
-                val sHead =
-                    "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
-                webView!!.loadDataWithBaseURL(null, sHead + content, "text/html", "utf-8", null)
-            }
-        }
-    }
-
-    companion object{
-        const val TYPE_NOTICE = 1//系统消息
-        const val TYPE_QUESTION = 2//常见问题
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/NoticeFragment.kt b/app/src/main/java/com/dollearn/student/ui/discovery/NoticeFragment.kt
deleted file mode 100644
index a212595..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/NoticeFragment.kt
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.dollearn.student.ui.discovery
-
-import android.view.View
-import androidx.recyclerview.widget.LinearLayoutManager
-import cn.sinata.xldutils.fragment.BaseFragment
-import com.dollearn.student.R
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.Notice
-import com.dollearn.student.network.requestByF
-import com.dollearn.student.ui.discovery.adapter.NoticeAdapter
-import kotlinx.android.synthetic.main.layout_common_list.*
-import org.jetbrains.anko.support.v4.startActivity
-
-class NoticeFragment:BaseFragment() {
-    override fun contentViewId() = R.layout.layout_common_list
-
-    private val list = arrayListOf<Notice>()
-    private val adapter = NoticeAdapter(list)
-
-    override fun onFirstVisibleToUser() {
-        refreshLayout.setEnableLoadMore(false)
-        rv_list.layoutManager = LinearLayoutManager(requireContext())
-        rv_list.adapter = adapter
-        adapter.setOnItemClickListener { view, position ->
-            startActivity<NoticeDetailActivity>("id" to list[position].noticeId)
-        }
-        refreshLayout.setOnRefreshListener {
-            getData()
-        }
-        getData()
-    }
-
-    private fun getData(){
-        HttpManager.noticeList().requestByF(this,success = { _, data->
-            refreshLayout.finishRefresh()
-            list.clear()
-            list.addAll(data?: arrayListOf())
-            adapter.notifyDataSetChanged()
-            tv_empty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE
-        }){_,_->
-            refreshLayout.finishRefresh(false)
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/ShopViewPagerFragment.kt b/app/src/main/java/com/dollearn/student/ui/discovery/ShopViewPagerFragment.kt
deleted file mode 100644
index 8d86198..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/ShopViewPagerFragment.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.dollearn.student.ui.discovery
-
-import androidx.core.os.bundleOf
-import cn.sinata.xldutils.fragment.BaseFragment
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Shop
-import kotlinx.android.synthetic.main.fragment_shop.*
-import org.jetbrains.anko.support.v4.startActivity
-
-class ShopViewPagerFragment:BaseFragment() {
-    override fun contentViewId() = R.layout.fragment_shop
-
-    private val shop by lazy { arguments?.getParcelable<Shop>("data") }
-    private val isNear by lazy { arguments?.getBoolean("isNear") }
-
-    override fun onFirstVisibleToUser() {
-
-    }
-
-    companion object{
-        fun newInstance(shop:Shop,isNear:Boolean):ShopViewPagerFragment{
-            val shopViewPagerFragment = ShopViewPagerFragment()
-            shopViewPagerFragment.arguments = bundleOf("data" to shop,"isNear" to isNear)
-            return shopViewPagerFragment
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/MineMenuAdapter.kt b/app/src/main/java/com/dollearn/student/ui/discovery/adapter/MineMenuAdapter.kt
deleted file mode 100644
index f2b95f8..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/MineMenuAdapter.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.dollearn.student.ui.discovery.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Banner
-import java.util.ArrayList
-
-class MineMenuAdapter(menus: ArrayList<Banner>):HFRecyclerAdapter<Banner>(menus, R.layout.item_mine_menu) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Banner) {
-        val tvName = holder.bind<TextView>(R.id.tv_name)
-        tvName.text = data.name
-        tvName.setCompoundDrawablesRelativeWithIntrinsicBounds(0,data.id,0,0)
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/NoticeAdapter.kt b/app/src/main/java/com/dollearn/student/ui/discovery/adapter/NoticeAdapter.kt
deleted file mode 100644
index f7894b6..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/NoticeAdapter.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.dollearn.student.ui.discovery.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Notice
-import java.util.ArrayList
-
-class NoticeAdapter(list: ArrayList<Notice>) :HFRecyclerAdapter<Notice>(list, R.layout.item_msg){
-    override fun onBind(holder: ViewHolder, position: Int, data: Notice) {
-        holder.setText(R.id.tv_title,data.noticeTitle)
-        holder.setText(R.id.tv_content,data.noticeContents)
-        holder.setText(R.id.tv_time,data.noticeTime)
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/QuestionAdapter.kt b/app/src/main/java/com/dollearn/student/ui/discovery/adapter/QuestionAdapter.kt
deleted file mode 100644
index 57156f1..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/QuestionAdapter.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.dollearn.student.ui.discovery.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Notice
-import java.util.ArrayList
-
-class QuestionAdapter(list: ArrayList<Notice>):HFRecyclerAdapter<Notice>(list, R.layout.item_question) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Notice) {
-        holder.setText(R.id.tv_name,data.quesTitle)
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/ShopAdapter.kt b/app/src/main/java/com/dollearn/student/ui/discovery/adapter/ShopAdapter.kt
deleted file mode 100644
index 382a1dd..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/ShopAdapter.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.dollearn.student.ui.discovery.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.ShopListBean
-import java.util.ArrayList
-
-class ShopAdapter(list: ArrayList<ShopListBean>):HFRecyclerAdapter<ShopListBean>(list, R.layout.item_shop) {
-    override fun onBind(holder: ViewHolder, position: Int, data: ShopListBean) {
-        holder.bind<SimpleDraweeView>(R.id.iv_cover).setImageURI(data.storeImg)
-        holder.setText(R.id.tv_name,data.storeName)
-        holder.setText(R.id.tv_distance,"距离我${data.storeDistance}km")
-        holder.setText(R.id.tv_address,"${data.storeName}(${data.storeAddress})")
-        holder.setText(R.id.tv_phone,data.storePhone)
-        holder.setText(R.id.tv_duration,data.storeTime)
-        holder.setText(R.id.tv_introduce,data.storeInfo)
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/ShopCourseAdapter.kt b/app/src/main/java/com/dollearn/student/ui/discovery/adapter/ShopCourseAdapter.kt
deleted file mode 100644
index 36e0ec9..0000000
--- a/app/src/main/java/com/dollearn/student/ui/discovery/adapter/ShopCourseAdapter.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.dollearn.student.ui.discovery.adapter
-
-import android.view.View
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.utils.SpanBuilder
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.CourseVo
-
-class ShopCourseAdapter(list: ArrayList<CourseVo>) :HFRecyclerAdapter<CourseVo>(list, R.layout.item_shop_course){
-    override fun onBind(holder: ViewHolder, position: Int, data: CourseVo) {
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.coverDrawing)
-        holder.setText(R.id.tv_name,data.name)
-        holder.bind<TextView>(R.id.tv_time).apply {
-            visibility = if (data.classStartTime.isNullOrEmpty()) View.GONE else{
-                text = "上课时间:${data.classStartTime}"
-                View.VISIBLE
-            }
-        }
-        holder.bind<TextView>(R.id.tv_count).apply {
-            val classCount = data.classHours.filter { it != 0 }
-            visibility = if (classCount.isEmpty()) View.GONE else{
-                text = SpanBuilder("包含课时数:${classCount.joinToString(",") { it.toString() }}课时").color(context,0,6,R.color.textColor66).build()
-                View.VISIBLE
-            }
-        }
-        holder.setText(R.id.tv_join_count,"已报名${data.applicantsNumber}人")
-        holder.setText(R.id.tv_price,"¥${data.originalPrice}|详情")
-
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/home/PayResultActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/PayResultActivity.kt
index 5d94a16..8a6ce67 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/PayResultActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/PayResultActivity.kt
@@ -4,7 +4,7 @@
 import com.dollearn.student.MainActivity
 import com.dollearn.student.R
 import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.ui.welfare.ExchangeRecordActivity
+import com.dollearn.student.ui.mine.ExchangeRecordActivity
 import kotlinx.android.synthetic.main.activity_pay_rlt.*
 import org.jetbrains.anko.startActivity
 
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/ChooseCoursTimesAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/ChooseCoursTimesAdapter.kt
deleted file mode 100644
index 0322fed..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/ChooseCoursTimesAdapter.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.annotation.SuppressLint
-import android.view.View
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-
-class ChooseCoursTimesAdapter(list: ArrayList<String>):HFRecyclerAdapter<String>(list, R.layout.item_lesson) {
-    var checkeds = ArrayList<Int>()
-    override fun onBind(holder: ViewHolder, position: Int, data: String) {
-        if(data.length==10){
-            holder.setText(R.id.tv_name,data.substring(5,data.length))
-        }else{
-            holder.setText(R.id.tv_name,data)
-        }
-
-        holder.bind<View>(R.id.tv_name).isSelected = checkeds.contains(position)
-
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/CourseAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/CourseAdapter.kt
deleted file mode 100644
index 86ed78b..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/CourseAdapter.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.graphics.Paint
-import android.view.View
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.visible
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Course
-
-class CourseAdapter(datas: ArrayList<Course>) :
-    HFRecyclerAdapter<Course>(datas, R.layout.item_course) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Course) {
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.coverDrawing)
-        holder.setText(R.id.tv_name, data.name)
-        data.classStartTime?.let {
-            val courseTime = holder.bind<TextView>(R.id.tv_time)
-            if (it.isNullOrEmpty())
-                courseTime.gone()
-            else{
-                courseTime.visible()
-                holder.setText(R.id.tv_time, "上课时间:${data.classStartTime.joinToString(" | ")}")
-            }
-        }
-
-        holder.setText(R.id.tv_join_count, "已报名:${data.applicantsNumber}人")
-//        holder.bind<TextView>(R.id.tv_vip_price).apply {  //安雪晖:列表一律隐藏会员价
-//            visibility = if (data.vipPrice == null) View.GONE else {
-//                text = "会员价:¥${data.vipPrice}"
-//                View.VISIBLE
-//            }
-//        }
-        holder.setText(R.id.tv_price, if (data.paymentPrice!=0.0) "¥${data.paymentPrice}" else "${data.playPaiCoin}币")
-        holder.bind<TextView>(R.id.tv_origin_price).apply {
-            text = if (data.originalPrice == null||data.originalPrice == 0.0||data.originalPrice == data.paymentPrice) "" else "¥${data.originalPrice}"
-            paintFlags = paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
-        }
-        holder.setText(
-            R.id.tv_distance,
-            if (data.distance == null) "" else "%.1fkm".format(data.distance)
-        )
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/CoursePayAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/CoursePayAdapter.kt
deleted file mode 100644
index 0bc205c..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/CoursePayAdapter.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.utils.SpanBuilder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.PayCourse
-
-class CoursePayAdapter(list:ArrayList<PayCourse>,val count:Int):HFRecyclerAdapter<PayCourse>(list, R.layout.item_pay_course) {
-    var checked = -1
-    override fun onBind(holder: ViewHolder, position: Int, data: PayCourse) {
-        val tv_course = holder.bind<TextView>(R.id.tv_course)
-        tv_course.text = SpanBuilder("${data.name} (剩余:${data.courseNum}课时)").color(context,0,data.name.length,R.color.textColor66).build()
-        if (data.courseNum>=count){
-            tv_course.alpha = 1f
-        }else
-            tv_course.alpha = 0.5f
-        tv_course.isSelected = position == checked
-        tv_course.setOnClickListener {
-            if (data.courseNum>=count){
-                checked = position
-                notifyDataSetChanged()
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/FieldAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/FieldAdapter.kt
deleted file mode 100644
index ef8ee57..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/FieldAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.utils.SpanBuilder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Place
-
-class FieldAdapter (datas:ArrayList<Place>):HFRecyclerAdapter<Place>(datas, R.layout.item_field) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Place) {
-        holder.setText(R.id.tv_name,data.name)
-        holder.setText(R.id.tv_type,data.siteTypeName)
-        holder.setText(R.id.tv_distance,if (data.distance == null ) "" else "距离我%.1fkm".format(data.distance))
-        holder.setText(R.id.tv_address, "${data.storeName}(${data.storeAddress})")
-        holder.setText(R.id.tv_time, "可预约时间段:${data.times}")
-        val text = "¥${data.price}起"
-        holder.setText(R.id.tv_price, SpanBuilder(text).size(text.length-1,text.length,12).build())
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/LessonCountAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/LessonCountAdapter.kt
deleted file mode 100644
index c2672de..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/LessonCountAdapter.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.view.View
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-
-class LessonCountAdapter(list: ArrayList<String>):HFRecyclerAdapter<String>(list, R.layout.item_lesson) {
-    var checked = 0
-    override fun onBind(holder: ViewHolder, position: Int, data: String) {
-        holder.setText(R.id.tv_name,data)
-        holder.bind<View>(R.id.tv_name).isSelected = position == checked
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/MatchAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/MatchAdapter.kt
deleted file mode 100644
index d2ef8cc..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/MatchAdapter.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.visible
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Match
-
-/**
- * @param isMine true:我报名的活动
- */
-class MatchAdapter (datas:ArrayList<Match>,private val isMine: Boolean = false):HFRecyclerAdapter<Match>(datas, R.layout.item_match) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Match) {
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.coverDrawing)
-        holder.setText(R.id.tv_name,data.name)
-        holder.setText(R.id.tv_info,data.introduction)
-        holder.setText(R.id.tv_age,data.age)
-        holder.setText(R.id.tv_heat,data.heat)
-        holder.setText(R.id.tv_time,"截止报名:${data.registerEndTime}")
-        holder.setText(R.id.tv_tag,"${data.cityName}|${data.getCondition()}")
-        if (isMine)
-            holder.bind<TextView>(R.id.tv_state).apply {
-                visible()
-                text = data.getStatusStr()
-                isEnabled = data.status == 1||data.status == 2
-            }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/MyPlaceAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/MyPlaceAdapter.kt
deleted file mode 100644
index 483d4bb..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/MyPlaceAdapter.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.view.View
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Place
-import org.jetbrains.anko.backgroundResource
-
-class MyPlaceAdapter (datas:ArrayList<Place>,val callback:Callback):HFRecyclerAdapter<Place>(datas, R.layout.item_my_place) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Place) {
-        holder.setText(R.id.tv_name,data.name)
-        holder.setText(R.id.tv_state,data.getStateStr())
-        holder.setText(R.id.tv_type,data.siteTypeName)
-        holder.setText(R.id.tv_address, "${data.storeName}(${data.storeAddress})")
-        holder.setText(R.id.tv_time, "预约时间:${data.appointment}")
-        holder.setText(R.id.tv_price, if (data.payType == 3) "%d币".format(data.payMoney!!.toInt()) else "¥${data.payMoney}")
-        holder.bind<TextView>(R.id.tv_action).apply {
-            visibility = if (data.status ==0 ){
-                val l = (((data.insertTime ?: 0L) + 30L * 60 * 1000) - System.currentTimeMillis())/1000
-                if (l<0){
-                    holder.setText(R.id.tv_state,"已取消")
-                    View.GONE
-                }else{
-                    text = "支付(%02d:%02d)".format(l/60,l%60)
-                    setOnClickListener {
-                        callback.onPay(position)
-                    }
-                    View.VISIBLE
-                }
-            } else View.GONE
-        }
-    }
-
-    interface Callback{
-//        fun onCancel(position: Int)  //产品:取消按钮放进详情
-        fun onPay(position: Int)
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/OpenCityAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/OpenCityAdapter.kt
deleted file mode 100644
index 8042beb..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/OpenCityAdapter.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.view.View
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.visible
-import com.github.promeg.pinyinhelper.Pinyin
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.CommonData
-import java.util.ArrayList
-
-class OpenCityAdapter(datas: ArrayList<CommonData>) :HFRecyclerAdapter<CommonData>(datas, R.layout.item_open_city){
-    override fun onBind(holder: ViewHolder, position: Int, data: CommonData) {
-        holder.setText(R.id.tv_index,getInitial(data.name))
-        if (position != 0&&getInitial(data.name) == getInitial(mData[position-1].name))
-            holder.bind<View>(R.id.tv_index).gone()
-        else
-            holder.bind<View>(R.id.tv_index).visible()
-        holder.setText(R.id.tv_name,data.name)
-    }
-
-    fun getInitial(name:String):String = if (name.startsWith("重庆")) "C" else Pinyin.toPinyin(name[0])[0].toString()
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/ShopMenuAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/ShopMenuAdapter.kt
deleted file mode 100644
index d87854d..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/ShopMenuAdapter.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import androidx.constraintlayout.widget.ConstraintLayout
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.utils.screenWidth
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Banner
-import org.jetbrains.anko.dip
-import java.util.*
-
-class ShopMenuAdapter(menus: ArrayList<Banner>) :
-    HFRecyclerAdapter<Banner>(menus, R.layout.item_shop_menu) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Banner) {
-        val iv = holder.bind<SimpleDraweeView>(R.id.iv_big)
-        val layoutParams = iv.layoutParams as ConstraintLayout.LayoutParams
-        layoutParams.width = context.screenWidth() / 2 - context.dip(30)
-        if(data.width==0||data.height==0){
-            layoutParams.dimensionRatio = "1:1"
-        }else{
-            layoutParams.dimensionRatio = "${data.width}:${data.height}"
-        }
-
-        iv.layoutParams = layoutParams
-        if (data.backgroundImage.isNullOrEmpty()) {
-            iv.setImageURI("")
-        } else {
-            iv.setImageURI(data.backgroundImage)
-        }
-    }
-
-    override fun getItemViewType(position: Int): Int {
-        return position
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/VideoGridAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/VideoGridAdapter.kt
deleted file mode 100644
index b2116d0..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/VideoGridAdapter.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.VideoBean
-
-class VideoGridAdapter(list:ArrayList<VideoBean>):HFRecyclerAdapter<VideoBean>(list, R.layout.item_video_grid) {
-    override fun onBind(holder: ViewHolder, position: Int, data: VideoBean) {
-        holder.setText(R.id.tv_name,data.name)
-        holder.setText(R.id.tv_introduce,data.introduce)
-        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.cover)
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/VideoTypeAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/VideoTypeAdapter.kt
deleted file mode 100644
index 146801c..0000000
--- a/app/src/main/java/com/dollearn/student/ui/home/adapter/VideoTypeAdapter.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.dollearn.student.ui.home.adapter
-
-import android.view.View
-import androidx.recyclerview.widget.GridLayoutManager
-import androidx.recyclerview.widget.RecyclerView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.VideoTypeBean
-import com.dollearn.student.utils.extention.clickDelay
-import java.util.ArrayList
-
-class VideoTypeAdapter(list: ArrayList<VideoTypeBean>,val callback:Callback) :HFRecyclerAdapter<VideoTypeBean>(list, R.layout.item_video_type){
-    override fun onBind(holder: ViewHolder, position: Int, data: VideoTypeBean) {
-        holder.setText(R.id.tv_name,data.name)
-        holder.bind<View>(R.id.tv_more).clickDelay {
-            callback.onMore(position)
-        }
-        val rv = holder.bind<RecyclerView>(R.id.rv_video)
-        rv.layoutManager = GridLayoutManager(context,2)
-        val videoGridAdapter = VideoGridAdapter(data.list)
-        videoGridAdapter.setOnItemClickListener { view, position ->
-            callback.onVideoDetail(data.list[position].id)
-        }
-        rv.adapter = videoGridAdapter
-    }
-
-    interface Callback{
-        fun onMore(position: Int)
-        fun onVideoDetail(id:String)
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/mine/ExchangeRecordActivity.kt b/app/src/main/java/com/dollearn/student/ui/mine/ExchangeRecordActivity.kt
new file mode 100644
index 0000000..c9ac816
--- /dev/null
+++ b/app/src/main/java/com/dollearn/student/ui/mine/ExchangeRecordActivity.kt
@@ -0,0 +1,67 @@
+package com.dollearn.student.ui.mine
+
+import android.content.Intent
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.dollearn.student.R
+import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.ExchangeRecord
+import com.dollearn.student.network.request
+import com.dollearn.student.ui.TransparentStatusBarActivity
+import com.dollearn.student.ui.mine.adapter.ExchangeRecordAdapter
+import kotlinx.android.synthetic.main.activity_exchange_record.*
+
+class ExchangeRecordActivity : TransparentStatusBarActivity() {
+    override fun setContentView() = R.layout.activity_exchange_record
+
+    private val list = arrayListOf<ExchangeRecord>()
+    private val adapter = ExchangeRecordAdapter(list)
+    private var page = 1
+
+    override fun initClick() {
+
+    }
+
+    override fun initView() {
+        rv_record.layoutManager = LinearLayoutManager(this)
+        rv_record.adapter = adapter
+        refreshLayout.setOnRefreshListener {
+            page = 1
+            getData()
+        }
+        refreshLayout.setOnLoadMoreListener {
+            page++
+            getData()
+        }
+        getData()
+    }
+
+    private fun getData() {
+        HttpManager.exchangeRecord(page).request(this,success = {_,data->
+            if (page == 1)
+                list.clear()
+            list.addAll(data?.records?: arrayListOf())
+            adapter.notifyDataSetChanged()
+            if (list.isEmpty())
+                refreshLayout.finishRefreshWithNoMoreData()
+            else if (data?.records.isNullOrEmpty())
+                refreshLayout.finishLoadMoreWithNoMoreData()
+            else if (page == 1)
+                refreshLayout.finishRefresh()
+            else
+                refreshLayout.finishLoadMore()
+        }){_,_->
+            if (page == 1)
+                refreshLayout.finishRefresh(false)
+            else
+                refreshLayout.finishLoadMore(false)
+            page--
+        }
+    }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if (resultCode == RESULT_OK){
+            getData()
+        }
+    }
+}
diff --git a/app/src/main/java/com/dollearn/student/ui/mine/MineFragment.kt b/app/src/main/java/com/dollearn/student/ui/mine/MineFragment.kt
index be55cc2..1386fe4 100644
--- a/app/src/main/java/com/dollearn/student/ui/mine/MineFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/mine/MineFragment.kt
@@ -13,7 +13,6 @@
 import com.dollearn.student.network.entity.UserBean
 import com.dollearn.student.network.requestByF
 import com.dollearn.student.ui.login.LoginActivity
-import com.dollearn.student.ui.welfare.*
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import com.dollearn.student.utils.extention.formatToChinese
diff --git a/app/src/main/java/com/dollearn/student/ui/mine/adapter/ExchangeRecordAdapter.kt b/app/src/main/java/com/dollearn/student/ui/mine/adapter/ExchangeRecordAdapter.kt
new file mode 100644
index 0000000..e537d96
--- /dev/null
+++ b/app/src/main/java/com/dollearn/student/ui/mine/adapter/ExchangeRecordAdapter.kt
@@ -0,0 +1,76 @@
+package com.dollearn.student.ui.mine.adapter
+
+import android.widget.TextView
+import androidx.core.os.bundleOf
+import cn.sinata.xldutils.activity.BaseActivity
+import cn.sinata.xldutils.adapter.HFRecyclerAdapter
+import cn.sinata.xldutils.adapter.util.ViewHolder
+import cn.sinata.xldutils.gone
+import cn.sinata.xldutils.visible
+import com.dollearn.student.R
+import com.dollearn.student.dialog.TipDialog
+import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.ExchangeRecord
+import com.dollearn.student.network.request
+import com.dollearn.student.ui.mine.ChangeAddressActivity
+import com.facebook.drawee.view.SimpleDraweeView
+import org.jetbrains.anko.startActivityForResult
+import java.util.ArrayList
+
+class ExchangeRecordAdapter(list: ArrayList<ExchangeRecord>) :
+    HFRecyclerAdapter<ExchangeRecord>(list, R.layout.item_exchange_record) {
+    override fun onBind(holder: ViewHolder, position: Int, data: ExchangeRecord) {
+        holder.bind<SimpleDraweeView>(R.id.iv_good).setImageURI(data.coverImg)
+        holder.setText(R.id.tv_name, data.goodsName)
+        holder.setText(R.id.tv_price, "${data.integral}积分")
+        holder.setText(R.id.tv_category, data.goodsType.joinToString(" | ") { it })
+        holder.setText(R.id.tv_count, "商品数量:${data.count}")
+        holder.setText(R.id.tv_receiver, "收货信息:${data.consigneeName}|${data.consigneePhone}|${data.consigneeAddress}")
+        val tvPost = holder.bind<TextView>(R.id.tv_post)
+        val tvAction = holder.bind<TextView>(R.id.tv_action)
+        val act = context as BaseActivity
+
+        val state = when(data.state){//订单状态1待发货2已发货3已完成
+            1->{
+                tvAction.visible()
+                tvAction.text = "修改地址"
+                tvPost.gone()
+                tvAction.setOnClickListener {
+                    act.startActivityForResult<ChangeAddressActivity>(1,"id" to data.orderId)
+                }
+                "待发货"
+            }
+            2->{
+                tvAction.visible()
+                tvAction.text = "已收货"
+                tvPost.visible()
+                tvPost.text = "发货信息:${data.express}|${data.expressNumber}"
+                tvAction.setOnClickListener {
+                    val tipDialog = TipDialog()
+                    tipDialog.arguments = bundleOf("msg" to "确认已收到货吗?")
+                    tipDialog.setCallback(object :TipDialog.OnClickCallback{
+                        override fun onOk() {
+                            HttpManager.confirmStudy(data.orderId).request(act){_,_->
+                                data.state = 3
+                                notifyItemChanged(position)
+                            }
+                        }
+
+                        override fun onCancel() {
+                        }
+                    })
+                    tipDialog.show(act.supportFragmentManager,"sure")
+                }
+                "平台已发货,请耐心等待"
+            }
+            else->{
+                tvAction.gone()
+                tvPost.gone()
+                "已完成"
+            }
+        }
+        holder.setText(R.id.tv_state, state)
+
+    }
+
+}
diff --git a/app/src/main/java/com/dollearn/student/ui/mine/adapter/RechargeAdapter.kt b/app/src/main/java/com/dollearn/student/ui/mine/adapter/RechargeAdapter.kt
deleted file mode 100644
index 08e363d..0000000
--- a/app/src/main/java/com/dollearn/student/ui/mine/adapter/RechargeAdapter.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.dollearn.student.ui.mine.adapter
-
-import android.view.View
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.RechargeItem
-import org.jetbrains.anko.backgroundResource
-import org.jetbrains.anko.textColorResource
-import java.util.ArrayList
-
-class RechargeAdapter(datas: ArrayList<RechargeItem>):HFRecyclerAdapter<RechargeItem>(datas, R.layout.item_recharge){
-    var checked = 0
-    override fun onBind(holder: ViewHolder, position: Int, data: RechargeItem) {
-        holder.setText(R.id.tv_coin,"${data.wpGold.toInt()}币")
-        holder.setText(R.id.tv_price,"¥${data.amount}")
-        val bg = holder.bind<View>(R.id.ll_bg)
-        val tv_coin = holder.bind<TextView>(R.id.tv_coin)
-        val tv_price = holder.bind<TextView>(R.id.tv_price)
-        if (position == checked){
-            bg.backgroundResource = R.drawable.bg_recharge_checked
-            tv_coin.textColorResource = R.color.colorPrimary
-            tv_price.textColorResource = R.color.colorPrimary
-        }else{
-            bg.backgroundResource =  R.drawable.bg_recharge_uncheck
-            tv_coin.textColorResource = R.color.textColor66
-            tv_price.textColorResource = R.color.textColor66
-        }
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/shop/GoodsDetailActivity.kt b/app/src/main/java/com/dollearn/student/ui/shop/GoodsDetailActivity.kt
new file mode 100644
index 0000000..323522b
--- /dev/null
+++ b/app/src/main/java/com/dollearn/student/ui/shop/GoodsDetailActivity.kt
@@ -0,0 +1,132 @@
+package com.dollearn.student.ui.shop
+
+import android.app.Activity
+import android.content.Intent
+import android.graphics.Paint
+import android.webkit.WebChromeClient
+import android.webkit.WebViewClient
+import androidx.core.os.bundleOf
+import com.dollearn.student.R
+import com.dollearn.student.dialog.TipDialog
+import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.Banner
+import com.dollearn.student.network.entity.GoodsDetail
+import com.dollearn.student.network.request
+import com.dollearn.student.ui.TransparentStatusBarActivity
+import com.dollearn.student.ui.home.PayResultActivity
+import com.dollearn.student.ui.shop.adapter.ShopBannerAdapter
+import com.dollearn.student.utils.pay.PayListener
+import com.dollearn.student.utils.pay.PayUtil
+import com.youth.banner.indicator.CircleIndicator
+import kotlinx.android.synthetic.main.activity_goods_detail.*
+import kotlinx.android.synthetic.main.activity_goods_detail.tv_score
+import org.jetbrains.anko.startActivity
+import org.jetbrains.anko.startActivityForResult
+
+class GoodsDetailActivity : TransparentStatusBarActivity(), PayListener {
+    override fun setContentView() = R.layout.activity_goods_detail
+
+    private val id by lazy { intent.getStringExtra("id")?:"" }
+    private var goods: GoodsDetail? = null
+
+    private var score = 0
+
+    private val bannerImg = arrayListOf<Banner>()
+    private val bannerAdapter by lazy {
+        ShopBannerAdapter(bannerImg, this)
+    }
+
+    override fun initClick() {
+        tv_action.setOnClickListener {
+            if (score<goods?.good?.integral?:0){
+                val tipDialog = TipDialog()
+                tipDialog.arguments = bundleOf("isAlert" to true,"msg" to "兑换失败,当前剩余积分不足!","ok" to "关闭")
+                tipDialog.show(supportFragmentManager,"tip")
+                return@setOnClickListener
+            }
+            tv_action.isEnabled = false
+            showDialog()
+            HttpManager.redeemNow(id).request(this,false, {_,data->
+                tv_action.isEnabled = true
+                startActivity<ExchangeActivity>("order" to data)
+            }){_,msg->
+                val tipDialog = TipDialog()
+                tipDialog.arguments = bundleOf("isAlert" to true,"msg" to msg,"ok" to "关闭")
+                tipDialog.show(supportFragmentManager,"tip")
+                tv_action.isEnabled = true
+            }
+        }
+    }
+
+    override fun initView() {
+        banner.adapter = bannerAdapter
+        banner.indicator = CircleIndicator(this)
+        val settings = webView.settings
+        settings.javaScriptEnabled = true
+        settings.javaScriptCanOpenWindowsAutomatically = true
+        settings.defaultTextEncodingName = "utf-8"
+        settings.domStorageEnabled = true
+        webView.webChromeClient = object : WebChromeClient() {}
+        webView.webViewClient = object : WebViewClient() {}
+        PayUtil.addPayListener(this)
+        getData()
+        getScore()
+    }
+
+    private fun getScore() {
+        HttpManager.getIntegralStudy().request(this){_,data->
+            score = data?:0
+            tv_balance.text = "剩余积分:$score"
+        }
+    }
+
+    private fun getData() {
+        HttpManager.goodDetail(id).request(this) { _, data ->
+            goods = data
+            goods?.apply {
+                tv_score.text = good.integral.toString()
+                bannerImg.addAll((good.detailImg.split(",")).map { Banner(url = it) })
+                bannerAdapter.notifyDataSetChanged()
+                banner.currentItem = 1
+                tv_price.text = good.integral.toString()
+                tv_value.text = if (good.price!=null&&good.price!=0.0) "¥%.2f".format(good.price) else ""
+                tv_value.paintFlags = tv_value.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
+                tv_name.text = good.name
+                tv_category.text = goodTypes?.joinToString ("|"){ it.name }
+                tv_sold.text = "%s%s%d人已换".format(if (residueNumber == null) "" else "剩余数量:${residueNumber}|",if (good.userCount == null) "" else "可换数量:${good.userCount}|", exchangeNumber)
+                val sHead =
+                    "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
+                webView!!.loadDataWithBaseURL(null, sHead + good.detail, "text/html", "utf-8", null)
+            }
+        }
+    }
+
+    override fun onPaySuccess() {
+        startActivityForResult<PayResultActivity>(1, "type" to PayResultActivity.TYPE_EXCHANGE_SUC)
+    }
+
+    override fun onPayCancel() {
+    }
+
+    override fun onPayError(msg: String) {
+        startActivityForResult<PayResultActivity>(
+            1,
+            "type" to PayResultActivity.TYPE_EXCHANGE_FAILED,
+            "msg" to msg
+        )
+    }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if (resultCode == Activity.RESULT_OK) {
+            tv_action.postDelayed({
+            }, 500)
+        }
+    }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        PayUtil.removePayListener(this)
+        PayUtil.unregisterApp()
+    }
+}
diff --git a/app/src/main/java/com/dollearn/student/ui/shop/ShopFragment.kt b/app/src/main/java/com/dollearn/student/ui/shop/ShopFragment.kt
index be18eb6..5adf555 100644
--- a/app/src/main/java/com/dollearn/student/ui/shop/ShopFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/shop/ShopFragment.kt
@@ -2,7 +2,6 @@
 
 import android.content.Context
 import android.view.inputmethod.InputMethodManager
-import androidx.core.content.ContextCompat.getSystemService
 import androidx.recyclerview.widget.GridLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import cn.sinata.xldutils.fragment.BaseFragment
@@ -14,7 +13,6 @@
 import com.dollearn.student.network.requestByF
 import com.dollearn.student.ui.shop.adapter.GoodsAdapter
 import com.dollearn.student.ui.shop.adapter.GoodsTypeAdapter
-import com.dollearn.student.ui.welfare.GoodsDetailActivity
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.fragment_shop.*
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/ExchangeDetailActivity.kt b/app/src/main/java/com/dollearn/student/ui/welfare/ExchangeDetailActivity.kt
deleted file mode 100644
index 12e04ab..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/ExchangeDetailActivity.kt
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.dollearn.student.ui.welfare
-
-import android.annotation.SuppressLint
-import android.webkit.WebChromeClient
-import android.webkit.WebViewClient
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.visible
-import com.dollearn.student.R
-import com.dollearn.student.dialog.LoginRuleDialog
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.Banner
-import com.dollearn.student.network.entity.ExchangeDetail
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.ui.home.adapter.HomeBannerAdapter
-import com.dollearn.student.utils.extention.clickDelay
-import com.youth.banner.indicator.CircleIndicator
-import kotlinx.android.synthetic.main.activity_exchange_detail.*
-
-@SuppressLint("SetTextI18n")
-class ExchangeDetailActivity : TransparentStatusBarActivity() {
-    override fun setContentView() = R.layout.activity_exchange_detail
-
-    private val id by lazy { intent.getStringExtra("id")?:"" }
-    private val bannerImg = arrayListOf<Banner>()
-    private val bannerAdapter by lazy {
-        HomeBannerAdapter(bannerImg, this)
-    }
-    private var exchangeDetail: ExchangeDetail? = null
-
-    override fun initClick() {
-        tv_shop.clickDelay {
-            LoginRuleDialog.show(
-                supportFragmentManager,
-                exchangeDetail?.belongs ?: "",
-                LoginRuleDialog.TYPE_COUPON_USAGE
-            )
-        }
-    }
-
-    override fun initView() {
-        banner.adapter = bannerAdapter
-        banner.indicator = CircleIndicator(this)
-        val settings = webView.settings
-        settings.javaScriptEnabled = true
-        settings.javaScriptCanOpenWindowsAutomatically = true
-        settings.defaultTextEncodingName = "utf-8"
-        settings.domStorageEnabled = true
-        webView.webChromeClient = object : WebChromeClient() {}
-        webView.webViewClient = object : WebViewClient() {}
-        getData()
-    }
-
-
-    private fun getData() {
-        HttpManager.redemptionDetails(id).request(this) { _, data ->
-            exchangeDetail = data
-            data?.apply {
-                bannerImg.addAll((pics ?: arrayListOf()).map { Banner(url = it) })
-                bannerAdapter.notifyDataSetChanged()
-                banner.currentItem = 1
-                tv_name.text = goodName
-                tv_price.text =
-                    if (exchangeType == 2) "${integral}积分+¥${cash}" else if (exchangeType == 3) "¥${cash}" else "${integral}积分"
-                tv_deadline.text = "${startTime}至${endTime}"
-                tv_order_time.text = orderTime
-                val sHead =
-                    "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
-                webView!!.loadDataWithBaseURL(null, sHead + contents, "text/html", "utf-8", null)
-                if (useType == 1) { //1已使用 2未使用
-                    iv_used.visible()
-                    ll_used.visible()
-                    tv_use_time.text = writeOffTime
-                    tv_use_shop.text = writeOffName
-                } else {
-                    iv_used.gone()
-                    ll_target_shop.visible()
-                }
-
-                when (goodType) {
-                    2 -> {
-                        rl_classhour.visible()
-                        mtvClassHour.text = "${classHours}课时"
-                        tv_deadline.gone()
-                        tv_1.gone()
-                    }
-                    3 -> {
-                        rl_type.visible()
-                        mtvFeeType.text = cardType?.let {
-                            when (it) {
-                                // 1日卡 2月卡 3季卡 4年卡
-                                1 -> "日卡"
-                                2 -> "月卡"
-                                3 -> "季卡"
-                                4 -> "年卡"
-                                else -> ""
-                            }
-                        } ?: ""
-                    }
-                }
-            }
-        }
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/ExchangeRecordActivity.kt b/app/src/main/java/com/dollearn/student/ui/welfare/ExchangeRecordActivity.kt
deleted file mode 100644
index 07212db..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/ExchangeRecordActivity.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.dollearn.student.ui.welfare
-
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.dollearn.student.R
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.ExchangeRecord
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.ui.welfare.adapter.ExchangeRecordAdapter
-import kotlinx.android.synthetic.main.activity_exchange_record.*
-
-class ExchangeRecordActivity : TransparentStatusBarActivity() {
-    override fun setContentView() = R.layout.activity_exchange_record
-
-    private val list = arrayListOf<ExchangeRecord>()
-    private val adapter = ExchangeRecordAdapter(list)
-    private var page = 1
-
-    override fun initClick() {
-
-    }
-
-    override fun initView() {
-        rv_record.layoutManager = LinearLayoutManager(this)
-        rv_record.adapter = adapter
-        refreshLayout.setOnRefreshListener {
-            page = 1
-            getData()
-        }
-        refreshLayout.setOnLoadMoreListener {
-            page++
-            getData()
-        }
-        getData()
-    }
-
-    private fun getData() {
-        HttpManager.exchangeRecord(page).request(this,success = {_,data->
-            if (page == 1)
-                list.clear()
-            list.addAll(data?.records?: arrayListOf())
-            adapter.notifyDataSetChanged()
-            if (list.isEmpty())
-                refreshLayout.finishRefreshWithNoMoreData()
-            else if (data?.records.isNullOrEmpty())
-                refreshLayout.finishLoadMoreWithNoMoreData()
-            else if (page == 1)
-                refreshLayout.finishRefresh()
-            else
-                refreshLayout.finishLoadMore()
-        }){_,_->
-            if (page == 1)
-                refreshLayout.finishRefresh(false)
-            else
-                refreshLayout.finishLoadMore(false)
-            page--
-        }
-    }
-
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        super.onActivityResult(requestCode, resultCode, data)
-        if (resultCode == RESULT_OK){
-            getData()
-        }
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/GoodsDetailActivity.kt b/app/src/main/java/com/dollearn/student/ui/welfare/GoodsDetailActivity.kt
deleted file mode 100644
index d2b340c..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/GoodsDetailActivity.kt
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.dollearn.student.ui.welfare
-
-import android.app.Activity
-import android.content.Intent
-import android.graphics.Paint
-import android.webkit.WebChromeClient
-import android.webkit.WebViewClient
-import androidx.core.os.bundleOf
-import com.dollearn.student.R
-import com.dollearn.student.dialog.TipDialog
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.Banner
-import com.dollearn.student.network.entity.GoodsDetail
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import com.dollearn.student.ui.home.PayResultActivity
-import com.dollearn.student.ui.shop.ExchangeActivity
-import com.dollearn.student.ui.shop.adapter.ShopBannerAdapter
-import com.dollearn.student.utils.pay.PayListener
-import com.dollearn.student.utils.pay.PayUtil
-import com.youth.banner.indicator.CircleIndicator
-import kotlinx.android.synthetic.main.activity_goods_detail.*
-import kotlinx.android.synthetic.main.activity_goods_detail.tv_score
-import org.jetbrains.anko.startActivity
-import org.jetbrains.anko.startActivityForResult
-
-class GoodsDetailActivity : TransparentStatusBarActivity(), PayListener {
-    override fun setContentView() = R.layout.activity_goods_detail
-
-    private val id by lazy { intent.getStringExtra("id")?:"" }
-    private var goods: GoodsDetail? = null
-
-    private var score = 0
-
-    private val bannerImg = arrayListOf<Banner>()
-    private val bannerAdapter by lazy {
-        ShopBannerAdapter(bannerImg, this)
-    }
-
-    override fun initClick() {
-        tv_action.setOnClickListener {
-            if (score<goods?.good?.integral?:0){
-                val tipDialog = TipDialog()
-                tipDialog.arguments = bundleOf("isAlert" to true,"msg" to "兑换失败,当前剩余积分不足!","ok" to "关闭")
-                tipDialog.show(supportFragmentManager,"tip")
-                return@setOnClickListener
-            }
-            tv_action.isEnabled = false
-            showDialog()
-            HttpManager.redeemNow(id).request(this,false, {_,data->
-                tv_action.isEnabled = true
-                startActivity<ExchangeActivity>("order" to data)
-            }){_,msg->
-                val tipDialog = TipDialog()
-                tipDialog.arguments = bundleOf("isAlert" to true,"msg" to msg,"ok" to "关闭")
-                tipDialog.show(supportFragmentManager,"tip")
-                tv_action.isEnabled = true
-            }
-        }
-    }
-
-    override fun initView() {
-        banner.adapter = bannerAdapter
-        banner.indicator = CircleIndicator(this)
-        val settings = webView.settings
-        settings.javaScriptEnabled = true
-        settings.javaScriptCanOpenWindowsAutomatically = true
-        settings.defaultTextEncodingName = "utf-8"
-        settings.domStorageEnabled = true
-        webView.webChromeClient = object : WebChromeClient() {}
-        webView.webViewClient = object : WebViewClient() {}
-        PayUtil.addPayListener(this)
-        getData()
-        getScore()
-    }
-
-    private fun getScore() {
-        HttpManager.getIntegralStudy().request(this){_,data->
-            score = data?:0
-            tv_balance.text = "剩余积分:$score"
-        }
-    }
-
-    private fun getData() {
-        HttpManager.goodDetail(id).request(this) { _, data ->
-            goods = data
-            goods?.apply {
-                tv_score.text = good.integral.toString()
-                bannerImg.addAll((good.detailImg.split(",")).map { Banner(url = it) })
-                bannerAdapter.notifyDataSetChanged()
-                banner.currentItem = 1
-                tv_price.text = good.integral.toString()
-                tv_value.text = if (good.price!=null&&good.price!=0.0) "¥%.2f".format(good.price) else ""
-                tv_value.paintFlags = tv_value.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
-                tv_name.text = good.name
-                tv_category.text = goodTypes?.joinToString ("|"){ it.name }
-                tv_sold.text = "%s%s%d人已换".format(if (residueNumber == null) "" else "剩余数量:${residueNumber}|",if (good.userCount == null) "" else "可换数量:${good.userCount}|", exchangeNumber)
-                val sHead =
-                    "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
-                webView!!.loadDataWithBaseURL(null, sHead + good.detail, "text/html", "utf-8", null)
-            }
-        }
-    }
-
-    override fun onPaySuccess() {
-        startActivityForResult<PayResultActivity>(1, "type" to PayResultActivity.TYPE_EXCHANGE_SUC)
-    }
-
-    override fun onPayCancel() {
-    }
-
-    override fun onPayError(msg: String) {
-        startActivityForResult<PayResultActivity>(
-            1,
-            "type" to PayResultActivity.TYPE_EXCHANGE_FAILED,
-            "msg" to msg
-        )
-    }
-
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        super.onActivityResult(requestCode, resultCode, data)
-        if (resultCode == Activity.RESULT_OK) {
-            tv_action.postDelayed({
-            }, 500)
-        }
-    }
-
-    override fun onDestroy() {
-        super.onDestroy()
-        PayUtil.removePayListener(this)
-        PayUtil.unregisterApp()
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/OnlineShopActivity.kt b/app/src/main/java/com/dollearn/student/ui/welfare/OnlineShopActivity.kt
deleted file mode 100644
index fd1408e..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/OnlineShopActivity.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.dollearn.student.ui.welfare
-
-import cn.sinata.xldutils.gone
-import com.dollearn.student.R
-import com.dollearn.student.ui.TransparentStatusBarActivity
-import kotlinx.android.synthetic.main.activity_online_shop.*
-
-class OnlineShopActivity : TransparentStatusBarActivity() {
-    override fun setContentView() = R.layout.activity_online_shop
-
-    override fun initClick() {
-        iv_back.setOnClickListener { finish() }
-    }
-
-    override fun initView() {
-        titleBar.gone()
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/CoinAdapter.kt b/app/src/main/java/com/dollearn/student/ui/welfare/adapter/CoinAdapter.kt
deleted file mode 100644
index ae1dbf4..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/CoinAdapter.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.dollearn.student.ui.welfare.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.CoinRecord
-import org.jetbrains.anko.textColorResource
-
-class CoinAdapter(datas:ArrayList<CoinRecord>):HFRecyclerAdapter<CoinRecord>(datas, R.layout.item_coin) {
-    override fun onBind(holder: ViewHolder, position: Int, data: CoinRecord) {
-        holder.setText(R.id.tv_reason,data.consumeName)
-        holder.setText(R.id.tv_time,data.consumeTime)
-        holder.setText(R.id.tv_money,data.consumeAmount)
-        holder.bind<TextView>(R.id.tv_money).textColorResource = if (data.consumeAmount.startsWith("-")) R.color.color_text_price else R.color.textColorGreen
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/ExchangeRecordAdapter.kt b/app/src/main/java/com/dollearn/student/ui/welfare/adapter/ExchangeRecordAdapter.kt
deleted file mode 100644
index 0e0e78e..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/ExchangeRecordAdapter.kt
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.dollearn.student.ui.welfare.adapter
-
-import android.widget.TextView
-import androidx.core.os.bundleOf
-import cn.sinata.xldutils.activity.BaseActivity
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.visible
-import com.dollearn.student.R
-import com.dollearn.student.dialog.TipDialog
-import com.dollearn.student.network.HttpManager
-import com.dollearn.student.network.entity.ExchangeRecord
-import com.dollearn.student.network.request
-import com.dollearn.student.ui.mine.ChangeAddressActivity
-import com.facebook.drawee.view.SimpleDraweeView
-import org.jetbrains.anko.startActivityForResult
-import java.util.ArrayList
-
-class ExchangeRecordAdapter(list: ArrayList<ExchangeRecord>) :
-    HFRecyclerAdapter<ExchangeRecord>(list, R.layout.item_exchange_record) {
-    override fun onBind(holder: ViewHolder, position: Int, data: ExchangeRecord) {
-        holder.bind<SimpleDraweeView>(R.id.iv_good).setImageURI(data.coverImg)
-        holder.setText(R.id.tv_name, data.goodsName)
-        holder.setText(R.id.tv_price, "${data.integral}积分")
-        holder.setText(R.id.tv_category, data.goodsType.joinToString(" | ") { it })
-        holder.setText(R.id.tv_count, "商品数量:${data.count}")
-        holder.setText(R.id.tv_receiver, "收货信息:${data.consigneeName}|${data.consigneePhone}|${data.consigneeAddress}")
-        val tvPost = holder.bind<TextView>(R.id.tv_post)
-        val tvAction = holder.bind<TextView>(R.id.tv_action)
-        val act = context as BaseActivity
-
-        val state = when(data.state){//订单状态1待发货2已发货3已完成
-            1->{
-                tvAction.visible()
-                tvAction.text = "修改地址"
-                tvPost.gone()
-                tvAction.setOnClickListener {
-                    act.startActivityForResult<ChangeAddressActivity>(1,"id" to data.orderId)
-                }
-                "待发货"
-            }
-            2->{
-                tvAction.visible()
-                tvAction.text = "已收货"
-                tvPost.visible()
-                tvPost.text = "发货信息:${data.express}|${data.expressNumber}"
-                tvAction.setOnClickListener {
-                    val tipDialog = TipDialog()
-                    tipDialog.arguments = bundleOf("msg" to "确认已收到货吗?")
-                    tipDialog.setCallback(object :TipDialog.OnClickCallback{
-                        override fun onOk() {
-                            HttpManager.confirmStudy(data.orderId).request(act){_,_->
-                                data.state = 3
-                                notifyItemChanged(position)
-                            }
-                        }
-
-                        override fun onCancel() {
-                        }
-                    })
-                    tipDialog.show(act.supportFragmentManager,"sure")
-                }
-                "平台已发货,请耐心等待"
-            }
-            else->{
-                tvAction.gone()
-                tvPost.gone()
-                "已完成"
-            }
-        }
-        holder.setText(R.id.tv_state, state)
-
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/ShopCheckAdapter.kt b/app/src/main/java/com/dollearn/student/ui/welfare/adapter/ShopCheckAdapter.kt
deleted file mode 100644
index b36d336..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/ShopCheckAdapter.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.dollearn.student.ui.welfare.adapter
-
-import android.widget.TextView
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.dollearn.student.R
-import org.jetbrains.anko.backgroundResource
-import java.util.ArrayList
-
-class ShopCheckAdapter(list: ArrayList<String>):HFRecyclerAdapter<String>(list, R.layout.item_shop_check) {
-    var checked = 0
-    override fun onBind(holder: ViewHolder, position: Int, data: String) {
-        holder.bind<TextView>(R.id.tv_name).apply {
-            text = data
-            if (position == checked){
-                backgroundResource = R.drawable.bg_orange_line_4dp
-                setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,R.mipmap.icon_selected,0)
-            }else{
-                backgroundResource = R.drawable.bg_grey_line_4dp
-                setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,R.mipmap.icon_radiobutton,0)
-            }
-        }
-    }
-
-}
diff --git a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/WelfareGoodsAdapter.kt b/app/src/main/java/com/dollearn/student/ui/welfare/adapter/WelfareGoodsAdapter.kt
deleted file mode 100644
index df6fae1..0000000
--- a/app/src/main/java/com/dollearn/student/ui/welfare/adapter/WelfareGoodsAdapter.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.dollearn.student.ui.welfare.adapter
-
-import cn.sinata.xldutils.adapter.HFRecyclerAdapter
-import cn.sinata.xldutils.adapter.util.ViewHolder
-import com.facebook.drawee.view.SimpleDraweeView
-import com.dollearn.student.R
-import com.dollearn.student.network.entity.Commodity
-import java.util.ArrayList
-
-class WelfareGoodsAdapter(goods: ArrayList<Commodity>):HFRecyclerAdapter<Commodity>(goods, R.layout.item_welfare_goods) {
-    override fun onBind(holder: ViewHolder, position: Int, data: Commodity) {
-        holder.bind<SimpleDraweeView>(R.id.iv_good).setImageURI(data.commodityImg)
-        holder.setText(R.id.tv_name,data.commodityName)
-        holder.setText(R.id.tv_price,data.getPriceStr())
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/utils/AppUtils.kt b/app/src/main/java/com/dollearn/student/utils/AppUtils.kt
deleted file mode 100644
index 1ee8477..0000000
--- a/app/src/main/java/com/dollearn/student/utils/AppUtils.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.dollearn.student.utils
-
-import android.content.Context
-import android.graphics.Bitmap
-import com.zxing.scanner.encode.QREncode
-import java.math.BigDecimal
-
-/**
- * 生成二维码图片
- *
- * @param content 设置内容
- */
-fun getQRcodeImg(
-    context: Context?,
-    content: String?
-): Bitmap? {
-    return QREncode.Builder(context)
-        .setMargin(0) //二维码边框
-        //二维码内容
-        .setContents(content)
-        .setSize(400) //二维码等比大小
-        //.setLogoBitmap(logoBitmap)
-        .build().encodeAsBitmap()
-}
-
-fun formatDistance(p: String?): String {
-    if (p == null || p.isEmpty()) {
-        return "0.00"
-    }
-    return BigDecimal(p).setScale(2, BigDecimal.ROUND_HALF_UP).toString()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/views/CalendarView.java b/app/src/main/java/com/dollearn/student/views/CalendarView.java
deleted file mode 100644
index 0abc9d7..0000000
--- a/app/src/main/java/com/dollearn/student/views/CalendarView.java
+++ /dev/null
@@ -1,399 +0,0 @@
-package com.dollearn.student.views;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.MotionEvent;
-import android.view.View;
-
-
-import com.dollearn.student.utils.DateUtils;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-
-/**
- * Created by zhouyou on 2016/7/25.
- * Class desc:
- * <p>
- * 自定义日历View,可多选
- */
-public class CalendarView extends View {
-
-    // 列的数量
-    private static final int NUM_COLUMNS = 7;
-    // 行的数量
-    private static final int NUM_ROWS = 6;
-
-    /**
-     * 可选日期数据
-     */
-    private List<String> mOptionalDates = new ArrayList<>();
-
-    private int nowDay = 0;
-
-    /**
-     * 以选日期数据
-     */
-    private List<String> mSelectedDates = new ArrayList<>();
-
-    /**
-     * 异常日期数据
-     */
-    private List<String> mErrorDates = new ArrayList<>();
-
-    // 分割线颜色
-    private int mDividerColor = Color.parseColor("#DEDEDE");
-    // 默认背景颜色和不可选背景色
-    private int mBgColor = Color.parseColor("#ffffff");
-    // 选中背景颜色
-    private int mSelectedColor = Color.parseColor("#EE6639");
-    // 可选背景颜色
-    private int mAbleColor = Color.parseColor("#FFFFFF");
-    // 天数默认颜色
-    private int mDayNormalColor = Color.parseColor("#27282D");
-    //异常日期
-    private int mErrorColor = Color.parseColor("#FF5C5C");
-    // 天数不可选颜色
-    private int mDayNotOptColor = Color.parseColor("#BEBEC0");
-    // 天数选择后颜色
-    private int mDayPressedColor = Color.WHITE;
-    // 天数字体大小
-    private int mDayTextSize = 14;
-    // 是否可以被点击状态
-    private boolean mClickable = true;
-    //是否单选
-    private boolean mSingle = true;
-
-    private DisplayMetrics mMetrics;
-    private Paint mPaint;
-    private int mCurYear;
-    private int mCurMonth;
-    private int mCurDate;
-
-    private int mSelYear;
-    private int mSelMonth;
-    private int mSelDate;
-    private int mColumnSize;
-    private int mRowSize;
-    private int[][] mDays = new int[6][7];
-
-    // 当月一共有多少天
-    private int mMonthDays;
-    // 当月第一天位于周几
-    private int mWeekNumber;
-
-    public CalendarView(Context context) {
-        super(context);
-        init();
-    }
-
-    public CalendarView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public CalendarView(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    private void init() {
-        // 获取手机屏幕参数
-        mMetrics = getResources().getDisplayMetrics();
-        // 创建画笔
-        mPaint = new Paint();
-        mPaint.setAntiAlias(true);
-        // 获取当前日期
-        Calendar calendar = Calendar.getInstance();
-        mCurYear = calendar.get(Calendar.YEAR);
-        mCurMonth = calendar.get(Calendar.MONTH);
-        mCurDate = calendar.get(Calendar.DATE);
-        setSelYTD(mCurYear, mCurMonth, mCurDate);
-        nowDay = Integer.parseInt(getSelData(mCurYear, mCurMonth, mCurDate));
-        mSelectedDates.add(getSelData(mCurYear, mCurMonth, mCurDate));
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        initSize();
-        // 设置绘制字体大小
-        mPaint.setTextSize(mDayTextSize * mMetrics.scaledDensity);
-        String dayStr;
-        // 获取当月一共有多少天
-        mMonthDays = DateUtils.getMonthDays(mSelYear, mSelMonth);
-        // 获取当月第一天位于周几
-        mWeekNumber = DateUtils.getFirstDayWeek(mSelYear, mSelMonth);
-
-        for (int day = 0; day < mMonthDays; day++) {
-            dayStr = String.valueOf(day + 1);
-            int column = (day + mWeekNumber - 1) % 7;
-            int row = (day + mWeekNumber - 1) / 7;
-            mDays[row][column] = day + 1;
-            int startX = (int) (mColumnSize * column + (mColumnSize - mPaint.measureText(dayStr)) / 2);
-            int startY = (int) (mRowSize * row + mRowSize / 2 - (mPaint.ascent() + mPaint.descent()) / 2);
-            if (!mSelectedDates.contains(getSelData(mSelYear, mSelMonth, mDays[row][column]))) {
-                // 没有点击过,绘制默认背景
-//                    canvas.drawBitmap(mBgNotOptBitmap, startX - (mBgNotOptBitmap.getWidth() / 3), startY - (mBgNotOptBitmap.getHeight() / 2), mPaint);
-                mPaint.setColor(mAbleColor);
-                canvas.drawRect(column * mColumnSize, row * mRowSize, column * mColumnSize + mColumnSize, row * mRowSize + mRowSize, mPaint);
-                mPaint.setColor(mDayNormalColor);
-            } else {
-                // 点击过,绘制点击过的背景
-//                    canvas.drawBitmap(mBgOptBitmap, startX - (mBgOptBitmap.getWidth() / 3), startY - (mBgOptBitmap.getHeight() / 2), mPaint);
-                mPaint.setColor(mSelectedColor);
-//                    canvas.drawRect(column*mColumnSize,row*mRowSize,column*mColumnSize+mColumnSize,row*mRowSize+mRowSize,mPaint);
-                canvas.drawCircle(column * mColumnSize + 0.5f * mColumnSize, row * mRowSize + 0.5f * mRowSize, 0.4f * mColumnSize, mPaint);
-                mPaint.setColor(mDayPressedColor);
-            }
-            //是异常天数
-            if (mErrorDates.contains(getSelData(mSelYear, mSelMonth, mDays[row][column]))) {
-                mPaint.setColor(mErrorColor);
-            }
-            // 绘制天数
-            canvas.drawText(dayStr, startX, startY, mPaint);
-        }
-    }
-
-    private int downX = 0, downY = 0;
-
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-        int eventCode = event.getAction();
-        switch (eventCode) {
-            case MotionEvent.ACTION_DOWN:
-                downX = (int) event.getX();
-                downY = (int) event.getY();
-                break;
-            case MotionEvent.ACTION_MOVE:
-                break;
-            case MotionEvent.ACTION_UP:
-                if (!mClickable) return true;
-
-                int upX = (int) event.getX();
-                int upY = (int) event.getY();
-                if (Math.abs(upX - downX) < 10 && Math.abs(upY - downY) < 10) {
-                    performClick();
-                    onClick((upX + downX) / 2, (upY + downY) / 2);
-                }
-                break;
-        }
-        return true;
-    }
-
-    public void setErrorDays(List<String> errorDates) {
-        this.mErrorDates = errorDates;
-        invalidate();
-    }
-
-    /**
-     * 点击事件
-     */
-    private void onClick(int x, int y) {
-        int row = y / mRowSize;
-        int column = x / mColumnSize;
-        setSelYTD(mSelYear, mSelMonth, mDays[row][column]);
-
-        // 判断是否点击过
-        boolean isSelected = mSelectedDates.contains(getSelData(mSelYear, mSelMonth, mSelDate));
-        // 判断是否可以添加
-        boolean isCanAdd = true;
-        if (isSelected) {
-//            mSelectedDates.remove(getSelData(mSelYear, mSelMonth, mSelDate));
-        } else if (isCanAdd) {
-            if (mSingle)
-                mSelectedDates.clear();
-            mSelectedDates.add(getSelData(mSelYear, mSelMonth, mSelDate));
-        }
-
-        invalidate();
-        if (mListener != null && isCanAdd) {
-            // 执行回调
-            String dateStr = mSelYear + "-";
-            if (mSelMonth + 1 < 10)
-                dateStr = dateStr + "0" + (mSelMonth + 1) + "-";
-            else
-                dateStr = dateStr + (mSelMonth + 1) + "-";
-            if (mSelDate < 10)
-                dateStr = dateStr + "0" + mSelDate;
-            else
-                dateStr = dateStr + mSelDate;
-            mListener.onClickDateListener(dateStr);
-        }
-    }
-
-    public String getCurrent() {
-        String dateStr = mCurYear + "-";
-        if (mCurMonth + 1 < 10)
-            dateStr = dateStr + "0" + (mCurMonth + 1) + "-";
-        else
-            dateStr = dateStr + (mCurMonth + 1) + "-";
-        if (mCurDate < 10)
-            dateStr = dateStr + "0" + mCurDate;
-        else
-            dateStr = dateStr + mCurDate;
-        return dateStr;
-    }
-
-    public String getYM() {
-        String dateStr = mSelYear + "-";
-        if (mSelMonth + 1 < 10)
-            dateStr = dateStr + "0" + (mSelMonth + 1);
-        else
-            dateStr = dateStr + (mSelMonth + 1);
-
-        return dateStr;
-    }
-
-    /**
-     * 初始化列宽和高
-     */
-    private void initSize() {
-        // 初始化每列的大小
-        mColumnSize = getWidth() / NUM_COLUMNS;
-        // 初始化每行的大小
-        mRowSize = getHeight() / NUM_ROWS;
-    }
-
-    /**
-     * 设置可选择日期
-     *
-     * @param dates 日期数据
-     */
-    public void setOptionalDate(List<String> dates) {
-        this.mOptionalDates = dates;
-        invalidate();
-    }
-
-    /**
-     * 设置已选日期数据
-     */
-    public void setSelectedDates(List<String> dates) {
-        this.mSelectedDates = dates;
-    }
-
-    /**
-     * 获取已选日期数据
-     */
-    public List<String> getSelectedDates() {
-        return mSelectedDates;
-    }
-
-    /**
-     * 设置日历是否可以点击
-     */
-    @Override
-    public void setClickable(boolean clickable) {
-        this.mClickable = clickable;
-    }
-
-    /**
-     * 设置年月日
-     *
-     * @param year  年
-     * @param month 月
-     * @param date  日
-     */
-    private void setSelYTD(int year, int month, int date) {
-        this.mSelYear = year;
-        this.mSelMonth = month;
-        this.mSelDate = date;
-    }
-
-    /**
-     * 设置上一个月日历
-     */
-    public void setLastMonth() {
-        int year = mSelYear;
-        int month = mSelMonth;
-        int day = mSelDate;
-        // 如果是1月份,则变成12月份
-        if (month == 0) {
-            year = mSelYear - 1;
-            month = 11;
-        } else if (DateUtils.getMonthDays(year, month) == day) {
-            // 如果当前日期为该月最后一点,当向前推的时候,就需要改变选中的日期
-            month = month - 1;
-            day = DateUtils.getMonthDays(year, month);
-        } else {
-            month = month - 1;
-        }
-        setSelYTD(year, month, day);
-        invalidate();
-    }
-
-    /**
-     * 设置下一个日历
-     */
-    public void setNextMonth() {
-        int year = mSelYear;
-        int month = mSelMonth;
-        int day = mSelDate;
-        // 如果是12月份,则变成1月份
-        if (month == 11) {
-            year = mSelYear + 1;
-            month = 0;
-        } else if (DateUtils.getMonthDays(year, month) == day) {
-            // 如果当前日期为该月最后一点,当向前推的时候,就需要改变选中的日期
-            month = month + 1;
-            day = DateUtils.getMonthDays(year, month);
-        } else {
-            month = month + 1;
-        }
-        setSelYTD(year, month, day);
-        invalidate();
-    }
-
-    /**
-     * 获取当前展示的年和月份
-     *
-     * @return 格式:2016年06月
-     */
-    public String getDate() {
-        return mSelYear + "年" + (mSelMonth + 1) + "月";
-    }
-
-    /**
-     * 获取当前展示的日期
-     *
-     * @return 格式:20160606
-     */
-    private String getSelData(int year, int month, int date) {
-        String monty, day;
-        month = (month + 1);
-
-        // 判断月份是否有非0情况
-        if ((month) < 10) {
-            monty = "0" + month;
-        } else {
-            monty = String.valueOf(month);
-        }
-
-        // 判断天数是否有非0情况
-        if ((date) < 10) {
-            day = "0" + (date);
-        } else {
-            day = String.valueOf(date);
-        }
-        return year + monty + day;
-    }
-
-    private OnClickListener mListener;
-
-public interface OnClickListener {
-    void onClickDateListener(String date);
-
-}
-
-    /**
-     * 设置点击回调
-     */
-    public void setOnClickDate(OnClickListener listener) {
-        this.mListener = listener;
-    }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/views/calendar/SimpleMonthView.java b/app/src/main/java/com/dollearn/student/views/calendar/SimpleMonthView.java
deleted file mode 100644
index 0248acf..0000000
--- a/app/src/main/java/com/dollearn/student/views/calendar/SimpleMonthView.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.dollearn.student.views.calendar;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.LinearGradient;
-import android.graphics.Paint;
-import android.graphics.Shader;
-
-import com.haibin.calendarview.Calendar;
-import com.haibin.calendarview.MonthView;
-
-/**
- * 高仿魅族日历布局
- * Created by huanghaibin on 2017/11/15.
- */
-
-public class SimpleMonthView extends MonthView {
-
-    private int mRadius;
-
-    private Context context;
-
-    public SimpleMonthView(Context context) {
-        super(context);
-        this.context = context;
-    }
-
-    @Override
-    protected void onPreviewHook() {
-        mRadius = Math.min(mItemWidth, mItemHeight) / 5 * 2;
-        mSchemePaint.setStyle(Paint.Style.STROKE);
-    }
-
-    @Override
-    protected void onLoopStart(int x, int y) {
-
-    }
-
-    @Override
-    protected boolean onDrawSelected(Canvas canvas, Calendar calendar, int x, int y, boolean hasScheme) {
-        mSelectedPaint.setColor(Color.parseColor("#FD8302"));
-        canvas.drawRect(x+dip2Px(6),y+dip2Px(3),x+mItemWidth-dip2Px(6),y+mItemHeight-dip2Px(3),mSelectedPaint);
-        return true;
-    }
-
-    @Override
-    protected void onDrawScheme(Canvas canvas, Calendar calendar, int x, int y) {
-        int cx = x + mItemWidth / 2;
-        int cy = y + mItemHeight / 2;
-        String scheme = calendar.getScheme();
-        if (scheme.equals("true")){
-            mSchemePaint.setStrokeWidth(dip2Px(3));
-            mSchemePaint.setColor(Color.parseColor("#EF713B"));
-            mSchemePaint.setStyle(Paint.Style.FILL);
-            mSchemePaint.setStrokeCap(Paint.Cap.ROUND);
-            canvas.drawLine(cx-dip2Px(10),y+mItemHeight-dip2Px(2),
-                    cx+dip2Px(10),y+mItemHeight-dip2Px(2),mSchemePaint);
-        }
-    }
-
-    @Override
-    protected void onDrawText(Canvas canvas, Calendar calendar, int x, int y, boolean hasScheme, boolean isSelected) {
-        float baselineY = mTextBaseLine + y;
-        int cx = x + mItemWidth / 2;
-
-        if (isSelected) {
-            canvas.drawText(String.valueOf(calendar.getDay()),
-                    cx,
-                    baselineY,
-                    mSelectTextPaint);
-        } else if (hasScheme) {
-            canvas.drawText(String.valueOf(calendar.getDay()),
-                    cx,
-                    baselineY,
-                    calendar.isCurrentDay() ? mCurDayTextPaint :
-                            calendar.isCurrentMonth() ? mSchemeTextPaint : mOtherMonthTextPaint);
-
-        } else if (onCalendarIntercept(calendar)){
-            canvas.drawText(String.valueOf(calendar.getDay()),
-                    cx,
-                    baselineY,
-                    mOtherMonthTextPaint);
-        }else {
-            canvas.drawText(String.valueOf(calendar.getDay()), cx, baselineY,
-                    calendar.isCurrentDay() ? mCurDayTextPaint : isInRange(calendar)?mCurMonthTextPaint : mOtherMonthTextPaint);
-        }
-    }
-
-    /**
-     * dp转px
-     *
-     * @param dpValue dp
-     * @return px
-     */
-    int dip2Px(float dpValue) {
-        final float scale = context.getResources().getDisplayMetrics().density;
-        return (int) (dpValue * scale + 0.5f);
-    }
-}
diff --git a/app/src/main/java/com/dollearn/student/views/calendar/SimpleWeekBar.java b/app/src/main/java/com/dollearn/student/views/calendar/SimpleWeekBar.java
deleted file mode 100644
index 04d2811..0000000
--- a/app/src/main/java/com/dollearn/student/views/calendar/SimpleWeekBar.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.dollearn.student.views.calendar;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.widget.TextView;
-
-import com.haibin.calendarview.WeekBar;
-import com.dollearn.student.R;
-
-/**
- * 自定义英文栏
- * Created by huanghaibin on 2017/11/30.
- */
-
-public class SimpleWeekBar extends WeekBar {
-
-    public SimpleWeekBar(Context context) {
-        super(context);
-        LayoutInflater.from(context).inflate(R.layout.simple_week_bar, this, true);
-        setBackgroundResource(R.drawable.bg_grey_2dp);
-    }
-
-    /**
-     * 当周起始发生变化,使用自定义布局需要重写这个方法,避免出问题
-     *
-     * @param weekStart 周起始
-     */
-    @Override
-    protected void onWeekStartChange(int weekStart) {
-        for (int i = 0; i < getChildCount(); i++) {
-            ((TextView) getChildAt(i)).setText(getWeekString(i, weekStart));
-        }
-    }
-
-    /**
-     * 或者周文本,这个方法仅供父类使用
-     *
-     * @param index     index
-     * @param weekStart weekStart
-     * @return 或者周文本
-     */
-    private String getWeekString(int index, int weekStart) {
-        String[] weeks = getContext().getResources().getStringArray(R.array.week_string_array);
-
-        if (weekStart == 1) {
-            return weeks[index];
-        }
-        if (weekStart == 2) {
-            return weeks[index == 6 ? 0 : index + 1];
-        }
-        return weeks[index == 0 ? 6 : index - 1];
-    }
-}
diff --git a/app/src/main/res/drawable/bg_blue_14dp.xml b/app/src/main/res/drawable/bg_blue_14dp.xml
deleted file mode 100644
index 9ee734e..0000000
--- a/app/src/main/res/drawable/bg_blue_14dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="14dp"/>
-    <solid android:color="#2D7AE4"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_foreground_avatar.xml b/app/src/main/res/drawable/bg_foreground_avatar.xml
deleted file mode 100644
index 09ee076..0000000
--- a/app/src/main/res/drawable/bg_foreground_avatar.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/halfTrans"/>
-    <corners android:radius="90dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_19dp.xml b/app/src/main/res/drawable/bg_grey_19dp.xml
deleted file mode 100644
index 7521266..0000000
--- a/app/src/main/res/drawable/bg_grey_19dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="19dp"/>
-    <solid android:color="#F9F9F9"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_1dp.xml b/app/src/main/res/drawable/bg_grey_1dp.xml
deleted file mode 100644
index b32359d..0000000
--- a/app/src/main/res/drawable/bg_grey_1dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="1dp"/>
-    <solid android:color="#ACACAC"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_2dp.xml b/app/src/main/res/drawable/bg_grey_2dp.xml
deleted file mode 100644
index 287370a..0000000
--- a/app/src/main/res/drawable/bg_grey_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <solid android:color="#FAFAFA"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_6dp.xml b/app/src/main/res/drawable/bg_grey_6dp.xml
deleted file mode 100644
index b6819f6..0000000
--- a/app/src/main/res/drawable/bg_grey_6dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="6dp"/>
-    <solid android:color="#F9F9F9"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_9dp.xml b/app/src/main/res/drawable/bg_grey_9dp.xml
deleted file mode 100644
index e44ece1..0000000
--- a/app/src/main/res/drawable/bg_grey_9dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="9dp"/>
-    <solid android:color="@color/page_bg"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_line.xml b/app/src/main/res/drawable/bg_grey_line.xml
deleted file mode 100644
index 4d51374..0000000
--- a/app/src/main/res/drawable/bg_grey_line.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <stroke android:width="1px" android:color="@color/dividing_line_color"/>
-    <solid android:color="@color/white"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_line_11dp.xml b/app/src/main/res/drawable/bg_grey_line_11dp.xml
deleted file mode 100644
index ae2270c..0000000
--- a/app/src/main/res/drawable/bg_grey_line_11dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="11dp"/>
-    <stroke android:width="1dp" android:color="#E7E3E3"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_line_18dp.xml b/app/src/main/res/drawable/bg_grey_line_18dp.xml
deleted file mode 100644
index 8c444d5..0000000
--- a/app/src/main/res/drawable/bg_grey_line_18dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="18dp"/>
-    <stroke android:color="@color/textColor99" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_line_2dp.xml b/app/src/main/res/drawable/bg_grey_line_2dp.xml
deleted file mode 100644
index 2f2bd21..0000000
--- a/app/src/main/res/drawable/bg_grey_line_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <stroke android:color="@color/dividing_line_color" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_grey_line_5dp.xml b/app/src/main/res/drawable/bg_grey_line_5dp.xml
deleted file mode 100644
index 05ab552..0000000
--- a/app/src/main/res/drawable/bg_grey_line_5dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="5dp"/>
-    <stroke android:color="#D9D9D9" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_12dp.xml b/app/src/main/res/drawable/bg_orange_12dp.xml
deleted file mode 100644
index 8204a4a..0000000
--- a/app/src/main/res/drawable/bg_orange_12dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="12dp"/>
-    <solid android:color="#EF6843"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_1dp.xml b/app/src/main/res/drawable/bg_orange_1dp.xml
deleted file mode 100644
index 861ec60..0000000
--- a/app/src/main/res/drawable/bg_orange_1dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="1dp"/>
-    <solid android:color="#FEE0C4"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_2dp.xml b/app/src/main/res/drawable/bg_orange_2dp.xml
deleted file mode 100644
index 8e93673..0000000
--- a/app/src/main/res/drawable/bg_orange_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/colorPrimary"/>
-    <corners android:radius="2dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_30dp.xml b/app/src/main/res/drawable/bg_orange_30dp.xml
deleted file mode 100644
index fddc7c3..0000000
--- a/app/src/main/res/drawable/bg_orange_30dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="30dp"/>
-    <solid android:color="#FC743A"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_4dp.xml b/app/src/main/res/drawable/bg_orange_4dp.xml
deleted file mode 100644
index dc453ee..0000000
--- a/app/src/main/res/drawable/bg_orange_4dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="4dp"/>
-    <solid android:color="@color/colorPrimary"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_line_25dp.xml b/app/src/main/res/drawable/bg_orange_line_25dp.xml
deleted file mode 100644
index d1c3f32..0000000
--- a/app/src/main/res/drawable/bg_orange_line_25dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <stroke android:color="@color/colorPrimary" android:width="1dp"/>
-    <corners android:radius="25dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_line_2dp.xml b/app/src/main/res/drawable/bg_orange_line_2dp.xml
deleted file mode 100644
index c15cf75..0000000
--- a/app/src/main/res/drawable/bg_orange_line_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <stroke android:color="@color/colorPrimary" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_line_4.xml b/app/src/main/res/drawable/bg_orange_line_4.xml
deleted file mode 100644
index bf91e29..0000000
--- a/app/src/main/res/drawable/bg_orange_line_4.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="4dp"/>
-    <stroke android:color="#FD7902" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_line_4dp.xml b/app/src/main/res/drawable/bg_orange_line_4dp.xml
deleted file mode 100644
index a07f209..0000000
--- a/app/src/main/res/drawable/bg_orange_line_4dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="4dp"/>
-    <stroke android:color="#44FD7902" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_line_4dp_manage.xml b/app/src/main/res/drawable/bg_orange_line_4dp_manage.xml
deleted file mode 100644
index 12c688e..0000000
--- a/app/src/main/res/drawable/bg_orange_line_4dp_manage.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="#1AFFE7CC"/>
-    <corners android:radius="4dp"/>
-    <stroke android:color="#44FD7902" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_pink_16dp.xml b/app/src/main/res/drawable/bg_pink_16dp.xml
deleted file mode 100644
index 318ae4e..0000000
--- a/app/src/main/res/drawable/bg_pink_16dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="16dp"/>
-    <solid android:color="@color/colorPink"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_pink_2dp.xml b/app/src/main/res/drawable/bg_pink_2dp.xml
deleted file mode 100644
index c511562..0000000
--- a/app/src/main/res/drawable/bg_pink_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <solid android:color="@color/colorPink"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_pink_left_12dp.xml b/app/src/main/res/drawable/bg_pink_left_12dp.xml
deleted file mode 100644
index 2f02cea..0000000
--- a/app/src/main/res/drawable/bg_pink_left_12dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:topLeftRadius="12dp" android:bottomLeftRadius="12dp"/>
-    <solid android:color="@color/colorPink"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_recharge_checked.xml b/app/src/main/res/drawable/bg_recharge_checked.xml
deleted file mode 100644
index d3f8803..0000000
--- a/app/src/main/res/drawable/bg_recharge_checked.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="#1AFD7502"/>
-    <corners android:radius="4dp"/>
-    <stroke android:color="@color/colorPrimary" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_recharge_uncheck.xml b/app/src/main/res/drawable/bg_recharge_uncheck.xml
deleted file mode 100644
index 0f06e33..0000000
--- a/app/src/main/res/drawable/bg_recharge_uncheck.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="#1AA6A6A6"/>
-    <corners android:radius="4dp"/>
-    <stroke android:color="#B0B0B0" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_12dp.xml b/app/src/main/res/drawable/bg_red_12dp.xml
deleted file mode 100644
index e1008bf..0000000
--- a/app/src/main/res/drawable/bg_red_12dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="12dp"/>
-    <solid android:color="@color/colorRed"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_15dp.xml b/app/src/main/res/drawable/bg_red_15dp.xml
deleted file mode 100644
index a3e60cb..0000000
--- a/app/src/main/res/drawable/bg_red_15dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/colorAccent"/>
-    <corners android:radius="15dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_2dp.xml b/app/src/main/res/drawable/bg_red_2dp.xml
deleted file mode 100644
index dbed89e..0000000
--- a/app/src/main/res/drawable/bg_red_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/colorAccent"/>
-    <corners android:radius="2dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_4dp.xml b/app/src/main/res/drawable/bg_red_4dp.xml
deleted file mode 100644
index 504b8d9..0000000
--- a/app/src/main/res/drawable/bg_red_4dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="4dp"/>
-    <solid android:color="#F4420A"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_line_15dp.xml b/app/src/main/res/drawable/bg_red_line_15dp.xml
deleted file mode 100644
index d851c1e..0000000
--- a/app/src/main/res/drawable/bg_red_line_15dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="15dp"/>
-    <stroke android:color="@color/colorAccent" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_line_2dp.xml b/app/src/main/res/drawable/bg_red_line_2dp.xml
deleted file mode 100644
index 02fc061..0000000
--- a/app/src/main/res/drawable/bg_red_line_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <stroke android:color="@color/colorRed" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_line_4dp.xml b/app/src/main/res/drawable/bg_red_line_4dp.xml
deleted file mode 100644
index 475e39f..0000000
--- a/app/src/main/res/drawable/bg_red_line_4dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="4dp"/>
-    <stroke android:color="@color/colorAccent" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_red_line_6dp.xml b/app/src/main/res/drawable/bg_red_line_6dp.xml
deleted file mode 100644
index 41c38a3..0000000
--- a/app/src/main/res/drawable/bg_red_line_6dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="6dp"/>
-    <stroke android:color="@color/colorAccent" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_schedule_16dp.xml b/app/src/main/res/drawable/bg_schedule_16dp.xml
deleted file mode 100644
index 7d0569e..0000000
--- a/app/src/main/res/drawable/bg_schedule_16dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="16dp"/>
-    <solid android:color="#F2F6F9"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_shop_4dp.xml b/app/src/main/res/drawable/bg_shop_4dp.xml
deleted file mode 100644
index 5de179f..0000000
--- a/app/src/main/res/drawable/bg_shop_4dp.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <stroke android:color="@color/colorPrimary" android:width="1dp"/>
-    <corners android:radius="4dp"/>
-    <solid android:color="#FEEEE0"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_shop_evaluate.xml b/app/src/main/res/drawable/bg_shop_evaluate.xml
deleted file mode 100644
index 390b60c..0000000
--- a/app/src/main/res/drawable/bg_shop_evaluate.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="4dp"/>
-    <stroke android:color="@color/colorPrimary" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_tag.xml b/app/src/main/res/drawable/bg_tag.xml
deleted file mode 100644
index 454d659..0000000
--- a/app/src/main/res/drawable/bg_tag.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="#FEE0C4"/>
-    <corners android:radius="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_tag_10dp.xml b/app/src/main/res/drawable/bg_tag_10dp.xml
deleted file mode 100644
index 7a2c863..0000000
--- a/app/src/main/res/drawable/bg_tag_10dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="#FEE0C4"/>
-    <corners android:radius="10dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_tag_grey.xml b/app/src/main/res/drawable/bg_tag_grey.xml
deleted file mode 100644
index a7a3f94..0000000
--- a/app/src/main/res/drawable/bg_tag_grey.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
- <corners android:radius="10dp"/>
-    <solid android:color="#A1B4C2"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_un_pay.xml b/app/src/main/res/drawable/bg_un_pay.xml
deleted file mode 100644
index 94705db..0000000
--- a/app/src/main/res/drawable/bg_un_pay.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <solid android:color="@color/color_text_price"/>
-    <corners android:topLeftRadius="9dp" android:bottomRightRadius="9dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_white_top_40dp.xml b/app/src/main/res/drawable/bg_white_top_40dp.xml
deleted file mode 100644
index fd6f73c..0000000
--- a/app/src/main/res/drawable/bg_white_top_40dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:topRightRadius="40dp" android:topLeftRadius="40dp"/>
-    <solid android:color="@color/white"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_yellow_12dp.xml b/app/src/main/res/drawable/bg_yellow_12dp.xml
deleted file mode 100644
index c053e38..0000000
--- a/app/src/main/res/drawable/bg_yellow_12dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="12dp"/>
-    <solid android:color="#FA923C"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/black_dot.xml b/app/src/main/res/drawable/black_dot.xml
deleted file mode 100644
index cdbd251..0000000
--- a/app/src/main/res/drawable/black_dot.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/black"/>
-    <corners android:radius="5dp"/>
-    <size android:width="7dp" android:height="7dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/com_form_bg.xml b/app/src/main/res/drawable/com_form_bg.xml
deleted file mode 100644
index 6adaa8c..0000000
--- a/app/src/main/res/drawable/com_form_bg.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<item xmlns:tools="http://schemas.android.com/tools"
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <shape android:shape="rectangle">
-        <solid android:color="#ffffffff" />
-        <item android:name="android:shadowColor"
-            tools:ignore="ExtraText">>#80d4d4d4</item>
-    </shape>
-</item>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/coupon_checked.png b/app/src/main/res/drawable/coupon_checked.png
deleted file mode 100644
index 06d2ed4..0000000
--- a/app/src/main/res/drawable/coupon_checked.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable/coupon_checked_d.xml b/app/src/main/res/drawable/coupon_checked_d.xml
deleted file mode 100644
index 649d57d..0000000
--- a/app/src/main/res/drawable/coupon_checked_d.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:tools="http://schemas.android.com/tools"
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/coupon_checked"
-        android:width="20dp"
-        android:height="20dp"
-        tools:ignore="UnusedAttribute" />
-</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/coupon_uncheck.png b/app/src/main/res/drawable/coupon_uncheck.png
deleted file mode 100644
index 249fcda..0000000
--- a/app/src/main/res/drawable/coupon_uncheck.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable/coupon_unchecked_d.xml b/app/src/main/res/drawable/coupon_unchecked_d.xml
deleted file mode 100644
index e366602..0000000
--- a/app/src/main/res/drawable/coupon_unchecked_d.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:tools="http://schemas.android.com/tools"
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/coupon_uncheck"
-        android:width="20dp"
-        android:height="20dp"
-        tools:ignore="UnusedAttribute" />
-</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/dark_dot.xml b/app/src/main/res/drawable/dark_dot.xml
deleted file mode 100644
index 19220ea..0000000
--- a/app/src/main/res/drawable/dark_dot.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/colorTextDark"/>
-    <corners android:radius="5dp"/>
-    <size android:width="6dp" android:height="6dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/gradient_dot.xml b/app/src/main/res/drawable/gradient_dot.xml
deleted file mode 100644
index c34dd59..0000000
--- a/app/src/main/res/drawable/gradient_dot.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="9dp"/>
-    <size android:height="18dp" android:width="18dp"/>
-    <gradient android:startColor="#EF753C" android:endColor="@color/colorAccent"
-        android:angle="180"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/grey_line_dot.xml b/app/src/main/res/drawable/grey_line_dot.xml
deleted file mode 100644
index a54cf7f..0000000
--- a/app/src/main/res/drawable/grey_line_dot.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="9dp"/>
-    <size android:height="18dp" android:width="18dp"/>
-    <stroke android:color="@color/dividing_line_color" android:width="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_green.xml b/app/src/main/res/drawable/ic_green.xml
deleted file mode 100644
index b5343ad..0000000
--- a/app/src/main/res/drawable/ic_green.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <solid android:color="#CBDCC5"/>
-    <size android:width="20dp" android:height="20dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_keyboard.xml b/app/src/main/res/drawable/ic_keyboard.xml
deleted file mode 100644
index bdc865f..0000000
--- a/app/src/main/res/drawable/ic_keyboard.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M20,5L4,5c-1.1,0 -1.99,0.9 -1.99,2L2,17c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM11,8h2v2h-2L11,8zM11,11h2v2h-2v-2zM8,8h2v2L8,10L8,8zM8,11h2v2L8,13v-2zM7,13L5,13v-2h2v2zM7,10L5,10L5,8h2v2zM16,17L8,17v-2h8v2zM16,13h-2v-2h2v2zM16,10h-2L14,8h2v2zM19,13h-2v-2h2v2zM19,10h-2L17,8h2v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index 07d5da9..0000000
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path
-        android:fillColor="#3DDC84"
-        android:pathData="M0,0h108v108h-108z" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M9,0L9,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,0L19,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,0L29,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,0L39,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,0L49,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,0L59,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,0L69,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,0L79,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M89,0L89,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M99,0L99,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,9L108,9"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,19L108,19"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,29L108,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,39L108,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,49L108,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,59L108,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,69L108,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,79L108,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,89L108,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,99L108,99"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,29L89,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,39L89,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,49L89,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,59L89,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,69L89,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,79L89,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,19L29,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,19L39,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,19L49,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,19L59,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,19L69,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,19L79,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_pink.xml b/app/src/main/res/drawable/ic_pink.xml
deleted file mode 100644
index 46a49f6..0000000
--- a/app/src/main/res/drawable/ic_pink.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <solid android:color="#FCD8D8"/>
-    <size android:width="20dp" android:height="20dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_white.xml b/app/src/main/res/drawable/ic_white.xml
deleted file mode 100644
index 3fea678..0000000
--- a/app/src/main/res/drawable/ic_white.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="2dp"/>
-    <solid android:color="@color/white"/>
-    <size android:width="20dp" android:height="20dp"/>
-    <stroke android:width="1dp" android:color="@color/dividing_line_color"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/orange_dot.xml b/app/src/main/res/drawable/orange_dot.xml
deleted file mode 100644
index 930006e..0000000
--- a/app/src/main/res/drawable/orange_dot.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="5dp"/>
-    <solid android:color="@color/colorPrimary"/>
-    <size android:height="4dp" android:width="4dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_btn_0dp.xml b/app/src/main/res/drawable/selector_bg_btn_0dp.xml
deleted file mode 100644
index 18c68bb..0000000
--- a/app/src/main/res/drawable/selector_bg_btn_0dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="true" android:drawable="@drawable/bg_gradient"/>
-    <item android:state_enabled="false" android:drawable="@drawable/bg_btn_disable_0dp"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_cb_analysis.xml b/app/src/main/res/drawable/selector_bg_cb_analysis.xml
deleted file mode 100644
index 029ac08..0000000
--- a/app/src/main/res/drawable/selector_bg_cb_analysis.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@drawable/bg_red_15dp"/>
-    <item android:state_checked="false" android:drawable="@drawable/bg_grey_line_15dp"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_et_focus.xml b/app/src/main/res/drawable/selector_bg_et_focus.xml
deleted file mode 100644
index 8069314..0000000
--- a/app/src/main/res/drawable/selector_bg_et_focus.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/bg_grey_line_4dp" android:state_focused="false"/>
-    <item android:drawable="@drawable/bg_red_line_4dp" android:state_focused="true"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_filter.xml b/app/src/main/res/drawable/selector_bg_filter.xml
deleted file mode 100644
index 3fae314..0000000
--- a/app/src/main/res/drawable/selector_bg_filter.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@drawable/bg_pink_16dp"/>
-    <item android:state_checked="false" android:drawable="@drawable/bg_grey_16dp"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_match_state.xml b/app/src/main/res/drawable/selector_bg_match_state.xml
deleted file mode 100644
index 2ffc4b6..0000000
--- a/app/src/main/res/drawable/selector_bg_match_state.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="true">
-        <shape>
-            <solid android:color="@color/colorPrimary"/>
-            <corners android:topLeftRadius="20dp" android:bottomRightRadius="20dp"/>
-        </shape>
-    </item>
-    <item android:state_enabled="false">
-        <shape>
-            <solid android:color="@color/colorBGDisable"/>
-            <corners android:topLeftRadius="20dp" android:bottomRightRadius="20dp"/>
-        </shape>
-    </item>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_option.xml b/app/src/main/res/drawable/selector_bg_option.xml
deleted file mode 100644
index ef4cb4b..0000000
--- a/app/src/main/res/drawable/selector_bg_option.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@drawable/bg_gradient_18dp"/>
-    <item android:state_checked="false" android:drawable="@drawable/bg_red_line_15dp"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_red_grey_line_6dp.xml b/app/src/main/res/drawable/selector_bg_red_grey_line_6dp.xml
deleted file mode 100644
index 66c6b3a..0000000
--- a/app/src/main/res/drawable/selector_bg_red_grey_line_6dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/bg_red_line_6dp" android:state_checked="true"/>
-    <item android:drawable="@drawable/bg_grey_line_6dp" android:state_checked="false"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_state.xml b/app/src/main/res/drawable/selector_bg_state.xml
deleted file mode 100644
index 7900feb..0000000
--- a/app/src/main/res/drawable/selector_bg_state.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="false" android:drawable="@drawable/bg_grey_line_15dp"/>
-    <item android:state_checked="true" android:drawable="@drawable/bg_red_line_15dp"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_week.xml b/app/src/main/res/drawable/selector_bg_week.xml
deleted file mode 100644
index 8026655..0000000
--- a/app/src/main/res/drawable/selector_bg_week.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true" android:drawable="@drawable/bg_orange_20dp"/>
-    <item android:state_selected="false">
-        <shape>
-            <corners android:radius="20dp"/>
-            <solid android:color="#DCDDDE"/>
-        </shape>
-    </item>
-
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_check_pay.xml b/app/src/main/res/drawable/selector_check_pay.xml
deleted file mode 100644
index 8d0fa13..0000000
--- a/app/src/main/res/drawable/selector_check_pay.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@mipmap/icon_selected"/>
-    <item android:state_checked="false" android:drawable="@mipmap/icon_radiobutton"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_choose_btn.xml b/app/src/main/res/drawable/selector_choose_btn.xml
deleted file mode 100644
index b3920c6..0000000
--- a/app/src/main/res/drawable/selector_choose_btn.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_activated="true" android:drawable="@drawable/coupon_checked_d"/>
-    <item android:state_activated="false" android:drawable="@drawable/coupon_unchecked_d"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_enable_2dp.xml b/app/src/main/res/drawable/selector_enable_2dp.xml
deleted file mode 100644
index 7c3839a..0000000
--- a/app/src/main/res/drawable/selector_enable_2dp.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/bg_gradient_2dp" android:state_enabled="true"/>
-    <item android:drawable="@drawable/bg_red_line_2dp" android:state_enabled="false"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_filter_check.xml b/app/src/main/res/drawable/selector_filter_check.xml
deleted file mode 100644
index 76c0ba0..0000000
--- a/app/src/main/res/drawable/selector_filter_check.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@mipmap/filter_open"/>
-    <item android:state_checked="false" android:drawable="@mipmap/filter_close"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_filter_icon.xml b/app/src/main/res/drawable/selector_filter_icon.xml
deleted file mode 100644
index cad6921..0000000
--- a/app/src/main/res/drawable/selector_filter_icon.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@mipmap/icon_nav_open" android:state_checked="false"/>
-    <item android:drawable="@mipmap/icon_nav_close" android:state_checked="true"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_lesson_bg.xml b/app/src/main/res/drawable/selector_lesson_bg.xml
deleted file mode 100644
index a723360..0000000
--- a/app/src/main/res/drawable/selector_lesson_bg.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true" android:drawable="@drawable/bg_orange_4dp"/>
-    <item android:state_selected="false" android:drawable="@drawable/bg_grey_line_4dp"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_open.xml b/app/src/main/res/drawable/selector_open.xml
deleted file mode 100644
index b60d962..0000000
--- a/app/src/main/res/drawable/selector_open.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true" android:drawable="@mipmap/tr_open"/>
-    <item android:state_selected="false" android:drawable="@mipmap/tr_close"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_pwd_visible.xml b/app/src/main/res/drawable/selector_pwd_visible.xml
deleted file mode 100644
index 60a5a6b..0000000
--- a/app/src/main/res/drawable/selector_pwd_visible.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@mipmap/icon_eye_close" android:state_checked="false"/>
-    <item android:drawable="@mipmap/icon_eye" android:state_checked="true"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_rank_region.xml b/app/src/main/res/drawable/selector_rank_region.xml
deleted file mode 100644
index 444b037..0000000
--- a/app/src/main/res/drawable/selector_rank_region.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true" android:drawable="@drawable/bg_orange_20dp"/>
-    <item android:state_selected="false" android:drawable="@drawable/bg_white_orange_line_20dp"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_select_pay.xml b/app/src/main/res/drawable/selector_select_pay.xml
deleted file mode 100644
index d5c2430..0000000
--- a/app/src/main/res/drawable/selector_select_pay.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true" android:drawable="@mipmap/icon_selected"/>
-    <item android:state_selected="false" android:drawable="@mipmap/icon_radiobutton_grey"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shap_tag.xml b/app/src/main/res/drawable/shap_tag.xml
deleted file mode 100644
index f3a1e21..0000000
--- a/app/src/main/res/drawable/shap_tag.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-<corners android:radius="4dp"/>
-    <solid android:color="@color/colorPrimary"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_com.xml b/app/src/main/res/drawable/shape_com.xml
deleted file mode 100644
index 25d393e..0000000
--- a/app/src/main/res/drawable/shape_com.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-<stroke android:width="1dp" android:color="@color/colorPrimary"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_com_whit_15r.xml b/app/src/main/res/drawable/shape_com_whit_15r.xml
deleted file mode 100644
index 00bcb7c..0000000
--- a/app/src/main/res/drawable/shape_com_whit_15r.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-<corners android:radius="15.5dp"/>
-    <stroke android:width="1dp" android:color="@color/white"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_or_20r.xml b/app/src/main/res/drawable/shape_or_20r.xml
deleted file mode 100644
index 13e68b5..0000000
--- a/app/src/main/res/drawable/shape_or_20r.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="20dp"/>
-    <solid android:color="@color/colorPrimary"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_red_20r.xml b/app/src/main/res/drawable/shape_red_20r.xml
deleted file mode 100644
index 9bfe6fd..0000000
--- a/app/src/main/res/drawable/shape_red_20r.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-<corners android:radius="20dp"/>
-    <solid android:color="#F44444"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_tag_bg.xml b/app/src/main/res/drawable/shape_tag_bg.xml
deleted file mode 100644
index 82b5604..0000000
--- a/app/src/main/res/drawable/shape_tag_bg.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="9.5dp"/>
-    <solid android:color="#28FD8902"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_white_top_20r.xml b/app/src/main/res/drawable/shape_white_top_20r.xml
deleted file mode 100644
index 6dae3cb..0000000
--- a/app/src/main/res/drawable/shape_white_top_20r.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:topRightRadius="20dp"
-        android:topLeftRadius="20dp"/>
-    <solid android:color="@color/white"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/white_dot.xml b/app/src/main/res/drawable/white_dot.xml
deleted file mode 100644
index d242a0d..0000000
--- a/app/src/main/res/drawable/white_dot.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/white"/>
-    <corners android:radius="4dp"/>
-    <size android:width="6dp" android:height="6dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_do_offline.xml b/app/src/main/res/layout/activity_do_offline.xml
deleted file mode 100644
index b450983..0000000
--- a/app/src/main/res/layout/activity_do_offline.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        style="@style/style_btn_action"
-        android:text="提交试卷"
-        android:id="@+id/tv_action"/>
-    <View
-        android:layout_width="3dp"
-        android:layout_height="16dp"
-        android:layout_marginEnd="8dp"
-        android:background="@drawable/bg_red_2dp"
-        app:layout_constraintBottom_toBottomOf="@id/tv_title"
-        app:layout_constraintEnd_toStartOf="@id/tv_title"
-        app:layout_constraintTop_toTopOf="@id/tv_title" />
-
-    <TextView
-        android:id="@+id/tv_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="26dp"
-        android:layout_marginTop="15dp"
-        android:textColor="@color/textColor"
-        android:textSize="17sp"
-        android:textStyle="bold"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_hint"
-        app:layout_constraintTop_toBottomOf="@id/tv_title"
-        app:layout_constraintStart_toStartOf="parent"
-        android:text="(请您答题后将试卷拍照上传)"
-        android:textSize="12sp"
-        android:layout_marginStart="8dp"
-        android:layout_marginTop="3dp"
-        android:textColor="@color/textColor66"/>
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:id="@+id/lv_answer"
-        app:layout_constraintTop_toBottomOf="@id/tv_hint"
-        android:layout_marginTop="10dp"
-        app:layout_constraintBottom_toTopOf="@id/tv_action" />
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_exchange_detail.xml b/app/src/main/res/layout/activity_exchange_detail.xml
deleted file mode 100644
index e21006a..0000000
--- a/app/src/main/res/layout/activity_exchange_detail.xml
+++ /dev/null
@@ -1,314 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools">
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        tools:ignore="WebViewLayout">
-        <com.youth.banner.Banner
-            android:id="@+id/banner"
-            android:layout_width="match_parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:indicator_height="7dp"
-            android:layout_height="220dp"
-            app:indicator_radius="4dp"
-            app:indicator_normal_color="@color/disableColor"
-            app:indicator_gravity="center"
-            app:indicator_marginBottom="10dp"
-            app:indicator_selected_color="@color/white"
-            app:is_infinite_loop="true"
-            app:is_auto_loop="true"/>
-        <TextView
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_name"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_price"
-            app:layout_constraintTop_toBottomOf="@id/banner"
-            android:layout_margin="14dp"
-            android:textSize="18sp"
-            android:textColor="@color/textColor"
-            android:textStyle="bold"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_price"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:textStyle="bold"
-            android:textSize="13sp"
-            android:textColor="@color/color_text_price"
-            android:layout_marginEnd="14dp"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-            android:text="0积分"/>
-
-        <View
-            android:id="@+id/line1"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            app:layout_constraintTop_toBottomOf="@id/tv_name"
-            android:layout_marginTop="14dp"
-            android:background="@color/dividing_line_color"
-            android:layout_marginStart="14dp"/>
-        <LinearLayout
-            android:id="@+id/rl_classhour"
-            android:visibility="gone"
-            android:layout_marginTop="10dp"
-            tools:visibility="visible"
-            android:orientation="vertical"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            app:layout_constraintLeft_toLeftOf="@+id/line1"
-            app:layout_constraintTop_toBottomOf="@+id/line1">
-
-            <TextView
-                android:drawableStart="@drawable/orange_dot"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="包含课时数:"
-                android:drawablePadding="6dp"
-                android:textColor="@color/black"
-                android:alpha="0.5"
-                android:textSize="12sp"
-                android:textStyle="bold" />
-
-            <TextView
-                android:id="@+id/mtvClassHour"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                tools:text="2课时"
-                android:layout_marginTop="5dp"
-                android:layout_marginStart="14dp"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                />
-
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:id="@+id/rl_type"
-            android:visibility="gone"
-            tools:visibility="visible"
-            android:orientation="vertical"
-            android:layout_marginTop="10dp"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            app:layout_constraintLeft_toLeftOf="@+id/line1"
-            app:layout_constraintTop_toBottomOf="@+id/rl_classhour">
-
-            <TextView
-                android:drawableStart="@drawable/orange_dot"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="门票类型:"
-                android:drawablePadding="6dp"
-                android:textColor="@color/black"
-                android:alpha="0.5"
-                android:textSize="12sp"
-                android:textStyle="bold" />
-
-            <TextView
-                android:id="@+id/mtvFeeType"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                tools:text="年卡"
-                android:layout_marginTop="5dp"
-                android:layout_marginStart="14dp"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                />
-
-
-        </LinearLayout>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_1"
-            android:text="有效期"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/rl_type"
-            android:textStyle="bold"
-            android:drawablePadding="6dp"
-            android:drawableStart="@drawable/orange_dot"
-            android:textColor="@color/black"
-            android:alpha="0.5"
-            android:textSize="12sp"/>
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_deadline"
-            app:layout_constraintTop_toBottomOf="@id/tv_1"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="24dp"
-            android:layout_marginTop="8dp"
-            tools:text="2023-03-15 09:00"
-            android:textColor="@color/textColor"
-            android:textSize="12sp"
-            android:textStyle="bold"/>
-
-
-
-
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_2"
-            android:text="下单时间"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/tv_deadline"
-            android:layout_marginTop="14dp"
-            android:textStyle="bold"
-            android:drawablePadding="6dp"
-            android:drawableStart="@drawable/orange_dot"
-            android:textColor="@color/black"
-            android:alpha="0.5"
-            android:textSize="12sp"/>
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_order_time"
-            app:layout_constraintTop_toBottomOf="@id/tv_2"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="24dp"
-            android:layout_marginTop="8dp"
-            tools:text="2023-03-15 09:00"
-            android:textColor="@color/textColor"
-            android:textSize="12sp"
-            android:textStyle="bold"/>
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/iv_used"
-            android:visibility="gone"
-            android:src="@mipmap/iv_used"
-            app:layout_constraintTop_toTopOf="@id/tv_1"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="14dp"/>
-        <LinearLayout
-            android:visibility="gone"
-            app:layout_constraintTop_toBottomOf="@id/tv_order_time"
-            android:id="@+id/ll_used"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="核销时间"
-                android:layout_marginTop="14dp"
-                android:textStyle="bold"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/black"
-                android:layout_marginStart="14dp"
-                android:alpha="0.5"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_use_time"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                tools:text="2023-03-15 09:00"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="核销门店"
-                android:layout_marginTop="14dp"
-                android:textStyle="bold"
-                android:layout_marginStart="14dp"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/black"
-                android:alpha="0.5"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_use_shop"
-                app:layout_constraintTop_toBottomOf="@id/tv_2"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                tools:text="2023-03-15 09:00"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-        </LinearLayout>
-        <LinearLayout
-            app:layout_constraintTop_toBottomOf="@id/tv_order_time"
-            android:id="@+id/ll_target_shop"
-            android:visibility="gone"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="指定门店可用"
-                android:layout_marginTop="14dp"
-                android:textStyle="bold"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/black"
-                android:layout_marginStart="14dp"
-                android:alpha="0.5"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_shop"
-                android:layout_marginStart="24dp"
-                android:paddingTop="8dp"
-                android:text="查看详情"
-                android:textColor="@color/blue"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-        </LinearLayout>
-        <androidx.constraintlayout.widget.Barrier
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/barrier"
-            app:constraint_referenced_ids="ll_target_shop,ll_used"
-            app:barrierDirection="bottom"/>
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color"
-            app:layout_constraintTop_toBottomOf="@id/barrier"
-            android:layout_margin="14dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_3"
-            app:layout_constraintTop_toBottomOf="@id/barrier"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            android:text="兑换说明"
-            android:layout_marginTop="28dp"
-            android:textStyle="bold"
-            android:textColor="@color/textColor"
-            android:textSize="14sp"/>
-        <WebView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_3"
-            android:layout_marginTop="14dp"
-            android:id="@+id/webView"/>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-</ScrollView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_join_world_cup.xml b/app/src/main/res/layout/activity_join_world_cup.xml
deleted file mode 100644
index 5a291d7..0000000
--- a/app/src/main/res/layout/activity_join_world_cup.xml
+++ /dev/null
@@ -1,429 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools">
-    <View
-        android:id="@+id/bg_title"
-        android:layout_width="match_parent"
-        android:layout_height="80dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:background="@mipmap/bg_wc_title"/>
-    <cn.sinata.xldutils.view.TitleBar
-        android:id="@+id/titleBar"
-        android:layout_width="match_parent"
-        android:layout_height="52dp"
-        app:layout_constraintBottom_toBottomOf="@id/bg_title"/>
-    <com.dollearn.student.views.ScrollInterceptScrollView
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintTop_toBottomOf="@id/titleBar"
-        android:id="@+id/scrollView"
-        app:layout_constraintBottom_toTopOf="@id/cb_rule"
-        android:scrollbars="none">
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-            <com.youth.banner.Banner
-                android:id="@+id/banner"
-                android:layout_width="match_parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:indicator_height="0dp"
-                android:layout_height="220dp"
-                app:is_infinite_loop="true"
-                app:is_auto_loop="true"/>
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_name"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintEnd_toStartOf="@id/tv_hot"
-                app:layout_constraintTop_toBottomOf="@id/banner"
-                android:layout_margin="14dp"
-                android:textSize="18sp"
-                android:textColor="@color/textColor"
-                android:textStyle="bold"/>
-            <TextView
-                android:id="@+id/tv_hot"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="14dp"
-                android:textColor="@color/colorPrimary"
-                android:textSize="18sp"
-                android:textStyle="bold"
-                android:drawableStart="@mipmap/ic_heat"
-                android:drawablePadding="4dp"
-                android:gravity="center"
-                android:text="0"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-                app:layout_constraintEnd_toEndOf="parent" />
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_address"
-                app:layout_constraintTop_toBottomOf="@id/tv_name"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                android:layout_marginTop="7dp"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:visibility="gone"
-                android:layout_marginEnd="14dp"
-                android:textSize="12sp"
-                android:textColor="@color/textColor66"
-                android:textStyle="bold"
-                android:drawablePadding="5dp"
-                android:drawableStart="@mipmap/ic_address"/>
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="1px"
-                app:layout_constraintTop_toBottomOf="@id/tv_address"
-                android:layout_marginTop="14dp"
-                android:background="@color/dividing_line_color"
-                android:layout_marginStart="14dp"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_1"
-                android:text="截止报名时间"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_address"
-                android:layout_marginTop="28dp"
-                android:textStyle="bold"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_deadline"
-                app:layout_constraintTop_toBottomOf="@id/tv_1"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                tools:text="2023-03-15 09:00"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_2"
-                android:text="开始时间"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_deadline"
-                android:layout_marginTop="14dp"
-                android:textStyle="bold"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_start_time"
-                app:layout_constraintTop_toBottomOf="@id/tv_2"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                tools:text="2023-03-15 09:00"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_3"
-                android:text="结束时间"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_start_time"
-                android:layout_marginTop="14dp"
-                android:textStyle="bold"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_end_time"
-                app:layout_constraintTop_toBottomOf="@id/tv_3"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                tools:text="2023-03-15 09:00"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_4"
-                android:text="报名年龄"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_end_time"
-                android:layout_marginTop="14dp"
-                android:textStyle="bold"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_age"
-                app:layout_constraintTop_toBottomOf="@id/tv_4"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                tools:text="7-12岁"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-            <TextView
-                android:id="@+id/tv_44"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="14dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:drawablePadding="6dp"
-                android:text="参赛者性别"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"
-                android:textStyle="bold"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_age" />
-
-            <TextView
-                android:id="@+id/tv_sex"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_44"
-                tools:text="男" />
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_5"
-                android:text="参赛地址"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_sex"
-                android:layout_marginTop="14dp"
-                android:textStyle="bold"
-                android:drawablePadding="6dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_city"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_play_address"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="14dp"
-                tools:text="四川|成都"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_play_address"
-                app:layout_constraintTop_toBottomOf="@id/tv_5"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintEnd_toStartOf="@id/tv_city"
-                android:layout_marginEnd="10dp"
-                android:layout_marginStart="24dp"
-                android:layout_marginTop="8dp"
-                tools:text="天府新谷9号楼1005A"
-                android:textColor="@color/textColor"
-                android:textSize="12sp"
-                android:textStyle="bold"/>
-
-            <TextView
-                android:id="@+id/tv_66"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="14dp"
-                android:drawableStart="@drawable/orange_dot"
-                android:drawablePadding="6dp"
-                android:text="参与门店"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"
-                android:textStyle="bold"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_play_address"
-                />
-            <LinearLayout
-                android:id="@+id/mllshops"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                app:layout_constraintTop_toBottomOf="@+id/tv_66">
-
-                <TextView
-                    android:id="@+id/tv_shops"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="24dp"
-                    android:layout_marginTop="8dp"
-                    android:layout_marginEnd="10dp"
-                    android:layout_weight="1"
-                    android:maxLines="1"
-                    android:ellipsize="end"
-                    android:textColor="@color/textColor"
-                    android:textSize="12sp"
-                    android:textStyle="bold"
-                    app:layout_constraintEnd_toStartOf="@id/tv_city"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/tv_5"
-                    tools:text="玩湃-喜望店,门店1,门店2喜望店,门店1,门店2喜望店,门店1,门店2喜望店,门店1,门店2喜望店,门店1,门店2喜望店,门店1,门店2" />
-
-                <TextView
-                    android:id="@+id/mtvcheckmore"
-                    android:layout_marginEnd="14dp"
-                    android:textColor="@color/colorPrimary"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="8dp"
-                    android:text="查看更多"/>
-            </LinearLayout>
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="1px"
-                app:layout_constraintTop_toBottomOf="@id/mllshops"
-                android:layout_marginTop="14dp"
-                android:background="@color/dividing_line_color"
-                android:layout_marginStart="14dp"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_6"
-                android:text="比赛费用"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/mllshops"
-                android:layout_marginTop="28dp"
-                android:textStyle="bold"
-                android:textColor="@color/textColor"
-                android:textSize="16sp"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_price"
-                style="@style/style_common_text"
-                android:text="支付:"
-                android:visibility="gone"
-                app:layout_constraintTop_toBottomOf="@id/tv_6"
-                app:layout_constraintStart_toStartOf="@id/tv_6"
-                android:layout_marginTop="12dp"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_coin"
-                style="@style/style_common_text"
-                android:layout_marginStart="65dp"
-                app:layout_goneMarginStart="0dp"
-                android:text="玩湃币:"
-                android:visibility="gone"
-                android:layout_marginTop="12dp"
-                app:layout_constraintStart_toEndOf="@id/tv_price"
-                app:layout_constraintTop_toBottomOf="@id/tv_6"/>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_course_time"
-                style="@style/style_common_text"
-                android:text="课时:"
-                android:visibility="gone"
-                app:layout_constraintTop_toBottomOf="@id/barrier"
-                app:layout_constraintStart_toStartOf="@id/tv_6"
-                android:layout_marginTop="12dp"/>
-            <androidx.constraintlayout.widget.Barrier
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/barrier"
-                app:constraint_referenced_ids="tv_coin,tv_price"
-                app:barrierDirection="bottom"/>
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="1px"
-                app:layout_constraintTop_toBottomOf="@id/tv_course_time"
-                android:layout_marginTop="14dp"
-                android:background="@color/dividing_line_color"
-                android:layout_marginStart="14dp"/>
-
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_add_student"
-                app:layout_constraintTop_toBottomOf="@id/tv_course_time"
-                app:layout_constraintEnd_toEndOf="@id/tv_city"
-                android:text="选择人员"
-                android:textSize="14sp"
-                android:layout_marginTop="18dp"
-                android:drawablePadding="6dp"
-                android:paddingVertical="10dp"
-                android:drawableEnd="@mipmap/ic_add"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="赛事人员"
-                android:textStyle="bold"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_add_student"
-                app:layout_constraintStart_toStartOf="@id/tv_1"
-                android:textColor="@color/textColor"
-                android:textSize="14sp"/>
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:id="@+id/rv_student"
-                app:layout_constraintTop_toBottomOf="@id/tv_add_student"/>
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </com.dollearn.student.views.ScrollInterceptScrollView>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="48dp"
-        android:id="@+id/tv_action"
-        android:gravity="center"
-        android:background="@color/colorPrimary"
-        android:text="立即报名"
-        android:textSize="18sp"
-        android:textStyle="bold"
-        android:textColor="@color/white"
-        app:layout_constraintBottom_toBottomOf="parent"/>
-    <CheckBox
-        android:layout_width="wrap_content"
-        android:layout_height="35dp"
-        android:id="@+id/cb_rule"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginStart="14dp"
-        android:textSize="12sp"
-        android:paddingHorizontal="4dp"
-        android:button="@drawable/selector_check_pay"
-        app:layout_constraintBottom_toTopOf="@id/tv_action"
-        android:text="我已阅读并同意"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_rule"
-        app:layout_constraintBaseline_toBaselineOf="@id/cb_rule"
-        app:layout_constraintStart_toEndOf="@id/cb_rule"
-        android:text="《社区世界杯报名协议》"
-        android:textColor="@color/colorDeepBlue"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_joined_course_deatil.xml b/app/src/main/res/layout/activity_joined_course_deatil.xml
deleted file mode 100644
index 2f79b3f..0000000
--- a/app/src/main/res/layout/activity_joined_course_deatil.xml
+++ /dev/null
@@ -1,321 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools">
-    <com.dollearn.student.views.ScrollInterceptScrollView
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:id="@+id/scrollView"
-        app:layout_constraintBottom_toTopOf="@id/ll_bottom"
-        android:scrollbars="none">
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-            <com.youth.banner.Banner
-                android:id="@+id/banner"
-                android:layout_width="match_parent"
-                android:layout_height="220dp"
-                android:scaleType="centerCrop"
-                app:is_auto_loop="true"
-                app:layout_constraintTop_toTopOf="parent" />
-            <TextView
-                android:id="@+id/tv_name"
-                android:layout_width="0dp"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintEnd_toStartOf="@id/mtvtag"
-                android:layout_height="wrap_content"
-                android:layout_margin="14dp"
-                android:textColor="@color/textColor"
-                android:textSize="18sp"
-                android:textStyle="bold"
-                app:layout_constraintTop_toBottomOf="@id/banner" />
-
-            <TextView
-                android:id="@+id/mtvtag"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:background="@drawable/shap_tag"
-                android:paddingStart="5dp"
-                android:paddingTop="3dp"
-                android:paddingEnd="5dp"
-                android:paddingBottom="3dp"
-                android:textColor="@color/white"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toTopOf="@+id/tv_name"
-                tools:text="常规班" />
-            <TextView
-                android:id="@+id/tv_address"
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="7dp"
-                android:layout_marginEnd="10dp"
-                android:drawableStart="@mipmap/ic_address"
-                android:drawablePadding="5dp"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"
-                android:textStyle="bold"
-                app:layout_constraintEnd_toStartOf="@id/tv_distance"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/tv_name"
-                tools:text="dizsdjfljsdlkfjlkjfsd" />
-
-            <TextView
-                android:id="@+id/tv_distance"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textColor="@color/textColor66"
-                android:textSize="12sp"
-                android:layout_marginEnd="10dp"
-                android:textStyle="bold"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_address"
-                app:layout_constraintEnd_toEndOf="parent" />
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="1px"
-                app:layout_constraintTop_toBottomOf="@id/tv_address"
-                android:layout_marginTop="14dp"
-                android:background="@color/dividing_line_color"
-                android:layout_marginStart="14dp"/>
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/cl_course_count"
-                android:layout_width="match_parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_address"
-                android:visibility="gone"
-                android:layout_marginTop="14dp"
-                android:layout_height="wrap_content">
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:id="@+id/tv_10"
-                    android:text="包含课时数:"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent"
-                    android:layout_marginStart="14dp"
-                    android:layout_marginTop="14dp"
-                    android:textStyle="bold"
-                    android:textColor="@color/textColor"
-                    android:textSize="14sp"/>
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:id="@+id/tv_course_count"
-                    app:layout_constraintStart_toEndOf="@id/tv_10"
-                    app:layout_constraintBaseline_toBaselineOf="@id/tv_10"
-                    android:layout_marginTop="28dp"
-                    android:textColor="@color/color_text_price"
-                    android:textSize="14sp"/>
-                <View
-                    android:layout_width="match_parent"
-                    android:layout_height="1px"
-                    app:layout_constraintTop_toBottomOf="@id/tv_10"
-                    android:layout_marginTop="14dp"
-                    android:background="@color/dividing_line_color"
-                    android:layout_marginStart="14dp"/>
-            </androidx.constraintlayout.widget.ConstraintLayout>
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/cl_course_count_additional"
-                android:layout_width="match_parent"
-                app:layout_constraintTop_toBottomOf="@id/cl_course_count"
-                android:visibility="gone"
-                android:layout_height="wrap_content">
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:id="@+id/tv_11"
-                    android:text="额外赠送:"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent"
-                    android:layout_marginStart="14dp"
-                    android:layout_marginTop="14dp"
-                    android:textStyle="bold"
-                    android:textColor="@color/textColor"
-                    android:textSize="14sp"/>
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:id="@+id/tv_course_count_additional"
-                    app:layout_constraintStart_toEndOf="@id/tv_11"
-                    app:layout_constraintBaseline_toBaselineOf="@id/tv_11"
-                    android:layout_marginTop="28dp"
-                    android:textColor="@color/color_text_price"
-                    android:textSize="14sp"/>
-                <View
-                    android:layout_width="match_parent"
-                    android:layout_height="1px"
-                    app:layout_constraintTop_toBottomOf="@id/tv_11"
-                    android:layout_marginTop="14dp"
-                    android:background="@color/dividing_line_color"
-                    android:layout_marginStart="14dp"/>
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/class_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="14dp"
-                app:layout_constraintStart_toStartOf="@id/tv_name"
-                app:layout_constraintTop_toBottomOf="@id/cl_course_count_additional">
-
-                <TextView
-                    android:id="@+id/tv_1"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="14dp"
-                    android:text="上课时间:"
-                    android:textColor="@color/textColor"
-                    android:textSize="14sp"
-                    android:textStyle="bold"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintTop_toTopOf="parent"
-
-                    app:layout_goneMarginTop="28dp" />
-
-                <TextView
-                    android:id="@+id/tv_week"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textColor="@color/textColor"
-                    android:textSize="14sp"
-                    app:layout_constraintBaseline_toBaselineOf="@id/tv_1"
-                    app:layout_constraintStart_toEndOf="@id/tv_1"
-                    tools:text="dizsdjfljsdlkfjlkjfsd" />
-
-
-                <TextView
-                    android:id="@+id/tv_time"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="8dp"
-                    android:textColor="@color/colorPrimary"
-                    android:textSize="14sp"
-                    android:textStyle="bold"
-                    android:layout_marginBottom="10dp"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintStart_toStartOf="@id/tv_week"
-                    app:layout_constraintTop_toBottomOf="@id/tv_week"
-                    tools:text="dizsdjfljsdlkfjlkjfsd" />
-                <View
-                    android:layout_width="match_parent"
-                    android:layout_height="1px"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    android:layout_marginStart="14dp"
-                    android:background="@color/dividing_line_color" />
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-
-            <RelativeLayout
-                android:id="@+id/mll_class_yxq"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="14dp"
-                android:orientation="horizontal"
-                android:visibility="gone"
-                app:layout_constraintTop_toBottomOf="@+id/class_time"
-                tools:visibility="visible">
-
-                <TextView
-                    android:id="@+id/mtvyxq"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="14dp"
-                    android:layout_marginTop="14dp"
-                    android:text="运动营有效期:"
-                    android:textColor="@color/textColor"
-                    android:textSize="14sp"
-                    android:textStyle="bold" />
-
-                <TextView
-                    android:id="@+id/mtv_class_yxq"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="14dp"
-                    android:layout_marginTop="14dp"
-                    android:layout_toRightOf="@+id/mtvyxq"
-                    android:textColor="@color/textColor"
-                    android:textSize="14sp"
-                    tools:text="2022-2-2" />
-
-                <View
-                    android:id="@+id/line2"
-                    android:layout_width="match_parent"
-                    android:layout_height="1px"
-                    android:layout_marginStart="14dp"
-                    android:layout_marginTop="14dp"
-                    android:background="@color/dividing_line_color"
-                    android:layout_below="@id/mtv_class_yxq"/>
-            </RelativeLayout>
-
-
-            <ImageView
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                app:layout_constraintTop_toBottomOf="@id/mll_class_yxq"
-                android:layout_marginTop="14dp"
-                android:id="@+id/iv_introduction"/>
-            <com.facebook.drawee.view.SimpleDraweeView
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                app:layout_constraintTop_toBottomOf="@id/iv_introduction"
-                app:actualImageScaleType="centerCrop"
-                android:id="@+id/iv_detail"/>
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </com.dollearn.student.views.ScrollInterceptScrollView>
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="75dp"
-        android:id="@+id/ll_bottom"
-        android:gravity="center_vertical"
-        app:layout_constraintBottom_toBottomOf="parent">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:id="@+id/tv_price"
-            android:gravity="center"
-            android:text="¥0"
-            android:layout_marginStart="8dp"
-            android:textSize="21sp"
-            android:textStyle="bold"
-            android:textColor="@color/colorYellow"/>
-        <LinearLayout
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:layout_weight="1"
-            android:layout_marginStart="9dp">
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_vip_price"
-                android:textColor="@color/color_text_price"
-                android:textStyle="bold"
-                android:textSize="13sp"
-                tools:text="会员价:¥80"/>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_coin_price"
-                android:textColor="@color/color_text_price"
-                android:textStyle="bold"
-                android:layout_marginTop="2dp"
-                android:textSize="13sp"
-                tools:text="会员价:¥80"/>
-        </LinearLayout>
-        <TextView
-            android:layout_width="160dp"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_action"
-            android:text=""
-            android:layout_marginEnd="10dp"
-            style="@style/style_btn_action"/>
-    </LinearLayout>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toTopOf="@id/ll_bottom"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_list_filter.xml b/app/src/main/res/layout/activity_list_filter.xml
deleted file mode 100644
index 14dc319..0000000
--- a/app/src/main/res/layout/activity_list_filter.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:id="@+id/mSwipeReLayout"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintTop_toTopOf="@id/mSwipeReLayout"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:id="@+id/bg"
-        android:visibility="gone"
-        android:background="@color/halfTrans"/>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/cl_filter"
-        android:visibility="gone"
-        android:background="@color/white"
-        app:layout_constraintTop_toTopOf="@id/mSwipeReLayout">
-        <TextView
-            android:id="@+id/tv_title_subject"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="12dp"
-            android:layout_marginTop="14dp"
-            android:text="选择学科"
-            android:textColor="@color/textColor"
-            android:textSize="20sp"
-            android:textStyle="bold"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_title_subject"
-            android:text="语文"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_chinese"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_math"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            android:text="数学"
-            android:id="@+id/tv_math"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_chinese"
-            app:layout_constraintStart_toEndOf="@id/tv_chinese"
-            app:layout_constraintEnd_toStartOf="@id/tv_english"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:id="@+id/tv_english"
-            android:layout_height="wrap_content"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_chinese"
-            android:text="英语"
-            app:layout_constraintStart_toEndOf="@id/tv_math"
-            app:layout_constraintEnd_toEndOf="parent"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_chinese"
-            android:text="物理"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_physics"
-            app:layout_constraintStart_toStartOf="@id/tv_chinese"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_physics"
-            android:text="化学"
-            android:id="@+id/tv_chemistry"
-            app:layout_constraintStart_toStartOf="@id/tv_math"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_physics"
-            android:text="生物"
-            android:id="@+id/tv_biology"
-            app:layout_constraintStart_toStartOf="@id/tv_english"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_physics"
-            android:text="政治"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_politics"
-            app:layout_constraintStart_toStartOf="@id/tv_chinese"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_politics"
-            android:text="地理"
-            android:id="@+id/tv_geography"
-            app:layout_constraintStart_toStartOf="@id/tv_math"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_politics"
-            android:text="历史"
-            android:id="@+id/tv_history"
-            app:layout_constraintStart_toStartOf="@id/tv_english"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_politics"
-            android:text="其他"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_other"
-            app:layout_constraintStart_toStartOf="@id/tv_chinese"
-            style="@style/style_tv_option"/>
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_other"
-            android:layout_marginTop="22dp">
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:text="重置"
-                android:textColor="@color/textColor99"
-                android:gravity="center"
-                android:paddingTop="10dp"
-                android:id="@+id/tv_reset"
-                android:paddingBottom="10dp"
-                android:background="@color/colorBGDisable"/>
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:text="确定"
-                android:textColor="@color/white"
-                android:gravity="center"
-                android:paddingTop="10dp"
-                android:id="@+id/tv_sure"
-                android:paddingBottom="10dp"
-                android:background="@drawable/bg_gradient"/>
-        </LinearLayout>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_list_search.xml b/app/src/main/res/layout/activity_list_search.xml
deleted file mode 100644
index 9f4dd63..0000000
--- a/app/src/main/res/layout/activity_list_search.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <TextView
-        android:id="@+id/tv_search"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="搜索"
-        android:textColor="@color/colorPrimary"
-        android:padding="10dp"
-        app:layout_constraintBaseline_toBaselineOf="@id/et_search"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="4dp"
-        android:textSize="14sp"
-        android:textStyle="bold"/>
-    <EditText
-        android:id="@+id/et_search"
-        android:layout_width="0dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/tv_search"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        android:textSize="14sp"
-        android:layout_marginTop="9dp"
-        android:hint="输入运动营名称"
-        android:paddingVertical="10dp"
-        android:drawablePadding="6dp"
-        android:paddingHorizontal="4dp"
-        android:drawableStart="@mipmap/icon_search_gray"
-        android:background="@drawable/bg_grey_4dp"
-        android:layout_marginStart="14dp"/>
-    <com.scwang.smart.refresh.layout.SmartRefreshLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_marginTop="9dp"
-        app:layout_constraintTop_toBottomOf="@id/et_search"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:id="@+id/refreshLayout">
-        <com.scwang.smart.refresh.header.ClassicsHeader
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"/>
-        <androidx.recyclerview.widget.RecyclerView
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:id="@+id/rv_video"
-            app:layout_constraintTop_toBottomOf="@id/et_search"/>
-        <com.scwang.smart.refresh.footer.ClassicsFooter
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"/>
-    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="4dp"
-        android:background="@drawable/bg_shadow_top"
-        app:layout_constraintTop_toBottomOf="@id/et_search"
-        android:layout_marginTop="8dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_match.xml b/app/src/main/res/layout/activity_match.xml
deleted file mode 100644
index 5971061..0000000
--- a/app/src/main/res/layout/activity_match.xml
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:id="@+id/tv_search"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="搜索"
-        android:textColor="@color/colorPrimary"
-        android:padding="10dp"
-        app:layout_constraintBaseline_toBaselineOf="@id/et_search"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="4dp"
-        android:textSize="14sp"
-        android:textStyle="bold"/>
-    <EditText
-        android:id="@+id/et_search"
-        android:layout_width="0dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/tv_search"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="15dp"
-        android:textSize="14sp"
-        android:hint="输入活动名称"
-        android:paddingVertical="10dp"
-        android:drawablePadding="6dp"
-        android:paddingHorizontal="4dp"
-        android:drawableStart="@mipmap/icon_search_gray"
-        android:background="@drawable/bg_grey_4dp"
-        android:layout_marginStart="14dp"/>
-    <CheckBox
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/cb_city"
-        android:button="@null"
-        android:background="@null"
-        app:layout_constraintTop_toBottomOf="@id/et_search"
-        android:text="举办城市"
-        android:layout_marginTop="4dp"
-        android:paddingVertical="13dp"
-        android:textSize="16sp"
-        android:drawablePadding="1dp"
-        android:textColor="@color/selector_black_red"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/cb_condition"
-        android:drawableEnd="@drawable/selector_filter_check"/>
-    <CheckBox
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/cb_condition"
-        android:button="@null"
-        android:text="报名条件"
-        android:background="@null"
-        app:layout_constraintBaseline_toBaselineOf="@id/cb_city"
-        android:paddingVertical="13dp"
-        android:textSize="16sp"
-        android:drawablePadding="1dp"
-        android:textColor="@color/selector_black_red"
-        app:layout_constraintStart_toEndOf="@id/cb_city"
-        app:layout_constraintEnd_toStartOf="@id/tv_heat"
-        android:drawableEnd="@drawable/selector_filter_check"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_heat"
-        android:text="热度"
-        app:layout_constraintBaseline_toBaselineOf="@id/cb_city"
-        android:paddingVertical="13dp"
-        android:textSize="16sp"
-        android:layout_marginEnd="80dp"
-        android:drawablePadding="1dp"
-        android:textColor="@color/textColor"
-        app:layout_constraintStart_toEndOf="@id/cb_condition"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:drawableEnd="@mipmap/sort_none"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="48dp"
-        android:background="@color/colorPrimary"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:id="@+id/tv_record"
-        android:text="已报名活动"
-        android:gravity="center"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="17sp"/>
-    <com.scwang.smart.refresh.layout.SmartRefreshLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:id="@+id/refreshLayout"
-        app:layout_constraintTop_toBottomOf="@id/cb_city"
-        app:layout_constraintBottom_toTopOf="@id/tv_record">
-        <com.scwang.smart.refresh.header.ClassicsHeader
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"/>
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_course"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="6dp"
-        app:layout_constraintTop_toTopOf="@id/refreshLayout"
-        android:background="@drawable/bg_shadow_top"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintTop_toTopOf="@id/refreshLayout"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:background="@color/halfTrans"
-        android:visibility="gone"
-        android:id="@+id/bg_filter"/>
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rv_condition"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@id/refreshLayout"
-        android:background="@color/white"/>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_city"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:visibility="gone"
-        android:layout_marginBottom="70dp"
-        app:layout_constraintTop_toTopOf="@id/refreshLayout"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:background="@color/white">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_refresh"
-            android:text="重新定位"
-            android:drawablePadding="6dp"
-            android:textStyle="bold"
-            android:textColor="@color/textColor"
-            android:textSize="14sp"
-            android:padding="14dp"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:drawableStart="@mipmap/reset"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_current"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_refresh"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="14dp"
-            android:textSize="14sp"
-            android:textColor="@color/colorYellow"
-            android:text="当前城市:成都"/>
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_city"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            app:layout_constraintTop_toBottomOf="@id/tv_refresh"
-            app:layout_constraintBottom_toBottomOf="parent"/>
-        <com.dollearn.student.views.WaveSideBar
-            android:id="@+id/side_bar"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            app:layout_constraintTop_toTopOf="@id/rv_city"
-            app:layout_constraintBottom_toBottomOf="@id/rv_city"
-            android:paddingLeft="8dp"
-            android:paddingRight="8dp"
-            app:sidebar_text_color="@color/colorPrimary"/>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_my_course_detail.xml b/app/src/main/res/layout/activity_my_course_detail.xml
deleted file mode 100644
index ab66d92..0000000
--- a/app/src/main/res/layout/activity_my_course_detail.xml
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.core.widget.NestedScrollView 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">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-
-        <com.facebook.drawee.view.SimpleDraweeView
-            android:id="@+id/iv_avatar"
-            style="@style/DefaultHeadStyle"
-            android:layout_width="74dp"
-            android:layout_height="74dp"
-            android:layout_marginStart="22dp"
-            android:layout_marginTop="12dp"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/tv_name"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_margin="11dp"
-            android:textColor="@color/textColor"
-            android:textSize="16sp"
-            android:textStyle="bold"
-            app:layout_constraintStart_toEndOf="@id/iv_avatar"
-            app:layout_constraintTop_toTopOf="@id/iv_avatar"
-            tools:text="王雅博" />
-
-        <TextView
-            android:id="@+id/tv_deadline"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:textSize="12sp"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/tv_name"
-            tools:text="有效期:2023-03-20" />
-
-        <TextView
-            android:id="@+id/tv_used_count"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="26dp"
-            android:text="0"
-            android:textColor="@color/colorPrimary"
-            android:textSize="25sp"
-            android:textStyle="bold"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/iv_avatar" />
-
-        <TextView
-            android:id="@+id/tv_1"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="3dp"
-            android:text="已扣课时数"
-            android:textSize="12sp"
-            app:layout_constraintEnd_toEndOf="@id/tv_used_count"
-            app:layout_constraintStart_toStartOf="@id/tv_used_count"
-            app:layout_constraintTop_toBottomOf="@id/tv_used_count" />
-
-        <TextView
-            android:id="@+id/tv_total_count"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="60dp"
-            android:text="0"
-            android:textColor="@color/colorPrimary"
-            android:textSize="25sp"
-            android:textStyle="bold"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_used_count"
-            app:layout_constraintStart_toStartOf="parent" />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="总课时数"
-            android:textSize="12sp"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_1"
-            app:layout_constraintEnd_toEndOf="@id/tv_total_count"
-            app:layout_constraintStart_toStartOf="@id/tv_total_count" />
-
-        <TextView
-            android:id="@+id/tv_last_count"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginEnd="60dp"
-            android:text="0"
-            android:textColor="@color/colorPrimary"
-            android:textSize="25sp"
-            android:textStyle="bold"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_used_count"
-            app:layout_constraintEnd_toEndOf="parent" />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="剩余课时数"
-            android:textSize="12sp"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_1"
-            app:layout_constraintEnd_toEndOf="@id/tv_last_count"
-            app:layout_constraintStart_toStartOf="@id/tv_last_count" />
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_name"
-            android:layout_width="match_parent"
-            android:layout_height="50dp"
-            android:layout_marginTop="24dp"
-            app:layout_constraintTop_toBottomOf="@id/tv_1" />
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/mll_used"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="@drawable/bg_gradient"
-            app:layout_constraintTop_toBottomOf="@id/rv_name">
-
-            <TextView
-                android:id="@+id/tv_total_count2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="60dp"
-                android:text="0"
-                android:textColor="@color/white"
-                android:textSize="25sp"
-                android:textStyle="bold"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_used_count2"
-                app:layout_constraintStart_toStartOf="parent" />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="总课时数"
-                android:textColor="@color/white"
-                android:textSize="12sp"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_2"
-                app:layout_constraintEnd_toEndOf="@id/tv_total_count2"
-                app:layout_constraintStart_toStartOf="@id/tv_total_count2" />
-
-            <TextView
-                android:id="@+id/tv_used_count2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="10dp"
-                android:text="0"
-                android:textColor="@color/white"
-                android:textSize="25sp"
-                android:textStyle="bold"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <TextView
-                android:id="@+id/tv_2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="3dp"
-                android:text="已扣课时数"
-                android:textColor="@color/white"
-                android:textSize="12sp"
-                app:layout_constraintEnd_toEndOf="@id/tv_used_count2"
-                app:layout_constraintStart_toStartOf="@id/tv_used_count2"
-                app:layout_constraintTop_toBottomOf="@id/tv_used_count2" />
-
-            <TextView
-                android:id="@+id/tv_last_count2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="60dp"
-                android:text="0"
-                android:textColor="@color/white"
-                android:textSize="25sp"
-                android:textStyle="bold"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_used_count2"
-                app:layout_constraintEnd_toEndOf="parent" />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="剩余课时数"
-                android:textColor="@color/white"
-                android:textSize="12sp"
-                app:layout_constraintBaseline_toBaselineOf="@id/tv_2"
-                app:layout_constraintEnd_toEndOf="@id/tv_last_count2"
-                app:layout_constraintStart_toStartOf="@id/tv_last_count2" />
-
-            <TextView
-                android:id="@+id/tv_used"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:background="@drawable/bg_gradient"
-                android:paddingHorizontal="14dp"
-                android:paddingVertical="17dp"
-                android:text="已扣课时数:0"
-                android:textColor="@color/white"
-                android:textSize="16sp"
-                android:textStyle="bold"
-                android:visibility="gone"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <TextView
-                android:id="@+id/tv_buy"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="18dp"
-                android:layout_marginEnd="15dp"
-                android:layout_marginBottom="10dp"
-                android:background="@drawable/bg_white_10dp"
-                android:paddingHorizontal="17dp"
-                android:paddingVertical="7dp"
-                android:text="续课"
-                android:textColor="@color/colorPrimary"
-                android:textSize="16sp"
-                android:textStyle="bold"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintLeft_toLeftOf="@+id/tv_2"
-                app:layout_constraintRight_toRightOf="@+id/tv_2"
-                app:layout_constraintTop_toBottomOf="@+id/tv_2" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-
-        <TextView
-            android:id="@+id/tv_filter"
-            android:layout_width="100dp"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="16dp"
-            android:layout_marginEnd="14dp"
-            android:background="@drawable/bg_deep_grey_line_4dp"
-            android:drawableEnd="@mipmap/icon_nav_open"
-            android:paddingHorizontal="9dp"
-            android:paddingVertical="8dp"
-            android:text="全部记录"
-            android:textSize="16sp"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/mll_used" />
-
-        <TextView
-            android:id="@+id/tv_month"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="14dp"
-            android:layout_marginEnd="14dp"
-            android:drawableEnd="@mipmap/more_blue"
-            android:drawablePadding="3dp"
-            android:paddingVertical="8dp"
-            android:text="2023年3月"
-            android:textColor="@color/blue"
-            android:textSize="16sp"
-            android:textStyle="bold"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_filter"
-            app:layout_constraintStart_toStartOf="parent" />
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_record"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="13dp"
-            app:layout_constraintTop_toBottomOf="@id/tv_filter" />
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-</androidx.core.widget.NestedScrollView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_my_world_cup.xml b/app/src/main/res/layout/activity_my_world_cup.xml
deleted file mode 100644
index 0237eed..0000000
--- a/app/src/main/res/layout/activity_my_world_cup.xml
+++ /dev/null
@@ -1,365 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:orientation="vertical"
-    android:background="@color/white"
-    android:layout_height="match_parent">
-    <ImageView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        app:layout_constraintTop_toTopOf="parent"
-        android:scaleType="fitXY"
-        android:src="@mipmap/bg_world_cup_1"
-        android:layout_marginTop="260dp"/>
-
-    <View
-        android:id="@+id/bg_title"
-        android:layout_width="match_parent"
-        android:layout_height="80dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:background="@mipmap/bg_wc_title"/>
-    <cn.sinata.xldutils.view.TitleBar
-        android:id="@+id/titleBar"
-        android:layout_width="match_parent"
-        android:layout_height="52dp"
-        app:layout_constraintBottom_toBottomOf="@id/bg_title"/>
-    <androidx.coordinatorlayout.widget.CoordinatorLayout
-        android:layout_width="match_parent"
-        android:layout_marginTop="80dp"
-        android:layout_height="match_parent">
-        <com.google.android.material.appbar.AppBarLayout
-            android:id="@+id/appbar"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="@color/transparent"
-            android:orientation="vertical">
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:paddingBottom="15dp"
-                app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
-
-                <androidx.constraintlayout.widget.ConstraintLayout
-                    android:id="@+id/cl_info"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    app:layout_constraintTop_toTopOf="parent">
-
-                    <com.facebook.drawee.view.SimpleDraweeView
-                        android:id="@+id/iv_avatar"
-                        android:layout_width="87dp"
-                        android:layout_height="87dp"
-                        android:layout_margin="22dp"
-                        app:actualImageScaleType="centerCrop"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent"
-                        app:roundAsCircle="true" />
-
-                    <TextView
-                        android:id="@+id/tv_name"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="13dp"
-                        android:layout_marginTop="14dp"
-                        android:text="暂无参赛人员"
-                        android:textSize="21sp"
-                        app:layout_constraintStart_toEndOf="@id/iv_avatar"
-                        app:layout_constraintTop_toTopOf="@id/iv_avatar" />
-
-                    <TextView
-                        android:id="@+id/tv_change"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="6dp"
-                        android:drawableStart="@mipmap/exchange"
-                        android:drawablePadding="6dp"
-                        android:gravity="center"
-                        android:text="切换人员"
-                        android:textColor="#4EDBBD"
-                        android:textSize="14sp"
-                        app:layout_constraintStart_toStartOf="@id/tv_name"
-                        app:layout_constraintTop_toBottomOf="@id/tv_name" />
-
-                    <ImageView
-                        android:id="@+id/iv_code"
-                        android:layout_width="75dp"
-                        android:layout_height="75dp"
-                        android:layout_marginEnd="35dp"
-                        android:layout_marginBottom="4dp"
-                        app:layout_constraintBottom_toBottomOf="@id/iv_avatar"
-                        app:layout_constraintEnd_toEndOf="parent" />
-
-                    <TextView
-                        android:id="@+id/tv_year"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="25dp"
-                        android:text="您的2024年场次排名"
-                        android:textSize="12sp"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toBottomOf="@id/iv_avatar" />
-
-                    <androidx.constraintlayout.widget.ConstraintLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="52dp"
-                        android:layout_marginHorizontal="31dp"
-                        android:layout_marginTop="14dp"
-                        android:background="@drawable/bg_orange_30dp"
-                        app:layout_constraintBottom_toBottomOf="parent"
-                        app:layout_constraintTop_toBottomOf="@id/tv_year">
-
-                        <TextView
-                            android:id="@+id/tv_1"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginStart="15dp"
-                            android:text="全国排名"
-                            android:textColor="@color/white"
-                            android:textSize="14sp"
-                            app:layout_constraintBaseline_toBaselineOf="@id/tv_rank_country"
-                            app:layout_constraintStart_toStartOf="parent" />
-
-                        <TextView
-                            android:id="@+id/tv_rank_country"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginStart="9dp"
-                            android:text="0"
-                            android:textColor="@color/white"
-                            android:textSize="24sp"
-                            android:textStyle="bold"
-                            app:layout_constraintBottom_toBottomOf="parent"
-                            app:layout_constraintStart_toEndOf="@id/tv_1"
-                            app:layout_constraintTop_toTopOf="parent" />
-
-                        <View
-                            android:id="@+id/center"
-                            android:layout_width="1dp"
-                            android:layout_height="36dp"
-                            android:background="@color/white"
-                            app:layout_constraintBottom_toBottomOf="parent"
-                            app:layout_constraintEnd_toEndOf="parent"
-                            app:layout_constraintStart_toStartOf="parent"
-                            app:layout_constraintTop_toTopOf="parent" />
-
-                        <TextView
-                            android:id="@+id/tv_city"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginStart="20dp"
-                            android:text="当地排名"
-                            android:textColor="@color/white"
-                            android:textSize="14sp"
-                            app:layout_constraintBaseline_toBaselineOf="@id/tv_rank_country"
-                            app:layout_constraintStart_toEndOf="@id/center" />
-
-                        <TextView
-                            android:id="@+id/tv_rank_city"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginStart="9dp"
-                            android:text="0"
-                            android:textColor="@color/white"
-                            android:textSize="24sp"
-                            android:textStyle="bold"
-                            app:layout_constraintBottom_toBottomOf="parent"
-                            app:layout_constraintStart_toEndOf="@id/tv_city"
-                            app:layout_constraintTop_toTopOf="parent" />
-                    </androidx.constraintlayout.widget.ConstraintLayout>
-                </androidx.constraintlayout.widget.ConstraintLayout>
-
-                <TextView
-                    android:id="@+id/tv_lose"
-                    android:layout_width="wrap_content"
-                    android:layout_height="46dp"
-                    android:layout_marginTop="42dp"
-                    android:gravity="center"
-                    android:minWidth="90dp"
-                    android:text="0"
-                    android:textSize="27sp"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/cl_info" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"
-                    android:text="负场次"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toTopOf="@id/tv_lose"
-                    app:layout_constraintEnd_toEndOf="@id/tv_lose"
-                    app:layout_constraintStart_toStartOf="@id/tv_lose" />
-
-                <TextView
-                    android:id="@+id/tv_win"
-                    android:layout_width="wrap_content"
-                    android:layout_height="46dp"
-                    android:gravity="center"
-                    android:minWidth="90dp"
-                    android:text="0"
-                    android:textSize="27sp"
-                    app:layout_constraintEnd_toStartOf="@id/tv_lose"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="@id/tv_lose" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"
-                    android:text="胜场次"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toTopOf="@id/tv_lose"
-                    app:layout_constraintEnd_toEndOf="@id/tv_win"
-                    app:layout_constraintStart_toStartOf="@id/tv_win" />
-
-                <TextView
-                    android:id="@+id/tv_win_rate"
-                    android:layout_width="wrap_content"
-                    android:layout_height="46dp"
-                    android:gravity="center"
-                    android:minWidth="90dp"
-                    android:text="0"
-                    android:textSize="27sp"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toEndOf="@id/tv_lose"
-                    app:layout_constraintTop_toTopOf="@id/tv_lose" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"
-                    android:text="胜率"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toTopOf="@id/tv_lose"
-                    app:layout_constraintEnd_toEndOf="@id/tv_win_rate"
-                    app:layout_constraintStart_toStartOf="@id/tv_win_rate" />
-
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <com.flyco.tablayout.SlidingTabLayout
-                android:id="@+id/tab_bar"
-                android:layout_width="match_parent"
-                android:layout_height="44dp"
-                app:layout_constraintTop_toBottomOf="@id/tv_win"
-                app:tl_indicator_color="@color/colorDeepBlue"
-                app:tl_indicator_corner_radius="1dp"
-                app:tl_indicator_height="2dp"
-                app:tl_indicator_width="50dp"
-                app:tl_tab_space_equal="true"
-                app:tl_textSelectColor="@color/colorDeepBlue"
-                app:tl_textUnselectColor="@color/textColor66"
-                app:tl_textsize="16sp" />
-        </com.google.android.material.appbar.AppBarLayout>
-
-        <androidx.viewpager.widget.ViewPager
-            android:id="@+id/view_pager"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
-    </androidx.coordinatorlayout.widget.CoordinatorLayout>
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:id="@+id/rg_region"
-        android:visibility="gone"
-        android:layout_marginBottom="4dp"
-        app:layout_constraintBottom_toBottomOf="parent">
-        <TextView
-            android:id="@+id/rb_country"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:layout_marginStart="40dp"
-            android:text="全国"
-            android:paddingVertical="10dp"
-            android:gravity="center"
-            android:textColor="@color/selector_white_orange"
-            android:background="@drawable/selector_rank_region"/>
-        <TextView
-            android:id="@+id/rb_city"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:layout_marginStart="20dp"
-            android:layout_marginEnd="40dp"
-            android:paddingVertical="10dp"
-            android:gravity="center"
-            android:checked="true"
-            android:textColor="@color/selector_white_orange"
-            android:background="@drawable/selector_rank_region"/>
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="50dp"
-        android:id="@+id/bg"
-        android:visibility="gone"
-        android:layout_marginHorizontal="14dp"
-        android:layout_marginBottom="4dp"
-        android:background="@drawable/bg_white_orange_line_2dp"
-        app:layout_constraintBottom_toTopOf="@id/rg_region"
-        android:orientation="horizontal">
-        <RelativeLayout
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="50">
-            <ImageView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/iv_rank"
-                android:layout_centerInParent="true" />
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:id="@+id/tv_rank"
-                android:layout_centerInParent="true"
-                android:textColor="@color/textColor66"
-                android:textStyle="bold"
-                android:textSize="12sp"
-                android:text="4"/>
-        </RelativeLayout>
-        <LinearLayout
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:gravity="center_vertical"
-            android:layout_weight="122">
-            <com.facebook.drawee.view.SimpleDraweeView
-                android:layout_width="34dp"
-                android:layout_height="34dp"
-                android:id="@+id/iv_mine_avatar"
-                android:layout_marginStart="25dp"
-                app:roundAsCircle="true"
-                app:placeholderImage="@color/page_bg"/>
-            <TextView
-                android:id="@+id/tv_mine_name"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="张*"
-                android:textSize="14sp"
-                android:layout_marginStart="10dp"
-                android:textColor="@color/textColor"
-                android:textStyle="bold"/>
-        </LinearLayout>
-        <TextView
-            android:id="@+id/tv_count"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="120"
-            android:text="200"
-            android:textSize="12sp"
-            android:gravity="center"/>
-        <TextView
-            android:id="@+id/tv_rate"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="73"
-            android:text="90%"
-            android:textSize="12sp"
-            android:gravity="center"/>
-    </LinearLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_online_shop.xml b/app/src/main/res/layout/activity_online_shop.xml
deleted file mode 100644
index e238cd8..0000000
--- a/app/src/main/res/layout/activity_online_shop.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:background="@drawable/bg_gradient_vertical">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-
-        android:text="即将上线,敬请期待"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="18sp"
-        android:drawablePadding="30dp"
-        android:drawableBottom="@mipmap/open_soon"
-        android:gravity="center"/>
-    <ImageView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginBottom="20dp"
-        android:src="@mipmap/logo"/>
-    <TextView
-        android:id="@+id/tv1"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="线上商城"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:textColor="@color/white"
-        android:textSize="16sp"
-        android:textStyle="bold"
-        android:layout_marginTop="40dp"/>
-    <ImageView
-        android:id="@+id/iv_back"
-        android:layout_marginStart="4dp"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@id/tv1"
-        app:layout_constraintBottom_toBottomOf="@id/tv1"
-        android:padding="10dp"
-        android:src="@mipmap/back_white"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_report.xml b/app/src/main/res/layout/activity_report.xml
deleted file mode 100644
index f526171..0000000
--- a/app/src/main/res/layout/activity_report.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_height"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginTop="51dp"
-            android:textColor="@color/colorTextDark"
-            android:textSize="23sp"
-            android:drawablePadding="8dp"
-            android:layout_marginStart="25dp"
-            android:drawableStart="@mipmap/shengao"
-            android:text="0cm"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            app:layout_constraintBottom_toTopOf="@id/tv_height"
-            app:layout_constraintStart_toStartOf="@id/tv_height"
-            android:text="身高"
-            android:textSize="14sp"
-            android:textColor="@color/colorTextDark"
-            android:textStyle="bold"
-            android:layout_marginBottom="11dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_bmi"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="13dp"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_height"
-            android:textColor="@color/colorTextDark"
-            android:textSize="23sp"
-            android:drawablePadding="8dp"
-            android:drawableStart="@mipmap/bmi"
-            android:text="0.0"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            app:layout_constraintBottom_toTopOf="@id/tv_height"
-            app:layout_constraintStart_toStartOf="@id/tv_bmi"
-            android:text="BMI"
-            android:textSize="14sp"
-            android:textColor="@color/colorTextDark"
-            android:textStyle="bold"
-            android:layout_marginBottom="11dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_wight"
-            app:layout_constraintEnd_toStartOf="@id/tv_bmi"
-            app:layout_constraintStart_toEndOf="@id/tv_height"
-            android:layout_marginEnd="13dp"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_height"
-            android:textColor="@color/colorTextDark"
-            android:textSize="23sp"
-            android:drawablePadding="8dp"
-            android:drawableStart="@mipmap/tizhong"
-            android:text="0.0"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            app:layout_constraintBottom_toTopOf="@id/tv_height"
-            app:layout_constraintStart_toStartOf="@id/tv_wight"
-            android:text="体重"
-            android:textSize="14sp"
-            android:textColor="@color/colorTextDark"
-            android:textStyle="bold"
-            android:layout_marginBottom="11dp"/>
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:background="@color/dividing_line_color"
-            app:layout_constraintTop_toBottomOf="@id/tv_wight"
-            android:layout_marginTop="30dp"
-            android:layout_marginHorizontal="19dp"/>
-        <ImageView
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:id="@+id/iv_report_1"
-            app:layout_constraintTop_toBottomOf="@id/tv_wight"
-            android:layout_marginTop="70dp"/>
-        <ImageView
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:id="@+id/iv_report_2"
-            app:layout_constraintTop_toBottomOf="@id/iv_report_1"
-            android:layout_marginTop="1dp"/>
-        <ImageView
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:id="@+id/iv_report_3"
-            app:layout_constraintTop_toBottomOf="@id/iv_report_2"
-            android:layout_marginTop="1dp"/>
-        <TextView
-            android:visibility="gone"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_empty"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/tv_wight"
-            android:layout_marginTop="100dp"
-            android:text="暂无报告"/>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.core.widget.NestedScrollView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml
deleted file mode 100644
index 7944b36..0000000
--- a/app/src/main/res/layout/activity_search.xml
+++ /dev/null
@@ -1,216 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:focusableInTouchMode="true"
-    android:focusable="true"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:drawableStart="@mipmap/back"
-        android:padding="12dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginTop="26dp"
-        android:id="@+id/iv_back"/>
-    <CheckBox
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_subject"
-        android:text="学科"
-        android:drawableEnd="@drawable/selector_filter_icon"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:drawablePadding="6dp"
-        app:layout_constraintBaseline_toBaselineOf="@id/iv_back"
-        style="@style/style_common_text"
-        android:layout_marginEnd="2dp"
-        android:background="@null"
-        android:button="@null"
-        android:visibility="gone"
-        android:padding="10dp"/>
-    <EditText
-        android:layout_width="0dp"
-        android:hint="搜索运动营/老师"
-        android:background="@drawable/bg_grey_16dp"
-        android:paddingTop="6dp"
-        android:paddingBottom="6dp"
-        android:drawableStart="@mipmap/icon_search_gray"
-        android:drawablePadding="8dp"
-        android:paddingStart="13dp"
-        app:layout_constraintBaseline_toBaselineOf="@id/iv_back"
-        app:layout_constraintStart_toEndOf="@id/iv_back"
-        app:layout_constraintEnd_toStartOf="@id/tv_subject"
-        android:id="@+id/et_search"
-        android:singleLine="true"
-        android:imeOptions="actionSearch"
-        android:layout_marginStart="10dp"
-        android:layout_marginEnd="5dp"
-        android:textSize="13sp"
-        android:layout_height="wrap_content"/>
-    <cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:id="@+id/mSwipeReLayout"
-        app:layout_constraintTop_toBottomOf="@id/et_search"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_marginTop="6dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        app:layout_constraintTop_toBottomOf="@id/et_search"
-        android:background="@color/dividing_line_color"
-        android:layout_marginTop="8dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintTop_toTopOf="@id/mSwipeReLayout"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:id="@+id/bg"
-        android:visibility="gone"
-        android:background="@color/halfTrans"/>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/cl_filter"
-        android:visibility="gone"
-        android:background="@color/white"
-        app:layout_constraintTop_toTopOf="@id/mSwipeReLayout">
-        <TextView
-            android:id="@+id/tv_title_subject"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="12dp"
-            android:layout_marginTop="14dp"
-            android:text="选择学科"
-            android:textColor="@color/textColor"
-            android:textSize="20sp"
-            android:textStyle="bold"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_title_subject"
-            android:text="全部"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_all"
-            android:checked="true"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_chinese"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            android:text="语文"
-            android:id="@+id/tv_chinese"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_all"
-            app:layout_constraintStart_toEndOf="@id/tv_all"
-            app:layout_constraintEnd_toStartOf="@id/tv_math"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:id="@+id/tv_math"
-            android:layout_height="wrap_content"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_all"
-            android:text="数学"
-            app:layout_constraintStart_toEndOf="@id/tv_chinese"
-            app:layout_constraintEnd_toEndOf="parent"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_all"
-            android:text="英语"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_english"
-            app:layout_constraintStart_toStartOf="@id/tv_all"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_english"
-            android:text="物理"
-            android:id="@+id/tv_physics"
-            app:layout_constraintStart_toStartOf="@id/tv_chinese"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_english"
-            android:text="化学"
-            android:id="@+id/tv_chemistry"
-            app:layout_constraintStart_toStartOf="@id/tv_math"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_english"
-            android:text="生物"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_biology"
-            app:layout_constraintStart_toStartOf="@id/tv_all"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_biology"
-            android:text="政治"
-            android:id="@+id/tv_politics"
-            app:layout_constraintStart_toStartOf="@id/tv_chinese"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_biology"
-            android:text="地理"
-            android:id="@+id/tv_geography"
-            app:layout_constraintStart_toStartOf="@id/tv_math"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_biology"
-            android:text="历史"
-            android:layout_marginTop="14dp"
-            android:id="@+id/tv_history"
-            app:layout_constraintStart_toStartOf="@id/tv_all"
-            style="@style/style_tv_option"/>
-        <CheckedTextView
-            android:layout_width="88dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="@id/tv_history"
-            android:text="其他"
-            android:id="@+id/tv_other"
-            app:layout_constraintStart_toStartOf="@id/tv_chinese"
-            style="@style/style_tv_option"/>
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            app:layout_constraintTop_toBottomOf="@id/tv_history"
-            android:layout_marginTop="22dp">
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:text="重置"
-                android:textColor="@color/textColor99"
-                android:gravity="center"
-                android:paddingTop="10dp"
-                android:id="@+id/tv_reset"
-                android:paddingBottom="10dp"
-                android:background="@color/colorBGDisable"/>
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:text="确定"
-                android:textColor="@color/white"
-                android:gravity="center"
-                android:paddingTop="10dp"
-                android:id="@+id/tv_sure"
-                android:paddingBottom="10dp"
-                android:background="@drawable/bg_gradient"/>
-        </LinearLayout>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_calendar.xml b/app/src/main/res/layout/dialog_calendar.xml
deleted file mode 100644
index 05aa97b..0000000
--- a/app/src/main/res/layout/dialog_calendar.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:background="@drawable/bg_white_top_20dp">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_date"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:text="2023年05月"
-        android:textSize="14sp"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:layout_marginTop="20dp"/>
-    <com.haibin.calendarview.CalendarView
-        android:id="@+id/calendar"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="#fff"
-        android:layout_marginHorizontal="22dp"
-        app:month_view="com.dollearn.student.views.calendar.SimpleMonthView"
-        app:calendar_height="46dp"
-        app:day_text_size="11sp"
-        app:current_month_text_color="@color/textColor66"
-        app:current_day_text_color="@color/colorTextOrange"
-        app:other_month_text_color="#e1e1e1"
-        app:scheme_text_color="#333"
-        app:scheme_theme_color="#333"
-        app:selected_text_color="#fff"
-        app:selected_theme_color="@color/colorAccent"
-        app:week_bar_view="com.dollearn.student.views.calendar.SimpleWeekBar"
-        app:week_bar_height="33dp"
-        app:select_mode="single_mode"
-        android:elevation="2dp"
-        app:layout_constraintTop_toBottomOf="@id/tv_date"
-        android:layout_marginTop="12dp"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_cancel"
-        android:text="取消"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:paddingVertical="16dp"
-        android:gravity="center"
-        android:layout_marginHorizontal="20dp"
-        app:layout_constraintTop_toBottomOf="@id/calendar"
-        android:background="@color/page_bg"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_check_shops.xml b/app/src/main/res/layout/dialog_check_shops.xml
deleted file mode 100644
index 2917175..0000000
--- a/app/src/main/res/layout/dialog_check_shops.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@drawable/shape_white_top_20r"
-        app:layout_constraintBottom_toBottomOf="parent">
-
-        <ImageView
-            android:id="@+id/iv_close"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentRight="true"
-            android:layout_marginStart="10dp"
-            android:layout_marginTop="10dp"
-            android:layout_marginEnd="10dp"
-            android:layout_marginBottom="10dp"
-            android:padding="10dp"
-            android:src="@mipmap/icon_close" />
-
-        <TextView
-            android:id="@+id/mtv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerHorizontal="true"
-            android:layout_marginTop="20dp"
-            android:text="参与门店"
-            android:textColor="@color/black"
-            android:textSize="16sp"
-            android:textStyle="bold" />
-
-        <TextView
-            android:id="@+id/mtvinfo"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_below="@+id/mtv"
-            android:layout_marginTop="20dp"
-            android:layout_marginBottom="60dp"
-            android:gravity="center_horizontal"
-            android:minHeight="100dp"
-            android:paddingHorizontal="20dp"
-            android:textColor="@color/textColor66"
-            android:textSize="14sp"
-            tools:text="门店,门店,门店,门店,门店,门店," />
-
-
-    </RelativeLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_confirm_shop.xml b/app/src/main/res/layout/dialog_confirm_shop.xml
deleted file mode 100644
index 5abcc53..0000000
--- a/app/src/main/res/layout/dialog_confirm_shop.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@drawable/bg_white_10dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginHorizontal="14dp">
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_title"
-            app:layout_constraintTop_toTopOf="parent"
-            android:text="请确认报名门店"
-            android:textSize="16sp"
-            android:textStyle="bold"
-            android:textColor="@color/textColor"
-            android:gravity="center"
-            android:layout_marginTop="17dp"/>
-        <com.facebook.drawee.view.SimpleDraweeView
-            android:layout_width="match_parent"
-            android:layout_height="180dp"
-            android:id="@+id/iv_shop"
-            app:layout_constraintTop_toBottomOf="@id/tv_title"
-            android:layout_marginTop="20dp"
-            app:actualImageScaleType="centerCrop"
-            app:placeholderImage="@color/page_bg"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_change_shop"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="@id/tv_name"
-            app:layout_constraintBottom_toBottomOf="@id/tv_distance"
-            android:paddingHorizontal="30dp"
-            android:text="更换门店"
-            android:textSize="12sp"
-            android:textColor="@color/textColor"
-            android:textStyle="bold"
-            android:drawableTop="@mipmap/edit"
-            android:drawablePadding="8dp"/>
-        <View
-            android:layout_width="1dp"
-            android:layout_height="62dp"
-            android:background="@color/dividing_line_color"
-            app:layout_constraintTop_toTopOf="@id/tv_change_shop"
-            app:layout_constraintEnd_toStartOf="@id/tv_change_shop"
-            app:layout_constraintBottom_toBottomOf="@id/tv_change_shop"/>
-        <TextView
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/iv_shop"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_change_shop"
-            android:layout_marginEnd="6dp"
-            android:layout_margin="14dp"
-            android:text="成都非遗玩湃全科体育公园"
-            style="@style/style_common_text"
-            android:textStyle="bold" />
-        <TextView
-            android:id="@+id/tv_address"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            app:layout_constraintEnd_toEndOf="@id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/tv_name"
-            android:textSize="12sp"
-            android:layout_marginTop="5dp"
-            android:textColor="@color/textColor"
-            android:text="光华大道成都非遗博览园"/>
-        <TextView
-            android:id="@+id/tv_distance"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            app:layout_constraintEnd_toEndOf="@id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/tv_address"
-            android:textSize="10sp"
-            android:layout_marginTop="5dp"
-            android:textColor="@color/textColor"
-            android:text="距你2.7km"/>
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_action"
-            app:layout_constraintTop_toBottomOf="@id/tv_distance"
-            android:layout_marginTop="23dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginBottom="18dp"
-            app:layout_constraintStart_toEndOf="@id/tv_cancel"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:textColor="@color/white"
-            android:textSize="14sp"
-            android:text="确认支付"
-            android:paddingVertical="10dp"
-            android:paddingHorizontal="40dp"
-            android:textStyle="bold"
-            android:background="@drawable/bg_orange_20dp"/>
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_cancel"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_action"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_action"
-            android:textColor="@color/colorPrimary"
-            android:textSize="14sp"
-            android:text="取消"
-            android:paddingVertical="10dp"
-            android:paddingHorizontal="57dp"
-            android:textStyle="bold"
-            android:background="@drawable/bg_orange_line_20dp"/>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_confirm_shops.xml b/app/src/main/res/layout/dialog_confirm_shops.xml
deleted file mode 100644
index cad1f00..0000000
--- a/app/src/main/res/layout/dialog_confirm_shops.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@drawable/bg_white_10dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginHorizontal="14dp">
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_title"
-            app:layout_constraintTop_toTopOf="parent"
-            android:text="参与门店"
-            android:textSize="16sp"
-            android:textStyle="bold"
-            android:textColor="@color/textColor"
-            android:gravity="center"
-            android:layout_marginTop="17dp"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/tv_title"
-            android:minHeight="90dp"
-            android:textColor="@color/textColor"
-            android:textStyle="bold"
-            android:gravity="center_horizontal"
-            android:textSize="13sp"
-            android:lineSpacingExtra="10dp"
-            android:layout_marginHorizontal="8dp"
-            android:layout_marginTop="18dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_action"
-            app:layout_constraintTop_toBottomOf="@id/tv_name"
-            android:layout_marginTop="23dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginBottom="18dp"
-            app:layout_constraintStart_toEndOf="@id/tv_cancel"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:textColor="@color/white"
-            android:textSize="14sp"
-            android:text="确认支付"
-            android:paddingVertical="10dp"
-            android:paddingHorizontal="40dp"
-            android:textStyle="bold"
-            android:background="@drawable/bg_orange_20dp"/>
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_cancel"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_action"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_action"
-            android:textColor="@color/colorPrimary"
-            android:textSize="14sp"
-            android:text="取消"
-            android:paddingVertical="10dp"
-            android:paddingHorizontal="57dp"
-            android:textStyle="bold"
-            android:background="@drawable/bg_orange_line_20dp"/>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_getmycourse.xml b/app/src/main/res/layout/dialog_getmycourse.xml
deleted file mode 100644
index 5ac2cd9..0000000
--- a/app/src/main/res/layout/dialog_getmycourse.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@drawable/shape_white_top_20r"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent">
-
-
-        <TextView
-            android:id="@+id/mtvNeedClassHour"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="14dp"
-            android:layout_marginTop="20dp"
-            android:text="所需课时数:30"
-            android:textColor="@color/black"
-            android:textSize="16sp"
-            android:textStyle="bold" />
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_list"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:maxHeight="300dp" />
-
-
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"
-            android:layout_marginTop="10dp"
-            android:orientation="horizontal">
-
-
-            <TextView
-                android:id="@+id/tv_cancel"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-
-                android:background="@drawable/bg_orange_line_20dp"
-                android:paddingHorizontal="57dp"
-                android:paddingVertical="10dp"
-                android:text="取消"
-                android:textColor="@color/colorPrimary"
-                android:textSize="14sp"
-                android:textStyle="bold" />
-
-            <TextView
-                android:id="@+id/tv_action"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="20dp"
-                android:layout_marginBottom="18dp"
-                android:background="@drawable/bg_orange_20dp"
-                android:paddingHorizontal="40dp"
-                android:paddingVertical="10dp"
-                android:text="确认支付"
-                android:textColor="@color/white"
-                android:textSize="14sp"
-                android:textStyle="bold" />
-        </LinearLayout>
-
-
-    </LinearLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_map_type.xml b/app/src/main/res/layout/dialog_map_type.xml
deleted file mode 100644
index 19a7892..0000000
--- a/app/src/main/res/layout/dialog_map_type.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        app:layout_constraintTop_toTopOf="parent"
-        android:background="@drawable/bg_white_top_20dp">
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_gaode"
-            android:text="高德地图"
-            android:layout_marginTop="5dp"
-            android:gravity="center"
-            android:paddingVertical="12dp"
-            style="@style/style_common_text"/>
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_baidu"
-            android:text="百度地图"
-            android:layout_marginTop="5dp"
-            android:gravity="center"
-            android:paddingVertical="12dp"
-            style="@style/style_common_text"/>
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_tencent"
-            android:text="腾讯地图"
-            android:layout_marginTop="5dp"
-            android:gravity="center"
-            android:paddingVertical="12dp"
-            android:layout_marginBottom="5dp"
-            style="@style/style_common_text"/>
-    </LinearLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_msg.xml b/app/src/main/res/layout/dialog_msg.xml
deleted file mode 100644
index 4523432..0000000
--- a/app/src/main/res/layout/dialog_msg.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:background="@drawable/bg_white_2dp">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="13dp"
-        android:layout_marginBottom="10dp"
-        android:gravity="center"
-        android:lineSpacingExtra="5dp"
-        android:textSize="16sp"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:id="@+id/tv_msg"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:text="我们已收到您的意见反馈\n您的意见建议对我们很重要\n谢谢!"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_pay.xml b/app/src/main/res/layout/dialog_pay.xml
deleted file mode 100644
index f32349f..0000000
--- a/app/src/main/res/layout/dialog_pay.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@drawable/bg_white_top_20dp"
-    android:paddingBottom="25dp">
-    <RadioGroup
-        android:id="@+id/rg_pay"
-        android:layout_width="match_parent"
-        android:layout_marginHorizontal="15dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent">
-        <RadioButton
-            android:id="@+id/tv_wx"
-            style="@style/style_item_pay"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:checked="true"
-            android:layout_marginTop="15dp"
-            android:drawableStart="@mipmap/icon_vx"
-            android:text="微信支付" />
-        <View
-            android:id="@+id/line1"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color" />
-        <RadioButton
-            android:id="@+id/tv_ali"
-            style="@style/style_item_pay"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:drawableStart="@mipmap/icon_alipay"
-            android:text="支付宝支付" />
-        <View
-            android:id="@+id/line2"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color" />
-        <RadioButton
-            android:id="@+id/tv_coin"
-            style="@style/style_item_pay"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:drawableStart="@mipmap/coin"
-            android:text="玩湃币支付" />
-        <View
-            android:id="@+id/line"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color" />
-        <RadioButton
-            android:id="@+id/tv_course"
-            style="@style/style_item_pay"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:drawableStart="@mipmap/keshi"
-            android:text="课时支付" />
-        <View
-            android:id="@+id/line3"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color" />
-        <RadioButton
-            android:id="@+id/tv_integral"
-            style="@style/style_item_pay"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:drawableStart="@mipmap/keshi"
-            android:text="积分支付" />
-        <View
-            android:id="@+id/line4"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/dividing_line_color" />
-    </RadioGroup>
-
-    <TextView
-        android:id="@+id/tv_cancel"
-        style="@style/style_btn_cancel"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="40dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/tv_pay"
-        android:layout_marginTop="20dp"
-        android:layout_marginEnd="10dp"
-        android:text="取消"
-        app:layout_constraintTop_toBottomOf="@id/rg_pay" />
-
-    <TextView
-        android:id="@+id/tv_pay"
-        style="@style/style_btn_action"
-        android:layout_width="0dp"
-        app:layout_constraintStart_toEndOf="@id/tv_cancel"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="10dp"
-        android:layout_marginTop="20dp"
-        android:layout_marginEnd="40dp"
-        android:text="确认支付"
-        app:layout_constraintTop_toBottomOf="@id/rg_pay" />
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_pay_by_course.xml b/app/src/main/res/layout/dialog_pay_by_course.xml
deleted file mode 100644
index 5517d5d..0000000
--- a/app/src/main/res/layout/dialog_pay_by_course.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@drawable/bg_white_top_20dp"
-    android:paddingBottom="25dp">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_count"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:textSize="16sp"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:text="所需课时数:0"
-        android:layout_marginStart="15dp"
-        android:layout_marginTop="20dp"/>
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/rv_course"
-        app:layout_constraintTop_toBottomOf="@id/tv_count"/>
-
-    <TextView
-        android:id="@+id/tv_cancel"
-        style="@style/style_btn_cancel"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="40dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/tv_pay"
-        android:layout_marginTop="20dp"
-        android:layout_marginEnd="10dp"
-        android:text="取消"
-        app:layout_constraintTop_toBottomOf="@id/rv_course" />
-
-    <TextView
-        android:id="@+id/tv_pay"
-        style="@style/style_btn_action"
-        android:layout_width="0dp"
-        app:layout_constraintStart_toEndOf="@id/tv_cancel"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="10dp"
-        android:layout_marginTop="20dp"
-        android:layout_marginEnd="40dp"
-        android:text="确认支付"
-        app:layout_constraintTop_toBottomOf="@id/rv_course" />
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_wfp_classhour.xml b/app/src/main/res/layout/dialog_wfp_classhour.xml
deleted file mode 100644
index 3f2cfe0..0000000
--- a/app/src/main/res/layout/dialog_wfp_classhour.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout 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">
-
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_centerInParent="true"
-        android:layout_marginStart="45dp"
-        android:layout_marginTop="45dp"
-        android:layout_marginEnd="45dp"
-        android:layout_marginBottom="45dp"
-        android:background="@drawable/shape_white_8r"
-        android:gravity="center_horizontal"
-        android:orientation="vertical">
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="24dp"
-            android:text="分配课时"
-            android:textStyle="bold"
-            android:textColor="@color/black"
-            android:textSize="18sp" />
-
-        <TextView
-            android:id="@+id/mtvinfo"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:textColor="@color/colorPrimary"
-            android:textSize="14sp"
-            tools:text="未分配课时数:100" />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:text="分配运动营:"
-            android:textColor="@color/black"
-            android:textSize="14sp" />
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/mrl"
-            android:maxHeight="200dp"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="20dp" />
-
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="20dp"
-            android:layout_marginBottom="25dp">
-
-            <TextView
-                android:id="@+id/tv_cancel"
-                style="@style/style_btn_cancel"
-                android:layout_width="120dp"
-                android:layout_height="wrap_content"
-                android:background="@drawable/bg_btn_disable"
-                android:text="关闭"
-                android:textColor="@color/white" />
-
-            <TextView
-                android:id="@+id/tv_action"
-                style="@style/style_btn_action"
-                android:layout_width="120dp"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="20dp"
-                android:text="确认" />
-        </LinearLayout>
-    </LinearLayout>
-</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_blank.xml b/app/src/main/res/layout/item_blank.xml
deleted file mode 100644
index 74fcbd7..0000000
--- a/app/src/main/res/layout/item_blank.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <EditText
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/et_answer"
-        android:minHeight="60dp"
-        android:paddingTop="6dp"
-        android:paddingBottom="6dp"
-        android:gravity="top"
-        android:textSize="14sp"
-        android:hint="请输入您的答案(50字以内)"
-        android:maxLength="50"
-        android:textColor="@color/textColor"
-        android:paddingStart="10dp"
-        android:paddingEnd="10dp"
-        android:layout_marginTop="10dp"
-        android:background="@drawable/selector_bg_et_focus"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_class_hour.xml b/app/src/main/res/layout/item_class_hour.xml
deleted file mode 100644
index 4398452..0000000
--- a/app/src/main/res/layout/item_class_hour.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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="wrap_content"
-    android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    android:paddingTop="10dp">
-
-    <View
-        android:id="@+id/vchoose"
-        android:layout_width="20dp"
-        android:layout_height="20dp"
-        android:layout_gravity="center"
-        android:background="@mipmap/coupon_checked" />
-
-    <TextView
-        android:id="@+id/mtvName"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="13sp"
-        android:textColor="@color/black"
-        android:textSize="14sp"
-        tools:text="羽毛球课" />
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_coin.xml b/app/src/main/res/layout/item_coin.xml
deleted file mode 100644
index e093045..0000000
--- a/app/src/main/res/layout/item_coin.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_reason"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:text="变动原因"
-        android:textSize="12sp"
-        android:textStyle="bold"
-        android:textColor="@color/textColor"
-        android:layout_margin="14dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintStart_toStartOf="@id/tv_reason"
-        app:layout_constraintTop_toBottomOf="@id/tv_reason"
-        android:textColor="@color/textColor66"
-        android:textSize="12sp"
-        android:layout_marginTop="1dp"
-        android:text="2020-4-1 11:25"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_money"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:text="+100"
-        android:textColor="@color/colorRed"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:layout_marginEnd="14dp"/>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/tv_time"
-        android:layout_marginTop="15dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_course.xml b/app/src/main/res/layout/item_course.xml
deleted file mode 100644
index a192d8a..0000000
--- a/app/src/main/res/layout/item_course.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="105dp"
-        android:layout_height="140dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginStart="14dp"
-        android:layout_marginTop="20dp"
-        app:roundedCornerRadius="9dp"
-        app:actualImageScaleType="centerCrop"
-        android:id="@+id/iv_img"
-        app:placeholderImage="@color/page_bg"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintStart_toEndOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="12dp"
-        android:text="足球基础教学(玩湃-喜望店)"
-        android:singleLine="true"
-        android:textColor="@color/textColor"
-        android:textSize="16sp"
-        android:textStyle="bold"
-        android:layout_marginStart="10dp"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="6dp"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        android:textColor="@color/textColor66"
-        android:textSize="14sp"
-        android:maxLines="2"
-        android:ellipsize="end"
-        android:drawableStart="@mipmap/icon_time"
-        android:text="上课时间:9:00-11:00"
-        android:drawablePadding="2dp"
-        android:layout_marginTop="7dp"/>
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_join_count"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_time"
-        android:textColor="@color/textColor66"
-        android:textSize="14sp"
-        android:drawableStart="@mipmap/baoming"
-        android:text="已报名:20人"
-        android:drawablePadding="2dp"
-        android:layout_marginTop="7dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_distance"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_join_count"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="14dp"
-        android:text="1km"
-        android:textColor="@color/textColor66"
-        android:textSize="16sp"
-        android:textStyle="bold"/>
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_vip_price"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_join_count"
-        android:textColor="@color/textColor66"
-        android:textSize="14sp"
-        android:visibility="gone"
-        android:drawableStart="@mipmap/ic_vip"
-        android:text="会员价:¥100"
-        android:drawablePadding="2dp"
-        android:layout_marginTop="7dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_price"
-        android:textStyle="bold"
-        android:textSize="18sp"
-        android:textColor="@color/colorPrimary"
-        android:layout_marginBottom="1dp"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintBottom_toBottomOf="@id/iv_img"
-        android:text="¥100"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_origin_price"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_price"
-        app:layout_constraintStart_toEndOf="@id/tv_price"
-        android:layout_marginStart="7dp"
-        android:textSize="14sp"
-        android:textStyle="bold"
-        android:textColor="@color/textColor99"
-        android:text="¥100"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="详情"
-        app:layout_constraintEnd_toEndOf="@id/tv_distance"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_price"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:paddingVertical="5dp"
-        android:paddingHorizontal="18dp"
-        android:background="@drawable/bg_orange_2dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/iv_img"
-        android:layout_marginTop="23dp"
-        android:layout_marginHorizontal="13dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_course_name.xml b/app/src/main/res/layout/item_course_name.xml
deleted file mode 100644
index df4946d..0000000
--- a/app/src/main/res/layout/item_course_name.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:id="@+id/tv_name"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginHorizontal="13dp"
-        android:textStyle="bold"
-        android:textSize="18sp"
-        android:textColor="@color/textColor99"
-        android:text="足球基础训练课"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_course_record.xml b/app/src/main/res/layout/item_course_record.xml
deleted file mode 100644
index bd60609..0000000
--- a/app/src/main/res/layout/item_course_record.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="15dp"
-        android:text="购买运动营"
-        android:textColor="@color/textColor"
-        android:textSize="14sp"
-        android:textStyle="bold"
-        android:layout_marginStart="14dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        style="@style/style_common_text"
-        android:textStyle="bold"
-        android:text="03-17 08:00"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_record"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        style="@style/style_common_text"
-        android:layout_marginEnd="14dp"
-        android:textStyle="bold"
-        android:text="03-17 08:00"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        android:layout_marginTop="15dp"
-        android:layout_marginHorizontal="14dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_course_schedule.xml b/app/src/main/res/layout/item_course_schedule.xml
deleted file mode 100644
index 73111c0..0000000
--- a/app/src/main/res/layout/item_course_schedule.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <TextView
-        android:id="@+id/tv_address"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginHorizontal="24dp"
-        android:layout_marginTop="20dp"
-        android:background="@drawable/bg_grey_line_11dp"
-        android:paddingVertical="4dp"
-        android:paddingStart="12dp"
-        android:paddingEnd="80dp"
-        android:text="成都非遗玩湃全科体育公园"
-        android:textColor="@color/disableColor"
-        android:textSize="10sp"
-        android:textStyle="bold"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="10dp"
-        android:drawableStart="@mipmap/pop_blue"
-        android:drawablePadding="3dp"
-        android:paddingVertical="4dp"
-        android:text="位置详情"
-        android:textColor="@color/disableColor"
-        android:textSize="10sp"
-        android:textStyle="bold"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_address"
-        app:layout_constraintEnd_toEndOf="@id/tv_address" />
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rv_schedule"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginHorizontal="24dp"
-        android:layout_marginTop="16dp"
-        android:background="@drawable/bg_schedule_16dp"
-        app:layout_constraintTop_toBottomOf="@id/tv_address" />
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_evaluation.xml b/app/src/main/res/layout/item_evaluation.xml
deleted file mode 100644
index d4500f0..0000000
--- a/app/src/main/res/layout/item_evaluation.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="60dp"
-        android:layout_height="60dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        style="@style/DefaultHeadStyle"
-        android:layout_marginTop="16dp"
-        android:layout_marginStart="14dp"
-        android:id="@+id/iv_avatar"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="@id/iv_avatar"
-        app:layout_constraintStart_toEndOf="@id/iv_avatar"
-        android:layout_marginTop="7dp"
-        android:layout_marginStart="10dp"
-        android:textStyle="bold"
-        android:textColor="@color/textColor"
-        android:text="张三"
-        android:textSize="16sp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        android:layout_marginTop="7dp"
-        android:textColor="@color/textColor"
-        android:text="2022-12-23 12:23"
-        android:textSize="12sp"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_content"
-        android:layout_marginHorizontal="14dp"
-        app:layout_constraintTop_toBottomOf="@id/iv_avatar"
-        android:layout_marginTop="12dp"
-        android:textColor="@color/textColor"
-        android:text="该同学能很好地遵守班规校纪。在学习上肯下功夫,勤学好问,努力
-钻研,成绩稳定上升,该同学能严格要求自己,生活上、学习上表现
-令人信服,得到同学以及老师的肯定,"
-        android:textSize="12sp"/>
-    <androidx.recyclerview.widget.RecyclerView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/rv_photo"
-        app:layout_constraintTop_toBottomOf="@id/tv_content"
-        android:layout_marginHorizontal="10dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        app:layout_constraintTop_toBottomOf="@id/rv_photo"
-        android:layout_marginTop="17dp"
-        android:layout_marginHorizontal="14dp"
-        android:background="@color/dividing_line_color"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_exercise.xml b/app/src/main/res/layout/item_exercise.xml
deleted file mode 100644
index ecc724a..0000000
--- a/app/src/main/res/layout/item_exercise.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginHorizontal="6dp"
-        app:roundedCornerRadius="6dp"
-        app:actualImageScaleType="centerCrop"
-        app:placeholderImage="@color/page_bg"
-        app:layout_constraintDimensionRatio="168:102"
-        android:layout_marginTop="12dp"
-        android:id="@+id/iv_img"/>
-    <ImageView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="@id/iv_img"
-        android:src="@mipmap/play_1"
-        android:layout_marginTop="5dp"
-        android:layout_marginEnd="12dp"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toBottomOf="@id/iv_img"
-        app:layout_constraintStart_toStartOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="@id/iv_img"
-        android:layout_marginTop="12dp"
-        android:textColor="@color/colorTextDark"
-        android:textSize="12sp"
-        android:layout_marginHorizontal="2dp"
-        android:lines="2"
-        android:maxLines="2"
-        android:ellipsize="end"
-        android:id="@+id/tv_name"
-        android:text="课后在球场上练习射门技术 后,真是快乐并"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_field.xml b/app/src/main/res/layout/item_field.xml
deleted file mode 100644
index b4b7fa3..0000000
--- a/app/src/main/res/layout/item_field.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:text="足球基础教学(玩湃-喜望店)"
-        android:singleLine="true"
-        android:textColor="@color/textColor"
-        android:textSize="16sp"
-        android:textStyle="bold"
-        android:maxWidth="200dp"
-        android:layout_marginTop="17dp"
-        android:layout_marginStart="14dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_distance"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="14dp"
-        android:text="1km"
-        android:textColor="@color/textColor66"
-        android:textSize="12sp"
-        android:textStyle="bold"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_type"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        app:layout_constraintStart_toEndOf="@id/tv_name"
-        android:textSize="12sp"
-        android:textStyle="bold"
-        android:text="足球场"
-        android:layout_marginStart="7dp"
-        android:textColor="@color/colorPrimary"
-        android:paddingHorizontal="5dp"
-        android:paddingVertical="3dp"
-        android:background="@drawable/bg_tag_10dp"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_address"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="@id/tv_distance"
-        android:layout_marginTop="13dp"
-        android:textSize="12sp"
-        android:textColor="@color/textColor66"
-        android:textStyle="bold"
-        android:text="玩湃-喜望店(天府新谷9号楼1005A)"
-        android:drawablePadding="7dp"
-        android:drawableStart="@mipmap/location_grey"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintTop_toBottomOf="@id/tv_address"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="@id/tv_distance"
-        android:layout_marginTop="13dp"
-        android:textSize="12sp"
-        android:textColor="@color/textColor66"
-        android:textStyle="bold"
-        android:text="可预约时间段:10:00-21:00"
-        android:drawablePadding="4dp"
-        android:drawableStart="@mipmap/time_grey"/>
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="预约"
-        app:layout_constraintEnd_toEndOf="@id/tv_distance"
-        app:layout_constraintTop_toBottomOf="@id/tv_time"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:paddingVertical="5dp"
-        android:id="@+id/tv_action"
-        android:paddingHorizontal="18dp"
-        android:background="@drawable/bg_green_3dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_price"
-        app:layout_constraintEnd_toStartOf="@id/tv_action"
-        android:layout_marginEnd="4dp"
-        android:textColor="@color/colorPrimary"
-        android:textStyle="bold"
-        android:textSize="17sp"
-        android:text="¥120起"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_action"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/tv_action"
-        android:layout_marginTop="12dp"
-        android:layout_marginHorizontal="14dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_joined_course.xml b/app/src/main/res/layout/item_joined_course.xml
deleted file mode 100644
index 8d6e0eb..0000000
--- a/app/src/main/res/layout/item_joined_course.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="105dp"
-        android:layout_height="140dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginStart="14dp"
-        android:layout_marginTop="20dp"
-        app:roundedCornerRadius="9dp"
-        app:actualImageScaleType="centerCrop"
-        android:id="@+id/iv_img"
-        app:placeholderImage="@color/page_bg"/>
-    <TextView
-        android:id="@+id/tv_un_pay"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintStart_toStartOf="@id/iv_img"
-        android:background="@drawable/bg_un_pay"
-        android:text="待支付"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:textColor="@color/white"
-        android:padding="6dp"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintStart_toEndOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="12dp"
-        android:text="足球基础教学(玩湃-喜望店)"
-        android:singleLine="true"
-        android:textColor="@color/textColor"
-        android:textSize="16sp"
-        android:textStyle="bold"
-        android:layout_marginStart="10dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        android:textColor="@color/textColor66"
-        android:textSize="14sp"
-        android:drawableStart="@mipmap/icon_time"
-        android:text="上课时间:9:00-11:00"
-        android:drawablePadding="2dp"
-        android:layout_marginTop="7dp"/>
-
-
-    <TextView
-        android:id="@+id/tv_teacher"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="7dp"
-        android:drawableStart="@mipmap/baoming"
-        android:drawablePadding="2dp"
-        android:text="授课老师"
-        android:visibility="gone"
-        android:textColor="@color/textColor66"
-        android:textSize="14sp"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_time" />
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_used"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_teacher"
-        android:textColor="@color/color_text_price"
-        android:textSize="14sp"
-        android:drawableStart="@mipmap/used_keshi"
-        android:text="已上课时数:"
-        android:drawablePadding="2dp"
-        android:layout_marginTop="7dp"/>
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="详情"
-        app:layout_constraintTop_toBottomOf="@id/tv_used"
-        app:layout_constraintEnd_toEndOf="@id/tv_name"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:paddingVertical="5dp"
-        android:paddingHorizontal="18dp"
-        android:background="@drawable/bg_orange_2dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/iv_img"
-        android:layout_marginTop="23dp"
-        android:layout_marginHorizontal="13dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_lesson.xml b/app/src/main/res/layout/item_lesson.xml
deleted file mode 100644
index 53c21b6..0000000
--- a/app/src/main/res/layout/item_lesson.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        android:gravity="center"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:paddingVertical="8dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="13dp"
-        android:text="50课时"
-        android:layout_marginHorizontal="10dp"
-        android:background="@drawable/selector_lesson_bg"
-        android:textColor="@color/selector_white_grey"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_match.xml b/app/src/main/res/layout/item_match.xml
deleted file mode 100644
index 575892f..0000000
--- a/app/src/main/res/layout/item_match.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="105dp"
-        android:layout_height="140dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginStart="14dp"
-        android:layout_marginTop="20dp"
-        app:roundedCornerRadius="20dp"
-        app:actualImageScaleType="centerCrop"
-        android:id="@+id/iv_img"
-        app:placeholderImage="@color/page_bg"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_state"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintStart_toStartOf="@id/iv_img"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:visibility="gone"
-        android:background="@drawable/selector_bg_match_state"
-        android:paddingVertical="5dp"
-        android:paddingHorizontal="6dp"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintStart_toEndOf="@id/iv_img"
-        app:layout_constraintEnd_toStartOf="@id/tv_heat"
-        android:layout_marginEnd="6dp"
-        android:text="足球基础教学(玩湃-喜望店)"
-        android:singleLine="true"
-        android:textColor="@color/textColor"
-        android:textSize="16sp"
-        android:textStyle="bold"
-        android:layout_marginStart="10dp"/>
-
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_heat"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="12dp"
-        android:textColor="@color/color_text_price"
-        android:text="0"
-        android:textSize="18sp"
-        android:textStyle="bold"
-        android:drawableStart="@mipmap/fire"
-        android:drawablePadding="5dp"
-        />
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="10dp"
-        android:id="@+id/tv_tag"
-        android:text="成都|全部用户"
-        android:textColor="@color/colorYellow"
-        android:layout_marginTop="4dp"
-        android:textSize="12sp"/>
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_info"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="@id/tv_tag"
-        android:maxLines="2"
-        app:layout_constraintTop_toBottomOf="@id/tv_tag"
-        android:textColor="@color/textColor66"
-        android:textSize="11sp"
-        android:text="这是欢乐跑活动赛事简介,本次活动由海豚英语组织,提高全民素质…"
-        android:layout_marginTop="4dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_info"
-        android:textColor="@color/textColor"
-        android:textSize="12sp"
-        android:text="截止报名:2023-03-15 08:00"
-        android:layout_marginTop="4dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_age"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_time"
-        android:textColor="@color/textColor"
-        android:textSize="12sp"
-        android:text="7-12岁"
-        android:layout_marginTop="4dp"/>
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="查看详情"
-        app:layout_constraintEnd_toEndOf="@id/tv_tag"
-        app:layout_constraintTop_toBottomOf="@id/tv_time"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:paddingVertical="6dp"
-        android:layout_marginTop="8dp"
-        android:paddingHorizontal="18dp"
-        android:background="@drawable/bg_orange_2dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/iv_img"
-        android:layout_marginTop="23dp"
-        android:layout_marginHorizontal="13dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_medal_grid.xml b/app/src/main/res/layout/item_medal_grid.xml
deleted file mode 100644
index a24e604..0000000
--- a/app/src/main/res/layout/item_medal_grid.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_english"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="30dp"
-        android:drawablePadding="7dp"
-        android:text="COURSE"
-        android:textColor="@color/colorTextDark"
-        android:textSize="12sp"
-        android:gravity="center"
-        android:drawableTop="@mipmap/medal_club"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_english"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:text="俱乐部之星"
-        android:textSize="12sp"
-        android:textColor="@color/textColor99"
-        android:layout_marginTop="7dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_mine_menu.xml b/app/src/main/res/layout/item_mine_menu.xml
deleted file mode 100644
index f4988c0..0000000
--- a/app/src/main/res/layout/item_mine_menu.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        android:text="我的二维码"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="30dp"
-        android:drawablePadding="10dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:textColor="#A4A4A4"
-        android:textStyle="bold"
-        android:textSize="12sp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_msg.xml b/app/src/main/res/layout/item_msg.xml
deleted file mode 100644
index 9e1e3d7..0000000
--- a/app/src/main/res/layout/item_msg.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-        <TextView
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_title"
-            android:text="系统通知"
-            android:textStyle="bold"
-            android:textSize="16sp"
-            app:layout_constraintTop_toTopOf="parent"
-            android:textColor="@color/textColor"
-            android:layout_marginTop="14dp"
-            android:layout_marginStart="14dp"
-            android:maxLines="1"
-            android:ellipsize="end"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_time"
-            android:layout_marginEnd="14dp"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_content"
-            android:layout_marginStart="14dp"
-            android:singleLine="true"
-            android:ellipsize="end"
-            android:layout_marginTop="10dp"
-            app:layout_constraintTop_toBottomOf="@id/tv_title"
-            android:text="您有一节直播运动营即将开始"
-            android:textSize="13sp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginBottom="14dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_time"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_title"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="8dp"
-            android:textSize="12sp"
-            android:text="2022-09-09 09:01"
-            android:textColor="@color/textColor66"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_marginHorizontal="14dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_my_course_check.xml b/app/src/main/res/layout/item_my_course_check.xml
deleted file mode 100644
index 5e66149..0000000
--- a/app/src/main/res/layout/item_my_course_check.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        android:textSize="18sp"
-        android:textStyle="bold"
-        android:text="荷兰足球课"
-        android:paddingVertical="15dp"
-        android:paddingHorizontal="13dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:textColor="@color/selector_green_grey"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_my_course_list.xml b/app/src/main/res/layout/item_my_course_list.xml
deleted file mode 100644
index faf8c8b..0000000
--- a/app/src/main/res/layout/item_my_course_list.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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="wrap_content"
-    android:layout_marginTop="19dp"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center_vertical"
-        android:paddingHorizontal="14dp">
-
-        <View
-            android:layout_width="26dp"
-            android:layout_height="32dp"
-            android:background="@mipmap/keshitagicon" />
-
-        <TextView
-            android:id="@+id/mtvName"
-            android:layout_width="120dp"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="14dp"
-            android:textColor="@color/black"
-            android:textSize="16sp"
-            tools:text="羽毛球课" />
-
-        <TextView
-            android:id="@+id/mtvClassHour"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="14dp"
-            android:textColor="@color/colorRed"
-            android:textSize="16sp"
-            tools:text="(剩余:30 课时)" />
-
-        <Space
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-
-        <View
-            android:id="@+id/vchoose"
-            android:layout_width="24dp"
-            android:layout_height="24dp"
-            tools:background="@drawable/coupon_checked" />
-    </LinearLayout>
-
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_my_place.xml b/app/src/main/res/layout/item_my_place.xml
deleted file mode 100644
index 7a4ee92..0000000
--- a/app/src/main/res/layout/item_my_place.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:text="足球基础教学(玩湃-喜望店)足球基础"
-        android:singleLine="true"
-        android:textColor="@color/textColor"
-        android:textSize="16sp"
-        android:maxWidth="200dp"
-        android:textStyle="bold"
-        android:layout_marginTop="17dp"
-        android:layout_marginStart="14dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_state"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="14dp"
-        android:text="待核销"
-        android:textColor="@color/textColor66"
-        android:textSize="12sp"
-        android:textStyle="bold"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_type"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        app:layout_constraintStart_toEndOf="@id/tv_name"
-        android:textSize="12sp"
-        android:textStyle="bold"
-        android:text="足球场"
-        android:layout_marginStart="7dp"
-        android:textColor="@color/colorPrimary"
-        android:paddingHorizontal="5dp"
-        android:paddingVertical="3dp"
-        android:background="@drawable/bg_tag_10dp"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_address"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="@id/tv_state"
-        android:layout_marginTop="13dp"
-        android:textSize="12sp"
-        android:textColor="@color/textColor66"
-        android:textStyle="bold"
-        android:text="玩湃-喜望店(天府新谷9号楼1005A)"
-        android:drawablePadding="7dp"
-        android:drawableStart="@mipmap/location_grey"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintTop_toBottomOf="@id/tv_address"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="@id/tv_state"
-        android:layout_marginTop="13dp"
-        android:textSize="12sp"
-        android:textColor="@color/textColor66"
-        android:textStyle="bold"
-        android:text="可预约时间段:10:00-21:00"
-        android:drawablePadding="4dp"
-        android:drawableStart="@mipmap/time_grey"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_price"
-        app:layout_constraintEnd_toEndOf="@id/tv_state"
-        android:layout_marginEnd="4dp"
-        android:textColor="@color/colorPrimary"
-        android:textStyle="bold"
-        android:textSize="17sp"
-        android:text="¥120"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_time"/>
-
-    <TextView
-        android:id="@+id/tv_action"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="4dp"
-        android:background="@drawable/bg_green_3dp"
-        android:paddingHorizontal="18dp"
-        android:paddingVertical="5dp"
-        android:text="支付"
-        android:textColor="@color/white"
-        android:textSize="14sp"
-        android:textStyle="bold"
-        android:layout_marginEnd="10dp"
-        app:layout_constraintEnd_toStartOf="@id/tv_detail"
-        app:layout_constraintTop_toBottomOf="@id/tv_time" />
-
-    <TextView
-        android:id="@+id/tv_detail"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="4dp"
-        android:background="@drawable/bg_maincolor_3dp"
-        android:paddingHorizontal="18dp"
-        android:paddingVertical="5dp"
-        android:text="详情"
-        android:textColor="@color/white"
-        android:textSize="14sp"
-        android:textStyle="bold"
-        app:layout_constraintEnd_toEndOf="@id/tv_state"
-        app:layout_constraintTop_toBottomOf="@id/tv_time" />
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/tv_detail"
-        android:layout_marginTop="12dp"
-        android:layout_marginHorizontal="14dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_open_city.xml b/app/src/main/res/layout/item_open_city.xml
deleted file mode 100644
index b1b0be6..0000000
--- a/app/src/main/res/layout/item_open_city.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?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"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_index"
-        android:text="A"
-        android:textStyle="bold"
-        android:layout_marginStart="14dp"
-        android:paddingTop="10dp"
-        android:paddingBottom="2dp"
-        style="@style/style_common_text"
-        app:layout_constraintTop_toTopOf="parent"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/white"
-        android:text="城市名"
-        android:id="@+id/tv_name"
-        style="@style/style_common_text"
-        android:paddingTop="12dp"
-        android:textStyle="bold"
-        android:paddingBottom="12dp"
-        android:paddingStart="14dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:layout_marginStart="14dp"
-        android:background="@color/dividing_line_color"/>
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_pay_course.xml b/app/src/main/res/layout/item_pay_course.xml
deleted file mode 100644
index 863ee56..0000000
--- a/app/src/main/res/layout/item_pay_course.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingHorizontal="16dp"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:id="@+id/tv_course"
-        style="@style/style_item_pay"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        android:gravity="center_vertical"
-        android:drawableStart="@mipmap/keshi"
-        android:drawableEnd="@drawable/selector_select_pay"
-        android:text="课时支付" />
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        app:layout_constraintTop_toBottomOf="@id/tv_course"
-        android:background="@color/dividing_line_color" />
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_photo.xml b/app/src/main/res/layout/item_photo.xml
deleted file mode 100644
index b5d10f1..0000000
--- a/app/src/main/res/layout/item_photo.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:id="@+id/iv_img"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="9dp"
-        android:layout_marginHorizontal="4dp"
-        app:layout_constraintDimensionRatio="1:1"
-        app:actualImageScaleType="centerCrop"
-        app:placeholderImage="@color/page_bg"
-        />
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_practice_list.xml b/app/src/main/res/layout/item_practice_list.xml
deleted file mode 100644
index 36c051b..0000000
--- a/app/src/main/res/layout/item_practice_list.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="105dp"
-        android:layout_height="140dp"
-        android:id="@+id/iv_img"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:roundedCornerRadius="9dp"
-        app:actualImageScaleType="centerCrop"
-        app:placeholderImage="@color/page_bg"
-        android:layout_margin="14dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_state"
-        app:layout_constraintTop_toTopOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="14dp"
-        android:paddingVertical="2dp"
-        android:paddingHorizontal="7dp"
-        android:textSize="12sp"
-        android:textStyle="bold"/>
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintEnd_toStartOf="@id/tv_state"
-        android:layout_marginEnd="6dp"
-        android:singleLine="true"
-        android:ellipsize="end"
-        android:textStyle="bold"
-        android:textColor="@color/textColor"
-        android:textSize="16sp"
-        android:text="颠球训练"
-        app:layout_constraintStart_toEndOf="@id/iv_img"
-        android:layout_marginStart="6dp"/>
-    <TextView
-        android:id="@+id/tv_type"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="@id/tv_name"
-        android:ellipsize="end"
-        android:layout_marginTop="4dp"
-        android:textColor="@color/textColor"
-        android:textSize="12sp"
-        android:text="布置运动营:足球训练课"/>
-    <TextView
-        android:id="@+id/tv_introduce"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toBottomOf="@id/tv_type"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="14dp"
-        android:maxLines="2"
-        android:ellipsize="end"
-        android:layout_marginTop="4dp"
-        android:textColor="@color/textColor66"
-        android:textSize="11sp"
-        android:text="该训练可以锻炼孩子的球感,培养孩子对足球的兴趣"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_income"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintBottom_toBottomOf="@id/iv_img"
-        android:layout_marginBottom="3dp"
-        android:textColor="@color/textColor"
-        android:text="可获积分:"
-        android:textSize="12sp"/>
-    <TextView
-        android:layout_width="86dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="14dp"
-        android:paddingVertical="6dp"
-        android:text="查看详情"
-        android:gravity="center"
-        android:textSize="14sp"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:background="@drawable/bg_orange_2dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/iv_img"
-        android:layout_marginTop="23dp"
-        android:layout_marginHorizontal="14dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_question.xml b/app/src/main/res/layout/item_question.xml
deleted file mode 100644
index de22ea2..0000000
--- a/app/src/main/res/layout/item_question.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="11dp"
-        android:layout_marginHorizontal="14dp"
-        android:drawablePadding="6dp"
-        style="@style/style_common_text"
-        android:textStyle="bold"
-        android:paddingHorizontal="14dp"
-        android:drawableStart="@drawable/black_dot"
-        android:paddingVertical="20dp"
-        android:background="@drawable/bg_grey_6dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_recharge.xml b/app/src/main/res/layout/item_recharge.xml
deleted file mode 100644
index 8ea2cdf..0000000
--- a/app/src/main/res/layout/item_recharge.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <LinearLayout
-        android:id="@+id/ll_bg"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="17dp"
-        android:gravity="center"
-        android:background="@drawable/bg_recharge_uncheck"
-        android:layout_marginHorizontal="9dp">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_coin"
-            android:text="200币"
-            android:textSize="15sp"
-            android:textStyle="bold"
-            android:textColor="@color/textColor66"
-            android:layout_marginTop="6dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_price"
-            android:text="200币"
-            android:layout_marginBottom="5dp"
-            android:textSize="12sp"
-            android:textStyle="bold"
-            android:textColor="@color/textColor66"
-            android:layout_marginTop="3dp"/>
-
-    </LinearLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_shop.xml b/app/src/main/res/layout/item_shop.xml
deleted file mode 100644
index 7d4dd71..0000000
--- a/app/src/main/res/layout/item_shop.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="match_parent"
-        android:layout_height="220dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:actualImageScaleType="centerCrop"
-        app:placeholderImage="@color/page_bg"
-        android:layout_marginTop="12dp"
-        android:id="@+id/iv_cover"/>
-    <TextView
-        app:layout_constraintTop_toBottomOf="@id/iv_cover"
-        android:layout_margin="14dp"
-        android:textSize="18sp"
-        android:textStyle="bold"
-        android:textColor="@color/textColor"
-        android:id="@+id/tv_name"
-        android:text="玩湃-喜望店"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_distance"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:textColor="@color/textColor66"
-        android:textSize="12dp"
-        android:text="距离我1km"
-        android:layout_marginEnd="14dp"
-        android:textStyle="bold"
-        android:layout_marginTop="7dp"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:drawablePadding="5dp"
-        android:text="玩湃-喜望店(天府新谷9号楼1005A)"
-        android:textSize="12dp"
-        android:textStyle="bold"
-        android:id="@+id/tv_address"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_distance"
-        android:textColor="@color/textColor66"
-        android:singleLine="true"
-        android:ellipsize="end"
-        app:layout_constraintEnd_toStartOf="@id/tv_distance"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        android:drawableStart="@mipmap/ic_address"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:drawablePadding="5dp"
-        android:text="155555555"
-        android:textSize="12dp"
-        android:textStyle="bold"
-        android:id="@+id/tv_phone"
-        app:layout_constraintTop_toBottomOf="@id/tv_address"
-        android:layout_marginTop="7dp"
-        android:textColor="@color/textColor66"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        android:drawableStart="@mipmap/ic_phone"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:drawablePadding="5dp"
-        android:text="10:00-21:00"
-        android:textSize="12dp"
-        android:textStyle="bold"
-        android:id="@+id/tv_duration"
-        android:textColor="@color/textColor66"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_phone"
-        app:layout_constraintEnd_toEndOf="@id/tv_name"
-        android:drawableStart="@mipmap/time_grey"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="这是门店的信息…"
-        android:textSize="12dp"
-        android:textStyle="bold"
-        android:id="@+id/tv_introduce"
-        android:maxLines="2"
-        android:ellipsize="end"
-        android:textColor="@color/textColor66"
-        app:layout_constraintTop_toBottomOf="@id/tv_phone"
-        android:layout_marginHorizontal="14dp"
-        android:layout_marginTop="7dp"
-        app:layout_constraintEnd_toEndOf="@id/tv_name"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/tv_introduce"
-        android:layout_marginStart="14dp"
-        android:layout_marginTop="12dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_shop_check.xml b/app/src/main/res/layout/item_shop_check.xml
deleted file mode 100644
index 2aef28c..0000000
--- a/app/src/main/res/layout/item_shop_check.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_marginBottom="18dp"
-        android:background="@drawable/bg_grey_line_4dp"
-        android:layout_marginHorizontal="14dp"
-        android:text="玩湃-喜望店"
-        android:drawableEnd="@mipmap/icon_radiobutton"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:textColor="@color/textColor"
-        android:paddingVertical="15dp"
-        android:paddingHorizontal="12dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_shop_course.xml b/app/src/main/res/layout/item_shop_course.xml
deleted file mode 100644
index d085b4e..0000000
--- a/app/src/main/res/layout/item_shop_course.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="105dp"
-        android:layout_height="140dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginStart="14dp"
-        android:layout_marginTop="20dp"
-        app:roundedCornerRadius="9dp"
-        app:actualImageScaleType="centerCrop"
-        android:id="@+id/iv_img"
-        app:placeholderImage="@color/page_bg"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintStart_toEndOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="12dp"
-        android:text="足球基础教学(玩湃-喜望店)"
-        android:singleLine="true"
-        android:textColor="@color/textColor"
-        android:textSize="16sp"
-        android:textStyle="bold"
-        android:layout_marginStart="10dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_time"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        android:textColor="@color/textColor66"
-        android:textSize="14sp"
-        android:drawableStart="@mipmap/icon_time"
-        android:text="上课时间:9:00-11:00"
-        android:drawablePadding="2dp"
-        android:layout_marginTop="7dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_count"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_time"
-        android:textColor="@color/color_text_price"
-        android:textSize="14sp"
-        android:drawableStart="@mipmap/keshi1"
-        android:text="包含课时数:50课时"
-        android:drawablePadding="3dp"
-        android:layout_marginTop="9dp"/>
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_join_count"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_price"
-        android:textColor="@color/color_text_price"
-        android:textSize="14sp"
-        android:text="已报名20人"
-        android:drawablePadding="2dp"
-        android:layout_marginTop="7dp"/>
-
-
-    <TextView
-        android:id="@+id/tv_price"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="详情"
-        app:layout_constraintEnd_toEndOf="@id/tv_name"
-        app:layout_constraintBottom_toBottomOf="@id/iv_img"
-        android:layout_marginBottom="1dp"
-        android:textColor="@color/white"
-        android:textStyle="bold"
-        android:textSize="14sp"
-        android:paddingVertical="5dp"
-        android:paddingHorizontal="6dp"
-        android:background="@drawable/bg_orange_2dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/iv_img"
-        android:layout_marginTop="23dp"
-        android:layout_marginHorizontal="13dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_shop_menu.xml b/app/src/main/res/layout/item_shop_menu.xml
deleted file mode 100644
index f2b84dd..0000000
--- a/app/src/main/res/layout/item_shop_menu.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_marginHorizontal="3dp"
-        android:id="@+id/iv_big"
-        app:roundedCornerRadius="10dp"
-        app:layout_constraintDimensionRatio="1:1"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="7dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:placeholderImage="@color/page_bg"
-        app:actualImageScaleType="centerCrop"
-        android:layout_marginBottom="8dp"
-        android:elevation="4dp"/>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_student_switch.xml b/app/src/main/res/layout/item_student_switch.xml
deleted file mode 100644
index c66022b..0000000
--- a/app/src/main/res/layout/item_student_switch.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/bg"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginHorizontal="14dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_marginBottom="12dp"
-        android:background="@drawable/bg_orange_line_4dp">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_name"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="10dp"
-            android:layout_marginTop="13dp"
-            android:textSize="14sp"
-            android:text="姓名:"
-            android:textColor="@color/textColor"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_age"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/tv_name"
-            android:layout_marginTop="11dp"
-            android:textSize="14sp"
-            android:text="年龄:"
-            android:textColor="@color/textColor"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_birth"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="120dp"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_age"
-            android:textSize="14sp"
-            android:text="生日:"
-            android:textColor="@color/textColor"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_height"
-            app:layout_constraintStart_toStartOf="@id/tv_name"
-            app:layout_constraintTop_toBottomOf="@id/tv_age"
-            android:layout_marginTop="11dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginBottom="17dp"
-            android:textSize="14sp"
-            android:text="身高:"
-            android:textColor="@color/textColor"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_wight"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="120dp"
-            app:layout_constraintBaseline_toBaselineOf="@id/tv_height"
-            android:textSize="14sp"
-            android:text="体重:"
-            android:textColor="@color/textColor"/>
-
-        <ImageView
-            android:id="@+id/iv_edit"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/bianjisekuai"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginTop="3dp"
-            android:padding="10dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_default"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:padding="10dp"
-            android:text="默认"
-            android:layout_marginBottom="7dp"/>
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_set_default"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:padding="10dp"
-            android:text="@string/set_default"
-            android:textColor="@color/colorPrimary"
-            android:layout_marginBottom="7dp"/>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_video_grid.xml b/app/src/main/res/layout/item_video_grid.xml
deleted file mode 100644
index 5565c97..0000000
--- a/app/src/main/res/layout/item_video_grid.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingBottom="20dp"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_marginHorizontal="11dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:roundedCornerRadius="6dp"
-        app:actualImageScaleType="centerCrop"
-        app:placeholderImage="@color/page_bg"
-        app:layout_constraintDimensionRatio="170:127"
-        android:id="@+id/iv_img"/>
-    <TextView
-        android:id="@+id/tv_name"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toBottomOf="@id/iv_img"
-        app:layout_constraintStart_toStartOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="@id/iv_img"
-        android:layout_marginTop="11dp"
-        android:text="颠球训练"
-        android:textSize="14sp"
-        android:textStyle="bold"
-        android:textColor="@color/textColor"/>
-    <TextView
-        android:id="@+id/tv_introduce"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintStart_toStartOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="@id/iv_img"
-        android:layout_marginTop="3dp"
-        android:text="颠球训练"
-        android:lines="2"
-        android:maxLines="2"
-        android:ellipsize="end"
-        android:textSize="12sp"
-        android:textColor="@color/textColor66"/>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_video_type.xml b/app/src/main/res/layout/item_video_type.xml
deleted file mode 100644
index 411ce0f..0000000
--- a/app/src/main/res/layout/item_video_type.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <TextView
-        android:id="@+id/tv_more"
-        android:text="查看更多"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:paddingVertical="11dp"
-        android:layout_marginTop="10dp"
-        android:layout_marginEnd="14dp"
-        android:textSize="14sp"
-        android:textColor="@color/colorPrimary"
-        android:textStyle="bold"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_more"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginStart="14dp"
-        android:textStyle="bold"
-        android:textSize="16sp"
-        android:textColor="@color/textColor"
-        android:text="篮球"/>
-    <androidx.recyclerview.widget.RecyclerView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:id="@+id/rv_video"
-        app:layout_constraintTop_toBottomOf="@id/tv_more"
-        android:layout_marginHorizontal="3dp"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/dividing_line_color"
-        app:layout_constraintTop_toBottomOf="@id/rv_video"
-        android:layout_marginStart="14dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_week_view.xml b/app/src/main/res/layout/item_week_view.xml
deleted file mode 100644
index 7e8319a..0000000
--- a/app/src/main/res/layout/item_week_view.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_marginStart="5dp"
-        android:layout_marginEnd="5dp"
-        android:layout_height="0dp"
-        app:layout_constraintDimensionRatio="1:1"
-        android:gravity="center"
-        android:textColor="@color/colorTextOrange"
-        android:textSize="12sp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:id="@+id/tv_day"
-        android:text="1\n周一"/>
-    <View
-        android:layout_width="20dp"
-        android:layout_height="3dp"
-        android:background="@drawable/bg_gradient_4dp"
-        app:layout_constraintTop_toBottomOf="@id/tv_day"
-        android:layout_marginTop="2dp"
-        android:id="@+id/iv_check"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_welfare_goods.xml b/app/src/main/res/layout/item_welfare_goods.xml
deleted file mode 100644
index 5cb99fe..0000000
--- a/app/src/main/res/layout/item_welfare_goods.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="148dp"
-        android:layout_height="148dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:actualImageScaleType="centerCrop"
-        app:placeholderImageScaleType="centerCrop"
-        app:placeholderImage="@color/page_bg"
-        android:id="@+id/iv_good"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/tv_price"
-        android:layout_marginEnd="3dp"
-        app:layout_constraintTop_toBottomOf="@id/iv_good"
-        android:layout_marginStart="7dp"
-        android:layout_marginTop="6dp"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="10sp"
-        android:text="创意运动飞盘"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_price"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="@id/tv_name"
-        android:layout_marginEnd="7dp"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="10sp"
-        android:text="¥128"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_world_cup.xml b/app/src/main/res/layout/item_world_cup.xml
deleted file mode 100644
index a0ef044..0000000
--- a/app/src/main/res/layout/item_world_cup.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:layout_marginTop="17dp"
-        android:layout_marginStart="14dp"
-        android:text="社区世界杯活动"
-        android:id="@+id/tv_name"
-        android:textSize="18sp"
-        android:textColor="@color/textColor"/>
-    <TextView
-        android:id="@+id/tv_state"
-        android:textSize="14sp"
-        android:layout_marginEnd="14dp"
-        android:text="已结束"
-        android:visibility="gone"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_heat"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_name"
-        app:layout_constraintEnd_toStartOf="@id/tv_state"
-        android:layout_marginEnd="10dp"
-        app:layout_goneMarginEnd="14dp"
-        android:textColor="@color/colorOrange"
-        android:textSize="18sp"
-        android:textStyle="bold"
-        android:text="99"
-        android:drawableStart="@mipmap/ic_heat"
-        android:drawablePadding="4dp"
-        android:gravity="center"/>
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="105dp"
-        android:layout_height="140dp"
-        app:layout_constraintTop_toBottomOf="@id/tv_name"
-        app:layout_constraintStart_toStartOf="@id/tv_name"
-        android:layout_marginTop="12dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_marginBottom="17dp"
-        app:roundedCornerRadius="9dp"
-        app:actualImageScaleType="centerCrop"
-        android:id="@+id/iv_img"/>
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="@id/iv_img"
-        app:layout_constraintStart_toEndOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="14dp"
-        android:layout_marginStart="11dp"
-        android:maxLines="3"
-        android:ellipsize="end"
-        android:text="这是欢乐跑活动赛事简介,本次活动由海豚英语组织,提高全民素质这是欢乐跑活动赛事简介,本次活动由海豚英语组织,提高全民素质…"
-        android:textSize="12sp"
-        android:textColor="@color/textColor99"
-        android:lineSpacingExtra="5dp"
-        android:id="@+id/tv_info"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_age"
-        app:layout_constraintBottom_toBottomOf="@id/iv_img"
-        app:layout_constraintStart_toStartOf="@id/tv_info"
-        android:drawableStart="@mipmap/wc_age"
-        android:text="7-12岁"
-        android:textColor="@color/textColor66"
-        android:layout_marginBottom="12dp"
-        android:textSize="12sp"
-        android:drawablePadding="10dp"
-        android:gravity="center"/>
-    <TextView
-        android:layout_width="95dp"
-        android:layout_height="33dp"
-        android:id="@+id/tv_detail"
-        android:text="详情"
-        android:gravity="center"
-        android:textSize="18sp"
-        app:layout_constraintBottom_toBottomOf="@id/iv_img"
-        app:layout_constraintEnd_toEndOf="@id/tv_info"
-        android:textColor="@color/white"
-        android:background="@drawable/bg_dark_blue_16dp"/>
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_deadline"
-        app:layout_constraintBottom_toTopOf="@id/tv_detail"
-        app:layout_constraintStart_toStartOf="@id/tv_info"
-        android:drawableStart="@mipmap/wc_time"
-        android:text="截止报名:2023-03-15 08:00"
-        android:textColor="@color/textColor66"
-        android:layout_marginBottom="13dp"
-        android:textSize="12sp"
-        android:drawablePadding="10dp"
-        android:gravity="center"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_world_rank.xml b/app/src/main/res/layout/item_world_rank.xml
deleted file mode 100644
index 7551378..0000000
--- a/app/src/main/res/layout/item_world_rank.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?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="50dp"
-    android:id="@+id/bg"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:orientation="horizontal">
-    <RelativeLayout
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="50">
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/iv_rank"
-            android:layout_centerInParent="true" />
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/tv_rank"
-            android:layout_centerInParent="true"
-            android:textColor="@color/textColor66"
-            android:textStyle="bold"
-            android:textSize="12sp"
-            android:text="4"/>
-    </RelativeLayout>
-    <LinearLayout
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:gravity="center_vertical"
-        android:layout_weight="122">
-        <com.facebook.drawee.view.SimpleDraweeView
-            android:layout_width="34dp"
-            android:layout_height="34dp"
-            android:id="@+id/iv_avatar"
-            android:layout_marginStart="25dp"
-            app:roundAsCircle="true"
-            app:placeholderImage="@color/page_bg"/>
-        <TextView
-            android:id="@+id/tv_name"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="张*"
-            android:textSize="14sp"
-            android:layout_marginStart="10dp"
-            android:textColor="@color/textColor"
-            android:textStyle="bold"/>
-    </LinearLayout>
-    <TextView
-        android:id="@+id/tv_count"
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="120"
-        android:text="200"
-        android:textSize="12sp"
-        android:gravity="center"/>
-    <TextView
-        android:id="@+id/tv_rate"
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="73"
-        android:text="90%"
-        android:textSize="12sp"
-        android:gravity="center"/>
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_world_user.xml b/app/src/main/res/layout/item_world_user.xml
deleted file mode 100644
index 9f04ba9..0000000
--- a/app/src/main/res/layout/item_world_user.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="80dp"
-        android:layout_height="80dp"
-        android:id="@+id/iv_avatar"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:roundAsCircle="true"
-        app:actualImageScaleType="centerCrop"/>
-    <ImageView
-        android:layout_width="30dp"
-        android:layout_height="30dp"
-        android:src="@mipmap/iv_del_user"
-        android:id="@+id/iv_del"
-        app:layout_constraintStart_toStartOf="@id/iv_avatar"
-        app:layout_constraintEnd_toEndOf="@id/iv_avatar"
-        app:layout_constraintTop_toTopOf="@id/iv_avatar"
-        android:layout_marginTop="70dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_filter.xml b/app/src/main/res/layout/layout_filter.xml
deleted file mode 100644
index 3aeb832..0000000
--- a/app/src/main/res/layout/layout_filter.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="100dp"
-    android:orientation="vertical"
-    android:background="@drawable/bg_deep_grey_line_4dp"
-    android:layout_height="wrap_content">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_all"
-        android:text="全部"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_add"
-        android:text="增加"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_reduce"
-        android:text="扣除"/>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_filter_coupon.xml b/app/src/main/res/layout/layout_filter_coupon.xml
deleted file mode 100644
index 0c130c5..0000000
--- a/app/src/main/res/layout/layout_filter_coupon.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="100dp"
-    android:orientation="vertical"
-    android:background="@drawable/bg_deep_grey_line_4dp"
-    android:layout_height="wrap_content">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_all"
-        android:text="全部"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_used"
-        android:text="已使用"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_unused"
-        android:text="未使用"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_disable"
-        android:text="已过期"/>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_filter_exchange_record.xml b/app/src/main/res/layout/layout_filter_exchange_record.xml
deleted file mode 100644
index 378c68c..0000000
--- a/app/src/main/res/layout/layout_filter_exchange_record.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="100dp"
-    android:orientation="vertical"
-    android:background="@drawable/bg_deep_grey_line_4dp"
-    android:layout_height="wrap_content">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_all"
-        android:text="全部"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_goods"
-        android:text="实物"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_course"
-        android:text="运动营"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_ticke"
-        android:text="门票"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_coupon"
-        android:text="优惠券"/>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_filter_time.xml b/app/src/main/res/layout/layout_filter_time.xml
deleted file mode 100644
index 218f227..0000000
--- a/app/src/main/res/layout/layout_filter_time.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="100dp"
-    android:orientation="vertical"
-    android:background="@drawable/bg_deep_grey_line_4dp"
-    android:layout_height="wrap_content">
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_all"
-        android:text="全部"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_week"
-        android:text="最近一周"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_month"
-        android:text="最近一月"/>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/dividing_line_color"/>
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="@color/textColor"
-        android:textStyle="bold"
-        android:textSize="12sp"
-        android:paddingVertical="10dp"
-        android:id="@+id/tv_year"
-        android:text="最近一年"/>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_marker_icon.xml b/app/src/main/res/layout/layout_marker_icon.xml
deleted file mode 100644
index 2a99e1e..0000000
--- a/app/src/main/res/layout/layout_marker_icon.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@color/transparent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="13dp"
-        android:layout_height="17dp"
-        android:id="@+id/tv_sort"
-        android:background="@mipmap/marker_normal"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:textColor="@color/white"
-        android:textSize="9sp"
-        android:gravity="center"
-        android:text="1"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_marker_info.xml b/app/src/main/res/layout/layout_marker_info.xml
deleted file mode 100644
index 146e65f..0000000
--- a/app/src/main/res/layout/layout_marker_info.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@color/transparent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/tv_name"
-        android:background="@mipmap/bg_end"
-        android:paddingHorizontal="8dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:textColor="@color/textColor"
-        android:textSize="12sp"
-        android:textStyle="bold"
-        android:gravity="center_horizontal"
-        android:text="小李子"
-        android:maxWidth="120dp"
-        android:paddingTop="6dp"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_tab.xml b/app/src/main/res/layout/layout_tab.xml
deleted file mode 100644
index e58a147..0000000
--- a/app/src/main/res/layout/layout_tab.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:clipChildren="false"
-    android:clipToPadding="false">
-
-    <TextView
-        android:id="@+id/tv_tab_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_centerInParent="true"
-        android:gravity="center"
-        android:fontFamily="@font/impact_regular"
-        android:singleLine="true"/>
-
-    <com.flyco.tablayout.widget.MsgView
-        android:id="@+id/rtv_msg_tip"
-        xmlns:mv="http://schemas.android.com/apk/res-auto"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textColor="#ffffff"
-        android:textSize="11.5sp"
-        android:visibility="gone"
-        mv:mv_backgroundColor="#FD481F"
-        mv:mv_isRadiusHalfHeight="true"
-        mv:mv_strokeColor="#ffffff"
-        mv:mv_strokeWidth="1dp"/>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/simple_week_bar.xml b/app/src/main/res/layout/simple_week_bar.xml
deleted file mode 100644
index b0161fb..0000000
--- a/app/src/main/res/layout/simple_week_bar.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/ll_week"
-    android:layout_width="match_parent"
-    android:layout_height="32dp"
-    android:minHeight="32dp"
-    android:orientation="horizontal"
-    android:paddingBottom="7dp"
-    android:paddingTop="7dp"
-    tools:ignore="HardcodedText">
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center"
-        android:text="Sun"
-        android:textColor="#666666"
-        android:textSize="12sp"
-        android:textStyle="bold" />
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center"
-        android:text="Mon"
-        android:textColor="#666666"
-        android:textSize="12sp"
-        android:textStyle="bold" />
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center"
-        android:text="Tue"
-        android:textColor="#666666"
-        android:textSize="12sp"
-        android:textStyle="bold" />
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center"
-        android:text="Wed"
-        android:textColor="#666666"
-        android:textSize="12sp"
-        android:textStyle="bold" />
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center"
-        android:text="Thu"
-        android:textColor="#666666"
-        android:textSize="12sp"
-        android:textStyle="bold" />
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center"
-        android:text="Fri"
-        android:textColor="#666666"
-        android:textSize="12sp"
-        android:textStyle="bold" />
-
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:gravity="center"
-        android:text="Sat"
-        android:textColor="#666666"
-        android:textSize="12sp"
-        android:textStyle="bold" />
-</merge>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index af3ee6c..94b8e3f 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -79,28 +79,6 @@
         <item name="android:textStyle">bold</item>
     </style>
 
-<!--    筛选选项统一样式-->
-    <style name="style_tv_option">
-        <item name="android:paddingTop">6dp</item>
-        <item name="android:paddingBottom">6dp</item>
-        <item name="android:textSize">14sp</item>
-        <item name="android:textColor">@color/selector_black_red</item>
-        <item name="android:gravity">center</item>
-        <item name="android:textAlignment">center</item>
-        <item name="android:background">@drawable/selector_bg_filter</item>
-    </style>
-
-<!--    解析题筛选CheckBox样式-->
-    <style name="style_rb_analysis">
-        <item name="android:paddingTop">5dp</item>
-        <item name="android:paddingBottom">5dp</item>
-        <item name="android:textSize">15sp</item>
-        <item name="android:textColor">@color/selector_grey_white</item>
-        <item name="android:gravity">center</item>
-        <item name="android:button">@null</item>
-        <item name="android:background">@drawable/selector_bg_cb_analysis</item>
-    </style>
-
 <!--    通用的simpledraweeView-->
     <style name="style_common_img">
         <item name="placeholderImage">@color/page_bg</item>
@@ -108,17 +86,6 @@
         <item name="roundedCornerRadius">2dp</item>
     </style>
 
-    <style name="style_item_pay">
-        <item name="android:drawablePadding">14dp</item>
-        <item name="android:paddingTop">20dp</item>
-        <item name="android:paddingBottom">10dp</item>
-        <item name="android:button">@null</item>
-        <item name="android:background">@null</item>
-        <item name="android:textSize">16sp</item>
-        <item name="android:textColor">@color/color_text_price</item>
-        <item name="android:drawableEnd">@drawable/selector_check_pay</item>
-        <item name="android:textStyle">bold</item>
-    </style>
 
 
 
diff --git a/settings.gradle b/settings.gradle
index d4adb05..58cd141 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,3 +1,3 @@
 include ':umeng_sdk'
 rootProject.name='DophinEnglish'
-include ':app', ':xldutils-kotlin', ':umeng_sdk',':zxinglibrary'
+include ':app', ':xldutils-kotlin', ':umeng_sdk'
diff --git a/zxinglibrary/.gitignore b/zxinglibrary/.gitignore
deleted file mode 100644
index 796b96d..0000000
--- a/zxinglibrary/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/zxinglibrary/build.gradle b/zxinglibrary/build.gradle
deleted file mode 100644
index bee3f37..0000000
--- a/zxinglibrary/build.gradle
+++ /dev/null
@@ -1,27 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
-    compileSdkVersion 29
-    buildToolsVersion "29.0.3"
-
-    defaultConfig {
-        minSdkVersion 19
-        targetSdkVersion 29
-        versionCode 1
-        versionName "1.0.0"
-
-    }
-
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
-        }
-    }
-
-}
-
-dependencies {
-    implementation fileTree(dir: 'libs', include: ['*.jar'])
-    api 'com.google.zxing:core:3.4.1'
-}
diff --git a/zxinglibrary/proguard-rules.pro b/zxinglibrary/proguard-rules.pro
deleted file mode 100644
index f1b4245..0000000
--- a/zxinglibrary/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-#   http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-#   public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/zxinglibrary/src/androidTest/java/face/live/com/zxinglibrary/ExampleInstrumentedTest.java b/zxinglibrary/src/androidTest/java/face/live/com/zxinglibrary/ExampleInstrumentedTest.java
deleted file mode 100644
index 10b556e..0000000
--- a/zxinglibrary/src/androidTest/java/face/live/com/zxinglibrary/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package face.live.com.zxinglibrary;
-
-import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getTargetContext();
-
-        assertEquals("face.live.com.zxinglibrary.test", appContext.getPackageName());
-    }
-}
diff --git a/zxinglibrary/src/main/AndroidManifest.xml b/zxinglibrary/src/main/AndroidManifest.xml
deleted file mode 100644
index ba2e4c2..0000000
--- a/zxinglibrary/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<manifest package="com.zxing.scanner"
-
-    >
-
-    <application>
-
-    </application>
-</manifest>
-
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/BeepManager.java b/zxinglibrary/src/main/java/com/zxing/scanner/BeepManager.java
deleted file mode 100644
index 8b3d865..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/BeepManager.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner;
-
-import android.content.Context;
-import android.content.res.AssetFileDescriptor;
-import android.media.AudioManager;
-import android.media.MediaPlayer;
-import android.os.Vibrator;
-
-import java.io.Closeable;
-import java.io.IOException;
-
-/**
- * Manages beeps and vibrations
- */
-final class BeepManager implements MediaPlayer.OnErrorListener, Closeable {
-
-    private static final float BEEP_VOLUME = 0.10f;
-    private static final long VIBRATE_DURATION = 200L;
-
-    private final Context context;
-    private MediaPlayer mediaPlayer;
-    private boolean playBeep;
-    private boolean vibrate;
-    private int mediaResId;
-
-    BeepManager(Context context) {
-        this(context, 0);
-    }
-
-    BeepManager(Context context, int mediaResId) {
-        this.context = context;
-        this.mediaPlayer = null;
-        setMediaResId(mediaResId);
-    }
-
-    public void setMediaResId(int mediaResId) {
-        this.mediaResId = mediaResId;
-        updatePrefs();
-    }
-
-    synchronized void updatePrefs() {
-        //加入声音资源ID的判断
-        playBeep = shouldBeep(context) && mediaResId > 0;
-        if (playBeep && mediaPlayer == null) {
-            mediaPlayer = buildMediaPlayer(context);
-        }
-        // 振动
-        vibrate = false;
-    }
-
-    synchronized void playBeepSoundAndVibrate() {
-        if (playBeep && mediaPlayer != null) {
-            mediaPlayer.start();
-        }
-        if (vibrate) {
-            Vibrator vibrator = (Vibrator) context
-                    .getSystemService(Context.VIBRATOR_SERVICE);
-            vibrator.vibrate(VIBRATE_DURATION);
-        }
-    }
-
-    private static boolean shouldBeep(Context activity) {
-        // 播放提示音
-        boolean shouldPlayBeep = true;
-        if (shouldPlayBeep) {
-            // See if sound settings overrides this
-            AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE);
-            if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
-                shouldPlayBeep = false;
-            }
-        }
-        return shouldPlayBeep;
-    }
-
-    private MediaPlayer buildMediaPlayer(Context activity) {
-        MediaPlayer mediaPlayer = new MediaPlayer();
-        try {
-            AssetFileDescriptor file = activity.getResources().openRawResourceFd(mediaResId);
-            try {
-                mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength());
-            } finally {
-                file.close();
-            }
-            mediaPlayer.setOnErrorListener(this);
-            mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
-            mediaPlayer.setLooping(false);
-            mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME);
-            mediaPlayer.prepare();
-            return mediaPlayer;
-        } catch (IOException ioe) {
-            mediaPlayer.release();
-            return null;
-        }
-    }
-
-    @Override
-    public synchronized boolean onError(MediaPlayer mp, int what, int extra) {
-        if (what == MediaPlayer.MEDIA_ERROR_SERVER_DIED) {
-            //播放错误
-        } else {
-            close();
-            updatePrefs();
-        }
-        return true;
-    }
-
-    @Override
-    public synchronized void close() {
-        if (mediaPlayer != null) {
-            mediaPlayer.release();
-            mediaPlayer = null;
-        }
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/CameraSurfaceView.java b/zxinglibrary/src/main/java/com/zxing/scanner/CameraSurfaceView.java
deleted file mode 100644
index 38bb195..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/CameraSurfaceView.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package com.zxing.scanner;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Point;
-import android.util.Log;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-
-import com.google.zxing.Result;
-import com.zxing.scanner.camera.CameraManager;
-import com.zxing.scanner.common.Scanner;
-
-import java.io.IOException;
-
-/**
- * Created by hupei on 2017/12/13.
- */
-
-class CameraSurfaceView extends SurfaceView implements SurfaceHolder.Callback, ScannerViewHandler.HandleDecodeListener {
-    private static final String TAG = CameraSurfaceView.class.getSimpleName();
-
-    private ScannerView mScannerView;
-    private boolean hasSurface;
-    private CameraManager mCameraManager;
-    private ScannerViewHandler mScannerViewHandler;
-
-    private boolean lightMode = false;//闪光灯,默认关闭
-    private ScannerOptions mScannerOptions;
-
-    CameraSurfaceView(Context context, ScannerView scannerView) {
-        super(context);
-        this.mScannerView = scannerView;
-        hasSurface = false;
-    }
-
-    void onResume(ScannerOptions scannerOptions) {
-        this.mScannerOptions = scannerOptions;
-        this.mCameraManager = new CameraManager(getContext(), mScannerOptions);
-        this.mScannerViewHandler = null;
-
-        SurfaceHolder surfaceHolder = getHolder();
-        if (hasSurface) {
-            // The activity was paused but not stopped, so the surface still
-            // exists. Therefore
-            // surfaceCreated() won't be called, so init the camera here.
-            initCamera(surfaceHolder);
-        } else {
-            // Install the callback and wait for surfaceCreated() to init the
-            // camera.
-            surfaceHolder.addCallback(this);
-        }
-    }
-
-    private void initCamera(SurfaceHolder surfaceHolder) {
-        if (surfaceHolder == null) {
-            throw new IllegalStateException("No SurfaceHolder provided");
-        }
-        if (mCameraManager.isOpen()) {
-            Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?");
-            return;
-        }
-        try {
-            mCameraManager.openDriver(surfaceHolder);
-            requestLayout();
-            mCameraManager.setTorch(lightMode);
-            // Creating the mScannerViewHandler starts the preview, which can also throw a
-            // RuntimeException.
-            if (mScannerViewHandler == null) {
-                mScannerViewHandler = new ScannerViewHandler(mScannerOptions, mCameraManager,this);
-            }
-        } catch (IOException ioe) {
-            Log.w(TAG, ioe);
-        } catch (RuntimeException e) {
-            // Barcode Scanner has seen crashes in the wild of this variety:
-            // java.?lang.?RuntimeException: Fail to connect to camera service
-            Log.w(TAG, "Unexpected error initializing camera", e);
-        }
-    }
-
-    void onPause() {
-        if (mScannerViewHandler != null) {
-            mScannerViewHandler.quitSynchronously();
-            mScannerViewHandler = null;
-        }
-        mCameraManager.closeDriver();
-    }
-
-    void setTorch(boolean mode) {
-        this.lightMode = mode;
-        if (mCameraManager != null) mCameraManager.setTorch(lightMode);
-    }
-
-    void restartPreviewAfterDelay(long delayMS) {
-        if (mScannerViewHandler != null)
-            mScannerViewHandler.sendEmptyMessageDelayed(Scanner.RESTART_PREVIEW, delayMS);
-    }
-
-    @Override
-    public void surfaceCreated(SurfaceHolder surfaceHolder) {
-//        if (surfaceHolder == null) {
-//            Log.e(TAG, "*** WARNING *** surfaceCreated() gave us a null surface!");
-//        }
-        if (!hasSurface) {
-            hasSurface = true;
-            initCamera(surfaceHolder);
-        }
-    }
-
-    @Override
-    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
-
-    }
-
-    @Override
-    public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
-        hasSurface = false;
-        if (!hasSurface && surfaceHolder != null) {
-            surfaceHolder.removeCallback(this);
-        }
-    }
-
-    CameraManager getCameraManager() {
-        return mCameraManager;
-    }
-
-    @Override
-    public void restartPreview() {
-        mScannerView.drawViewfinder();
-    }
-
-    @Override
-    public void decodeSucceeded(Result rawResult, Bitmap barcode, float scaleFactor) {
-        mScannerView.handleDecode(rawResult, barcode, scaleFactor);
-    }
-
-    @Override
-    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        int width = getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec);
-        int height = getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec);
-        boolean portrait = true;
-        if (mCameraManager != null) {
-            portrait = mCameraManager.isPortrait();
-            if (portrait && mCameraManager.getCameraResolution() != null) {
-                Point cameraResolution = mCameraManager.getCameraResolution();
-                int cameraPreviewWidth = cameraResolution.y;
-                int cameraPreviewHeight = cameraResolution.x;
-                if (width * 1f / height < cameraPreviewWidth * 1f / cameraPreviewHeight) {
-                    float ratio = cameraPreviewHeight * 1f / cameraPreviewWidth;
-                    width = (int) (height / ratio + 0.5f);
-                } else {
-                    float ratio = cameraPreviewWidth * 1f / cameraPreviewHeight;
-                    height = (int) (width / ratio + 0.5f);
-                }
-            }
-        }
-        if (portrait) {
-            super.onMeasure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
-                    MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
-        } else {
-            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        }
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/OnScannerCompletionListener.java b/zxinglibrary/src/main/java/com/zxing/scanner/OnScannerCompletionListener.java
deleted file mode 100644
index c4edde7..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/OnScannerCompletionListener.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.zxing.scanner;
-
-import android.graphics.Bitmap;
-
-import com.google.zxing.Result;
-
-/**
- * Created by hupei on 2016/7/1.
- */
-public interface OnScannerCompletionListener {
-    /**
-     * 扫描成功后将调用
-     * <pre>
-     *     ParsedResultType type = parsedResult.getType();
-     *     switch (type) {
-     *         case ADDRESSBOOK:
-     *             AddressBookParsedResult addressResult = (AddressBookParsedResult) parsedResult;
-     *         break;
-     *         case URI:
-     *              URIParsedResult uriParsedResult = (URIParsedResult) parsedResult;
-     *         break;
-     *     }
-     * </pre>
-     *
-     * @param rawResult    扫描结果
-     * @param barcode      位图
-     */
-    void onScannerCompletion(Result rawResult, Bitmap barcode);
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/ScannerOptions.java b/zxinglibrary/src/main/java/com/zxing/scanner/ScannerOptions.java
deleted file mode 100644
index 0b844ab..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/ScannerOptions.java
+++ /dev/null
@@ -1,597 +0,0 @@
-package com.zxing.scanner;
-
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Rect;
-import android.view.View;
-
-import com.google.zxing.BarcodeFormat;
-import com.zxing.scanner.camera.open.CameraFacing;
-import com.zxing.scanner.common.Scanner;
-import com.zxing.scanner.decode.DecodeFormatManager;
-
-import java.util.Collection;
-
-/**
- * Created by hupei on 2017/11/21.
- */
-
-public final class ScannerOptions {
-
-    public static final int DEFAULT_LASER_LINE_HEIGHT = 2;//扫描线默认高度
-    private LaserStyle laserStyle = LaserStyle.COLOR_LINE;
-    private int laserLineColor = Scanner.color.VIEWFINDER_LASER;//扫描线颜色rgb值
-    private int laserLineResId;//扫描线资源文件
-    private int laserLineHeight = DEFAULT_LASER_LINE_HEIGHT;//扫描线高度,网络样式无效,单位dp
-    private int laserLineMoveSpeed = 6;//扫描线移动间距,默认每毫秒移动6px,单位px
-    private boolean laserMoveFullScreen;//扫描线全屏移动,默认在扫描框内移动
-    private int frameStrokeColor = Color.WHITE;//扫描边框颜色rgb值
-    private float frameStrokeWidth = 1f;//扫描边框的宽度,单位px
-    private int frameWidth;//扫描框的宽度,单位dp
-    private int frameHeight;//扫描框的高度,单位dp
-    private int frameCornerColor = laserLineColor;//扫描框4角颜色rgb值
-    private int frameCornerLength = 15;//扫描框4角长度,单位dp 默认15
-    private int frameCornerWidth = 2;//扫描框4角宽度,单位dp 默认2
-    private boolean frameCornerInside = true;//扫描框4角是否在框外,默认框内
-    private boolean frameCornerHide;//是否隐藏扫描框4角,默认显示
-    private int frameTopMargin;//扫描框与顶部间距,单位dp,默认居中
-    private boolean frameHide;//是否隐藏扫描框,默认显示
-    private boolean viewfinderHide;//是否隐藏整个取景视图,包括文字,默认显示
-    private String tipText = "将二维码放入框内,即可自动扫描";//提示文字
-    private int tipTextColor = Color.WHITE;//提示文字颜色rgb值,默认白色
-    private int tipTextSize = 15;//提交文字大小,单位sp 默认15
-    private boolean tipTextToFrameTop;//是否在扫描框上方,默认下方
-    private int tipTextToFrameMargin = 20;//离扫描框间距,单位dp 默认20
-    private int mediaResId;//扫描成功音频资源文件
-    private Collection<BarcodeFormat> decodeFormats;//解码类型,默认解全部
-    private boolean createQrThumbnail;//生成扫描结果缩略图,默认不生成,也就是扫描成功后的第三个参数
-    private boolean showQrThumbnail;//是否显示扫描结果缩略图在扫描界面
-    private CameraFacing cameraFacing = CameraFacing.BACK;//启动摄像头位置,默认后置
-    private boolean scanFullScreen;//是否全屏扫描识别,默认扫描框内识别
-    private boolean scanInvert;//是否扫描反色二维码(用于黑底白码)
-    private double cameraZoomRatio;//相机变焦比率
-    private ViewfinderCallback viewfinderCallback;
-    private int frameOutsideColor = Scanner.color.VIEWFINDER_MASK;//扫描框以外区域半透明黑色
-    private String characterSet;
-
-    protected ScannerOptions() {
-    }
-
-    public LaserStyle getLaserStyle() {
-        return laserStyle;
-    }
-
-    public int getLaserLineColor() {
-        return laserLineColor;
-    }
-
-    public int getLaserLineResId() {
-        return laserLineResId;
-    }
-
-    public int getLaserLineHeight() {
-        return laserLineHeight;
-    }
-
-    public int getLaserLineMoveSpeed() {
-        return laserLineMoveSpeed;
-    }
-
-    public boolean isLaserMoveFullScreen() {
-        return laserMoveFullScreen;
-    }
-
-    public int getFrameStrokeColor() {
-        return frameStrokeColor;
-    }
-
-    public float getFrameStrokeWidth() {
-        return frameStrokeWidth;
-    }
-
-    public int getFrameWidth() {
-        return frameWidth;
-    }
-
-    public int getFrameHeight() {
-        return frameHeight;
-    }
-
-    public int getFrameCornerColor() {
-        return frameCornerColor;
-    }
-
-    public int getFrameCornerLength() {
-        return frameCornerLength;
-    }
-
-    public int getFrameCornerWidth() {
-        return frameCornerWidth;
-    }
-
-    public boolean isFrameCornerInside() {
-        return frameCornerInside;
-    }
-
-    public boolean isFrameCornerHide() {
-        return frameCornerHide;
-    }
-
-    public int getFrameTopMargin() {
-        return frameTopMargin;
-    }
-
-    public boolean isFrameHide() {
-        return frameHide;
-    }
-
-    public boolean isViewfinderHide() {
-        return viewfinderHide;
-    }
-
-    public String getTipText() {
-        return tipText;
-    }
-
-    public int getTipTextColor() {
-        return tipTextColor;
-    }
-
-    public int getTipTextSize() {
-        return tipTextSize;
-    }
-
-    public boolean isTipTextToFrameTop() {
-        return tipTextToFrameTop;
-    }
-
-    public int getTipTextToFrameMargin() {
-        return tipTextToFrameMargin;
-    }
-
-    public int getMediaResId() {
-        return mediaResId;
-    }
-
-    public Collection<BarcodeFormat> getDecodeFormats() {
-        return decodeFormats;
-    }
-
-    public boolean isCreateQrThumbnail() {
-        return createQrThumbnail;
-    }
-
-    public boolean isShowQrThumbnail() {
-        return showQrThumbnail;
-    }
-
-    public CameraFacing getCameraFacing() {
-        return cameraFacing;
-    }
-
-    public boolean isScanFullScreen() {
-        return scanFullScreen;
-    }
-
-    public boolean isScanInvert() {
-        return scanInvert;
-    }
-
-    public double getCameraZoomRatio() {
-        return cameraZoomRatio;
-    }
-
-    public ViewfinderCallback getViewfinderCallback() {
-        return viewfinderCallback;
-    }
-
-    public int getFrameOutsideColor() {
-        return frameOutsideColor;
-    }
-
-    public String getCharacterSet() {
-        return characterSet;
-    }
-
-    public enum LaserStyle {
-        /**
-         * 颜色线值样式
-         */
-        COLOR_LINE
-        /**
-         * 资源文件线样式
-         */
-        , RES_LINE
-        /**
-         * 资源文件网格样式
-         */
-        , RES_GRID
-    }
-
-    public interface ViewfinderCallback {
-        void onDraw(View view, Canvas canvas, Rect frame);
-    }
-
-    public static final class Builder {
-        private ScannerOptions options;
-
-        public Builder() {
-            options = new ScannerOptions();
-        }
-
-        public ScannerOptions build() {
-            return options;
-        }
-
-        /**
-         * 扫描线样式
-         *
-         * @param style 默认为{@link LaserStyle#COLOR_LINE 颜色线}
-         * @param value style=COLOR_LINE,value为颜色值rgb,其余样式value为resId
-         * @return
-         */
-        public Builder setLaserStyle(LaserStyle style, int value) {
-            options.laserStyle = style;
-            if (style == LaserStyle.COLOR_LINE) {
-                options.laserLineColor = value;
-            } else {
-                options.laserLineResId = value;
-            }
-            return this;
-        }
-
-        /**
-         * 设置扫描线颜色值<br>
-         * 只支持扫描线样式为{@link LaserStyle#COLOR_LINE 颜色线}
-         *
-         * @param color rgb 颜色值
-         */
-        public Builder setLaserLineColor(int color) {
-            options.laserStyle = LaserStyle.COLOR_LINE;
-            options.laserLineColor = color;
-            return this;
-        }
-
-        /**
-         * 设置扫描线高度<br>
-         * 支持扫描线样式为{@link LaserStyle#COLOR_LINE 颜色线}
-         * or {@link LaserStyle#RES_LINE 资源文件}
-         *
-         * @param height dp
-         */
-        public Builder setLaserLineHeight(int height) {
-            options.laserLineHeight = height;
-            return this;
-        }
-
-        /**
-         * 设置扫描框线移动间距
-         *
-         * @param moveSpeed 每毫秒移动 moveSpeed 像素 px
-         * @return
-         */
-        public Builder setLaserMoveSpeed(int moveSpeed) {
-            options.laserLineMoveSpeed = moveSpeed;
-            return this;
-        }
-
-        /**
-         * 扫描线是否全屏移动
-         *
-         * @param fullScreen true全屏,false扫描框内
-         * @return
-         */
-        public Builder setLaserMoveFullScreen(boolean fullScreen) {
-            options.laserMoveFullScreen = fullScreen;
-            return this;
-        }
-
-        /**
-         * 扫描边框颜色值,默认白色
-         *
-         * @param color rgb颜色值
-         * @return
-         */
-        public Builder setFrameStrokeColor(int color) {
-            options.frameStrokeColor = color;
-            return this;
-        }
-
-        /**
-         * 扫描边框宽度,默认1px
-         *
-         * @param width 单位px
-         * @return
-         */
-        public Builder setFrameStrokeWidth(float width) {
-            options.frameStrokeWidth = width;
-            return this;
-        }
-
-        /**
-         * 设置扫描框大小
-         *
-         * @param width  dp
-         * @param height dp
-         */
-        public Builder setFrameSize(int width, int height) {
-            options.frameWidth = width;
-            options.frameHeight = height;
-            return this;
-        }
-
-        /**
-         * 设置扫描框4角颜色值
-         *
-         * @param color rgb
-         */
-        public Builder setFrameCornerColor(int color) {
-            options.frameCornerColor = color;
-            return this;
-        }
-
-        /**
-         * 设置扫描框4角长度
-         *
-         * @param length dp
-         */
-        public Builder setFrameCornerLength(int length) {
-            options.frameCornerLength = length;
-            return this;
-        }
-
-        /**
-         * 设置扫描框4角宽度
-         *
-         * @param width dp
-         */
-        public Builder setFrameCornerWidth(int width) {
-            options.frameCornerWidth = width;
-            return this;
-        }
-
-        /**
-         * 设置扫描框4角是否在框内,默认框外
-         *
-         * @param inside true内部
-         * @return
-         */
-        public Builder setFrameCornerInside(boolean inside) {
-            options.frameCornerInside = inside;
-            return this;
-        }
-
-        /**
-         * 是否隐藏扫描框4角
-         *
-         * @param hide true隐藏
-         * @return
-         */
-        public Builder setFrameCornerHide(boolean hide) {
-            options.frameCornerHide = hide;
-            if (!hide)
-                options.laserMoveFullScreen = false;
-            return this;
-        }
-
-        /**
-         * 设置扫描框与屏幕顶部距离
-         *
-         * @param margin dp
-         */
-        public Builder setFrameTopMargin(int margin) {
-            options.frameTopMargin = margin;
-            return this;
-        }
-
-        /**
-         * 是否隐藏扫描框,默认不隐藏
-         *
-         * @param hide true隐藏
-         * @return
-         */
-        public Builder setFrameHide(boolean hide) {
-            options.frameHide = hide;
-            if (!hide)//非显示则关闭全屏移动扫描线
-                options.laserMoveFullScreen = false;
-            return this;
-        }
-
-        /**
-         * 设置隐藏取景视图包括文字,默认不隐藏
-         *
-         * @param hide
-         * @return
-         */
-        public Builder setViewfinderHide(boolean hide) {
-            options.viewfinderHide = hide;
-            return this;
-        }
-
-        /**
-         * 设置文字
-         *
-         * @param text 文字
-         */
-        public Builder setTipText(String text) {
-            options.tipText = text;
-            return this;
-        }
-
-        /**
-         * 设置文字颜色
-         *
-         * @param color 文字颜色
-         */
-        public Builder setTipTextColor(int color) {
-            options.tipTextColor = color;
-            return this;
-        }
-
-        /**
-         * 设置文字大小
-         *
-         * @param size 文字大小 sp
-         */
-        public Builder setTipTextSize(int size) {
-            options.tipTextSize = size;
-            return this;
-        }
-
-        /**
-         * 设置文字与扫描框间距
-         *
-         * @param margin 间距 单位dp
-         */
-        public Builder setTipTextToFrameMargin(int margin) {
-            options.tipTextToFrameMargin = margin;
-            return this;
-        }
-
-        /**
-         * 设置文字是否在扫描框上方,默认下方
-         *
-         * @param top true=上方,false=下方
-         */
-        public Builder setTipTextToFrameTop(boolean top) {
-            options.tipTextToFrameTop = top;
-            return this;
-        }
-
-        /**
-         * 设置扫描成功的音频
-         *
-         * @param resId
-         */
-        public Builder setMediaResId(int resId) {
-            options.mediaResId = resId;
-            return this;
-        }
-
-        /**
-         * 设置扫描解码类型(二维码、一维码、商品条码)
-         *
-         * @param scanMode {@linkplain Scanner.ScanMode mode}
-         * @return
-         */
-        public Builder setScanMode(String scanMode) {
-            options.decodeFormats = DecodeFormatManager.parseDecodeFormats(scanMode);
-            return this;
-        }
-
-        /**
-         * 设置扫描解码类型
-         *
-         * @param barcodeFormat
-         * @return
-         */
-        public Builder setScanMode(BarcodeFormat... barcodeFormat) {
-            options.decodeFormats = DecodeFormatManager.parseDecodeFormats(barcodeFormat);
-            return this;
-        }
-
-        /**
-         * 是否创建扫描结果缩略图,也就是扫描成功后的第三个参数,默认不创建
-         *
-         * @param thumbnail
-         * @return
-         */
-        public Builder setCreateQrThumbnail(boolean thumbnail) {
-            options.createQrThumbnail = thumbnail;
-            return this;
-        }
-
-        /**
-         * 是否显示扫描结果缩略图在扫描界面,默认不显示<br>
-         * {@link #setCreateQrThumbnail(boolean) setCreateQrThumbnail(true)才有效}
-         *
-         * @param show
-         * @return
-         */
-        public Builder setShowQrThumbnail(boolean show) {
-            options.showQrThumbnail = show;
-            return this;
-        }
-
-        /**
-         * 设置扫描摄像头,默认后置
-         *
-         * @param cameraFacing
-         * @return
-         */
-        public Builder setCameraFacing(CameraFacing cameraFacing) {
-            options.cameraFacing = cameraFacing;
-            return this;
-        }
-
-        /**
-         * 是否全屏扫描,默认非全屏扫描<br>
-         * true=全屏扫描,则隐藏扫描框,扫描框4角,扫描线全屏上下移动<br>
-         * 如全屏扫描情况下,仍需显示扫描框、扫描框4角及扫描线在扫描框内上下的移动,则调用该方法之后再调用:
-         * {@link #setFrameHide(boolean) setFrameHide(false)},
-         * {@link #setFrameCornerHide(boolean) setFrameCornerHide(false)},
-         * {@link #setLaserMoveFullScreen(boolean) setLaserMoveFullScreen(false)}
-         *
-         * @param scanFullScreen
-         * @return
-         */
-        public Builder setScanFullScreen(boolean scanFullScreen) {
-            options.scanFullScreen = scanFullScreen;
-            if (scanFullScreen) {
-                options.frameHide = true;
-                options.frameCornerHide = true;
-                options.laserMoveFullScreen = true;
-            }
-            return this;
-        }
-
-        /**
-         * 是否扫描反色二维码(黑底白码)
-         *
-         * @param invertScan
-         * @return
-         */
-        public Builder setScanInvert(boolean invertScan) {
-            options.scanInvert = invertScan;
-            return this;
-        }
-
-        /**
-         * 设置相机变焦比率
-         *
-         * @param cameraZoomRatio >0 建议2倍
-         * @return
-         */
-        public Builder setCameraZoomRatio(double cameraZoomRatio) {
-            options.cameraZoomRatio = cameraZoomRatio;
-            return this;
-        }
-
-        public Builder setViewfinderCallback(ViewfinderCallback callback) {
-            options.viewfinderCallback = callback;
-            return this;
-        }
-
-        /**
-         * 设置扫描框以外区域颜色值
-         *
-         * @param color rgb
-         * @return
-         */
-        public Builder setFrameOutsideColor(int color) {
-            options.frameOutsideColor = color;
-            return this;
-        }
-
-        /**
-         * 指定编码解析二维码
-         *
-         * @param characterSet
-         * @return
-         */
-        public Builder setCharacterSet(String characterSet) {
-            options.characterSet = characterSet;
-            return this;
-        }
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/ScannerView.java b/zxinglibrary/src/main/java/com/zxing/scanner/ScannerView.java
deleted file mode 100644
index e46e116..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/ScannerView.java
+++ /dev/null
@@ -1,454 +0,0 @@
-package com.zxing.scanner;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.RelativeLayout;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.Result;
-import com.google.zxing.ResultPoint;
-import com.zxing.scanner.camera.open.CameraFacing;
-import com.zxing.scanner.common.Scanner;
-
-/**
- * Created by hupei on 2016/7/1.
- */
-public class ScannerView extends RelativeLayout {
-    private static final String TAG = ScannerView.class.getSimpleName();
-    private CameraSurfaceView mSurfaceView;
-    private ViewfinderView mViewfinderView;
-    private BeepManager mBeepManager;
-    private OnScannerCompletionListener mScannerCompletionListener;
-
-    private ScannerOptions mScannerOptions;
-    private ScannerOptions.Builder mScannerOptionsBuilder;
-
-    public ScannerView(Context context) {
-        this(context, null);
-    }
-
-    public ScannerView(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public ScannerView(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-        init(context, attrs, defStyle);
-    }
-
-    private void init(Context context, AttributeSet attrs, int defStyle) {
-        mSurfaceView = new CameraSurfaceView(context, this);
-        mSurfaceView.setId(android.R.id.list);
-        addView(mSurfaceView);
-
-        mViewfinderView = new ViewfinderView(context, attrs);
-        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(context, attrs);
-        layoutParams.addRule(RelativeLayout.ALIGN_TOP, mSurfaceView.getId());
-        layoutParams.addRule(RelativeLayout.ALIGN_BOTTOM, mSurfaceView.getId());
-        addView(mViewfinderView, layoutParams);
-
-        mScannerOptionsBuilder = new ScannerOptions.Builder();
-        mScannerOptions = mScannerOptionsBuilder.build();
-    }
-
-    public void onResume() {
-        mSurfaceView.onResume(mScannerOptions);
-        mViewfinderView.setCameraManager(mSurfaceView.getCameraManager());
-        mViewfinderView.setScannerOptions(mScannerOptions);
-        mViewfinderView.setVisibility(mScannerOptions.isViewfinderHide() ? View.GONE : View.VISIBLE);
-        if (mBeepManager != null) mBeepManager.updatePrefs();
-    }
-
-    public void onPause() {
-        mSurfaceView.onPause();
-        if (mBeepManager != null) mBeepManager.close();
-        mViewfinderView.laserLineBitmapRecycle();
-    }
-
-
-    /**
-     * A valid barcode has been found, so give an indication of success and show
-     * the results.
-     *
-     * @param rawResult   The contents of the barcode.
-     * @param scaleFactor amount by which thumbnail was scaled
-     * @param barcode     A greyscale bitmap of the camera data which was decoded.
-     */
-    void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor) {
-        //扫描成功
-        if (mScannerCompletionListener != null) {
-            //转换结果
-            mScannerCompletionListener.onScannerCompletion(rawResult, barcode);
-        }
-        if (mScannerOptions.getMediaResId() != 0) {
-            if (mBeepManager == null) {
-                mBeepManager = new BeepManager(getContext());
-                mBeepManager.setMediaResId(mScannerOptions.getMediaResId());
-            }
-            mBeepManager.playBeepSoundAndVibrate();
-        }
-
-        if (barcode != null && mScannerOptions.isShowQrThumbnail()) {
-            mViewfinderView.drawResultBitmap(barcode);
-            drawResultPoints(barcode, scaleFactor, rawResult);
-        }
-    }
-
-    /**
-     * Superimpose a line for 1D or dots for 2D to highlight the key features of
-     * the barcode.
-     *
-     * @param barcode     A bitmap of the captured image.
-     * @param scaleFactor amount by which thumbnail was scaled
-     * @param rawResult   The decoded results which contains the points to draw.
-     */
-    private void drawResultPoints(Bitmap barcode, float scaleFactor, Result rawResult) {
-        ResultPoint[] points = rawResult.getResultPoints();
-        if (points != null && points.length > 0) {
-            Canvas canvas = new Canvas(barcode);
-            Paint paint = new Paint();
-            paint.setColor(Scanner.color.RESULT_POINTS);
-            if (points.length == 2) {
-                paint.setStrokeWidth(4.0f);
-                drawLine(canvas, paint, points[0], points[1], scaleFactor);
-            } else if (points.length == 4
-                    && (rawResult.getBarcodeFormat() == BarcodeFormat.UPC_A || rawResult.getBarcodeFormat() == BarcodeFormat.EAN_13)) {
-                // Hacky special case -- draw two lines, for the barcode and
-                // metadata
-                drawLine(canvas, paint, points[0], points[1], scaleFactor);
-                drawLine(canvas, paint, points[2], points[3], scaleFactor);
-            } else {
-                paint.setStrokeWidth(10.0f);
-                for (ResultPoint point : points) {
-                    if (point != null) {
-                        canvas.drawPoint(scaleFactor * point.getX(), scaleFactor * point.getY(), paint);
-                    }
-                }
-            }
-        }
-    }
-
-    private static void drawLine(Canvas canvas, Paint paint, ResultPoint a, ResultPoint b, float scaleFactor) {
-        if (a != null && b != null) {
-            canvas.drawLine(scaleFactor * a.getX(), scaleFactor * a.getY(), scaleFactor * b.getX(), scaleFactor * b.getY(), paint);
-        }
-    }
-
-    /**
-     * 设置扫描成功监听器
-     *
-     * @param listener
-     * @return
-     */
-    public ScannerView setOnScannerCompletionListener(OnScannerCompletionListener listener) {
-        this.mScannerCompletionListener = listener;
-        return this;
-    }
-
-    public void setScannerOptions(ScannerOptions scannerOptions) {
-        this.mScannerOptions = scannerOptions;
-    }
-
-    /**
-     * 切换闪光灯
-     *
-     * @param mode true开;false关
-     */
-    public ScannerView toggleLight(boolean mode) {
-        mSurfaceView.setTorch(mode);
-        return this;
-    }
-
-    /**
-     * 在经过一段延迟后重置相机以进行下一次扫描。 成功扫描过后可调用此方法立刻准备进行下次扫描
-     *
-     * @param delayMS 毫秒
-     */
-    public void restartPreviewAfterDelay(long delayMS) {
-        mSurfaceView.restartPreviewAfterDelay(delayMS);
-    }
-
-    /**
-     * 设置扫描线颜色
-     *
-     * @param color
-     */
-    @Deprecated
-    public ScannerView setLaserColor(int color) {
-        mScannerOptionsBuilder.setLaserStyle(ScannerOptions.LaserStyle.COLOR_LINE, color);
-        return this;
-    }
-
-    /**
-     * 设置线形扫描线资源
-     *
-     * @param resId resId
-     */
-    @Deprecated
-    public ScannerView setLaserLineResId(int resId) {
-        mScannerOptionsBuilder.setLaserStyle(ScannerOptions.LaserStyle.RES_LINE, resId);
-        return this;
-    }
-
-    /**
-     * 设置网格扫描线资源
-     *
-     * @param resId resId
-     */
-    @Deprecated
-    public ScannerView setLaserGridLineResId(int resId) {
-        mScannerOptionsBuilder.setLaserStyle(ScannerOptions.LaserStyle.RES_GRID, resId);
-        return this;
-    }
-
-    /**
-     * 设置扫描线高度
-     *
-     * @param height dp
-     */
-    @Deprecated
-    public ScannerView setLaserLineHeight(int height) {
-        mScannerOptionsBuilder.setLaserLineHeight(height);
-        return this;
-    }
-
-    /**
-     * 设置扫描框4角颜色
-     *
-     * @param color
-     */
-    @Deprecated
-    public ScannerView setLaserFrameBoundColor(int color) {
-        mScannerOptionsBuilder.setFrameCornerColor(color);
-        return this;
-    }
-
-    /**
-     * 设置扫描框4角长度
-     *
-     * @param length dp
-     */
-    @Deprecated
-    public ScannerView setLaserFrameCornerLength(int length) {
-        mScannerOptionsBuilder.setFrameCornerLength(length);
-        return this;
-    }
-
-    /**
-     * 设置扫描框4角宽度
-     *
-     * @param width dp
-     */
-    @Deprecated
-    public ScannerView setLaserFrameCornerWidth(int width) {
-        mScannerOptionsBuilder.setFrameCornerWidth(width);
-        return this;
-    }
-
-    /**
-     * 设置文字颜色
-     *
-     * @param color 文字颜色
-     */
-    @Deprecated
-    public ScannerView setDrawTextColor(int color) {
-        mScannerOptionsBuilder.setTipTextColor(color);
-        return this;
-    }
-
-    /**
-     * 设置文字大小
-     *
-     * @param size 文字大小 sp
-     */
-    @Deprecated
-    public ScannerView setDrawTextSize(int size) {
-        mScannerOptionsBuilder.setTipTextSize(size);
-        return this;
-    }
-
-    /**
-     * 设置文字
-     *
-     * @param text
-     * @param bottom 是否在扫描框下方
-     */
-    @Deprecated
-    public ScannerView setDrawText(String text, boolean bottom) {
-        mScannerOptionsBuilder.setTipText(text);
-        mScannerOptionsBuilder.setTipTextToFrameTop(!bottom);
-        return this;
-    }
-
-    /**
-     * 设置文字
-     *
-     * @param text
-     * @param bottom 是否在扫描框下方
-     * @param margin 离扫描框间距 dp
-     */
-    @Deprecated
-    public ScannerView setDrawText(String text, boolean bottom, int margin) {
-        mScannerOptionsBuilder.setTipText(text);
-        mScannerOptionsBuilder.setTipTextToFrameTop(!bottom);
-        mScannerOptionsBuilder.setTipTextToFrameMargin(margin);
-        return this;
-    }
-
-    /**
-     * 设置文字
-     *
-     * @param text
-     * @param size   文字大小 sp
-     * @param color  文字颜色
-     * @param bottom 是否在扫描框下方
-     * @param margin 离扫描框间距 dp
-     */
-    @Deprecated
-    public ScannerView setDrawText(String text, int size, int color, boolean bottom, int margin) {
-        mScannerOptionsBuilder.setTipText(text);
-        mScannerOptionsBuilder.setTipTextSize(size);
-        mScannerOptionsBuilder.setTipTextColor(color);
-        mScannerOptionsBuilder.setTipTextToFrameTop(!bottom);
-        mScannerOptionsBuilder.setTipTextToFrameMargin(margin);
-        return this;
-    }
-
-    /**
-     * 设置扫描完成播放声音
-     *
-     * @param resId
-     */
-    @Deprecated
-    public ScannerView setMediaResId(int resId) {
-        mScannerOptionsBuilder.setMediaResId(resId);
-        return this;
-    }
-
-    /**
-     * 设置扫描框大小
-     *
-     * @param width  dp
-     * @param height dp
-     */
-    @Deprecated
-    public ScannerView setLaserFrameSize(int width, int height) {
-        mScannerOptionsBuilder.setFrameSize(width, height);
-        return this;
-    }
-
-    /**
-     * 设置扫描框与屏幕距离
-     *
-     * @param margin
-     */
-    @Deprecated
-    public ScannerView setLaserFrameTopMargin(int margin) {
-        mScannerOptionsBuilder.setFrameTopMargin(margin);
-        return this;
-    }
-
-    /**
-     * 设置扫描解码类型(二维码、一维码、商品条码)
-     *
-     * @param scanMode {@linkplain Scanner.ScanMode mode}
-     * @return
-     */
-    @Deprecated
-    public ScannerView setScanMode(String scanMode) {
-        mScannerOptionsBuilder.setScanMode(scanMode);
-        return this;
-    }
-
-    /**
-     * 设置扫描解码类型
-     *
-     * @param barcodeFormat
-     * @return
-     */
-    @Deprecated
-    public ScannerView setScanMode(BarcodeFormat... barcodeFormat) {
-        mScannerOptionsBuilder.setScanMode(barcodeFormat);
-        return this;
-    }
-
-    /**
-     * 是否显示扫描结果缩略图
-     *
-     * @param showResThumbnail
-     * @return
-     */
-    @Deprecated
-    public ScannerView isShowResThumbnail(boolean showResThumbnail) {
-        mScannerOptionsBuilder.setCreateQrThumbnail(showResThumbnail);
-        return this;
-    }
-
-    /**
-     * 设置扫描框线移动间距,每毫秒移动 moveSpeed 像素
-     *
-     * @param moveSpeed px
-     * @return
-     */
-    @Deprecated
-    public ScannerView setLaserMoveSpeed(int moveSpeed) {
-        mScannerOptionsBuilder.setLaserMoveSpeed(moveSpeed);
-        return this;
-    }
-
-    /**
-     * 设置扫描摄像头,默认后置
-     *
-     * @param cameraFacing
-     * @return
-     */
-    @Deprecated
-    public ScannerView setCameraFacing(CameraFacing cameraFacing) {
-        mScannerOptionsBuilder.setCameraFacing(cameraFacing);
-        return this;
-    }
-
-    /**
-     * 是否全屏扫描
-     *
-     * @param scanFullScreen
-     * @return
-     */
-    @Deprecated
-    public ScannerView isScanFullScreen(boolean scanFullScreen) {
-        mScannerOptionsBuilder.setScanFullScreen(scanFullScreen);
-        return this;
-    }
-
-    /**
-     * 设置隐藏取景视图,包括文字
-     *
-     * @param hide
-     * @return
-     */
-    @Deprecated
-    public ScannerView isHideLaserFrame(boolean hide) {
-        mScannerOptionsBuilder.setViewfinderHide(hide);
-        return this;
-    }
-
-    /**
-     * 是否扫描反色二维码(黑底白码)
-     *
-     * @param invertScan
-     * @return
-     */
-    @Deprecated
-    public ScannerView isScanInvert(boolean invertScan) {
-        mScannerOptionsBuilder.setScanInvert(invertScan);
-        return this;
-    }
-
-    void drawViewfinder() {
-        mViewfinderView.drawViewfinder();
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/ScannerViewHandler.java b/zxinglibrary/src/main/java/com/zxing/scanner/ScannerViewHandler.java
deleted file mode 100644
index 4b8ae1d..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/ScannerViewHandler.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner;
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-
-import com.google.zxing.Result;
-import com.zxing.scanner.camera.CameraManager;
-import com.zxing.scanner.common.Scanner;
-import com.zxing.scanner.decode.DecodeThread;
-
-/**
- * 针对扫描任务的Handler,可接收的message有启动扫描(restart_preview)、扫描成功(decode_succeeded)、扫描失败(decode_failed)等等
- * This class handles all the messaging which comprises the state machine for
- * capture.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-final class ScannerViewHandler extends Handler {
-
-    public interface HandleDecodeListener {
-        void restartPreview();
-
-        void decodeSucceeded(Result rawResult, Bitmap barcode, float scaleFactor);
-    }
-
-    private final DecodeThread decodeThread;
-    private State state;
-    private final CameraManager cameraManager;
-    private HandleDecodeListener handleDecodeListener;
-
-    private enum State {
-        PREVIEW, SUCCESS, DONE
-    }
-
-    ScannerViewHandler(ScannerOptions scannerOptions, CameraManager cameraManager
-            , HandleDecodeListener handleDecodeListener) {
-        this.cameraManager = cameraManager;
-        this.handleDecodeListener = handleDecodeListener;
-        //启动扫描线程
-        decodeThread = new DecodeThread(cameraManager, this
-                , scannerOptions.getDecodeFormats(),scannerOptions.getCharacterSet()
-                , scannerOptions.isCreateQrThumbnail());
-
-        decodeThread.start();
-        state = State.SUCCESS;
-        //开启相机预览界面
-        cameraManager.startPreview();
-        //将preview回调函数与decodeHandler绑定、调用viewfinderView
-        restartPreviewAndDecode();
-    }
-
-    @Override
-    public void handleMessage(Message message) {
-        switch (message.what) {
-            case Scanner.RESTART_PREVIEW:
-                restartPreviewAndDecode();
-                break;
-            case Scanner.DECODE_SUCCEEDED:
-                state = State.SUCCESS;
-                Bundle bundle = message.getData();
-                Bitmap barcode = null;
-                float scaleFactor = 1.0f;
-                if (bundle != null) {
-                    byte[] compressedBitmap = bundle
-                            .getByteArray(DecodeThread.BARCODE_BITMAP);
-                    if (compressedBitmap != null && compressedBitmap.length > 0) {
-                        barcode = BitmapFactory.decodeByteArray(compressedBitmap,
-                                0, compressedBitmap.length, null);
-                        barcode = barcode.copy(Bitmap.Config.ARGB_8888, true);
-                    }
-                    scaleFactor = bundle.getFloat(DecodeThread.BARCODE_SCALED_FACTOR);
-                }
-                if (handleDecodeListener != null)
-                    handleDecodeListener.decodeSucceeded((Result) message.obj, barcode, scaleFactor);
-                break;
-            case Scanner.DECODE_FAILED:
-                state = State.PREVIEW;
-                cameraManager.requestPreviewFrame(decodeThread.getHandler(), Scanner.DECODE);
-                break;
-            case Scanner.RETURN_SCAN_RESULT:
-                break;
-            case Scanner.LAUNCH_PRODUCT_QUERY:
-                break;
-        }
-    }
-
-    public void quitSynchronously() {
-        state = State.DONE;
-        cameraManager.stopPreview();
-        Message quit = Message.obtain(decodeThread.getHandler(), Scanner.QUIT);
-        quit.sendToTarget();
-        try {
-            decodeThread.join(500L);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-
-        removeMessages(Scanner.DECODE_SUCCEEDED);
-        removeMessages(Scanner.DECODE_FAILED);
-    }
-
-    private void restartPreviewAndDecode() {
-        if (state == State.SUCCESS) {
-            state = State.PREVIEW;
-            cameraManager.requestPreviewFrame(decodeThread.getHandler(), Scanner.DECODE);
-            if (handleDecodeListener != null)
-                handleDecodeListener.restartPreview();
-        }
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/ViewfinderView.java b/zxinglibrary/src/main/java/com/zxing/scanner/ViewfinderView.java
deleted file mode 100644
index 8647d77..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/ViewfinderView.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Point;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.text.Layout;
-import android.text.StaticLayout;
-import android.text.TextPaint;
-import android.util.AttributeSet;
-import android.view.View;
-
-import com.zxing.scanner.camera.CameraManager;
-import com.zxing.scanner.common.Scanner;
-
-
-/**
- * This view is overlaid on top of the camera preview. It adds the viewfinder rectangle and partial
- * transparency outside it, as well as the laser scanner animation and result points.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-final class ViewfinderView extends View {
-
-    private static final int CURRENT_POINT_OPACITY = 0xA0;
-    private static final int POINT_SIZE = 6;
-    private CameraManager cameraManager;
-    private final Paint paint;
-    private Bitmap resultBitmap;
-
-    private int animationDelay = 0;
-    private Bitmap laserLineBitmap;
-
-    private int resultColor = Scanner.color.RESULT_VIEW;//扫描成功后扫描框以外区域白色
-    private int laserLineTop;// 扫描线最顶端位置
-
-    private int laserLineHeight;//扫描线默认高度
-    private int frameCornerWidth;//扫描框4角宽
-    private int frameCornerLength;//扫描框4角高
-    private int tipTextSize;//提示文字大小
-    private int tipTextMargin;//提示文字与扫描框距离
-    private ScannerOptions scannerOptions;
-
-    public ViewfinderView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        paint = new Paint(Paint.ANTI_ALIAS_FLAG);
-    }
-
-    void setCameraManager(CameraManager cameraManager) {
-        this.cameraManager = cameraManager;
-    }
-
-    void setScannerOptions(ScannerOptions scannerOptions) {
-        this.scannerOptions = scannerOptions;
-        laserLineHeight = dp2px(scannerOptions.getLaserLineHeight());
-        frameCornerWidth = dp2px(scannerOptions.getFrameCornerWidth());
-        frameCornerLength = dp2px(scannerOptions.getFrameCornerLength());
-
-        tipTextSize = Scanner.sp2px(getContext(), scannerOptions.getTipTextSize());
-        tipTextMargin = dp2px(scannerOptions.getTipTextToFrameMargin());
-    }
-
-    private int dp2px(int dp) {
-        return Scanner.dp2px(getContext(), dp);
-    }
-
-    @Override
-    public void onDraw(Canvas canvas) {
-        if (cameraManager == null) {
-            return;
-        }
-        Rect frame = cameraManager.getFramingRect();//取扫描框
-        //取屏幕预览
-        Rect previewFrame = cameraManager.getFramingRectInPreview();
-        if (frame == null || previewFrame == null) {
-            return;
-        }
-        //全屏不绘制扫描框以外4个区域
-        if (!scannerOptions.isScanFullScreen()) {
-            drawMask(canvas, frame);
-        }
-        // 如果有二维码结果的Bitmap,在扫取景框内绘制不透明的result Bitmap
-        if (resultBitmap != null) {
-            paint.setAlpha(CURRENT_POINT_OPACITY);
-            canvas.drawBitmap(resultBitmap, null, frame, paint);
-        } else {
-            if (!scannerOptions.isFrameHide())
-                drawFrame(canvas, frame);//绘制扫描框
-            if (!scannerOptions.isFrameCornerHide())
-                drawFrameCorner(canvas, frame);//绘制扫描框4角
-            drawText(canvas, frame);// 画扫描框下面的字
-
-            //全屏移动扫描线
-            if (scannerOptions.isLaserMoveFullScreen()) {
-                moveLaserSpeedFullScreen(cameraManager.getScreenResolution());//计算全屏移动位置
-                drawLaserLineFullScreen(canvas, cameraManager.getScreenResolution());//绘制全屏扫描线
-            } else {
-                drawLaserLine(canvas, frame);//绘制扫描框内扫描线
-                moveLaserSpeed(frame);//计算扫描框内移动位置
-            }
-            if (scannerOptions.getViewfinderCallback() != null) {
-                scannerOptions.getViewfinderCallback().onDraw(this, canvas, frame);
-            }
-        }
-    }
-
-    private void moveLaserSpeed(Rect frame) {
-        //初始化扫描线起始点为扫描框顶部位置
-        if (laserLineTop == 0) {
-            laserLineTop = frame.top;
-        }
-        int laserMoveSpeed = scannerOptions.getLaserLineMoveSpeed();
-        // 每次刷新界面,扫描线往下移动 LASER_VELOCITY
-        laserLineTop += laserMoveSpeed;
-        if (laserLineTop >= frame.bottom) {
-            laserLineTop = frame.top;
-        }
-        if (animationDelay == 0) {
-            animationDelay = (int) ((1.0f * 1000 * laserMoveSpeed) / (frame.bottom - frame.top));
-        }
-
-        // 只刷新扫描框的内容,其他地方不刷新
-        postInvalidateDelayed(animationDelay, frame.left - POINT_SIZE, frame.top - POINT_SIZE
-                , frame.right + POINT_SIZE, frame.bottom + POINT_SIZE);
-    }
-
-    private void moveLaserSpeedFullScreen(Point point) {
-        //初始化扫描线起始点为顶部位置
-        int laserMoveSpeed = scannerOptions.getLaserLineMoveSpeed();
-        // 每次刷新界面,扫描线往下移动 LASER_VELOCITY
-        laserLineTop += laserMoveSpeed;
-        if (laserLineTop >= point.y) {
-            laserLineTop = 0;
-        }
-        if (animationDelay == 0) {
-            animationDelay = (int) ((1.0f * 1000 * laserMoveSpeed) / point.y);
-        }
-        postInvalidateDelayed(animationDelay);
-    }
-
-    /**
-     * 画扫描框外区域
-     *
-     * @param canvas
-     * @param frame
-     */
-    private void drawMask(Canvas canvas, Rect frame) {
-        int width = canvas.getWidth();
-        int height = canvas.getHeight();
-        paint.setColor(resultBitmap != null ? resultColor : scannerOptions.getFrameOutsideColor());
-        canvas.drawRect(0, 0, width, frame.top, paint);
-        canvas.drawRect(0, frame.top, frame.left, frame.bottom + 1, paint);
-        canvas.drawRect(frame.right + 1, frame.top, width, frame.bottom + 1, paint);
-        canvas.drawRect(0, frame.bottom + 1, width, height, paint);
-    }
-
-    /**
-     * 绘制提示文字
-     *
-     * @param canvas
-     * @param frame
-     */
-    private void drawText(Canvas canvas, Rect frame) {
-        TextPaint textPaint = new TextPaint();
-        textPaint.setAntiAlias(true);
-        textPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
-        textPaint.setStyle(Paint.Style.FILL);
-        textPaint.setColor(scannerOptions.getTipTextColor());
-        textPaint.setTextSize(tipTextSize);
-
-        float x = frame.left;//文字开始位置
-        //根据 drawTextGravityBottom 文字在扫描框上方还是上文,默认下方
-        float y = !scannerOptions.isTipTextToFrameTop() ? frame.bottom + tipTextMargin
-                : frame.top - tipTextMargin;
-
-        StaticLayout staticLayout = new StaticLayout(scannerOptions.getTipText(), textPaint, frame.width()
-                , Layout.Alignment.ALIGN_CENTER, 1.0f, 0, false);
-        canvas.save();
-        canvas.translate(x, y);
-        staticLayout.draw(canvas);
-        canvas.restore();
-    }
-
-    /**
-     * 绘制扫描框4角
-     *
-     * @param canvas
-     * @param frame
-     */
-    private void drawFrameCorner(Canvas canvas, Rect frame) {
-        paint.setColor(scannerOptions.getFrameCornerColor());
-        paint.setStyle(Paint.Style.FILL);
-        if (scannerOptions.isFrameCornerInside()) {
-            // 左上角,左
-            canvas.drawRect(frame.left, frame.top, frame.left + frameCornerWidth, frame.top + frameCornerLength, paint);
-            // 左上角,上
-            canvas.drawRect(frame.left, frame.top, frame.left + frameCornerLength, frame.top + frameCornerWidth, paint);
-            // 右上角,右
-            canvas.drawRect(frame.right - frameCornerWidth, frame.top, frame.right, frame.top + frameCornerLength, paint);
-            // 右上角,上
-            canvas.drawRect(frame.right - frameCornerLength, frame.top, frame.right, frame.top + frameCornerWidth, paint);
-            // 左下角,左
-            canvas.drawRect(frame.left, frame.bottom - frameCornerLength, frame.left + frameCornerWidth, frame.bottom, paint);
-            // 左下角,下
-            canvas.drawRect(frame.left, frame.bottom - frameCornerWidth, frame.left + frameCornerLength, frame.bottom, paint);
-            // 右下角,右
-            canvas.drawRect(frame.right - frameCornerWidth, frame.bottom - frameCornerLength, frame.right, frame.bottom, paint);
-            // 右下角,下
-            canvas.drawRect(frame.right - frameCornerLength, frame.bottom - frameCornerWidth, frame.right, frame.bottom, paint);
-        } else {
-            // 左上角
-            canvas.drawRect(frame.left - frameCornerWidth, frame.top, frame.left, frame.top + frameCornerLength, paint);
-            canvas.drawRect(frame.left - frameCornerWidth, frame.top - frameCornerWidth, frame.left + frameCornerLength, frame.top, paint);
-            // 右上角
-            canvas.drawRect(frame.right, frame.top, frame.right + frameCornerWidth, frame.top + frameCornerLength, paint);
-            canvas.drawRect(frame.right - frameCornerLength, frame.top - frameCornerWidth, frame.right + frameCornerWidth, frame.top, paint);
-            // 左下角
-            canvas.drawRect(frame.left - frameCornerWidth, frame.bottom - frameCornerLength, frame.left, frame.bottom, paint);
-            canvas.drawRect(frame.left - frameCornerWidth, frame.bottom, frame.left + frameCornerLength, frame.bottom + frameCornerWidth, paint);
-            // 右下角
-            canvas.drawRect(frame.right, frame.bottom - frameCornerLength, frame.right + frameCornerWidth, frame.bottom, paint);
-            canvas.drawRect(frame.right - frameCornerLength, frame.bottom, frame.right + frameCornerWidth, frame.bottom + frameCornerWidth, paint);
-        }
-    }
-
-    /**
-     * 画扫描框
-     *
-     * @param canvas
-     * @param frame
-     */
-    private void drawFrame(Canvas canvas, Rect frame) {
-        paint.setColor(scannerOptions.getFrameStrokeColor());//扫描边框色
-        paint.setStrokeWidth(scannerOptions.getFrameStrokeWidth());
-        paint.setStyle(Paint.Style.STROKE);
-        canvas.drawRect(frame, paint);
-    }
-
-    /**
-     * 画扫描线
-     *
-     * @param canvas
-     * @param frame
-     */
-    private void drawLaserLine(Canvas canvas, Rect frame) {
-        if (scannerOptions.getLaserStyle() == ScannerOptions.LaserStyle.COLOR_LINE) {
-            paint.setStyle(Paint.Style.FILL);
-            paint.setColor(scannerOptions.getLaserLineColor());// 设置扫描线颜色
-            canvas.drawRect(frame.left, laserLineTop, frame.right
-                    , laserLineTop + laserLineHeight, paint);
-        } else {
-            if (laserLineBitmap == null)//图片资源文件转为 Bitmap
-                laserLineBitmap = BitmapFactory.decodeResource(getResources(), scannerOptions.getLaserLineResId());
-            int height = laserLineBitmap.getHeight();//取原图高
-            //网格图片
-            if (scannerOptions.getLaserStyle() == ScannerOptions.LaserStyle.RES_GRID) {
-                RectF dstRectF = new RectF(frame.left, frame.top, frame.right, laserLineTop);
-                Rect srcRect = new Rect(0, (int) (height - dstRectF.height())
-                        , laserLineBitmap.getWidth(), height);
-                canvas.drawBitmap(laserLineBitmap, srcRect, dstRectF, paint);
-            }
-            //线条图片
-            else {
-                //如果没有设置线条高度,则用图片原始高度
-                if (laserLineHeight == dp2px(ScannerOptions.DEFAULT_LASER_LINE_HEIGHT)) {
-                    laserLineHeight = laserLineBitmap.getHeight() / 2;
-                }
-                Rect laserRect = new Rect(frame.left, laserLineTop, frame.right
-                        , laserLineTop + laserLineHeight);
-                canvas.drawBitmap(laserLineBitmap, null, laserRect, paint);
-            }
-        }
-    }
-
-
-    /**
-     * 画全屏宽扫描线
-     *
-     * @param canvas
-     * @param point
-     */
-    private void drawLaserLineFullScreen(Canvas canvas, Point point) {
-        if (scannerOptions.getLaserStyle() == ScannerOptions.LaserStyle.COLOR_LINE) {
-            paint.setStyle(Paint.Style.FILL);
-            paint.setColor(scannerOptions.getLaserLineColor());// 设置扫描线颜色
-            canvas.drawRect(0, laserLineTop, point.x, laserLineTop + laserLineHeight, paint);
-        } else {
-            if (laserLineBitmap == null)//图片资源文件转为 Bitmap
-                laserLineBitmap = BitmapFactory.decodeResource(getResources(), scannerOptions.getLaserLineResId());
-            int height = laserLineBitmap.getHeight();//取原图高
-            //网格图片
-            if (scannerOptions.getLaserStyle() == ScannerOptions.LaserStyle.RES_GRID) {
-                int dstRectFTop = 0;
-                if (laserLineTop >= height) {
-                    dstRectFTop = laserLineTop - height;
-                }
-                RectF dstRectF = new RectF(0, dstRectFTop, point.x, laserLineTop);
-                Rect srcRect = new Rect(0, (int) (height - dstRectF.height()), laserLineBitmap.getWidth(), height);
-                canvas.drawBitmap(laserLineBitmap, srcRect, dstRectF, paint);
-            }
-            //线条图片
-            else {
-                //如果没有设置线条高度,则用图片原始高度
-                if (laserLineHeight == dp2px(ScannerOptions.DEFAULT_LASER_LINE_HEIGHT)) {
-                    laserLineHeight = laserLineBitmap.getHeight() / 2;
-                }
-                Rect laserRect = new Rect(0, laserLineTop, point.x, laserLineTop + laserLineHeight);
-                canvas.drawBitmap(laserLineBitmap, null, laserRect, paint);
-            }
-        }
-    }
-
-    void drawViewfinder() {
-        Bitmap resultBitmap = this.resultBitmap;
-        this.resultBitmap = null;
-        if (resultBitmap != null) {
-            resultBitmap.recycle();
-        }
-        invalidate();
-    }
-
-    /**
-     * Draw a bitmap with the result points highlighted instead of the live scanning display.
-     *
-     * @param barcode An image of the decoded barcode.
-     */
-    void drawResultBitmap(Bitmap barcode) {
-        resultBitmap = barcode;
-        invalidate();
-    }
-
-    void laserLineBitmapRecycle() {
-        if (laserLineBitmap != null) {
-            laserLineBitmap.recycle();
-            laserLineBitmap = null;
-        }
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/AutoFocusManager.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/AutoFocusManager.java
deleted file mode 100644
index 02d1a07..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/AutoFocusManager.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2012 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera;
-
-import android.hardware.Camera;
-import android.os.AsyncTask;
-import android.util.Log;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.concurrent.RejectedExecutionException;
-
-/**
- * 2017/02/21 4:35
- */
-@SuppressWarnings("deprecation")
-final class AutoFocusManager implements Camera.AutoFocusCallback {
-
-    private static final String TAG = AutoFocusManager.class.getSimpleName();
-
-    private static final long AUTO_FOCUS_INTERVAL_MS = 1000L;
-    private static final Collection<String> FOCUS_MODES_CALLING_AF;
-
-    static {
-        FOCUS_MODES_CALLING_AF = new ArrayList<>(2);
-        FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_AUTO);
-        FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_MACRO);
-    }
-
-    private boolean stopped;
-    private boolean focusing;
-    private final boolean useAutoFocus;
-    private final Camera camera;
-    private AsyncTask<?, ?, ?> outstandingTask;
-
-    AutoFocusManager(Camera camera) {
-        this.camera = camera;
-        String currentFocusMode = camera.getParameters().getFocusMode();
-        // 自动对焦
-        useAutoFocus = true && FOCUS_MODES_CALLING_AF.contains(currentFocusMode);
-        //Log.i(TAG, "Current focus mode '" + currentFocusMode + "'; use auto focus? " +
-        // useAutoFocus);
-        start();
-    }
-
-    @Override
-    public synchronized void onAutoFocus(boolean success, Camera theCamera) {
-        focusing = false;
-        autoFocusAgainLater();
-    }
-
-    private synchronized void autoFocusAgainLater() {
-        if (!stopped && outstandingTask == null) {
-            AutoFocusTask newTask = new AutoFocusTask();
-            try {
-                newTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-                outstandingTask = newTask;
-            } catch (RejectedExecutionException ree) {
-                Log.w(TAG, "Could not request auto focus", ree);
-            }
-        }
-    }
-
-    synchronized void start() {
-        if (useAutoFocus) {
-            outstandingTask = null;
-            if (!stopped && !focusing) {
-                try {
-                    camera.autoFocus(this);
-                    focusing = true;
-                } catch (RuntimeException re) {
-                    // Have heard RuntimeException reported in Android 4.0.x+; continue?
-                    Log.w(TAG, "Unexpected exception while focusing", re);
-                    // Try again later to keep cycle going
-                    autoFocusAgainLater();
-                }
-            }
-        }
-    }
-
-    private synchronized void cancelOutstandingTask() {
-        if (outstandingTask != null) {
-            if (outstandingTask.getStatus() != AsyncTask.Status.FINISHED) {
-                outstandingTask.cancel(true);
-            }
-            outstandingTask = null;
-        }
-    }
-
-    synchronized void stop() {
-        stopped = true;
-        if (useAutoFocus) {
-            cancelOutstandingTask();
-            // Doesn't hurt to call this even if not focusing
-            try {
-                camera.cancelAutoFocus();
-            } catch (RuntimeException re) {
-                // Have heard RuntimeException reported in Android 4.0.x+; continue?
-                Log.w(TAG, "Unexpected exception while cancelling focusing", re);
-            }
-        }
-    }
-
-    private final class AutoFocusTask extends AsyncTask<Object, Object, Object> {
-        @Override
-        protected Object doInBackground(Object... voids) {
-            try {
-                Thread.sleep(AUTO_FOCUS_INTERVAL_MS);
-            } catch (InterruptedException e) {
-                // continue
-            }
-            start();
-            return null;
-        }
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraConfigurationManager.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraConfigurationManager.java
deleted file mode 100644
index 4af25e4..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraConfigurationManager.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera;
-
-import android.content.Context;
-import android.graphics.Point;
-import android.hardware.Camera;
-import android.util.Log;
-import android.view.Display;
-import android.view.Surface;
-import android.view.WindowManager;
-
-import com.zxing.scanner.ScannerOptions;
-import com.zxing.scanner.camera.open.CameraFacing;
-import com.zxing.scanner.camera.open.OpenCamera;
-
-
-/**
- * 相机辅助类,主要用于设置相机的各类参数 2017/02/21 4:35
- * A class which deals with reading, parsing, and setting the camera parameters
- * which are used to configure the camera hardware.
- */
-@SuppressWarnings("deprecation")
-final class CameraConfigurationManager {
-
-    private static final String TAG = "CameraConfiguration";
-    private static final int FRONT_LIGHT_MODE_ON = 0;
-    private static final int FRONT_LIGHT_MODE_OFF = 1;
-    private final Context context;
-    //    private int cwNeededRotation;
-    private int cwRotationFromDisplayToCamera;
-    // 屏幕分辨率
-    private Point screenResolution;
-    // 相机分辨率
-    private Point cameraResolution;
-    private Point bestPreviewSize;
-    //    private Point previewSizeOnScreen;
-    private ScannerOptions scannerOptions;
-
-    CameraConfigurationManager(Context context, ScannerOptions scannerOptions) {
-        this.context = context;
-        this.scannerOptions = scannerOptions;
-    }
-
-    /**
-     * 计算了屏幕分辨率和当前最适合的相机像素
-     * Reads, one time, values from the camera that are needed by the app.
-     */
-    void initFromCameraParameters(OpenCamera camera) {
-        Camera.Parameters parameters = camera.getCamera().getParameters();
-        WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
-        Display display = manager.getDefaultDisplay();
-
-        int displayRotation = display.getRotation();
-        int cwRotationFromNaturalToDisplay;
-        switch (displayRotation) {
-            case Surface.ROTATION_0:
-                cwRotationFromNaturalToDisplay = 0;
-                break;
-            case Surface.ROTATION_90:
-                cwRotationFromNaturalToDisplay = 90;
-                break;
-            case Surface.ROTATION_180:
-                cwRotationFromNaturalToDisplay = 180;
-                break;
-            case Surface.ROTATION_270:
-                cwRotationFromNaturalToDisplay = 270;
-                break;
-            default:
-                // Have seen this return incorrect values like -90
-                if (displayRotation % 90 == 0) {
-                    cwRotationFromNaturalToDisplay = (360 + displayRotation) % 360;
-                } else {
-                    throw new IllegalArgumentException("Bad rotation: " + displayRotation);
-                }
-        }
-        Log.i(TAG, "Display at: " + cwRotationFromNaturalToDisplay);
-
-        int cwRotationFromNaturalToCamera = camera.getOrientation();
-        Log.i(TAG, "Camera at: " + cwRotationFromNaturalToCamera);
-
-        // Still not 100% sure about this. But acts like we need to flip this:
-        if (camera.getFacing() == CameraFacing.FRONT) {
-            cwRotationFromNaturalToCamera = (360 - cwRotationFromNaturalToCamera) % 360;
-            Log.i(TAG, "Front camera overriden to: " + cwRotationFromNaturalToCamera);
-        }
-
-        cwRotationFromDisplayToCamera =
-                (360 + cwRotationFromNaturalToCamera - cwRotationFromNaturalToDisplay) % 360;
-        Log.i(TAG, "Final display orientation: " + cwRotationFromDisplayToCamera);
-//        if (camera.getFacing() == CameraFacing.FRONT) {
-//            Log.i(TAG, "Compensating rotation for front camera");
-//            cwNeededRotation = (360 - cwRotationFromDisplayToCamera) % 360;
-//        } else {
-//            cwNeededRotation = cwRotationFromDisplayToCamera;
-//        }
-//        Log.i(TAG, "Clockwise rotation from display to camera: " + cwNeededRotation);
-
-        Point theScreenResolution = new Point();
-        display.getSize(theScreenResolution);
-        screenResolution = theScreenResolution;
-        Log.i(TAG, "Screen resolution in current orientation: " + screenResolution);
-
-        Point screenResolutionForCamera = new Point();
-        screenResolutionForCamera.x = screenResolution.x;
-        screenResolutionForCamera.y = screenResolution.y;
-        if (screenResolution.x < screenResolution.y) {
-            screenResolutionForCamera.x = screenResolution.y;
-            screenResolutionForCamera.y = screenResolution.x;
-        }
-        cameraResolution = CameraConfigurationUtils.findBestPreviewSizeValue(parameters, screenResolutionForCamera);
-        Log.i(TAG, "Camera resolution: " + cameraResolution);
-        bestPreviewSize = CameraConfigurationUtils.findBestPreviewSizeValue(parameters, screenResolutionForCamera);
-        Log.i(TAG, "Best available preview size: " + bestPreviewSize);
-
-//        boolean isScreenPortrait = screenResolution.x < screenResolution.y;
-//        boolean isPreviewSizePortrait = bestPreviewSize.x < bestPreviewSize.y;
-//
-//        if (isScreenPortrait == isPreviewSizePortrait) {
-//            previewSizeOnScreen = bestPreviewSize;
-//        } else {
-//            previewSizeOnScreen = new Point(bestPreviewSize.y, bestPreviewSize.x);
-//        }
-//        Log.i(TAG, "Preview size on screen: " + previewSizeOnScreen);
-    }
-
-    /**
-     * 读取配置设置相机的对焦模式、闪光灯模式等等
-     *
-     * @param camera
-     * @param safeMode
-     */
-    void setDesiredCameraParameters(OpenCamera camera, boolean safeMode, boolean invertScan) {
-
-        Camera theCamera = camera.getCamera();
-        Camera.Parameters parameters = theCamera.getParameters();
-
-        if (parameters == null) {
-            Log.w(TAG, "Device error: no camera parameters are available. Proceeding without " +
-                    "configuration.");
-            return;
-        }
-
-        if (safeMode) {
-            Log.w(TAG, "In camera config safe mode -- most settings will not be honored");
-        }
-
-        // 默认关闪光灯
-        initializeTorch(parameters, FRONT_LIGHT_MODE_OFF, safeMode);
-        // 自动对焦
-        boolean autoFocus = true;
-        // 持续对焦
-        boolean disableContinuousFocus = true;
-        CameraConfigurationUtils.setFocus(parameters, autoFocus, disableContinuousFocus, safeMode);
-
-        if (!safeMode) {
-            // 反色,扫描黑色背景上的白色条码。仅适用于部分设备。
-            if (invertScan) {
-                CameraConfigurationUtils.setInvertColor(parameters);
-            }
-            // 不进行条形码场景匹配
-            boolean barCodeSceneMode = true;
-            if (!barCodeSceneMode) {
-                CameraConfigurationUtils.setBarcodeSceneMode(parameters);
-            }
-
-            // 不使用距离测量
-            boolean disableMetering = true;
-            if (!disableMetering) {
-                CameraConfigurationUtils.setVideoStabilization(parameters);
-                CameraConfigurationUtils.setFocusArea(parameters);
-                CameraConfigurationUtils.setMetering(parameters);
-            }
-        }
-
-        parameters.setPreviewSize(bestPreviewSize.x, bestPreviewSize.y);
-
-        if (scannerOptions.getCameraZoomRatio() > 0) {
-            CameraConfigurationUtils.setZoom(parameters, scannerOptions.getCameraZoomRatio());
-        }
-
-        theCamera.setParameters(parameters);
-        theCamera.setDisplayOrientation(cwRotationFromDisplayToCamera);
-
-        Camera.Parameters afterParameters = theCamera.getParameters();
-        Camera.Size afterSize = afterParameters.getPreviewSize();
-        if (afterSize != null
-                && (bestPreviewSize.x != afterSize.width || bestPreviewSize.y != afterSize.height)) {
-            bestPreviewSize.x = afterSize.width;
-            bestPreviewSize.y = afterSize.height;
-        }
-    }
-
-//    Point getBestPreviewSize() {
-//        return bestPreviewSize;
-//    }
-
-//    Point getPreviewSizeOnScreen() {
-//        return previewSizeOnScreen;
-//    }
-
-    Point getCameraResolution() {
-        return cameraResolution;
-    }
-
-    Point getScreenResolution() {
-        return screenResolution;
-    }
-
-//    int getCWNeededRotation() {
-//        return cwNeededRotation;
-//    }
-
-    boolean getTorchState(Camera camera) {
-        if (camera != null) {
-            Camera.Parameters parameters = camera.getParameters();
-            if (parameters != null) {
-                String flashMode = camera.getParameters().getFlashMode();
-                return flashMode != null
-                        && (Camera.Parameters.FLASH_MODE_ON.equals(flashMode)
-                        || Camera.Parameters.FLASH_MODE_TORCH
-                        .equals(flashMode));
-            }
-        }
-        return false;
-    }
-
-    void setTorch(Camera camera, boolean newSetting) {
-        Camera.Parameters parameters = camera.getParameters();
-        doSetTorch(parameters, newSetting, false);
-        camera.setParameters(parameters);
-    }
-
-    private void initializeTorch(Camera.Parameters parameters,
-                                 int frontLightMode, boolean safeMode) {
-        boolean currentSetting = frontLightMode == FRONT_LIGHT_MODE_ON;
-        doSetTorch(parameters, currentSetting, safeMode);
-    }
-
-    private void doSetTorch(Camera.Parameters parameters, boolean newSetting,
-                            boolean safeMode) {
-        CameraConfigurationUtils.setTorch(parameters, newSetting);
-        // 不曝光
-        boolean disableExposure = true;
-        if (!safeMode && !disableExposure) {
-            CameraConfigurationUtils.setBestExposure(parameters, newSetting);
-        }
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraConfigurationUtils.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraConfigurationUtils.java
deleted file mode 100644
index 8f62e57..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraConfigurationUtils.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
- * Copyright (C) 2014 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera;
-
-import android.graphics.Point;
-import android.graphics.Rect;
-import android.hardware.Camera;
-import android.util.Log;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Utility methods for configuring the Android camera.
- *
- * @author Sean Owen 2017/05/05 7:30
- */
-@SuppressWarnings("deprecation") // camera APIs
-public final class CameraConfigurationUtils {
-
-    private static final String TAG = "CameraConfiguration";
-
-//    private static final Pattern SEMICOLON = Pattern.compile(";");
-
-    private static final int MIN_PREVIEW_PIXELS = 480 * 320; // normal screen
-    private static final float MAX_EXPOSURE_COMPENSATION = 1.5f;
-    private static final float MIN_EXPOSURE_COMPENSATION = 0.0f;
-    private static final double MAX_ASPECT_DISTORTION = 0.15;
-//        private static final int MIN_FPS = 10;
-//    private static final int MAX_FPS = 20;
-    private static final int AREA_PER_1000 = 400;
-
-    private CameraConfigurationUtils() {
-    }
-
-    public static void setFocus(Camera.Parameters parameters,
-                                boolean autoFocus,
-                                boolean disableContinuous,
-                                boolean safeMode) {
-        List<String> supportedFocusModes = parameters.getSupportedFocusModes();
-        String focusMode = null;
-        if (autoFocus) {
-            if (safeMode || disableContinuous) {
-                focusMode = findSettableValue("focus mode",
-                        supportedFocusModes,
-                        Camera.Parameters.FOCUS_MODE_AUTO);
-            } else {
-                focusMode = findSettableValue("focus mode",
-                        supportedFocusModes,
-                        Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
-                        Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO,
-                        Camera.Parameters.FOCUS_MODE_AUTO);
-            }
-        }
-        // Maybe selected auto-focus but not available, so fall through here:
-        if (!safeMode && focusMode == null) {
-            focusMode = findSettableValue("focus mode",
-                    supportedFocusModes,
-                    Camera.Parameters.FOCUS_MODE_MACRO,
-                    Camera.Parameters.FOCUS_MODE_EDOF);
-        }
-        if (focusMode != null) {
-            if (focusMode.equals(parameters.getFocusMode())) {
-                Log.i(TAG, "Focus mode already set to " + focusMode);
-            } else {
-                parameters.setFocusMode(focusMode);
-            }
-        }
-    }
-
-    public static void setTorch(Camera.Parameters parameters, boolean on) {
-        List<String> supportedFlashModes = parameters.getSupportedFlashModes();
-        String flashMode;
-        if (on) {
-            flashMode = findSettableValue("flash mode",
-                    supportedFlashModes,
-                    Camera.Parameters.FLASH_MODE_TORCH,
-                    Camera.Parameters.FLASH_MODE_ON);
-        } else {
-            flashMode = findSettableValue("flash mode",
-                    supportedFlashModes,
-                    Camera.Parameters.FLASH_MODE_OFF);
-        }
-        if (flashMode != null) {
-            if (flashMode.equals(parameters.getFlashMode())) {
-                Log.i(TAG, "Flash mode already set to " + flashMode);
-            } else {
-                Log.i(TAG, "Setting flash mode to " + flashMode);
-                parameters.setFlashMode(flashMode);
-            }
-        }
-    }
-
-    public static void setBestExposure(Camera.Parameters parameters, boolean lightOn) {
-        int minExposure = parameters.getMinExposureCompensation();
-        int maxExposure = parameters.getMaxExposureCompensation();
-        float step = parameters.getExposureCompensationStep();
-        if ((minExposure != 0 || maxExposure != 0) && step > 0.0f) {
-            // Set low when light is on
-            float targetCompensation = lightOn ? MIN_EXPOSURE_COMPENSATION : MAX_EXPOSURE_COMPENSATION;
-            int compensationSteps = Math.round(targetCompensation / step);
-            float actualCompensation = step * compensationSteps;
-            // Clamp value:
-            compensationSteps = Math.max(Math.min(compensationSteps, maxExposure), minExposure);
-            if (parameters.getExposureCompensation() == compensationSteps) {
-                Log.i(TAG, "Exposure compensation already set to " + compensationSteps + " / " + actualCompensation);
-            } else {
-                Log.i(TAG, "Setting exposure compensation to " + compensationSteps + " / " + actualCompensation);
-                parameters.setExposureCompensation(compensationSteps);
-            }
-        } else {
-            Log.i(TAG, "Camera does not support exposure compensation");
-        }
-    }
-
-//    public static void setBestPreviewFPS(Camera.Parameters parameters) {
-//        setBestPreviewFPS(parameters, MIN_FPS, MAX_FPS);
-//    }
-
-//    public static void setBestPreviewFPS(Camera.Parameters parameters, int minFPS, int maxFPS) {
-//        List<int[]> supportedPreviewFpsRanges = parameters.getSupportedPreviewFpsRange();
-//        Log.i(TAG, "Supported FPS ranges: " + toString(supportedPreviewFpsRanges));
-//        if (supportedPreviewFpsRanges != null && !supportedPreviewFpsRanges.isEmpty()) {
-//            int[] suitableFPSRange = null;
-//            for (int[] fpsRange : supportedPreviewFpsRanges) {
-//                int thisMin = fpsRange[Camera.Parameters.PREVIEW_FPS_MIN_INDEX];
-//                int thisMax = fpsRange[Camera.Parameters.PREVIEW_FPS_MAX_INDEX];
-//                if (thisMin >= minFPS * 1000 && thisMax <= maxFPS * 1000) {
-//                    suitableFPSRange = fpsRange;
-//                    break;
-//                }
-//            }
-//            if (suitableFPSRange == null) {
-//                Log.i(TAG, "No suitable FPS range?");
-//            } else {
-//                int[] currentFpsRange = new int[2];
-//                parameters.getPreviewFpsRange(currentFpsRange);
-//                if (Arrays.equals(currentFpsRange, suitableFPSRange)) {
-//                    Log.i(TAG, "FPS range already set to " + Arrays.toString(suitableFPSRange));
-//                } else {
-//                    Log.i(TAG, "Setting FPS range to " + Arrays.toString(suitableFPSRange));
-//                    parameters.setPreviewFpsRange(suitableFPSRange[Camera.Parameters.PREVIEW_FPS_MIN_INDEX],
-//                            suitableFPSRange[Camera.Parameters.PREVIEW_FPS_MAX_INDEX]);
-//                }
-//            }
-//        }
-//    }
-
-    public static void setFocusArea(Camera.Parameters parameters) {
-        if (parameters.getMaxNumFocusAreas() > 0) {
-//            Log.i(TAG, "Old focus areas: " + toString(parameters.getFocusAreas()));
-            List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
-//            Log.i(TAG, "Setting focus area to : " + toString(middleArea));
-            parameters.setFocusAreas(middleArea);
-        } else {
-            Log.i(TAG, "Device does not support focus areas");
-        }
-    }
-
-    public static void setMetering(Camera.Parameters parameters) {
-        if (parameters.getMaxNumMeteringAreas() > 0) {
-//            Log.i(TAG, "Old metering areas: " + parameters.getMeteringAreas());
-            List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
-//            Log.i(TAG, "Setting metering area to : " + toString(middleArea));
-            parameters.setMeteringAreas(middleArea);
-        } else {
-            Log.i(TAG, "Device does not support metering areas");
-        }
-    }
-
-    private static List<Camera.Area> buildMiddleArea(int areaPer1000) {
-        return Collections.singletonList(
-                new Camera.Area(new Rect(-areaPer1000, -areaPer1000, areaPer1000, areaPer1000), 1));
-    }
-
-    public static void setVideoStabilization(Camera.Parameters parameters) {
-        if (parameters.isVideoStabilizationSupported()) {
-            if (parameters.getVideoStabilization()) {
-                Log.i(TAG, "Video stabilization already enabled");
-            } else {
-                Log.i(TAG, "Enabling video stabilization...");
-                parameters.setVideoStabilization(true);
-            }
-        } else {
-            Log.i(TAG, "This device does not support video stabilization");
-        }
-    }
-
-    public static void setBarcodeSceneMode(Camera.Parameters parameters) {
-        if (Camera.Parameters.SCENE_MODE_BARCODE.equals(parameters.getSceneMode())) {
-            Log.i(TAG, "Barcode scene mode already set");
-            return;
-        }
-        String sceneMode = findSettableValue("scene mode",
-                parameters.getSupportedSceneModes(),
-                Camera.Parameters.SCENE_MODE_BARCODE);
-        if (sceneMode != null) {
-            parameters.setSceneMode(sceneMode);
-        }
-    }
-
-    public static void setZoom(Camera.Parameters parameters, double targetZoomRatio) {
-        if (parameters.isZoomSupported()) {
-            Integer zoom = indexOfClosestZoom(parameters, targetZoomRatio);
-            if (zoom == null) {
-                return;
-            }
-            if (parameters.getZoom() == zoom) {
-                Log.i(TAG, "Zoom is already set to " + zoom);
-            } else {
-                Log.i(TAG, "Setting zoom to " + zoom);
-                parameters.setZoom(zoom);
-            }
-        } else {
-            Log.i(TAG, "Zoom is not supported");
-        }
-    }
-
-    private static Integer indexOfClosestZoom(Camera.Parameters parameters, double targetZoomRatio) {
-        List<Integer> ratios = parameters.getZoomRatios();
-        Log.i(TAG, "Zoom ratios: " + ratios);
-        int maxZoom = parameters.getMaxZoom();
-        if (ratios == null || ratios.isEmpty() || ratios.size() != maxZoom + 1) {
-            Log.w(TAG, "Invalid zoom ratios!");
-            return null;
-        }
-        double target100 = 100.0 * targetZoomRatio;
-        double smallestDiff = Double.POSITIVE_INFINITY;
-        int closestIndex = 0;
-        for (int i = 0; i < ratios.size(); i++) {
-            double diff = Math.abs(ratios.get(i) - target100);
-            if (diff < smallestDiff) {
-                smallestDiff = diff;
-                closestIndex = i;
-            }
-        }
-        Log.i(TAG, "Chose zoom ratio of " + (ratios.get(closestIndex) / 100.0));
-        return closestIndex;
-    }
-
-    public static void setInvertColor(Camera.Parameters parameters) {
-        if (Camera.Parameters.EFFECT_NEGATIVE.equals(parameters.getColorEffect())) {
-            Log.i(TAG, "Negative effect already set");
-            return;
-        }
-        String colorMode = findSettableValue("color effect",
-                parameters.getSupportedColorEffects(),
-                Camera.Parameters.EFFECT_NEGATIVE);
-        if (colorMode != null) {
-            parameters.setColorEffect(colorMode);
-        }
-    }
-
-    public static Point findBestPreviewSizeValue(Camera.Parameters parameters, Point screenResolution) {
-
-        List<Camera.Size> rawSupportedSizes = parameters.getSupportedPreviewSizes();
-        if (rawSupportedSizes == null) {
-            Log.w(TAG, "Device returned no supported preview sizes; using default");
-            Camera.Size defaultSize = parameters.getPreviewSize();
-            if (defaultSize == null) {
-                throw new IllegalStateException("Parameters contained no preview size!");
-            }
-            return new Point(defaultSize.width, defaultSize.height);
-        }
-
-        if (Log.isLoggable(TAG, Log.INFO)) {
-            StringBuilder previewSizesString = new StringBuilder();
-            for (Camera.Size size : rawSupportedSizes) {
-                previewSizesString.append(size.width).append('x').append(size.height).append(' ');
-            }
-            Log.i(TAG, "Supported preview sizes: " + previewSizesString);
-        }
-
-        double screenAspectRatio = screenResolution.x / (double) screenResolution.y;
-
-        // Find a suitable size, with max resolution
-        int maxResolution = 0;
-        Camera.Size maxResPreviewSize = null;
-        for (Camera.Size size : rawSupportedSizes) {
-            int realWidth = size.width;
-            int realHeight = size.height;
-            int resolution = realWidth * realHeight;
-            if (resolution < MIN_PREVIEW_PIXELS) {
-                continue;
-            }
-
-            boolean isCandidatePortrait = realWidth < realHeight;
-            int maybeFlippedWidth = isCandidatePortrait ? realHeight : realWidth;
-            int maybeFlippedHeight = isCandidatePortrait ? realWidth : realHeight;
-            double aspectRatio = maybeFlippedWidth / (double) maybeFlippedHeight;
-            double distortion = Math.abs(aspectRatio - screenAspectRatio);
-            if (distortion > MAX_ASPECT_DISTORTION) {
-                continue;
-            }
-
-            if (maybeFlippedWidth == screenResolution.x && maybeFlippedHeight == screenResolution.y) {
-                Point exactPoint = new Point(realWidth, realHeight);
-                Log.i(TAG, "Found preview size exactly matching screen size: " + exactPoint);
-                return exactPoint;
-            }
-
-            // Resolution is suitable; record the one with max resolution
-            if (resolution > maxResolution) {
-                maxResolution = resolution;
-                maxResPreviewSize = size;
-            }
-        }
-
-        // If no exact match, use largest preview size. This was not a great idea on older devices because
-        // of the additional computation needed. We're likely to get here on newer Android 4+ devices, where
-        // the CPU is much more powerful.
-        if (maxResPreviewSize != null) {
-            Camera.Size closelySize = findCloselySize(maxResPreviewSize.width, maxResPreviewSize.height, rawSupportedSizes);
-            Point largestSize = new Point(closelySize.width, closelySize.height);
-            Log.i(TAG, "Using largest suitable preview size: " + largestSize);
-            return largestSize;
-        }
-
-        // If there is nothing at all suitable, return current preview size
-        Camera.Size defaultPreview = parameters.getPreviewSize();
-        if (defaultPreview == null) {
-            throw new IllegalStateException("Parameters contained no preview size!");
-        }
-        Point defaultSize = new Point(defaultPreview.width, defaultPreview.height);
-        Log.i(TAG, "No suitable preview sizes, using default: " + defaultSize);
-        return defaultSize;
-    }
-
-    private static String findSettableValue(String name,
-                                            Collection<String> supportedValues,
-                                            String... desiredValues) {
-        Log.i(TAG, "Requesting " + name + " value from among: " + Arrays.toString(desiredValues));
-        Log.i(TAG, "Supported " + name + " values: " + supportedValues);
-        if (supportedValues != null) {
-            for (String desiredValue : desiredValues) {
-                if (supportedValues.contains(desiredValue)) {
-                    Log.i(TAG, "Can set " + name + " to: " + desiredValue);
-                    return desiredValue;
-                }
-            }
-        }
-        Log.i(TAG, "No supported values match");
-        return null;
-    }
-
-//    private static String toString(Collection<int[]> arrays) {
-//        if (arrays == null || arrays.isEmpty()) {
-//            return "[]";
-//        }
-//        StringBuilder buffer = new StringBuilder();
-//        buffer.append('[');
-//        Iterator<int[]> it = arrays.iterator();
-//        while (it.hasNext()) {
-//            buffer.append(Arrays.toString(it.next()));
-//            if (it.hasNext()) {
-//                buffer.append(", ");
-//            }
-//        }
-//        buffer.append(']');
-//        return buffer.toString();
-//    }
-
-//    private static String toString(Iterable<Camera.Area> areas) {
-//        if (areas == null) {
-//            return null;
-//        }
-//        StringBuilder result = new StringBuilder();
-//        for (Camera.Area area : areas) {
-//            result.append(area.rect).append(':').append(area.weight).append(' ');
-//        }
-//        return result.toString();
-//    }
-
-//    public static String collectStats(Camera.Parameters parameters) {
-//        return collectStats(parameters.flatten());
-//    }
-
-//    public static String collectStats(CharSequence flattenedParams) {
-//        StringBuilder result = new StringBuilder(1000);
-//
-//        result.append("BOARD=").append(Build.BOARD).append('\n');
-//        result.append("BRAND=").append(Build.BRAND).append('\n');
-//        result.append("CPU_ABI=").append(Build.CPU_ABI).append('\n');
-//        result.append("DEVICE=").append(Build.DEVICE).append('\n');
-//        result.append("DISPLAY=").append(Build.DISPLAY).append('\n');
-//        result.append("FINGERPRINT=").append(Build.FINGERPRINT).append('\n');
-//        result.append("HOST=").append(Build.HOST).append('\n');
-//        result.append("ID=").append(Build.ID).append('\n');
-//        result.append("MANUFACTURER=").append(Build.MANUFACTURER).append('\n');
-//        result.append("MODEL=").append(Build.MODEL).append('\n');
-//        result.append("PRODUCT=").append(Build.PRODUCT).append('\n');
-//        result.append("TAGS=").append(Build.TAGS).append('\n');
-//        result.append("TIME=").append(Build.TIME).append('\n');
-//        result.append("TYPE=").append(Build.TYPE).append('\n');
-//        result.append("USER=").append(Build.USER).append('\n');
-//        result.append("VERSION.CODENAME=").append(Build.VERSION.CODENAME).append('\n');
-//        result.append("VERSION.INCREMENTAL=").append(Build.VERSION.INCREMENTAL).append('\n');
-//        result.append("VERSION.RELEASE=").append(Build.VERSION.RELEASE).append('\n');
-//        result.append("VERSION.SDK_INT=").append(Build.VERSION.SDK_INT).append('\n');
-//
-//        if (flattenedParams != null) {
-//            String[] params = SEMICOLON.split(flattenedParams);
-//            Arrays.sort(params);
-//            for (String param : params) {
-//                result.append(param).append('\n');
-//            }
-//        }
-//
-//        return result.toString();
-//    }
-
-    /**
-     * 通过对比得到与宽高比最接近的尺寸(如果有相同尺寸,优先选择)
-     *
-     * @param surfaceWidth  需要被进行对比的原宽
-     * @param surfaceHeight 需要被进行对比的原高
-     * @param preSizeList   需要对比的预览尺寸列表
-     * @return 得到与原宽高比例最接近的尺寸
-     */
-    protected static Camera.Size findCloselySize(int surfaceWidth, int surfaceHeight
-            , List<Camera.Size> preSizeList) {
-        Collections.sort(preSizeList, new SizeComparator(surfaceWidth, surfaceHeight));
-        return preSizeList.get(0);
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraManager.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraManager.java
deleted file mode 100644
index e455138..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/CameraManager.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera;
-
-import android.content.Context;
-import android.content.res.Configuration;
-import android.graphics.Point;
-import android.graphics.Rect;
-import android.hardware.Camera;
-import android.os.Handler;
-import android.util.Log;
-import android.view.SurfaceHolder;
-
-import com.google.zxing.PlanarYUVLuminanceSource;
-import com.zxing.scanner.ScannerOptions;
-import com.zxing.scanner.camera.open.CameraFacing;
-import com.zxing.scanner.camera.open.OpenCamera;
-import com.zxing.scanner.camera.open.OpenCameraInterface;
-import com.zxing.scanner.common.Scanner;
-
-import java.io.IOException;
-
-/**
- * This object wraps the Camera service object and expects to be the only one talking to it. The
- * implementation encapsulates the steps needed to take preview-sized images, which are used for
- * both preview and decoding.
- *
- * @author dswitkin@google.com (Daniel Switkin) 2017/06/15 1:50
- */
-public final class CameraManager {
-
-    private static final String TAG = CameraManager.class.getSimpleName();
-
-    private static final int MIN_FRAME_WIDTH = 240;
-    private static final int MIN_FRAME_HEIGHT = 240;
-    public static final int MAX_FRAME_WIDTH = 1200; // = 5/8 * 1920
-    public static final int MAX_FRAME_HEIGHT = 675; // = 5/8 * 1080
-
-    private final Context context;
-    private final CameraConfigurationManager configManager;
-    private OpenCamera camera;
-    private AutoFocusManager autoFocusManager;
-    private Rect framingRect;
-    private Rect framingRectInPreview;
-    private boolean initialized;
-    private boolean previewing;
-    private int requestedCameraId = OpenCameraInterface.NO_REQUESTED_CAMERA;
-    private int requestedFramingRectWidth;
-    private int requestedFramingRectHeight;
-    /**
-     * Preview frames are delivered here, which we pass on to the registered handler. Make sure to
-     * clear the handler so it will only receive one message.
-     */
-    private final PreviewCallback previewCallback;
-    private final int statusBarHeight;//状态栏高度
-    private int laserFrameTopMargin;
-    private ScannerOptions scannerOptions;
-
-    public CameraManager(Context context, ScannerOptions scannerOptions) {
-        this.context = context;
-        this.configManager = new CameraConfigurationManager(context, scannerOptions);
-        this.previewCallback = new PreviewCallback(configManager);
-
-        this.statusBarHeight = getStatusBarHeight();
-        this.scannerOptions = scannerOptions;
-        this.requestedFramingRectWidth = dp2px(scannerOptions.getFrameWidth());
-        this.requestedFramingRectHeight = dp2px(scannerOptions.getFrameHeight());
-        this.laserFrameTopMargin = dp2px(scannerOptions.getFrameTopMargin());
-        setManualCameraId(scannerOptions.getCameraFacing() == CameraFacing.BACK ? 0 : 1);
-    }
-
-    /**
-     * Opens the camera driver and initializes the hardware parameters.
-     *
-     * @param holder The surface object which the camera will draw preview frames into.
-     * @throws IOException Indicates the camera driver failed to open.
-     */
-    public synchronized void openDriver(SurfaceHolder holder) throws IOException {
-        OpenCamera theCamera = camera;
-        if (theCamera == null) {
-            //获取手机背面的摄像头
-            theCamera = OpenCameraInterface.open(requestedCameraId);
-            if (theCamera == null) {
-                throw new IOException("Camera.open() failed to return object from driver");
-            }
-            camera = theCamera;
-        }
-
-        if (!initialized) {
-            initialized = true;
-            configManager.initFromCameraParameters(theCamera);
-            if (requestedFramingRectWidth > 0 && requestedFramingRectHeight > 0) {
-                setManualFramingRect(requestedFramingRectWidth, requestedFramingRectHeight);
-                requestedFramingRectWidth = 0;
-                requestedFramingRectHeight = 0;
-            }
-        }
-
-        Camera cameraObject = theCamera.getCamera();
-        Camera.Parameters parameters = cameraObject.getParameters();
-        String parametersFlattened = parameters == null ? null : parameters.flatten(); // Save these, temporarily
-        try {
-            configManager.setDesiredCameraParameters(theCamera, false, scannerOptions.isScanInvert());
-        } catch (RuntimeException re) {
-            // Driver failed
-            Log.w(TAG, "Camera rejected parameters. Setting only minimal safe-mode parameters");
-            Log.i(TAG, "Resetting to saved camera params: " + parametersFlattened);
-            // Reset:
-            if (parametersFlattened != null) {
-                parameters = cameraObject.getParameters();
-                parameters.unflatten(parametersFlattened);
-                try {
-                    cameraObject.setParameters(parameters);
-                    configManager.setDesiredCameraParameters(theCamera, true, scannerOptions.isScanInvert());
-                } catch (RuntimeException re2) {
-                    // Well, darn. Give up
-                    Log.w(TAG, "Camera rejected even safe-mode parameters! No configuration");
-                }
-            }
-        }
-        //设置摄像头预览view
-        cameraObject.setPreviewDisplay(holder);
-    }
-
-    public synchronized boolean isOpen() {
-        return camera != null;
-    }
-
-    /**
-     * Closes the camera driver if still in use.
-     */
-    public synchronized void closeDriver() {
-        if (camera != null) {
-            camera.getCamera().release();
-            camera = null;
-            // Make sure to clear these each time we close the camera, so that any scanning rect
-            // requested by intent is forgotten.
-            framingRect = null;
-            framingRectInPreview = null;
-        }
-    }
-
-    /**
-     * Asks the camera hardware to begin drawing preview frames to the screen.
-     */
-    public synchronized void startPreview() {
-        OpenCamera theCamera = camera;
-        if (theCamera != null && !previewing) {
-            theCamera.getCamera().startPreview();
-            previewing = true;
-            autoFocusManager = new AutoFocusManager(theCamera.getCamera());
-        }
-    }
-
-    /**
-     * Tells the camera to stop drawing preview frames.
-     */
-    public synchronized void stopPreview() {
-        if (autoFocusManager != null) {
-            autoFocusManager.stop();
-            autoFocusManager = null;
-        }
-        if (camera != null && previewing) {
-            camera.getCamera().stopPreview();
-            previewCallback.setHandler(null, 0);
-            previewing = false;
-        }
-    }
-
-    /**
-     * 设置闪光灯
-     *
-     * @param newSetting if {@code true}, light should be turned on if currently off. And vice
-     *                   versa.
-     */
-    public synchronized void setTorch(boolean newSetting) {
-        OpenCamera theCamera = camera;
-        if (theCamera != null && newSetting != configManager.getTorchState(theCamera.getCamera())) {
-            boolean wasAutoFocusManager = autoFocusManager != null;
-            if (wasAutoFocusManager) {
-                autoFocusManager.stop();
-                autoFocusManager = null;
-            }
-            configManager.setTorch(theCamera.getCamera(), newSetting);
-            if (wasAutoFocusManager) {
-                autoFocusManager = new AutoFocusManager(theCamera.getCamera());
-                autoFocusManager.start();
-            }
-        }
-    }
-
-    /**
-     * A single preview frame will be returned to the handler supplied. The data will arrive as
-     * byte[]
-     * in the message.obj field, with width and height encoded as message.arg1 and message.arg2,
-     * respectively.
-     * <br/>
-     * <p/>
-     * 1:将handler与preview回调函数绑定;<br/>
-     * 2:注册preview回调函数<br/>
-     * 综上,该函数的作用是当相机的预览界面准备就绪后就会调用handler向其发送传入的message
-     *
-     * @param handler The handler to send the message to.
-     * @param message The what field of the message to be sent.
-     */
-    public synchronized void requestPreviewFrame(Handler handler, int message) {
-        OpenCamera theCamera = camera;
-        if (theCamera != null && previewing) {
-            previewCallback.setHandler(handler, message);
-            theCamera.getCamera().setOneShotPreviewCallback(previewCallback);
-        }
-    }
-
-    /**
-     * Calculates the framing rect which the UI should draw to show the user where to place the
-     * barcode. This target helps with alignment as well as forces the user to hold the device
-     * far enough away to ensure the image will be in focus.
-     *
-     * @return The rectangle to draw on screen in window coordinates.
-     */
-    public synchronized Rect getFramingRect() {
-        if (framingRect == null) {
-            if (camera == null) {
-                return null;
-            }
-            Point screenResolution = configManager.getScreenResolution();
-            if (screenResolution == null) {
-                // Called early, before init even finished
-                return null;
-            }
-            int height;
-            int width = findDesiredDimensionInRange(screenResolution.x, MIN_FRAME_WIDTH, MAX_FRAME_WIDTH);
-            //竖屏则为正方形
-            if (isPortrait()) {
-                height = width;
-            } else {
-                height = findDesiredDimensionInRange(screenResolution.y, MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT);
-            }
-            createFramingRect(width, height, screenResolution);
-        }
-        return framingRect;
-    }
-
-    private static int findDesiredDimensionInRange(int resolution, int hardMin, int hardMax) {
-        int dim = 5 * resolution / 8; // Target 5/8 of each dimension
-        if (dim < hardMin) {
-            return hardMin;
-        }
-        if (dim > hardMax) {
-            return hardMax;
-        }
-        return dim;
-    }
-
-    /**
-     * Like {@link #getFramingRect} but coordinates are in terms of the preview frame,
-     * not UI / screen.
-     *
-     * @return {@link Rect} expressing barcode scan area in terms of the preview size
-     */
-    public synchronized Rect getFramingRectInPreview() {
-        if (framingRectInPreview == null) {
-            Rect framingRect = getFramingRect();
-            if (framingRect == null) {
-                return null;
-            }
-            Rect rect = new Rect(framingRect);
-            Point cameraResolution = configManager.getCameraResolution();
-            Point screenResolution = configManager.getScreenResolution();
-            if (cameraResolution == null || screenResolution == null) {
-                // Called early, before init even finished
-                return null;
-            }
-
-            //竖屏识别一维
-            if (isPortrait()) {
-                rect.left = rect.left * cameraResolution.y / screenResolution.x;
-                rect.right = rect.right * cameraResolution.y / screenResolution.x;
-                rect.top = rect.top * cameraResolution.x / screenResolution.y;
-                rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;
-            } else {
-                rect.left = rect.left * cameraResolution.x / screenResolution.x;
-                rect.right = rect.right * cameraResolution.x / screenResolution.x;
-                rect.top = rect.top * cameraResolution.y / screenResolution.y;
-                rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y;
-            }
-            framingRectInPreview = rect;
-        }
-        Log.d(TAG, "framing Rect In Preview rect: " + framingRectInPreview);
-        return framingRectInPreview;
-    }
-
-
-    /**
-     * Allows third party apps to specify the camera ID, rather than determine
-     * it automatically based on available cameras and their orientation.
-     *
-     * @param cameraId camera ID of the camera to use. A negative value means "no preference".
-     */
-    public synchronized void setManualCameraId(int cameraId) {
-        requestedCameraId = cameraId;
-    }
-
-    /**
-     * Allows third party apps to specify the scanning rectangle dimensions, rather than determine
-     * them automatically based on screen resolution.
-     *
-     * @param width  The width in pixels to scan.
-     * @param height The height in pixels to scan.
-     */
-    public synchronized void setManualFramingRect(int width, int height) {
-        if (initialized) {
-            Point screenResolution = configManager.getScreenResolution();
-            if (width > screenResolution.x) {
-                width = screenResolution.x;
-            }
-            if (height > screenResolution.y) {
-                height = screenResolution.y;
-            }
-
-            createFramingRect(width, height, screenResolution);
-            framingRectInPreview = null;
-        } else {
-            requestedFramingRectWidth = width;
-            requestedFramingRectHeight = height;
-        }
-    }
-
-    private void createFramingRect(int width, int height, Point screenResolution) {
-        int leftOffset = (screenResolution.x - width) / 2;
-        int topOffset = (screenResolution.y - height) / 2;
-        int top = laserFrameTopMargin;
-        if (top == 0)
-            top = topOffset - statusBarHeight;
-        else {
-            top += statusBarHeight;
-        }
-        framingRect = new Rect(leftOffset, top, leftOffset + width, top + height);
-        Log.d(TAG, "Calculated framing rect: " + framingRect);
-    }
-
-    /**
-     * A factory method to build the appropriate LuminanceSource object based on the format
-     * of the preview buffers, as described by Camera.Parameters.
-     *
-     * @param data   A preview frame.
-     * @param width  The width of the image.
-     * @param height The height of the image.
-     * @return A PlanarYUVLuminanceSource instance.
-     */
-    public PlanarYUVLuminanceSource buildLuminanceSource(byte[] data, int width, int height) {
-        if (scannerOptions.isScanFullScreen()) {
-            return new PlanarYUVLuminanceSource(data, width, height, 0, 0, width, height, false);
-        }
-        Rect rect = getFramingRectInPreview();
-        if (rect == null) {
-            return null;
-        }
-        // Go ahead and assume it's YUV rather than die.
-        return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, rect.width(), rect.height(), false);
-    }
-
-    /**
-     * 获取状态栏高度
-     *
-     * @return
-     */
-    private int getStatusBarHeight() {
-        int result = 0;
-        int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
-        if (resourceId > 0) {
-            result = context.getResources().getDimensionPixelSize(resourceId);
-        }
-        return result;
-    }
-
-    private int dp2px(int dp) {
-        return Scanner.dp2px(context, dp);
-    }
-
-    public boolean isPortrait() {
-        return context.getResources().getConfiguration().orientation ==
-                Configuration.ORIENTATION_PORTRAIT;
-    }
-
-    public Point getScreenResolution() {
-        return configManager.getScreenResolution();
-    }
-
-    public Point getCameraResolution() {
-        return configManager.getCameraResolution();
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/PreviewCallback.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/PreviewCallback.java
deleted file mode 100644
index b2ffc20..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/PreviewCallback.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera;
-
-import android.graphics.Point;
-import android.hardware.Camera;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-
-@SuppressWarnings("deprecation")
-final class PreviewCallback implements Camera.PreviewCallback {
-
-  private static final String TAG = PreviewCallback.class.getSimpleName();
-
-    private final CameraConfigurationManager configManager;
-    private Handler previewHandler;
-    private int previewMessage;
-
-    PreviewCallback(CameraConfigurationManager configManager) {
-        this.configManager = configManager;
-    }
-
-    void setHandler(Handler previewHandler, int previewMessage) {
-        this.previewHandler = previewHandler;
-        this.previewMessage = previewMessage;
-    }
-
-    @Override
-    public void onPreviewFrame(byte[] data, Camera camera) {
-        Point cameraResolution = configManager.getCameraResolution();
-        Handler thePreviewHandler = previewHandler;
-        if (cameraResolution != null && thePreviewHandler != null) {
-            Message message = thePreviewHandler.obtainMessage(previewMessage, cameraResolution.x,
-                    cameraResolution.y, data);
-            message.sendToTarget();
-            previewHandler = null;
-    } else {
-            Log.d(TAG, "Got preview callback, but no handler or resolution available");
-        }
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/SizeComparator.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/SizeComparator.java
deleted file mode 100644
index ada8c31..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/SizeComparator.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.zxing.scanner.camera;
-
-import android.hardware.Camera;
-
-import java.util.Comparator;
-
-/**
- * Created by hupei on 2017/11/23.
- */
-
-class SizeComparator implements Comparator<Camera.Size> {
-
-    private final int width;
-    private final int height;
-    private final float ratio;
-
-    SizeComparator(int width, int height) {
-        if (width < height) {
-            this.width = height;
-            this.height = width;
-        } else {
-            this.width = width;
-            this.height = height;
-        }
-        this.ratio = (float) this.height / this.width;
-    }
-
-    @Override
-    public int compare(Camera.Size size1, Camera.Size size2) {
-        int width1 = size1.width;
-        int height1 = size1.height;
-        int width2 = size2.width;
-        int height2 = size2.height;
-
-        float ratio1 = Math.abs((float) height1 / width1 - ratio);
-        float ratio2 = Math.abs((float) height2 / width2 - ratio);
-        int result = Float.compare(ratio1, ratio2);
-        if (result != 0) {
-            return result;
-        } else {
-            int minGap1 = Math.abs(width - width1) + Math.abs(height - height1);
-            int minGap2 = Math.abs(width - width2) + Math.abs(height - height2);
-            return minGap1 - minGap2;
-        }
-    }
-}
\ No newline at end of file
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/CameraFacing.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/CameraFacing.java
deleted file mode 100644
index 8fc2200..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/CameraFacing.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2015 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera.open;
-
-/**
- * Enumeration of directions a camera may face: front or back.
- */
-public enum CameraFacing {
-
-  BACK,  // must be value 0!
-  FRONT, // must be value 1!
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/OpenCamera.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/OpenCamera.java
deleted file mode 100644
index b0bf8c7..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/OpenCamera.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2015 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera.open;
-
-import android.hardware.Camera;
-
-/**
- * Represents an open {@link Camera} and its metadata, like facing direction and orientation.
- */
-@SuppressWarnings("deprecation")
-public final class OpenCamera {
-  
-  private final int index;
-  private final Camera camera;
-  private final CameraFacing facing;
-  private final int orientation;
-  
-  public OpenCamera(int index, Camera camera, CameraFacing facing, int orientation) {
-    this.index = index;
-    this.camera = camera;
-    this.facing = facing;
-    this.orientation = orientation;
-  }
-
-  public Camera getCamera() {
-    return camera;
-  }
-
-  public CameraFacing getFacing() {
-    return facing;
-  }
-
-  public int getOrientation() {
-    return orientation;
-  }
-
-  @Override
-  public String toString() {
-    return "Camera #" + index + " : " + facing + ',' + orientation;
-  }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/OpenCameraInterface.java b/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/OpenCameraInterface.java
deleted file mode 100644
index bef317e..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/camera/open/OpenCameraInterface.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2012 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.camera.open;
-
-import android.hardware.Camera;
-import android.util.Log;
-
-/**
- * Abstraction over the {@link Camera} API that helps open them and return their metadata.
- */
-@SuppressWarnings("deprecation")
-public final class OpenCameraInterface {
-
-  private static final String TAG = OpenCameraInterface.class.getName();
-
-    private OpenCameraInterface() {
-    }
-
-    /**
-     * For {@link #open(int)}, means no preference for which camera to open.
-     */
-    public static final int NO_REQUESTED_CAMERA = -1;
-
-    /**
-     * Opens the requested camera with {@link Camera#open(int)}, if one exists.
-     *
-     * @param cameraId camera ID of the camera to use. A negative value
-     *                 or {@link #NO_REQUESTED_CAMERA} means "no preference", in which case a rear-facing
-     *                 camera is returned if possible or else any camera
-     * @return handle to {@link OpenCamera} that was opened
-     */
-    public static OpenCamera open(int cameraId) {
-
-        int numCameras = Camera.getNumberOfCameras();
-        if (numCameras == 0) {
-             Log.w(TAG, "No cameras!");
-            return null;
-        }
-
-        boolean explicitRequest = cameraId >= 0;
-
-        Camera.CameraInfo selectedCameraInfo = null;
-        int index;
-        if (explicitRequest) {
-            index = cameraId;
-            selectedCameraInfo = new Camera.CameraInfo();
-            Camera.getCameraInfo(index, selectedCameraInfo);
-        } else {
-            index = 0;
-            while (index < numCameras) {
-                Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
-                Camera.getCameraInfo(index, cameraInfo);
-                CameraFacing reportedFacing = CameraFacing.values()[cameraInfo.facing];
-                if (reportedFacing == CameraFacing.BACK) {
-                    selectedCameraInfo = cameraInfo;
-                    break;
-                }
-                index++;
-            }
-        }
-
-        Camera camera;
-        if (index < numCameras) {
-              Log.i(TAG, "Opening camera #" + index);
-            camera = Camera.open(index);
-        } else {
-            if (explicitRequest) {
-                    Log.w(TAG, "Requested camera does not exist: " + cameraId);
-                camera = null;
-            } else {
-                    Log.i(TAG, "No camera facing " + CameraFacing.BACK + "; returning camera #0");
-                camera = Camera.open(0);
-                selectedCameraInfo = new Camera.CameraInfo();
-                Camera.getCameraInfo(0, selectedCameraInfo);
-            }
-        }
-
-        if (camera == null) {
-            return null;
-        }
-        return new OpenCamera(index, camera, CameraFacing.values()[selectedCameraInfo.facing],
-                selectedCameraInfo.orientation);
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/common/Scanner.java b/zxinglibrary/src/main/java/com/zxing/scanner/common/Scanner.java
deleted file mode 100644
index 00fac0b..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/common/Scanner.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.zxing.scanner.common;
-
-import android.content.Context;
-import android.util.TypedValue;
-
-import com.google.zxing.Result;
-import com.google.zxing.client.result.ParsedResult;
-import com.google.zxing.client.result.ResultParser;
-
-/**
- * Created by hupei on 2016/7/1.
- */
-public final class Scanner {
-    public static final int RESTART_PREVIEW = 0;
-    public static final int DECODE_SUCCEEDED = 1;
-    public static final int DECODE_FAILED = 2;
-    public static final int RETURN_SCAN_RESULT = 3;
-    public static final int LAUNCH_PRODUCT_QUERY = 4;
-    public static final int DECODE = 5;
-    public static final int QUIT = 6;
-
-    public static class color {
-        public static final int VIEWFINDER_MASK = 0x60000000;
-        public static final int RESULT_VIEW = 0xb0000000;
-        public static final int VIEWFINDER_LASER = 0xff00ff00;
-        public static final int POSSIBLE_RESULT_POINTS = 0xc0ffbd21;
-        public static final int RESULT_POINTS = 0xc099cc00;
-    }
-
-    public static class Scan {
-        public static final String ACTION = "com.mylhyl.zxing.scanner.client.android.SCAN";
-
-        public static final String RESULT = "SCAN_RESULT";
-    }
-
-    public static class ScanMode {
-
-        /**
-         * Decode only UPC and EAN barcodes. This is the right choice for shopping apps which get
-         * prices, reviews, etc. for products.
-         */
-        public static final String PRODUCT_MODE = "PRODUCT_MODE";
-
-        /**
-         * Decode only 1D barcodes.
-         */
-        public static final String ONE_D_MODE = "ONE_D_MODE";
-
-        /**
-         * Decode only QR codes.
-         */
-        public static final String QR_CODE_MODE = "QR_CODE";
-
-        /**
-         * Decode only Data Matrix codes.
-         */
-        public static final String DATA_MATRIX_MODE = "DATA_MATRIX_MODE";
-    }
-
-    public static ParsedResult parseResult(Result rawResult) {
-        if (rawResult == null) return null;
-        return ResultParser.parseResult(rawResult);
-    }
-
-    public static int dp2px(Context context, float dpValue) {
-        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue
-                , context.getResources().getDisplayMetrics());
-    }
-
-    public static int sp2px(Context context, float spValue) {
-        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spValue
-                , context.getResources().getDisplayMetrics());
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/decode/BitmapLuminanceSource.java b/zxinglibrary/src/main/java/com/zxing/scanner/decode/BitmapLuminanceSource.java
deleted file mode 100644
index f84c69b..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/decode/BitmapLuminanceSource.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.zxing.scanner.decode;
-
-import android.graphics.Bitmap;
-
-import com.google.zxing.LuminanceSource;
-
-/**
- *
- * 解析Bitmap LuminanceSource
- */
-public class BitmapLuminanceSource extends LuminanceSource {
-
-    private byte bitmapPixels[];
-
-    public BitmapLuminanceSource(Bitmap bitmap) {
-        super(bitmap.getWidth(), bitmap.getHeight());
-
-        // 首先,要取得该图片的像素数组内容
-        int[] data = new int[bitmap.getWidth() * bitmap.getHeight()];
-        this.bitmapPixels = new byte[bitmap.getWidth() * bitmap.getHeight()];
-        bitmap.getPixels(data, 0, getWidth(), 0, 0, getWidth(), getHeight());
-
-        // 将int数组转换为byte数组,也就是取像素值中蓝色值部分作为辨析内容
-        for (int i = 0; i < data.length; i++) {
-            this.bitmapPixels[i] = (byte) data[i];
-        }
-    }
-
-    @Override
-    public byte[] getMatrix() {
-        // 返回我们生成好的像素数据
-        return bitmapPixels;
-    }
-
-    @Override
-    public byte[] getRow(int y, byte[] row) {
-        // 这里要得到指定行的像素数据
-        System.arraycopy(bitmapPixels, y * getWidth(), row, 0, getWidth());
-        return row;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeFormatManager.java b/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeFormatManager.java
deleted file mode 100644
index 67cc04f..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeFormatManager.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.zxing.scanner.decode;
-
-import android.text.TextUtils;
-
-import com.google.zxing.BarcodeFormat;
-import com.zxing.scanner.common.Scanner;
-
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Created by hupei on 2017/7/7.
- */
-
-public final class DecodeFormatManager {
-
-    static final Set<BarcodeFormat> PRODUCT_FORMATS;
-    static final Set<BarcodeFormat> INDUSTRIAL_FORMATS;
-    private static final Set<BarcodeFormat> ONE_D_FORMATS;
-    static final Set<BarcodeFormat> QR_CODE_FORMATS = EnumSet.of(BarcodeFormat.QR_CODE);
-    static final Set<BarcodeFormat> DATA_MATRIX_FORMATS = EnumSet.of(BarcodeFormat.DATA_MATRIX);
-
-    static {
-        PRODUCT_FORMATS = EnumSet.of(
-                BarcodeFormat.UPC_A,
-                BarcodeFormat.UPC_E,
-                BarcodeFormat.EAN_13,
-                BarcodeFormat.EAN_8,
-                BarcodeFormat.RSS_14,
-                BarcodeFormat.RSS_EXPANDED);
-        INDUSTRIAL_FORMATS = EnumSet.of(
-                BarcodeFormat.CODE_39,
-                BarcodeFormat.CODE_93,
-                BarcodeFormat.CODE_128,
-                BarcodeFormat.ITF,
-                BarcodeFormat.CODABAR);
-        ONE_D_FORMATS = EnumSet.copyOf(PRODUCT_FORMATS);
-        ONE_D_FORMATS.addAll(INDUSTRIAL_FORMATS);
-    }
-
-    private static final Map<String, Set<BarcodeFormat>> FORMATS_FOR_MODE;
-
-    static {
-        FORMATS_FOR_MODE = new HashMap<>();
-        FORMATS_FOR_MODE.put(Scanner.ScanMode.ONE_D_MODE, ONE_D_FORMATS);
-        FORMATS_FOR_MODE.put(Scanner.ScanMode.PRODUCT_MODE, PRODUCT_FORMATS);
-        FORMATS_FOR_MODE.put(Scanner.ScanMode.QR_CODE_MODE, QR_CODE_FORMATS);
-        FORMATS_FOR_MODE.put(Scanner.ScanMode.DATA_MATRIX_MODE, DATA_MATRIX_FORMATS);
-    }
-
-    private DecodeFormatManager() {
-    }
-
-    public static Set<BarcodeFormat> parseDecodeFormats(BarcodeFormat... scanFormats) {
-        if (scanFormats != null) {
-            Set<BarcodeFormat> formats = EnumSet.noneOf(BarcodeFormat.class);
-            try {
-                for (BarcodeFormat format : scanFormats) {
-                    formats.add(format);
-                }
-                return formats;
-            } catch (IllegalArgumentException iae) {
-                // ignore it then
-            }
-        }
-        return null;
-    }
-
-    public static Set<BarcodeFormat> parseDecodeFormats(String decodeMode) {
-        if (!TextUtils.isEmpty(decodeMode)) {
-            return FORMATS_FOR_MODE.get(decodeMode);
-        }
-        return null;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeHandler.java b/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeHandler.java
deleted file mode 100644
index df231a8..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeHandler.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.decode;
-
-import android.graphics.Bitmap;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-
-import com.google.zxing.BinaryBitmap;
-import com.google.zxing.DecodeHintType;
-import com.google.zxing.MultiFormatReader;
-import com.google.zxing.PlanarYUVLuminanceSource;
-import com.google.zxing.ReaderException;
-import com.google.zxing.Result;
-import com.google.zxing.common.GlobalHistogramBinarizer;
-import com.zxing.scanner.camera.CameraManager;
-import com.zxing.scanner.common.Scanner;
-
-import java.io.ByteArrayOutputStream;
-import java.util.Map;
-
-final class DecodeHandler extends Handler {
-
-    private final CameraManager cameraManager;
-    private final Handler scannerViewHandler;
-    private final MultiFormatReader multiFormatReader;
-    private boolean running = true;
-    private boolean bundleThumbnail = false;
-
-    DecodeHandler(CameraManager cameraManager, Handler scannerViewHandler,
-                  Map<DecodeHintType, Object> hints, boolean bundleThumbnail) {
-        this.cameraManager = cameraManager;
-        this.scannerViewHandler = scannerViewHandler;
-        this.bundleThumbnail = bundleThumbnail;
-        multiFormatReader = new MultiFormatReader();
-        multiFormatReader.setHints(hints);
-    }
-
-    @Override
-    public void handleMessage(Message message) {
-        if (message == null || !running) {
-            return;
-        }
-        switch (message.what) {
-            case Scanner.DECODE:
-                decode((byte[]) message.obj, message.arg1, message.arg2);
-                break;
-            case Scanner.QUIT:
-                running = false;
-                Looper.myLooper().quit();
-                break;
-        }
-    }
-
-    /**
-     * 捕捉画面并解码<br/>
-     * Decode the data within the viewfinder rectangle, and time how long it
-     * took. For efficiency, reuse the same reader objects from one decode to
-     * the next.
-     *
-     * @param data   The YUV preview frame.
-     * @param width  The width of the preview frame.
-     * @param height The height of the preview frame.
-     */
-    private void decode(byte[] data, int width, int height) {
-        //竖屏识别一维
-        if (cameraManager.isPortrait()) {
-            byte[] rotatedData = new byte[data.length];
-            for (int y = 0; y < height; y++) {
-                for (int x = 0; x < width; x++)
-                    rotatedData[x * height + height - y - 1] = data[x + y * width];
-            }
-            int tmp = width;
-            width = height;
-            height = tmp;
-            data = rotatedData;
-        }
-        Result rawResult = null;
-        PlanarYUVLuminanceSource source = cameraManager.buildLuminanceSource(data, width, height);
-        if (source != null) {
-            BinaryBitmap bitmap = new BinaryBitmap(new GlobalHistogramBinarizer(source));
-            try {
-                rawResult = multiFormatReader.decodeWithState(bitmap);
-            } catch (ReaderException re) {
-                // continue
-            } finally {
-                multiFormatReader.reset();
-            }
-        }
-
-        Handler handler = scannerViewHandler;
-        if (rawResult != null) {
-            if (handler != null) {
-                //会向 ScannerViewHandler 发消息
-                Message message = Message.obtain(handler, Scanner.DECODE_SUCCEEDED, rawResult);
-                Bundle bundle = new Bundle();
-                if (bundleThumbnail)
-                    bundleThumbnail(source, bundle);
-                message.setData(bundle);
-                message.sendToTarget();
-            }
-        } else {
-            if (handler != null) {
-                Message message = Message.obtain(handler, Scanner.DECODE_FAILED);
-                message.sendToTarget();
-            }
-        }
-    }
-
-    private static void bundleThumbnail(PlanarYUVLuminanceSource source,
-                                        Bundle bundle) {
-        int[] pixels = source.renderThumbnail();
-        int width = source.getThumbnailWidth();
-        int height = source.getThumbnailHeight();
-        Bitmap bitmap = Bitmap.createBitmap(pixels, 0, width, width, height,
-                Bitmap.Config.ARGB_8888);
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        bitmap.compress(Bitmap.CompressFormat.JPEG, 50, out);
-        bundle.putByteArray(DecodeThread.BARCODE_BITMAP, out.toByteArray());
-        bundle.putFloat(DecodeThread.BARCODE_SCALED_FACTOR, (float) width
-                / source.getWidth());
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeImgCallback.java b/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeImgCallback.java
deleted file mode 100644
index a7d8346..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeImgCallback.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.zxing.scanner.decode;
-
-/**
- * Created by yzq on 2017/10/18.
- *
- * 解析图片的回调
- */
-
-public interface DecodeImgCallback {
-    public void onImageDecodeSuccess(String result);
-
-    public void onImageDecodeFailed();
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeImgThread.java b/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeImgThread.java
deleted file mode 100644
index 048b848..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeImgThread.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package com.zxing.scanner.decode;
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.util.Log;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.BinaryBitmap;
-import com.google.zxing.DecodeHintType;
-import com.google.zxing.MultiFormatReader;
-import com.google.zxing.Result;
-import com.google.zxing.common.HybridBinarizer;
-
-import java.util.ArrayList;
-import java.util.EnumMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-public class DecodeImgThread extends Thread {
-    public static final Map<DecodeHintType, Object> HINTS = new EnumMap<>(DecodeHintType.class);
-    static {
-        List<BarcodeFormat> formats = new ArrayList<BarcodeFormat>();
-        formats.add(BarcodeFormat.QR_CODE);
-        HINTS.put(DecodeHintType.POSSIBLE_FORMATS, formats);
-        HINTS.put(DecodeHintType.CHARACTER_SET, "utf-8");
-    }
-    //
-    private Bitmap scanBitmap;
-    /*回调*/
-    private DecodeImgCallback callback;
-
-    public DecodeImgThread(String imgPath, DecodeImgCallback callback) {
-        this.scanBitmap = getBitmap(imgPath,400,400);
-        this.callback = callback;
-    }
-
-    public DecodeImgThread(Bitmap bitmap, DecodeImgCallback callback) {
-        this.scanBitmap = bitmap;
-        this.callback = callback;
-    }
-
-
-    @Override
-    public void run() {
-        super.run();
-        if (scanBitmap == null || callback == null) {
-            return;
-        }
-        MultiFormatReader multiFormatReader = new MultiFormatReader();
-        // 解码的参数
-        Hashtable<DecodeHintType, Object> hints = new Hashtable<>(2);
-        // 可以解析的编码类型
-        Vector<BarcodeFormat> decodeFormats = new Vector<>();
-        if (decodeFormats == null || decodeFormats.isEmpty()) {
-            decodeFormats = new Vector<>();
-            // 扫描的类型  一维码和二维码
-            decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS);
-            decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);
-        }
-        hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats);
-        // 设置解析的字符编码格式为UTF8
-        hints.put(DecodeHintType.CHARACTER_SET, "UTF8");
-        // 设置解析配置参数
-        multiFormatReader.setHints(hints);
-        // 开始对图像资源解码
-        Result rawResult = null;
-        try {
-            rawResult = multiFormatReader.decodeWithState(new BinaryBitmap(new HybridBinarizer(new BitmapLuminanceSource(scanBitmap))));
-            Log.i("解析结果", rawResult.getText());
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        if (rawResult != null) {
-            callback.onImageDecodeSuccess(rawResult.getText());
-        } else {
-            callback.onImageDecodeFailed();
-        }
-    }
-
-
-
-    /**
-     * 根据路径获取图片
-     *
-     * @param filePath  文件路径
-     * @param maxWidth  图片最大宽度
-     * @param maxHeight 图片最大高度
-     * @return bitmap
-     */
-    public static Bitmap getBitmap(final String filePath, final int maxWidth, final int maxHeight) {
-        BitmapFactory.Options options = new BitmapFactory.Options();
-        options.inJustDecodeBounds = true;
-        BitmapFactory.decodeFile(filePath, options);
-        options.inSampleSize = calculateInSampleSize(options, maxWidth, maxHeight);
-        options.inJustDecodeBounds = false;
-        return BitmapFactory.decodeFile(filePath, options);
-    }
-
-
-    /**
-     * Return the sample size.
-     *
-     * @param options   The options.
-     * @param maxWidth  The maximum width.
-     * @param maxHeight The maximum height.
-     * @return the sample size
-     */
-    private static int calculateInSampleSize(final BitmapFactory.Options options,
-                                             final int maxWidth,
-                                             final int maxHeight) {
-        int height = options.outHeight;
-        int width = options.outWidth;
-        int inSampleSize = 1;
-        while ((width >>= 1) >= maxWidth && (height >>= 1) >= maxHeight) {
-            inSampleSize <<= 1;
-        }
-        return inSampleSize;
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeThread.java b/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeThread.java
deleted file mode 100644
index 16d2e3c..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/decode/DecodeThread.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.decode;
-
-import android.os.Handler;
-import android.os.Looper;
-import android.util.Log;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.DecodeHintType;
-import com.zxing.scanner.camera.CameraManager;
-
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.EnumSet;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-
-/**
- * This thread does all the heavy lifting of decoding the images.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-public final class DecodeThread extends Thread {
-
-    public static final String BARCODE_BITMAP = "barcode_bitmap";
-    public static final String BARCODE_SCALED_FACTOR = "barcode_scaled_factor";
-
-    private final CameraManager cameraManager;
-    private final Handler scannerViewHandler;
-    private final Map<DecodeHintType, Object> hints;
-    private final CountDownLatch handlerInitLatch;
-    private DecodeHandler handler;
-    private boolean bundleThumbnail = false;
-
-    public DecodeThread(CameraManager cameraManager, Handler scannerViewHandler,
-                        Collection<BarcodeFormat> decodeFormats, String characterSet
-            , boolean bundleThumbnail) {
-        this.cameraManager = cameraManager;
-        this.scannerViewHandler = scannerViewHandler;
-        this.bundleThumbnail = bundleThumbnail;
-        handlerInitLatch = new CountDownLatch(1);
-
-        hints = new EnumMap<>(DecodeHintType.class);
-
-        // The prefs can't change while the thread is running, so pick them up
-        // once here.
-        if (decodeFormats == null || decodeFormats.isEmpty()) {
-
-            decodeFormats = EnumSet.noneOf(BarcodeFormat.class);
-            // 一维码:商品
-            boolean decode1DProduct = true;
-            if (decode1DProduct) {
-                decodeFormats.addAll(DecodeFormatManager.PRODUCT_FORMATS);
-            }
-            // 一维码:工业
-            boolean decode1DIndustrial = true;
-            if (decode1DIndustrial) {
-                decodeFormats.addAll(DecodeFormatManager.INDUSTRIAL_FORMATS);
-            }
-            // 二维码
-            boolean decodeQR = true;
-            if (decodeQR) {
-                decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS);
-            }
-            // Data Matrix
-            boolean decodeDataMatrix = true;
-            if (decodeDataMatrix) {
-                decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);
-            }
-        }
-        hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats);
-        if (characterSet != null) {
-            hints.put(DecodeHintType.CHARACTER_SET, characterSet);
-        }
-        Log.i("DecodeThread", "Hints: " + hints);
-    }
-
-    public Handler getHandler() {
-        try {
-            handlerInitLatch.await();
-        } catch (InterruptedException ie) {
-            // continue?
-        }
-        return handler;
-    }
-
-    @Override
-    public void run() {
-        Looper.prepare();
-        handler = new DecodeHandler(cameraManager, scannerViewHandler, hints, bundleThumbnail);
-        handlerInitLatch.countDown();
-        Looper.loop();
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/decode/QRDecode.java b/zxinglibrary/src/main/java/com/zxing/scanner/decode/QRDecode.java
deleted file mode 100644
index 11331be..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/decode/QRDecode.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package com.zxing.scanner.decode;
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.BinaryBitmap;
-import com.google.zxing.ChecksumException;
-import com.google.zxing.DecodeHintType;
-import com.google.zxing.FormatException;
-import com.google.zxing.NotFoundException;
-import com.google.zxing.RGBLuminanceSource;
-import com.google.zxing.Result;
-import com.google.zxing.common.GlobalHistogramBinarizer;
-import com.google.zxing.qrcode.QRCodeReader;
-import com.zxing.scanner.OnScannerCompletionListener;
-import com.zxing.scanner.camera.CameraManager;
-
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.EnumMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by hupei on 2016/7/7.
- */
-public final class QRDecode {
-    public static final Map<DecodeHintType, Object> HINTS = new EnumMap<>(DecodeHintType.class);
-    static {
-        List<BarcodeFormat> formats = new ArrayList<BarcodeFormat>();
-        formats.add(BarcodeFormat.QR_CODE);
-        HINTS.put(DecodeHintType.POSSIBLE_FORMATS, formats);
-        HINTS.put(DecodeHintType.CHARACTER_SET, "utf-8");
-    }
-
-    private QRDecode() {
-    }
-
-    /**
-     * 解析二维码图片
-     * @param picturePath
-     * @param listener
-     * @return
-     */
-    public static void decodeQR(String picturePath, OnScannerCompletionListener listener) {
-        try {
-            decodeQR(loadBitmap(picturePath), listener);
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 解析二维码图片
-     *
-     * @param srcBitmap
-     * @param listener
-     * @return
-     */
-    public static void decodeQR(Bitmap srcBitmap, final OnScannerCompletionListener listener) {
-        Result result = null;
-        if (srcBitmap != null) {
-            int width = srcBitmap.getWidth();
-            int height = srcBitmap.getHeight();
-            int[] pixels = new int[width * height];
-            srcBitmap.getPixels(pixels, 0, width, 0, 0, width, height);
-            //新建一个RGBLuminanceSource对象
-            RGBLuminanceSource source = new RGBLuminanceSource(width, height, pixels);
-            //将图片转换成二进制图片
-            BinaryBitmap binaryBitmap = new BinaryBitmap(new GlobalHistogramBinarizer(source));
-            QRCodeReader reader = new QRCodeReader();//初始化解析对象
-            try {
-                result = reader.decode(binaryBitmap, HINTS);//开始解析
-            } catch (NotFoundException e) {
-                e.printStackTrace();
-            } catch (ChecksumException e) {
-                e.printStackTrace();
-            } catch (FormatException e) {
-                e.printStackTrace();
-            }
-        }
-        if (listener != null) {
-            listener.onScannerCompletion(result, srcBitmap);
-        }
-    }
-
-    private static Bitmap loadBitmap(String picturePath) throws FileNotFoundException {
-        BitmapFactory.Options opt = new BitmapFactory.Options();
-        opt.inJustDecodeBounds = true;
-        Bitmap bitmap = BitmapFactory.decodeFile(picturePath, opt);
-        // 获取到这个图片的原始宽度和高度
-        int picWidth = opt.outWidth;
-        int picHeight = opt.outHeight;
-        // 获取画布中间方框的宽度和高度
-        int screenWidth = CameraManager.MAX_FRAME_WIDTH;
-        int screenHeight = CameraManager.MAX_FRAME_HEIGHT;
-        // isSampleSize是表示对图片的缩放程度,比如值为2图片的宽度和高度都变为以前的1/2
-        opt.inSampleSize = 1;
-        // 根据屏的大小和图片大小计算出缩放比例
-        if (picWidth > picHeight) {
-            if (picWidth > screenWidth)
-                opt.inSampleSize = picWidth / screenWidth;
-        } else {
-            if (picHeight > screenHeight)
-                opt.inSampleSize = picHeight / screenHeight;
-        }
-        // 生成有像素经过缩放了的bitmap
-        opt.inJustDecodeBounds = false;
-        bitmap = BitmapFactory.decodeFile(picturePath, opt);
-        if (bitmap == null) {
-            throw new FileNotFoundException("Couldn't open " + picturePath);
-        }
-        return bitmap;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/ContactEncoder.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/ContactEncoder.java
deleted file mode 100644
index 47799f4..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/ContactEncoder.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2011 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-
-/**
- * Implementations encode according to some scheme for encoding contact information, like VCard or
- * MECARD.
- *
- * @author Sean Owen
- */
-abstract class ContactEncoder {
-
-    /**
-     * @return first, the best effort encoding of all data in the appropriate format; second, a
-     * display-appropriate version of the contact information
-     */
-    abstract String[] encode(List<String> names,
-                             String organization,
-                             List<String> addresses,
-                             List<String> phones,
-                             List<String> phoneTypes,
-                             List<String> emails,
-                             List<String> urls,
-                             String note);
-
-    /**
-     * @return null if s is null or empty, or result of s.trim() otherwise
-     */
-    static String trim(String s) {
-        if (s == null) {
-            return null;
-        }
-        String result = s.trim();
-        return result.isEmpty() ? null : result;
-    }
-
-    static void append(StringBuilder newContents,
-                       StringBuilder newDisplayContents,
-                       String prefix,
-                       String value,
-                       Formatter fieldFormatter,
-                       char terminator) {
-        String trimmed = trim(value);
-        if (trimmed != null) {
-            newContents.append(prefix).append(fieldFormatter.format(trimmed, 0)).append(terminator);
-            newDisplayContents.append(trimmed).append('\n');
-        }
-    }
-
-    static void appendUpToUnique(StringBuilder newContents,
-                                 StringBuilder newDisplayContents,
-                                 String prefix,
-                                 List<String> values,
-                                 int max,
-                                 Formatter displayFormatter,
-                                 Formatter fieldFormatter,
-                                 char terminator) {
-        if (values == null) {
-            return;
-        }
-        int count = 0;
-        Collection<String> uniques = new HashSet<>(2);
-        for (int i = 0; i < values.size(); i++) {
-            String value = values.get(i);
-            String trimmed = trim(value);
-            if (trimmed != null && !trimmed.isEmpty() && !uniques.contains(trimmed)) {
-                newContents.append(prefix).append(fieldFormatter.format(trimmed, i)).append(terminator);
-                CharSequence display = displayFormatter == null ? trimmed : displayFormatter.format(trimmed, i);
-                newDisplayContents.append(display).append('\n');
-                if (++count == max) {
-                    break;
-                }
-                uniques.add(trimmed);
-            }
-        }
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/Formatter.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/Formatter.java
deleted file mode 100644
index 029eda0..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/Formatter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2011 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-/**
- * Encapsulates some simple formatting logic, to aid refactoring in {@link ContactEncoder}.
- *
- * @author Sean Owen
- */
-interface Formatter {
-
-    /**
-     * @param value value to format
-     * @param index index of value in a list of values to be formatted
-     * @return formatted value
-     */
-    CharSequence format(CharSequence value, int index);
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/MECARDContactEncoder.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/MECARDContactEncoder.java
deleted file mode 100644
index a88efc6..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/MECARDContactEncoder.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2011 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-import android.telephony.PhoneNumberUtils;
-
-import java.util.List;
-import java.util.regex.Pattern;
-
-/**
- * Encodes contact information according to the MECARD format.
- *
- * @author Sean Owen
- */
-final class MECARDContactEncoder extends ContactEncoder {
-
-    private static final char TERMINATOR = ';';
-
-    @Override
-    public String[] encode(List<String> names,
-                           String organization,
-                           List<String> addresses,
-                           List<String> phones,
-                           List<String> phoneTypes,
-                           List<String> emails,
-                           List<String> urls,
-                           String note) {
-        StringBuilder newContents = new StringBuilder(100);
-        newContents.append("MECARD:");
-
-        StringBuilder newDisplayContents = new StringBuilder(100);
-
-        Formatter fieldFormatter = new MECARDFieldFormatter();
-
-        appendUpToUnique(newContents, newDisplayContents, "N", names, 1, new
-                MECARDNameDisplayFormatter(), fieldFormatter, TERMINATOR);
-
-        append(newContents, newDisplayContents, "ORG", organization, fieldFormatter, TERMINATOR);
-
-        appendUpToUnique(newContents, newDisplayContents, "ADR", addresses, 1, null, fieldFormatter, TERMINATOR);
-
-        appendUpToUnique(newContents, newDisplayContents, "TEL", phones, Integer.MAX_VALUE,
-                new MECARDTelDisplayFormatter(), fieldFormatter, TERMINATOR);
-
-        appendUpToUnique(newContents, newDisplayContents, "EMAIL", emails, Integer.MAX_VALUE, null,
-                fieldFormatter, TERMINATOR);
-
-        appendUpToUnique(newContents, newDisplayContents, "URL", urls, Integer.MAX_VALUE, null,
-                fieldFormatter, TERMINATOR);
-
-        append(newContents, newDisplayContents, "NOTE", note, fieldFormatter, TERMINATOR);
-
-        newContents.append(';');
-
-        return new String[]{newContents.toString(), newDisplayContents.toString()};
-    }
-
-    private static class MECARDFieldFormatter implements Formatter {
-        private static final Pattern RESERVED_MECARD_CHARS = Pattern.compile("([\\\\:;])");
-        private static final Pattern NEWLINE = Pattern.compile("\\n");
-
-        @Override
-        public CharSequence format(CharSequence value, int index) {
-            return ':' + NEWLINE.matcher(RESERVED_MECARD_CHARS.matcher(value).replaceAll("\\\\$1")).replaceAll("");
-        }
-    }
-
-    private static class MECARDTelDisplayFormatter implements Formatter {
-        private static final Pattern NOT_DIGITS = Pattern.compile("[^0-9]+");
-
-        @Override
-        public CharSequence format(CharSequence value, int index) {
-            return NOT_DIGITS.matcher(PhoneNumberUtils.formatNumber(value.toString())).replaceAll("");
-        }
-    }
-
-    private static class MECARDNameDisplayFormatter implements Formatter {
-        private static final Pattern COMMA = Pattern.compile(",");
-
-        @Override
-        public CharSequence format(CharSequence value, int index) {
-            return COMMA.matcher(value).replaceAll("");
-        }
-    }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/ParserUriToVCard.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/ParserUriToVCard.java
deleted file mode 100644
index 0d1f8ed..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/ParserUriToVCard.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package com.zxing.scanner.encode;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.BaseColumns;
-import android.provider.ContactsContract;
-
-/**
- * Created by hupei on 2016/8/25.
- */
-public class ParserUriToVCard {
-
-    public static final String URL_KEY = "URL_KEY";
-    public static final String NOTE_KEY = "NOTE_KEY";
-
-    public static final String[] PHONE_KEYS = {
-            ContactsContract.Intents.Insert.PHONE,
-            ContactsContract.Intents.Insert.SECONDARY_PHONE,
-            ContactsContract.Intents.Insert.TERTIARY_PHONE
-    };
-
-    public static final String[] PHONE_TYPE_KEYS = {
-            ContactsContract.Intents.Insert.PHONE_TYPE,
-            ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE,
-            ContactsContract.Intents.Insert.TERTIARY_PHONE_TYPE
-    };
-
-    public static final String[] EMAIL_KEYS = {
-            ContactsContract.Intents.Insert.EMAIL,
-            ContactsContract.Intents.Insert.SECONDARY_EMAIL,
-            ContactsContract.Intents.Insert.TERTIARY_EMAIL
-    };
-
-    public ParserUriToVCard() {
-    }
-
-    public Bundle parserUri(Context context, Uri contactUri) {
-        if (context == null || contactUri == null) return null;
-        ContentResolver resolver = context.getContentResolver();
-        Cursor cursor;
-        try {
-            cursor = resolver.query(contactUri, null, null, null, null);
-        } catch (IllegalArgumentException ignored) {
-            return null;
-        }
-        if (cursor == null) return null;
-
-        String id;
-        String name;
-        boolean hasPhone;
-        try {
-            if (!cursor.moveToFirst()) return null;
-
-            id = cursor.getString(cursor.getColumnIndex(BaseColumns._ID));
-            name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
-            hasPhone = cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)) > 0;
-
-        } finally {
-            cursor.close();
-        }
-
-        Bundle bundle = new Bundle();
-        if (name != null && !name.isEmpty()) {
-            bundle.putString(ContactsContract.Intents.Insert.NAME, massageContactData(name));
-        }
-
-        if (hasPhone) {
-            Cursor phonesCursor = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
-                    null,
-                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + '=' + id,
-                    null,
-                    null);
-            if (phonesCursor != null) {
-                try {
-                    int foundPhone = 0;
-                    int phonesNumberColumn = phonesCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
-                    int phoneTypeColumn = phonesCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE);
-                    while (phonesCursor.moveToNext() && foundPhone < PHONE_KEYS.length) {
-                        String number = phonesCursor.getString(phonesNumberColumn);
-                        if (number != null && !number.isEmpty()) {
-                            bundle.putString(PHONE_KEYS[foundPhone], massageContactData(number));
-                        }
-                        int type = phonesCursor.getInt(phoneTypeColumn);
-                        bundle.putInt(PHONE_TYPE_KEYS[foundPhone], type);
-                        foundPhone++;
-                    }
-                } finally {
-                    phonesCursor.close();
-                }
-            }
-        }
-
-        Cursor methodsCursor = resolver.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,
-                null,
-                ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + '=' + id,
-                null,
-                null);
-        if (methodsCursor != null) {
-            try {
-                if (methodsCursor.moveToNext()) {
-                    String data = methodsCursor.getString(
-                            methodsCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS));
-                    if (data != null && !data.isEmpty()) {
-                        bundle.putString(ContactsContract.Intents.Insert.POSTAL, massageContactData(data));
-                    }
-                }
-            } finally {
-                methodsCursor.close();
-            }
-        }
-
-        Cursor emailCursor = resolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
-                null,
-                ContactsContract.CommonDataKinds.Email.CONTACT_ID + '=' + id,
-                null,
-                null);
-        if (emailCursor != null) {
-            try {
-                int foundEmail = 0;
-                int emailColumn = emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
-                while (emailCursor.moveToNext() && foundEmail < EMAIL_KEYS.length) {
-                    String email = emailCursor.getString(emailColumn);
-                    if (email != null && !email.isEmpty()) {
-                        bundle.putString(EMAIL_KEYS[foundEmail], massageContactData(email));
-                    }
-                    foundEmail++;
-                }
-            } finally {
-                emailCursor.close();
-            }
-        }
-        if (bundle.isEmpty()) return null;
-        return bundle;
-    }
-
-
-    private static String massageContactData(String data) {
-        if (data.indexOf('\n') >= 0) {
-            data = data.replace("\n", " ");
-        }
-        if (data.indexOf('\r') >= 0) {
-            data = data.replace("\r", " ");
-        }
-        return data;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/QRCodeEncoder.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/QRCodeEncoder.java
deleted file mode 100644
index 6630c0d..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/QRCodeEncoder.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Point;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.ContactsContract;
-import android.view.Display;
-import android.view.WindowManager;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.EncodeHintType;
-import com.google.zxing.MultiFormatWriter;
-import com.google.zxing.WriterException;
-import com.google.zxing.common.BitMatrix;
-import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.EnumMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This class does the work of decoding the user's request and extracting all
- * the data to be encoded in a barcode.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-final class QRCodeEncoder {
-
-    private static final int WHITE = 0xFFFFFFFF;
-    private static final int BLACK = 0xFF000000;
-
-    private Context context;
-    private QREncode.Builder encodeBuild;
-
-    QRCodeEncoder(QREncode.Builder build, Context context) {
-        this.context = context;
-        this.encodeBuild = build;
-        if (encodeBuild.getColor() == 0) encodeBuild.setColor(BLACK);
-
-        // This assumes the view is full screen, which is a good assumption
-        if (encodeBuild.getSize() == 0) {
-            int smallerDimension = getSmallerDimension(context.getApplicationContext());
-            encodeBuild.setSize(smallerDimension);
-        }
-        Bitmap logoBitmap = encodeBuild.getLogoBitmap();
-        if (logoBitmap != null) {
-            int logoSize = Math.min(logoBitmap.getWidth(), logoBitmap.getHeight()) / 2;
-            if (encodeBuild.getLogoSize() > 0 && encodeBuild.getLogoSize() < logoSize) {
-                logoSize = encodeBuild.getLogoSize();
-            }
-            encodeBuild.setLogoBitmap(logoBitmap, logoSize);
-        }
-        encodeContentsFromZXing(build);
-    }
-
-    private void encodeContentsFromZXing(QREncode.Builder build) {
-        if (build.getBarcodeFormat() == null
-                || build.getBarcodeFormat() == BarcodeFormat.QR_CODE) {
-            build.setBarcodeFormat(BarcodeFormat.QR_CODE);
-            encodeQRCodeContents(build);
-        }
-    }
-
-    private void encodeQRCodeContents(QREncode.Builder build) {
-        switch (build.getParsedResultType()) {
-            case WIFI:
-                encodeBuild.setEncodeContents(build.getContents());
-                break;
-
-            case CALENDAR:
-                encodeBuild.setEncodeContents(build.getContents());
-                break;
-
-            case ISBN:
-                encodeBuild.setEncodeContents(build.getContents());
-                break;
-
-            case PRODUCT:
-                encodeBuild.setEncodeContents(build.getContents());
-                break;
-
-            case VIN:
-                encodeBuild.setEncodeContents(build.getContents());
-                break;
-
-            case URI:
-                encodeBuild.setEncodeContents(build.getContents());
-                break;
-
-            case TEXT:
-                encodeBuild.setEncodeContents(build.getContents());
-                break;
-
-            case EMAIL_ADDRESS:
-                encodeBuild.setEncodeContents("mailto:" + build.getContents());
-                break;
-
-            case TEL:
-                encodeBuild.setEncodeContents("tel:" + build.getContents());
-                break;
-
-            case SMS:
-                encodeBuild.setEncodeContents("sms:" + build.getContents());
-                break;
-            case ADDRESSBOOK:
-                Bundle contactBundle = null;
-                //uri解析
-                Uri addressBookUri = build.getAddressBookUri();
-                if (addressBookUri != null)
-                    contactBundle = new ParserUriToVCard().parserUri(context, addressBookUri);
-                //Bundle解析
-                if ((contactBundle != null && contactBundle.isEmpty()) || contactBundle == null)
-                    contactBundle = build.getBundle();
-                if (contactBundle != null) {
-                    String name = contactBundle.getString(ContactsContract.Intents.Insert.NAME);
-                    String organization = contactBundle
-                            .getString(ContactsContract.Intents.Insert.COMPANY);
-                    String address = contactBundle.getString(ContactsContract.Intents.Insert
-                            .POSTAL);
-                    List<String> phones = getAllBundleValues(contactBundle, ParserUriToVCard
-                            .PHONE_KEYS);
-                    List<String> phoneTypes = getAllBundleValues(contactBundle, ParserUriToVCard
-                            .PHONE_TYPE_KEYS);
-                    List<String> emails = getAllBundleValues(contactBundle, ParserUriToVCard
-                            .EMAIL_KEYS);
-                    String url = contactBundle.getString(ParserUriToVCard.URL_KEY);
-                    List<String> urls = url == null ? null : Collections.singletonList(url);
-                    String note = contactBundle.getString(ParserUriToVCard.NOTE_KEY);
-                    ContactEncoder encoder = build.isUseVCard() ?
-                            new VCardContactEncoder() : new MECARDContactEncoder();
-                    String[] encoded = encoder.encode(Collections.singletonList(name), organization,
-                            Collections.singletonList(address), phones, phoneTypes, emails, urls,
-                            note);
-                    // Make sure we've encoded at least one field.
-                    if (!encoded[1].isEmpty()) {
-                        encodeBuild.setEncodeContents(encoded[0]);
-                    }
-                }
-                break;
-            case GEO:
-                Bundle locationBundle = build.getBundle();
-                if (locationBundle != null) {
-                    float latitude = locationBundle.getFloat("LAT", Float.MAX_VALUE);
-                    float longitude = locationBundle.getFloat("LONG", Float.MAX_VALUE);
-                    if (latitude != Float.MAX_VALUE && longitude != Float.MAX_VALUE) {
-                        encodeBuild.setEncodeContents("geo:" + latitude + ',' + longitude);
-                    }
-                }
-                break;
-        }
-    }
-
-    private static List<String> getAllBundleValues(Bundle bundle, String[] keys) {
-        List<String> values = new ArrayList<>(keys.length);
-        for (String key : keys) {
-            Object value = bundle.get(key);
-            values.add(value == null ? null : value.toString());
-        }
-        return values;
-    }
-
-    Bitmap encodeAsBitmap() throws WriterException {
-        String content = encodeBuild.getEncodeContents();
-        BarcodeFormat barcodeFormat = encodeBuild.getBarcodeFormat();
-        int qrColor = encodeBuild.getColor();
-        int size = encodeBuild.getSize();
-        Bitmap logoBitmap = encodeBuild.getLogoBitmap();
-        if (logoBitmap != null)
-            return encodeAsBitmap(content, barcodeFormat, qrColor, size,
-                    logoBitmap, encodeBuild.getLogoSize());
-        return encodeAsBitmap(content, barcodeFormat, qrColor, size);
-    }
-
-    private Bitmap encodeAsBitmap(String content, BarcodeFormat barcodeFormat, int qrColor,
-                                  int size) throws
-            WriterException {
-        if (content == null) {
-            return null;
-        }
-
-        Map<EncodeHintType, Object> hints = new EnumMap<>(EncodeHintType.class);
-        hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
-        hints.put(EncodeHintType.MARGIN, encodeBuild.getMargin());
-        BitMatrix result;
-        try {
-            result = new MultiFormatWriter().encode(content, barcodeFormat, size, size, hints);
-        } catch (IllegalArgumentException iae) {
-            // Unsupported format
-            return null;
-        }
-        int width = result.getWidth();
-        int height = result.getHeight();
-        int[] pixels = new int[width * height];
-        for (int y = 0; y < height; y++) {
-            int offset = y * width;
-            for (int x = 0; x < width; x++) {
-                // 处理二维码颜色
-                if (result.get(x, y)) {
-                    int[] colors = encodeBuild.getColors();
-                    if (colors != null) {
-                        if (x < size / 2 && y < size / 2) {
-                            pixels[y * size + x] = colors[0];// 左上
-                        } else if (x < size / 2 && y > size / 2) {
-                            pixels[y * size + x] = colors[1];// 左下
-                        } else if (x > size / 2 && y > size / 2) {
-                            pixels[y * size + x] = colors[2];// 右下
-                        } else {
-                            pixels[y * size + x] = colors[3];// 右上
-                        }
-                    } else {
-                        pixels[offset + x] = qrColor;
-                    }
-                } else {
-                    pixels[offset + x] = WHITE;
-                }
-            }
-        }
-
-        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
-        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
-        return bitmap;
-    }
-
-    private Bitmap encodeAsBitmap(String content, BarcodeFormat barcodeFormat, int qrColor,
-                                  int size, Bitmap logoBitmap, int logoSize) throws
-            WriterException {
-        if (content == null) {
-            return null;
-        }
-        Map<EncodeHintType, Object> hints = new EnumMap<>(EncodeHintType.class);
-        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
-        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);// 容错率
-        hints.put(EncodeHintType.MARGIN, encodeBuild.getMargin()); // default is 4
-
-        BitMatrix result;
-        try {
-            result = new MultiFormatWriter().encode(content, barcodeFormat, size, size, hints);
-        } catch (IllegalArgumentException iae) {
-            // Unsupported format
-            return null;
-        }
-        int width = result.getWidth();
-        int height = result.getHeight();
-        int halfW = width / 2;
-        int halfH = height / 2;
-        int[] pixels = new int[width * height];
-        for (int y = 0; y < height; y++) {
-            int offset = y * width;
-            for (int x = 0; x < width; x++) {
-                if (x > halfW - logoSize && x < halfW + logoSize && y > halfH - logoSize
-                        && y < halfH + logoSize) {
-                    pixels[y * width + x] = logoBitmap.getPixel(x - halfW + logoSize, y - halfH
-                            + logoSize);
-                } else {
-                    // 处理二维码颜色
-                    if (result.get(x, y)) {
-                        int[] colors = encodeBuild.getColors();
-                        if (colors != null) {
-                            if (x < size / 2 && y < size / 2) {
-                                pixels[y * size + x] = colors[0];// 左上
-                            } else if (x < size / 2 && y > size / 2) {
-                                pixels[y * size + x] = colors[1];// 左下
-                            } else if (x > size / 2 && y > size / 2) {
-                                pixels[y * size + x] = colors[2];// 右下
-                            } else {
-                                pixels[y * size + x] = colors[3];// 右上
-                            }
-                        } else {
-                            pixels[offset + x] = qrColor;
-                        }
-                    } else {
-                        pixels[offset + x] = WHITE;
-                    }
-                }
-            }
-        }
-
-        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
-        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
-        if (encodeBuild.getQrBackground() != null) {
-            return addBackground(bitmap, encodeBuild.getQrBackground());
-        }
-        return bitmap;
-    }
-
-    private static int getSmallerDimension(Context context) {
-        WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
-        Display display = manager.getDefaultDisplay();
-        Point displaySize = new Point();
-        display.getSize(displaySize);
-        int width = displaySize.x;
-        int height = displaySize.y;
-        int smallerDimension = width < height ? width : height;
-        smallerDimension = smallerDimension * 7 / 8;
-        return smallerDimension;
-    }
-
-    private static Bitmap addBackground(Bitmap qrBitmap, Bitmap background) {
-        int bgWidth = background.getWidth();
-        int bgHeight = background.getHeight();
-        int fgWidth = qrBitmap.getWidth();
-        int fgHeight = qrBitmap.getHeight();
-        Bitmap bitmap = Bitmap.createBitmap(bgWidth, bgHeight, Bitmap.Config.ARGB_8888);
-        Canvas canvas = new Canvas(bitmap);
-        canvas.drawBitmap(background, 0, 0, null);
-        //二维码在背景图中间
-        float left = (bgWidth - fgWidth) / 2;
-        float top = (bgHeight - fgHeight) / 2;
-        canvas.drawBitmap(qrBitmap, left, top, null);
-//        canvas.save(Canvas.ALL_SAVE_FLAG);
-        canvas.save();
-        canvas.restore();
-        return bitmap;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/QREncode.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/QREncode.java
deleted file mode 100644
index a9635ba..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/QREncode.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.net.Uri;
-import android.os.Bundle;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.WriterException;
-import com.google.zxing.client.result.ParsedResultType;
-
-/**
- * This class encodes data from an Intent into a QR code, and then displays it
- * full screen so that another person can scan it with their device.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-public final class QREncode {
-    private QRCodeEncoder mQRCodeEncoder;
-
-    private QREncode() {
-    }
-
-    private QREncode(QRCodeEncoder codeEncoder) {
-        this.mQRCodeEncoder = codeEncoder;
-    }
-
-    /**
-     * {@linkplain Builder#build()} () QREncode.Builder().build()}
-     *
-     * @return
-     */
-    public Bitmap encodeAsBitmap() {
-        try {
-            return mQRCodeEncoder.encodeAsBitmap();
-        } catch (WriterException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    /**
-     * @param codeEncoder {@linkplain Builder#buildDeprecated()} () QREncode.Builder()
-     *                    .buildDeprecated()}
-     * @return
-     */
-    @Deprecated
-    public static Bitmap encodeQR(QRCodeEncoder codeEncoder) {
-        try {
-            return codeEncoder.encodeAsBitmap();
-        } catch (WriterException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    public static class Builder {
-
-        private Context context;
-        BarcodeFormat barcodeFormat;
-        private ParsedResultType parsedResultType = ParsedResultType.TEXT;
-        private Bundle bundle;
-        private String contents;//原内容
-        private String encodeContents;//编码内容
-        private int color;//颜色
-        private int[] colors;
-        private Uri addressBookUri;
-        private boolean useVCard = true;
-        private int size;
-        private Bitmap logoBitmap;
-        private int logoSize;
-        private Bitmap qrBackground;
-        private int margin = 4;
-
-        public Builder(Context context) {
-            this.context = context;
-        }
-
-        BarcodeFormat getBarcodeFormat() {
-            return barcodeFormat;
-        }
-
-        Builder setBarcodeFormat(BarcodeFormat barcodeFormat) {
-            this.barcodeFormat = barcodeFormat;
-            return this;
-        }
-
-        ParsedResultType getParsedResultType() {
-            return parsedResultType;
-        }
-
-        /**
-         * 设置二维码类型
-         *
-         * @param parsedResultType {@linkplain ParsedResultType ParsedResultType}
-         * @return
-         */
-        public Builder setParsedResultType(ParsedResultType parsedResultType) {
-            this.parsedResultType = parsedResultType;
-            return this;
-        }
-
-        Uri getAddressBookUri() {
-            return addressBookUri;
-        }
-
-        /**
-         * 设置联系人Uri
-         *
-         * @param addressBookUri
-         */
-        public Builder setAddressBookUri(Uri addressBookUri) {
-            this.addressBookUri = addressBookUri;
-            return this;
-        }
-
-        Bundle getBundle() {
-            return bundle;
-        }
-
-        /**
-         * 设置内容,当 ParsedResultType 是 ADDRESSBOOK 、GEO 类型
-         *
-         * @param bundle
-         * @return
-         */
-        public Builder setBundle(Bundle bundle) {
-            this.bundle = bundle;
-            return this;
-        }
-
-        String getContents() {
-            return contents;
-        }
-
-        /**
-         * 二维码内容
-         *
-         * @param contents tel、email等不需要前缀
-         * @return
-         */
-        public Builder setContents(String contents) {
-            this.contents = contents;
-            return this;
-        }
-
-        String getEncodeContents() {
-            return encodeContents;
-        }
-
-        Builder setEncodeContents(String encodeContents) {
-            this.encodeContents = encodeContents;
-            return this;
-        }
-
-        int getColor() {
-            return color;
-        }
-
-        /**
-         * 设置二维码颜色
-         *
-         * @param color
-         * @return
-         */
-        public Builder setColor(int color) {
-            this.color = color;
-            return this;
-        }
-
-        int[] getColors() {
-            return colors;
-        }
-
-        /**
-         * 设置二维码颜色
-         *
-         * @param leftTop     左上
-         * @param leftBottom  左下
-         * @param rightBottom 右下
-         * @param rightTop    右上
-         * @return
-         */
-        public Builder setColors(int leftTop, int leftBottom, int rightBottom, int rightTop) {
-            this.colors = null;
-            this.colors = new int[4];
-            this.colors[0] = leftTop;
-            this.colors[1] = leftBottom;
-            this.colors[2] = rightBottom;
-            this.colors[3] = rightTop;
-            return this;
-        }
-
-        boolean isUseVCard() {
-            return useVCard;
-        }
-
-        /**
-         * 设置vCard格式,默认true
-         *
-         * @param useVCard
-         * @return
-         */
-        public Builder setUseVCard(boolean useVCard) {
-            this.useVCard = useVCard;
-            return this;
-        }
-
-        /**
-         * 二维码大小
-         *
-         * @param size
-         * @return
-         */
-        public Builder setSize(int size) {
-            this.size = size;
-            return this;
-        }
-
-        int getSize() {
-            return size;
-        }
-
-        /**
-         * 二维码中间的logo
-         *
-         * @param logoBitmap
-         * @return
-         */
-        public Builder setLogoBitmap(Bitmap logoBitmap) {
-            this.logoBitmap = logoBitmap;
-            return this;
-        }
-
-        /**
-         * 二维码中间的logo,logoSize不能大于 Math.min(logoBitmap.getWidth(), logoBitmap.getHeight())
-         *
-         * @param logoBitmap
-         * @param logoSize
-         * @return
-         */
-        public Builder setLogoBitmap(Bitmap logoBitmap, int logoSize) {
-            this.logoBitmap = logoBitmap;
-            this.logoSize = logoSize;
-            return this;
-        }
-
-        Bitmap getLogoBitmap() {
-            return logoBitmap;
-        }
-
-        int getLogoSize() {
-            return logoSize;
-        }
-
-        /**
-         * 设置二维码背景
-         *
-         * @param background
-         * @return
-         */
-        public Builder setQrBackground(Bitmap background) {
-            this.qrBackground = background;
-            return this;
-        }
-
-        Bitmap getQrBackground() {
-            return qrBackground;
-        }
-
-        /**
-         * 设置二维码边框
-         *
-         * @param margin 范围值:0-4
-         * @return
-         */
-        public Builder setMargin(int margin) {
-            this.margin = margin;
-            return this;
-        }
-
-        int getMargin() {
-            return margin;
-        }
-
-        /**
-         * @return
-         * @deprecated {@link #build()}
-         */
-        @Deprecated
-        public QRCodeEncoder buildDeprecated() {
-            checkParams();
-            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(this, context.getApplicationContext());
-            return qrCodeEncoder;
-        }
-
-        public QREncode build() {
-            checkParams();
-            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(this, context.getApplicationContext());
-            return new QREncode(qrCodeEncoder);
-        }
-
-        private void checkParams() {
-            if (context == null)
-                throw new IllegalArgumentException("context no found...");
-            if (parsedResultType == null) {
-                throw new IllegalArgumentException("parsedResultType no found...");
-            }
-            if (parsedResultType != ParsedResultType.ADDRESSBOOK && parsedResultType !=
-                    ParsedResultType.GEO && contents == null) {
-                throw new IllegalArgumentException("parsedResultType not" +
-                        " ParsedResultType.ADDRESSBOOK and ParsedResultType.GEO, contents no " +
-                        "found...");
-            }
-            if ((parsedResultType == ParsedResultType.ADDRESSBOOK || parsedResultType ==
-                    ParsedResultType.GEO)
-                    && bundle == null && addressBookUri == null) {
-                throw new IllegalArgumentException("parsedResultType yes" +
-                        " ParsedResultType.ADDRESSBOOK or ParsedResultType.GEO, bundle and " +
-                        "addressBookUri no found...");
-            }
-        }
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardContactEncoder.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardContactEncoder.java
deleted file mode 100644
index 93fbe41..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardContactEncoder.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (C) 2011 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-import android.provider.ContactsContract;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Encodes contact information according to the vCard format.
- *
- * @author Sean Owen
- */
-final class VCardContactEncoder extends ContactEncoder {
-
-  private static final char TERMINATOR = '\n';
-
-  @Override
-  public String[] encode(List<String> names,
-                         String organization,
-                         List<String> addresses,
-                         List<String> phones,
-                         List<String> phoneTypes,
-                         List<String> emails,
-                         List<String> urls,
-                         String note) {
-    StringBuilder newContents = new StringBuilder(100);
-    newContents.append("BEGIN:VCARD").append(TERMINATOR);
-    newContents.append("VERSION:3.0").append(TERMINATOR);
-
-    StringBuilder newDisplayContents = new StringBuilder(100);
-
-    Formatter fieldFormatter = new VCardFieldFormatter();
-
-    appendUpToUnique(newContents, newDisplayContents, "N", names, 1, null, fieldFormatter, TERMINATOR);
-
-    append(newContents, newDisplayContents, "ORG", organization, fieldFormatter, TERMINATOR);
-
-    appendUpToUnique(newContents, newDisplayContents, "ADR", addresses, 1, null, fieldFormatter, TERMINATOR);
-
-    List<Map<String,Set<String>>> phoneMetadata = buildPhoneMetadata(phones, phoneTypes);
-    appendUpToUnique(newContents, newDisplayContents, "TEL", phones, Integer.MAX_VALUE,
-                     new VCardTelDisplayFormatter(phoneMetadata),
-                     new VCardFieldFormatter(phoneMetadata), TERMINATOR);
-
-    appendUpToUnique(newContents, newDisplayContents, "EMAIL", emails, Integer.MAX_VALUE, null,
-                     fieldFormatter, TERMINATOR);
-
-    appendUpToUnique(newContents, newDisplayContents, "URL", urls, Integer.MAX_VALUE, null,
-                     fieldFormatter, TERMINATOR);
-
-    append(newContents, newDisplayContents, "NOTE", note, fieldFormatter, TERMINATOR);
-
-    newContents.append("END:VCARD").append(TERMINATOR);
-
-    return new String[] { newContents.toString(), newDisplayContents.toString() };
-  }
-
-  private static List<Map<String,Set<String>>> buildPhoneMetadata(Collection<String> phones, List<String> phoneTypes) {
-    if (phoneTypes == null || phoneTypes.isEmpty()) {
-      return null;
-    }
-    List<Map<String,Set<String>>> metadataForIndex = new ArrayList<>();
-    for (int i = 0; i < phones.size(); i++) {
-      if (phoneTypes.size() <= i) {
-        metadataForIndex.add(null);
-      } else {
-        Map<String,Set<String>> metadata = new HashMap<>();
-        metadataForIndex.add(metadata);
-        Set<String> typeTokens = new HashSet<>();
-        metadata.put("TYPE", typeTokens);
-        String typeString = phoneTypes.get(i);
-        Integer androidType = maybeIntValue(typeString);
-        if (androidType == null) {
-          typeTokens.add(typeString);
-        } else {
-          String purpose = vCardPurposeLabelForAndroidType(androidType);
-          String context = vCardContextLabelForAndroidType(androidType);
-          if (purpose != null) {
-            typeTokens.add(purpose);
-          }
-          if (context != null) {
-            typeTokens.add(context);
-          }
-        }
-      }
-    }
-    return metadataForIndex;
-  }
-
-  private static Integer maybeIntValue(String value) {
-    try {
-      return Integer.valueOf(value);
-    } catch (NumberFormatException nfe) {
-      return null;
-    }
-  }
-
-  private static String vCardPurposeLabelForAndroidType(int androidType) {
-    switch (androidType) {
-      case ContactsContract.CommonDataKinds.Phone.TYPE_FAX_HOME:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_OTHER_FAX:
-        return "fax";
-      case ContactsContract.CommonDataKinds.Phone.TYPE_PAGER:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_WORK_PAGER:
-        return "pager";
-      case ContactsContract.CommonDataKinds.Phone.TYPE_TTY_TDD:
-        return "textphone";
-      case ContactsContract.CommonDataKinds.Phone.TYPE_MMS:
-        return "text";
-      default:
-        return null;
-    }
-  }
-
-  private static String vCardContextLabelForAndroidType(int androidType) {
-    switch (androidType) {
-      case ContactsContract.CommonDataKinds.Phone.TYPE_HOME:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_FAX_HOME:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_PAGER:
-        return "home";
-      case ContactsContract.CommonDataKinds.Phone.TYPE_COMPANY_MAIN:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_WORK:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_WORK_MOBILE:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK:
-      case ContactsContract.CommonDataKinds.Phone.TYPE_WORK_PAGER:
-        return "work";
-      default:
-        return null;
-    }
-  }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardFieldFormatter.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardFieldFormatter.java
deleted file mode 100644
index 11469ba..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardFieldFormatter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2014 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-/**
- * @author Sean Owen
- */
-final class VCardFieldFormatter implements Formatter {
-
-  private static final Pattern RESERVED_VCARD_CHARS = Pattern.compile("([\\\\,;])");
-  private static final Pattern NEWLINE = Pattern.compile("\\n");
-
-  private final List<Map<String,Set<String>>> metadataForIndex;
-
-  VCardFieldFormatter() {
-    this(null);
-  }
-
-  VCardFieldFormatter(List<Map<String,Set<String>>> metadataForIndex) {
-    this.metadataForIndex = metadataForIndex;
-  }
-
-  @Override
-  public CharSequence format(CharSequence value, int index) {
-    value = RESERVED_VCARD_CHARS.matcher(value).replaceAll("\\\\$1");
-    value = NEWLINE.matcher(value).replaceAll("");
-    Map<String,Set<String>> metadata =
-        metadataForIndex == null || metadataForIndex.size() <= index ? null : metadataForIndex.get(index);
-    value = formatMetadata(value, metadata);
-    return value;
-  }
-
-  private static CharSequence formatMetadata(CharSequence value, Map<String,Set<String>> metadata) {
-    StringBuilder withMetadata = new StringBuilder();
-    if (metadata != null) {
-      for (Map.Entry<String,Set<String>> metadatum : metadata.entrySet()) {
-        Set<String> values = metadatum.getValue();
-        if (values == null || values.isEmpty()) {
-          continue;
-        }
-        withMetadata.append(';').append(metadatum.getKey()).append('=');
-        if (values.size() > 1) {
-          withMetadata.append('"');
-        }
-        Iterator<String> valuesIt = values.iterator();
-        withMetadata.append(valuesIt.next());
-        while (valuesIt.hasNext()) {
-          withMetadata.append(',').append(valuesIt.next());
-        }
-        if (values.size() > 1) {
-          withMetadata.append('"');
-        }
-      }
-    }
-    withMetadata.append(':').append(value);
-    return withMetadata;
-  }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardTelDisplayFormatter.java b/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardTelDisplayFormatter.java
deleted file mode 100644
index 36f26ef..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/encode/VCardTelDisplayFormatter.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2014 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.zxing.scanner.encode;
-
-import android.telephony.PhoneNumberUtils;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author Sean Owen
- */
-final class VCardTelDisplayFormatter implements Formatter {
-
-  private final List<Map<String,Set<String>>> metadataForIndex;
-
-  VCardTelDisplayFormatter() {
-    this(null);
-  }
-
-  VCardTelDisplayFormatter(List<Map<String,Set<String>>> metadataForIndex) {
-    this.metadataForIndex = metadataForIndex;
-  }
-
-  @Override
-  public CharSequence format(CharSequence value, int index) {
-    value = PhoneNumberUtils.formatNumber(value.toString());
-    Map<String,Set<String>> metadata =
-        metadataForIndex == null || metadataForIndex.size() <= index ? null : metadataForIndex.get(index);
-    value = formatMetadata(value, metadata);
-    return value;
-  }
-
-  private static CharSequence formatMetadata(CharSequence value, Map<String,Set<String>> metadata) {
-    if (metadata == null || metadata.isEmpty()) {
-      return value;
-    }
-    StringBuilder withMetadata = new StringBuilder();
-    for (Map.Entry<String,Set<String>> metadatum : metadata.entrySet()) {
-      Set<String> values = metadatum.getValue();
-      if (values == null || values.isEmpty()) {
-        continue;
-      }
-      Iterator<String> valuesIt = values.iterator();
-      withMetadata.append(valuesIt.next());
-      while (valuesIt.hasNext()) {
-        withMetadata.append(',').append(valuesIt.next());
-      }
-    }
-    if (withMetadata.length() > 0) {
-      withMetadata.append(' ');
-    }
-    withMetadata.append(value);
-    return withMetadata;
-  }
-
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/AddressBookResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/AddressBookResult.java
deleted file mode 100644
index ab45685..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/AddressBookResult.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.AddressBookParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class AddressBookResult extends Result {
-    private final String[] names;
-    private final String[] nicknames;
-    private final String pronunciation;
-    private final String[] phoneNumbers;
-    private final String[] phoneTypes;
-    private final String[] emails;
-    private final String[] emailTypes;
-    private final String instantMessenger;
-    private final String note;
-    private final String[] addresses;
-    private final String[] addressTypes;
-    private final String org;
-    private final String birthday;
-    private final String title;
-    private final String[] urls;
-    private final String[] geo;
-
-    public AddressBookResult(AddressBookParsedResult addressBookParsedResult) {
-        this.names = addressBookParsedResult.getNames();
-        this.nicknames = addressBookParsedResult.getNicknames();
-        this.pronunciation = addressBookParsedResult.getPronunciation();
-        this.phoneNumbers = addressBookParsedResult.getPhoneNumbers();
-        this.phoneTypes = addressBookParsedResult.getPhoneTypes();
-        this.emails = addressBookParsedResult.getEmails();
-        this.emailTypes = addressBookParsedResult.getEmailTypes();
-        this.instantMessenger = addressBookParsedResult.getInstantMessenger();
-        this.note = addressBookParsedResult.getNote();
-        this.addresses = addressBookParsedResult.getAddresses();
-        this.addressTypes = addressBookParsedResult.getAddressTypes();
-        this.org = addressBookParsedResult.getOrg();
-        this.birthday = addressBookParsedResult.getBirthday();
-        this.title = addressBookParsedResult.getTitle();
-        this.urls = addressBookParsedResult.getURLs();
-        this.geo = addressBookParsedResult.getGeo();
-    }
-
-    public String[] getNames() {
-        return names;
-    }
-
-    public String[] getNicknames() {
-        return nicknames;
-    }
-
-    public String getPronunciation() {
-        return pronunciation;
-    }
-
-    public String[] getPhoneNumbers() {
-        return phoneNumbers;
-    }
-
-    public String[] getPhoneTypes() {
-        return phoneTypes;
-    }
-
-    public String[] getEmails() {
-        return emails;
-    }
-
-    public String[] getEmailTypes() {
-        return emailTypes;
-    }
-
-    public String getInstantMessenger() {
-        return instantMessenger;
-    }
-
-    public String getNote() {
-        return note;
-    }
-
-    public String[] getAddresses() {
-        return addresses;
-    }
-
-    public String[] getAddressTypes() {
-        return addressTypes;
-    }
-
-    public String getOrg() {
-        return org;
-    }
-
-    public String getBirthday() {
-        return birthday;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String[] getUrls() {
-        return urls;
-    }
-
-    public String[] getGeo() {
-        return geo;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/GeoResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/GeoResult.java
deleted file mode 100644
index 803bda9..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/GeoResult.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.GeoParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class GeoResult extends Result {
-    private final double latitude;
-    private final double longitude;
-    private final double altitude;
-    private final String query;
-
-    public GeoResult(GeoParsedResult geoParsedResult) {
-        this.latitude = geoParsedResult.getLatitude();
-        this.longitude = geoParsedResult.getLongitude();
-        this.altitude = geoParsedResult.getAltitude();
-        this.query = geoParsedResult.getQuery();
-    }
-
-    public double getLatitude() {
-        return latitude;
-    }
-
-    public double getLongitude() {
-        return longitude;
-    }
-
-    public double getAltitude() {
-        return altitude;
-    }
-
-    public String getQuery() {
-        return query;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/ISBNResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/ISBNResult.java
deleted file mode 100644
index 1eb1013..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/ISBNResult.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.ISBNParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class ISBNResult extends Result {
-    private final String isbn;
-
-    public ISBNResult(ISBNParsedResult isbnParsedResult) {
-        this.isbn = isbnParsedResult.getISBN();
-    }
-
-    public String getISBN() {
-        return isbn;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/ProductResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/ProductResult.java
deleted file mode 100644
index bd1ffc5..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/ProductResult.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.ProductParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class ProductResult extends Result {
-    private final String productID;
-    private final String normalizedProductID;
-
-    public ProductResult(ProductParsedResult productParsedResult) {
-        this.productID = productParsedResult.getProductID();
-        this.normalizedProductID = productParsedResult.getNormalizedProductID();
-    }
-
-    public String getProductID() {
-        return productID;
-    }
-
-    public String getNormalizedProductID() {
-        return normalizedProductID;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/Result.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/Result.java
deleted file mode 100644
index cf858ad..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/Result.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.zxing.scanner.result;
-
-import java.io.Serializable;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-class Result implements Serializable {
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/SMSResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/SMSResult.java
deleted file mode 100644
index b69e283..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/SMSResult.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.SMSParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class SMSResult extends Result {
-    private final String[] numbers;
-    private final String[] vias;
-    private final String subject;
-    private final String body;
-
-    public SMSResult(SMSParsedResult smsParsedResult) {
-        this.numbers = smsParsedResult.getNumbers();
-        this.vias = smsParsedResult.getVias();
-        this.subject = smsParsedResult.getSubject();
-        this.body = smsParsedResult.getBody();
-    }
-
-    public String[] getNumbers() {
-        return numbers;
-    }
-
-    public String[] getVias() {
-        return vias;
-    }
-
-    public String getSubject() {
-        return subject;
-    }
-
-    public String getBody() {
-        return body;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/TelResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/TelResult.java
deleted file mode 100644
index caae5fe..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/TelResult.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.TelParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class TelResult extends Result {
-    private final String number;
-    private final String telURI;
-    private final String title;
-
-    public TelResult(TelParsedResult telParsedResult) {
-        this.number = telParsedResult.getNumber();
-        this.telURI = telParsedResult.getTelURI();
-        this.title = telParsedResult.getTitle();
-    }
-
-    public String getNumber() {
-        return number;
-    }
-
-    public String getTelURI() {
-        return telURI;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/TextResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/TextResult.java
deleted file mode 100644
index 87a2531..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/TextResult.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.TextParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class TextResult extends Result {
-    private final String text;
-    private final String language;
-
-    public TextResult(TextParsedResult textParsedResult) {
-        this.text = textParsedResult.getText();
-        this.language = textParsedResult.getLanguage();
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public String getLanguage() {
-        return language;
-    }
-}
diff --git a/zxinglibrary/src/main/java/com/zxing/scanner/result/URIResult.java b/zxinglibrary/src/main/java/com/zxing/scanner/result/URIResult.java
deleted file mode 100644
index fc31072..0000000
--- a/zxinglibrary/src/main/java/com/zxing/scanner/result/URIResult.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.zxing.scanner.result;
-
-import com.google.zxing.client.result.URIParsedResult;
-
-/**
- * Created by hupei on 2016/8/12.
- */
-public class URIResult extends Result {
-    private final String uri;
-    private final String title;
-
-    public URIResult(URIParsedResult uriParsedResult) {
-        this.uri = uriParsedResult.getURI();
-        this.title = uriParsedResult.getTitle();
-    }
-
-    public String getUri() {
-        return uri;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-}
diff --git a/zxinglibrary/src/test/java/face/live/com/zxinglibrary/ExampleUnitTest.java b/zxinglibrary/src/test/java/face/live/com/zxinglibrary/ExampleUnitTest.java
deleted file mode 100644
index 10770a3..0000000
--- a/zxinglibrary/src/test/java/face/live/com/zxinglibrary/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package face.live.com.zxinglibrary;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-public class ExampleUnitTest {
-    @Test
-    public void addition_isCorrect() {
-        assertEquals(4, 2 + 2);
-    }
-}
\ No newline at end of file

--
Gitblit v1.7.1