refactor(frame): 调整项目结构

移除buildGradleScript、lib_net模块,将网络层迁移至lib_common层
升级Gradle版本及
This commit is contained in:
Quyunshuo
2021-07-10 23:31:07 +08:00
parent 6120062365
commit 7429a02189
28 changed files with 20 additions and 169 deletions

69
lib_base/build.gradle Normal file
View File

@ -0,0 +1,69 @@
//****************************************
//********** lib_base 的配置文件 ***********
//****************************************
apply from: '../base_lib.gradle'
apply plugin: 'dagger.hilt.android.plugin'
import com.quyunshuo.androidbaseframemvvm.buildsrc.*
android {
buildFeatures {
viewBinding = true
}
resourcePrefix "base_"
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
api DependencyConfig.AndroidX.CoreKtx
api DependencyConfig.AndroidX.AppCompat
api DependencyConfig.AndroidX.ConstraintLayout
api DependencyConfig.AndroidX.ActivityKtx
api DependencyConfig.AndroidX.FragmentKtx
api DependencyConfig.AndroidX.MultiDex
api DependencyConfig.Android.Material
api DependencyConfig.Kotlin.Kotlin
api DependencyConfig.Kotlin.CoroutinesCore
api DependencyConfig.Kotlin.CoroutinesAndroid
api DependencyConfig.JetPack.ViewModel
api DependencyConfig.JetPack.ViewModelSavedState
api DependencyConfig.JetPack.LiveData
api DependencyConfig.JetPack.Lifecycle
api DependencyConfig.JetPack.HiltCore
api DependencyConfig.GitHub.Gson
api DependencyConfig.GitHub.MMKV
api DependencyConfig.GitHub.AutoSize
api DependencyConfig.GitHub.Glide
api DependencyConfig.GitHub.ARoute
api DependencyConfig.GitHub.RecyclerViewAdapter
api DependencyConfig.GitHub.StatusBar
api DependencyConfig.GitHub.EventBus
api DependencyConfig.GitHub.PermissionX
api DependencyConfig.GitHub.AutoService
api DependencyConfig.GitHub.OkHttp
api DependencyConfig.GitHub.OkHttpInterceptorLogging
api DependencyConfig.GitHub.Retrofit
api DependencyConfig.GitHub.RetrofitConverterGson
api DependencyConfig.SDK.TencentBugly
api DependencyConfig.SDK.TencentBuglyNative
api DependencyConfig.SDK.TencentTBSX5
kapt DependencyConfig.GitHub.GlideCompiler
kapt DependencyConfig.GitHub.ARouteCompiler
kapt DependencyConfig.GitHub.EventBusAPT
kapt DependencyConfig.GitHub.AutoServiceAnnotations
kapt DependencyConfig.JetPack.HiltApt
kapt DependencyConfig.JetPack.HiltAndroidx
kapt DependencyConfig.JetPack.LifecycleCompilerAPT
debugApi DependencyConfig.GitHub.LeakCanary
}

View File

@ -1 +0,0 @@
apply("../buildGradleScript/lib_base.gradle")

View File

@ -1,9 +1,11 @@
package com.quyunshuo.androidbaseframemvvm.base.app
package com.quyunshuo.androidbaseframemvvm.base
import android.annotation.SuppressLint
import android.content.Context
import android.util.Log
import androidx.multidex.MultiDexApplication
import com.quyunshuo.androidbaseframemvvm.base.app.ActivityLifecycleCallbacksImpl
import com.quyunshuo.androidbaseframemvvm.base.app.LoadModuleProxy
import kotlinx.coroutines.*
import kotlin.system.measureTimeMillis

View File

@ -4,7 +4,7 @@ import android.app.Activity
import android.content.Context
import android.view.View
import android.view.inputmethod.InputMethodManager
import com.quyunshuo.androidbaseframemvvm.base.app.BaseApplication
import com.quyunshuo.androidbaseframemvvm.base.BaseApplication
import java.lang.reflect.Field
/**

View File

@ -11,7 +11,7 @@ import android.widget.Toast;
import androidx.annotation.StringRes;
import com.quyunshuo.androidbaseframemvvm.base.app.BaseApplication;
import com.quyunshuo.androidbaseframemvvm.base.BaseApplication;
import java.lang.reflect.Field;

View File

@ -1,14 +1,10 @@
package com.quyunshuo.androidbaseframemvvm.base.utils
import android.annotation.SuppressLint
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkInfo
import android.os.Build
import android.util.Log
import android.widget.Toast
import com.alibaba.android.arouter.launcher.ARouter
import com.quyunshuo.androidbaseframemvvm.base.app.BaseApplication
import com.quyunshuo.androidbaseframemvvm.base.BaseApplication
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.catch
@ -16,15 +12,6 @@ import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
/**
* 以顶层函数存在的常用工具方法
* startPolling() -> 开启一个轮询
* sendEvent() -> 发送普通EventBus事件
* isNetworkAvailable() -> 检查是否连接网络
* aRouterJump() -> 阿里路由不带参数跳转
* toast() -> 封装ToastUtils
*/
/**************************************************************************************************/
/**
* 使用 Flow 做的简单的轮询
* 请使用单独的协程来进行管理该 Flow
@ -50,29 +37,6 @@ suspend fun startPolling(intervals: Long, block: () -> Unit) {
*/
fun sendEvent(event: Any) = EventBusUtils.postEvent(event)
/**************************************************************************************************/
/**
* 判断是否连接网络
*/
@SuppressLint("MissingPermission")
fun isNetworkAvailable(): Boolean {
val connectivityManager: ConnectivityManager? =
BaseApplication.context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (connectivityManager == null) {
return false
} else {
val allNetworkInfo: Array<NetworkInfo>? = connectivityManager.allNetworkInfo
if (allNetworkInfo != null && allNetworkInfo.isNotEmpty()) {
allNetworkInfo.forEach {
if (it.state == NetworkInfo.State.CONNECTED) {
return true
}
}
}
}
return false
}
/**************************************************************************************************/
/**
* 阿里路由不带参数跳转