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.pngxldutils-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' }