lmw
2024-07-22 b6a22ac20c4155bb6f3df928cf5d88502079406c
save
11个文件已修改
67 ■■■■ 已修改文件
app/src/main/java/com/dollearn/student/network/Functions.kt 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/ui/home/ListenActivity.kt 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/ui/home/ScheduleActivity.kt 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/ui/home/SuperListenActivity.kt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/ui/home/WeekSelectActivity.kt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/ui/login/LoginActivity.kt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_home.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xxhdpi/home_stu.png 补丁 | 查看 | 原始文档 | blame | 历史
xldutils-kotlin/build.gradle 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dollearn/student/network/Functions.kt
@@ -30,8 +30,7 @@
            if (code == 700||code == 600||code == 505||code == 401){//token无效
                SPUtils.instance().remove(Const.User.TOKEN).remove(Const.User.USER_ID).apply()
                (activity.application as DollearnApplication).exit()
                activity.startActivity<LoginActivity>()
                activity.myToast("登录失效,请重新登录")
                activity.startActivity<LoginActivity>("offline" to true)
            }else{
                super.onError(code, msg)
                error(code,msg)
@@ -54,10 +53,9 @@
        override fun onError(code: Int, msg: String) {
            if (code == 700||code == 600||code == 505||code == 401){//token无效
                fragment.myToast("登录失效,请重新登录")
                SPUtils.instance().remove(Const.User.TOKEN).remove(Const.User.USER_ID).apply()
                (fragment.activity!!.application as DollearnApplication).exit()
                fragment.startActivity<LoginActivity>()
                fragment.startActivity<LoginActivity>("offline" to true)
            }else{
                super.onError(code, msg)
                error(code,msg)
app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt
@@ -35,9 +35,7 @@
    private val week by lazy {
        (requireActivity() as ScheduleActivity).week
    }
    private val current by lazy {
        (requireActivity() as ScheduleActivity).currentDay
    }
    override fun onFirstVisibleToUser() {
        getProgress()
@@ -113,13 +111,17 @@
    private fun getProgress(){
        HttpManager.studySchedule(week,day).requestByF(this){ _, data->
            data?.apply {
                val scheduleActivity = activity as ScheduleActivity
                if (day != scheduleActivity.currentDay){ //解锁了后一天
                    scheduleActivity.unLockNext(day)
                }
                tv_current.text = "当前周目:${week.formatToChinese()}周目"
                tv_progress.text = "${computeSchedule}%"
                tv_total.text = "${totalStudy}小时"
                tv_today.text = "${todayStudy}小时"
                progress_bar.progress = computeSchedule
                if (this@DailyFragment.day == current){
                if (this@DailyFragment.day == scheduleActivity.currentDay){
                    formatProgress(listen,tv_state)
                    formatProgress(look,tv_state_2)
                    formatProgress(induction,tv_state_3)
app/src/main/java/com/dollearn/student/ui/home/ListenActivity.kt
@@ -45,8 +45,9 @@
    override fun initClick() {
        tv_last.setOnClickListener {
            (fragments[view_pager.currentItem-1] as ListenFragment).recover()
            view_pager.setCurrentItem(view_pager.currentItem-1,true)
            val i = view_pager.currentItem - 1
            (fragments[i] as ListenFragment).recover()
            view_pager.setCurrentItem(i,i%4 == 0)
            if (view_pager.currentItem == 0)
                tv_last.gone()
        }
@@ -62,8 +63,9 @@
            ResultActivity.startResult(this,day,week,season,1,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
            finish()
        }else{
            (fragments[view_pager.currentItem+1] as ListenFragment).recover()
            view_pager.setCurrentItem(view_pager.currentItem+1,true)
            val i = view_pager.currentItem + 1
            (fragments[i] as ListenFragment).recover()
            view_pager.setCurrentItem(i,i%4 == 0)
            tv_last.visible()
        }
    }
app/src/main/java/com/dollearn/student/ui/home/ScheduleActivity.kt
@@ -1,18 +1,15 @@
package com.dollearn.student.ui.home
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.fragment.app.Fragment
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.Const
import com.dollearn.student.utils.event.EmptyEvent
import com.dollearn.student.utils.event.IntEvent
import kotlinx.android.synthetic.main.activity_schedul.*
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.jetbrains.anko.browse
class ScheduleActivity :TransparentStatusBarActivity(){
    override fun setContentView() = R.layout.activity_schedul
@@ -54,13 +51,19 @@
        tab_bar.currentTab = currentDay-1
        view_pager.offscreenPageLimit = day
        //设置不可点击的day
        (day until 6).forEach {
            tab_bar.getTitleView(it).isEnabled = false
        }
//        (day until 6).forEach {
//            tab_bar.getTitleView(it).isEnabled = false
//        }
        if (tab_bar.currentTab == 0)
            tab_bar.updateTabStyles()
    }
    fun unLockNext(day: Int){
        currentDay = day
        tab_bar.getTitleView(day - 1).isEnabled = true
        tab_bar.currentTab = currentDay-1
    }
    @Subscribe
    fun nextSubject(e: IntEvent){
        if (e.code == Const.EventCode.NEXT_SUBJECT){
app/src/main/java/com/dollearn/student/ui/home/SuperListenActivity.kt
@@ -252,7 +252,7 @@
            countTime = TIME //重置答题时间
            tv_tip.text = "准备听题"
            state = 0
            handler?.sendEmptyMessageDelayed(PLAY_VOICE, if (playNow) 200 else 3000)
            handler?.sendEmptyMessageDelayed(PLAY_VOICE, if (playNow) 200 else 1000)
        }else{
            tv_sort.visibility = View.INVISIBLE
            cl_voice.visibility = View.INVISIBLE
app/src/main/java/com/dollearn/student/ui/home/WeekSelectActivity.kt
@@ -34,8 +34,9 @@
            if (weeks[position].canStudy)
                startActivity<ScheduleActivity>("week" to weeks[position].week,"season" to seasonAdapter.checked+1)
            else{
                val msg = if (seasonAdapter.checked == 0||weeks[0].canStudy) "请先完成上一周目学习后再试" else "请先完成上一季度学习后再试"
                val tipDialog = TipDialog()
                tipDialog.arguments = bundleOf("msg" to "请先完成上一周练习","isAlert" to true)
                tipDialog.arguments = bundleOf("msg" to msg,"isAlert" to true)
                tipDialog.showAllowingStateLoss(supportFragmentManager,"noStart")
            }
        }
@@ -44,7 +45,6 @@
    override fun initView() {
        rv_season.layoutManager = LinearLayoutManager(this)
        rv_season.adapter = seasonAdapter
        rv_week.layoutManager = GridLayoutManager(this,3)
        rv_week.adapter = weekAdapter
    }
app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt
@@ -67,8 +67,6 @@
                ivResult.setImageResource(R.mipmap.zhifushibai)
                subject.completed = true
                subject.right = false
                act.index++
                act.startGame()
            }
            motion.transitionToEnd()
            motion.setTransitionListener(object :MotionLayout.TransitionListener{
app/src/main/java/com/dollearn/student/ui/login/LoginActivity.kt
@@ -25,6 +25,7 @@
    override fun setContentView() = R.layout.activity_login
    private lateinit var timer: CountDownTimer
    private val offline by lazy { intent.getBooleanExtra("offline",false) }
    @SuppressLint("CheckResult")
    override fun initClick() {
@@ -88,6 +89,9 @@
                tv_code.text = "${millisUntilFinished / 1000}s"
            }
        }
        if (offline)
            myToast("登录失效,请重新登录")
    }
    private fun loginByCode() {
app/src/main/res/layout/fragment_home.xml
@@ -17,7 +17,7 @@
        android:layout_height="wrap_content"
        android:id="@+id/guide2"
        android:orientation="vertical"
        app:layout_constraintGuide_percent="0.7"/>
        app:layout_constraintGuide_percent="1"/>
    <View
        android:layout_width="0dp"
        android:layout_height="match_parent"
@@ -62,6 +62,7 @@
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:visibility="gone"
        app:layout_constraintStart_toEndOf="@id/guide2"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_marginTop="48dp"
@@ -92,16 +93,14 @@
        android:scaleType="center"
        app:layout_constraintEnd_toStartOf="@id/guide2"/>
    <LinearLayout
        android:layout_width="0dp"
        android:layout_width="380dp"
        android:layout_height="88dp"
        android:id="@+id/cl_listen"
        app:layout_constraintStart_toEndOf="@id/guide1"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintVertical_bias="0.45"
        android:layout_marginStart="33dp"
        android:layout_marginEnd="55dp"
        app:layout_constraintEnd_toStartOf="@id/guide2">
        app:layout_constraintVertical_bias="0.3"
        android:layout_marginStart="33dp">
        <RelativeLayout
            android:layout_width="99dp"
            android:orientation="vertical"
@@ -133,6 +132,7 @@
        android:id="@+id/iv_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="30dp"
        android:src="@mipmap/home_stu"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@id/guide2"/>
app/src/main/res/mipmap-xxhdpi/home_stu.png

xldutils-kotlin/build.gradle
@@ -48,11 +48,9 @@
    //fresco
    api 'com.facebook.fresco:fresco:1.13.0'
    api 'com.facebook.fresco:animated-gif:1.13.0'
    api 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'
    api 'com.google.code.gson:gson:2.8.5'
    api 'com.github.zackratos.ultimatebar:ultimatebar3:3.1.1' //状态栏工具
    api 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar'
    api 'org.greenrobot:eventbus:3.1.1'
}