Skip to content

Commit

Permalink
commit 1.2.4 新增AppException添加Throwable
Browse files Browse the repository at this point in the history
  • Loading branch information
hegaojian committed Jul 6, 2021
1 parent 3696396 commit 3856793
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 25 deletions.
4 changes: 2 additions & 2 deletions JetpackMvvm/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
versionCode 23
versionName "1.2.3"
versionCode 24
versionName "1.2.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,19 @@ class AppException : Exception {
var errorMsg: String //错误消息
var errCode: Int = 0 //错误码
var errorLog: String? //错误日志
var throwable: Throwable? = null

constructor(errCode: Int, error: String?, errorLog: String? = "") : super(error) {
constructor(errCode: Int, error: String?, errorLog: String? = "", throwable: Throwable? = null) : super(error) {
this.errorMsg = error ?: "请求失败,请稍后再试"
this.errCode = errCode
this.errorLog = errorLog?:this.errorMsg
this.errorLog = errorLog ?: this.errorMsg
this.throwable = throwable
}

constructor(error: Error,e: Throwable?) {
constructor(error: Error, e: Throwable?) {
errCode = error.getKey()
errorMsg = error.getValue()
errorLog = e?.message
throwable = e
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ import me.hgj.jetpackmvvm.network.ExceptionHandle
sealed class ResultState<out T> {
companion object {
fun <T> onAppSuccess(data: T): ResultState<T> = Success(data)
fun <T> onAppLoading(loadingMessage:String): ResultState<T> = Loading(loadingMessage)
fun <T> onAppLoading(loadingMessage: String): ResultState<T> = Loading(loadingMessage)
fun <T> onAppError(error: AppException): ResultState<T> = Error(error)
}
data class Loading(val loadingMessage:String) : ResultState<Nothing>()

data class Loading(val loadingMessage: String) : ResultState<Nothing>()
data class Success<out T>(val data: T) : ResultState<T>()
data class Error(val error: AppException) : ResultState<Nothing>()
}
Expand All @@ -30,7 +31,6 @@ fun <T> MutableLiveData<ResultState<T>>.paresResult(result: BaseResponse<T>) {
ResultState.onAppSuccess(result.getResponseData())
}
else -> {

ResultState.onAppError(AppException(result.getResponseCode(), result.getResponseMsg()))
}
}
Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ android {
applicationId "me.hgj.jetpackmvvm.demo"
minSdkVersion 21
targetSdkVersion 30
versionCode 23
versionName "1.2.3"
versionCode 24
versionName "1.2.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
/* ndk {
// 设置支持的SO库架构 一般只设置这个就阔以设配所有的设备了,还可以减少apk的大小
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ class LoginFragment : BaseFragment<LoginRegisterViewModel, FragmentLoginBinding>
}

override fun createObserver() {

requestLoginRegisterViewModel.loginResult.observe(viewLifecycleOwner,Observer { resultState ->
parseState(resultState, {
//登录成功 通知账户数据发生改变鸟
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import com.afollestad.materialdialogs.list.listItemsSingleChoice
import com.blankj.utilcode.util.AppUtils
import com.tencent.bugly.beta.Beta
import me.hgj.jetpackmvvm.demo.R
import me.hgj.jetpackmvvm.demo.app.event.AppViewModel
import me.hgj.jetpackmvvm.demo.app.appViewModel
import me.hgj.jetpackmvvm.demo.app.ext.initClose
import me.hgj.jetpackmvvm.demo.app.ext.showMessage
import me.hgj.jetpackmvvm.demo.app.network.NetworkApi
Expand All @@ -43,22 +43,19 @@ import me.hgj.jetpackmvvm.ext.navigateAction
class SettingFragment : PreferenceFragmentCompat(),
SharedPreferences.OnSharedPreferenceChangeListener {

//这里不能继承BaseFragment了,所以手动获取一下 AppViewModel
val shareViewModel: AppViewModel by lazy { getAppViewModel<AppViewModel>() }

private var colorPreview: IconPreference? = null

var toolbarView: View? = null

var containerView: FrameLayout? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
//这里重写根据PreferenceFragmentCompat 的布局 ,往他的根布局插入了一个toolbar
val containerView = view.findViewById<FrameLayout>(android.R.id.list_container)
containerView.let {
containerView = view.findViewById<FrameLayout>(android.R.id.list_container)
containerView?.let {
//转为线性布局
val linearLayout = it.parent as? LinearLayout
linearLayout?.run {
toolbarView = LayoutInflater.from(activity).inflate(R.layout.include_toolbar, null)
toolbarView = LayoutInflater.from(context).inflate(R.layout.include_toolbar, null)
toolbarView?.let {view ->
view.findViewById<Toolbar>(R.id.toolbar)?.initClose("设置") {
nav().navigateUp()
Expand Down Expand Up @@ -86,7 +83,7 @@ class SettingFragment : PreferenceFragmentCompat(),
//清空cookie
NetworkApi.INSTANCE.cookieJar.clear()
CacheUtil.setUser(null)
shareViewModel.userInfo.value = null
appViewModel.userInfo.value = null
nav().navigateUp()
})
false
Expand Down Expand Up @@ -115,7 +112,7 @@ class SettingFragment : PreferenceFragmentCompat(),
SettingUtil.setListMode(index)
it.summary = text
//通知其他界面立马修改配置
shareViewModel.appAnimation.value = index
appViewModel.appAnimation.value = index
}
title(text = "设置列表动画")
positiveButton(R.string.confirm)
Expand Down Expand Up @@ -152,7 +149,7 @@ class SettingFragment : PreferenceFragmentCompat(),
findPreference<CheckBoxPreference>("top")?.setBottonColor()
toolbarView?.setBackgroundColor(color)
//通知其他界面立马修改配置
shareViewModel.appColor.value = color
appViewModel.appColor.value = color
}
getActionButton(WhichButton.POSITIVE).updateTextColor(
SettingUtil.getColor(
Expand Down Expand Up @@ -238,5 +235,11 @@ class SettingFragment : PreferenceFragmentCompat(),
CacheUtil.setIsNeedTop(sharedPreferences.getBoolean("top", true))
}
}

override fun onDestroyView() {
super.onDestroyView()
containerView?.removeAllViews()
toolbarView = null
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package me.hgj.jetpackmvvm.demo.viewmodel.state
import me.hgj.jetpackmvvm.base.viewmodel.BaseViewModel
import me.hgj.jetpackmvvm.callback.databind.IntObservableField
import me.hgj.jetpackmvvm.callback.databind.StringObservableField
import me.hgj.jetpackmvvm.callback.livedata.UnPeekLiveData
import me.hgj.jetpackmvvm.demo.app.util.ColorUtil

/**
Expand All @@ -20,6 +19,4 @@ class MeViewModel : BaseViewModel() {
var info = StringObservableField("id:-- 排名:-")

var imageUrl = StringObservableField(ColorUtil.randomImage())

var testString = UnPeekLiveData<String>()
}

0 comments on commit 3856793

Please sign in to comment.