diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 2ead31e..5942ee4 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 2ead31e..5942ee4 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt index 37aec37..bb97c01 100644 --- a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt @@ -1,19 +1,29 @@ package com.casic.smarttube.utils; import android.app.Activity -import com.loading.dialog.IOSLoadingDialog +import android.view.WindowManager +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog -//TODO 待修改 object DialogHelper { - private lateinit var loadingDialog: IOSLoadingDialog + private lateinit var loadingDialog: QMUITipDialog fun showLoadingDialog(activity: Activity, message: String?) { - loadingDialog = IOSLoadingDialog() - loadingDialog.setOnTouchOutside(false) - loadingDialog.show(activity.fragmentManager, message) + loadingDialog = QMUITipDialog.Builder(activity) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create() + if (!activity.isDestroyed) { + try { + loadingDialog.show() + } catch (e: WindowManager.BadTokenException) { + e.printStackTrace() + } + } } fun dismissLoadingDialog() { - loadingDialog.dismissAllowingStateLoss() + if (loadingDialog.isShowing) { + loadingDialog.dismiss() + } } } diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 2ead31e..5942ee4 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt index 37aec37..bb97c01 100644 --- a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt @@ -1,19 +1,29 @@ package com.casic.smarttube.utils; import android.app.Activity -import com.loading.dialog.IOSLoadingDialog +import android.view.WindowManager +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog -//TODO 待修改 object DialogHelper { - private lateinit var loadingDialog: IOSLoadingDialog + private lateinit var loadingDialog: QMUITipDialog fun showLoadingDialog(activity: Activity, message: String?) { - loadingDialog = IOSLoadingDialog() - loadingDialog.setOnTouchOutside(false) - loadingDialog.show(activity.fragmentManager, message) + loadingDialog = QMUITipDialog.Builder(activity) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create() + if (!activity.isDestroyed) { + try { + loadingDialog.show() + } catch (e: WindowManager.BadTokenException) { + e.printStackTrace() + } + } } fun dismissLoadingDialog() { - loadingDialog.dismissAllowingStateLoss() + if (loadingDialog.isShowing) { + loadingDialog.dismiss() + } } } diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index 446d848..0000000 --- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.smarttube.utils.retrofit; - -import android.util.Log -import com.casic.smarttube.utils.LocaleConstant -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -import com.pengxh.kt.lite.utils.SaveKeyValues -import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor -import org.jetbrains.annotations.NotNull -import retrofit2.Retrofit -import retrofit2.converter.gson.GsonConverterFactory -import retrofit2.converter.scalars.ScalarsConverterFactory -import java.util.concurrent.TimeUnit - -object RetrofitFactory { - private const val kTag = "RetrofitFactory" - - private val httpClient: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(httpClient) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(kTag, ">>>>> $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(15, TimeUnit.SECONDS) - .readTimeout(15, TimeUnit.SECONDS) - .writeTimeout(15, TimeUnit.SECONDS) - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 2ead31e..5942ee4 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt index 37aec37..bb97c01 100644 --- a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt @@ -1,19 +1,29 @@ package com.casic.smarttube.utils; import android.app.Activity -import com.loading.dialog.IOSLoadingDialog +import android.view.WindowManager +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog -//TODO 待修改 object DialogHelper { - private lateinit var loadingDialog: IOSLoadingDialog + private lateinit var loadingDialog: QMUITipDialog fun showLoadingDialog(activity: Activity, message: String?) { - loadingDialog = IOSLoadingDialog() - loadingDialog.setOnTouchOutside(false) - loadingDialog.show(activity.fragmentManager, message) + loadingDialog = QMUITipDialog.Builder(activity) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create() + if (!activity.isDestroyed) { + try { + loadingDialog.show() + } catch (e: WindowManager.BadTokenException) { + e.printStackTrace() + } + } } fun dismissLoadingDialog() { - loadingDialog.dismissAllowingStateLoss() + if (loadingDialog.isShowing) { + loadingDialog.dismiss() + } } } diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index 446d848..0000000 --- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.smarttube.utils.retrofit; - -import android.util.Log -import com.casic.smarttube.utils.LocaleConstant -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -import com.pengxh.kt.lite.utils.SaveKeyValues -import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor -import org.jetbrains.annotations.NotNull -import retrofit2.Retrofit -import retrofit2.converter.gson.GsonConverterFactory -import retrofit2.converter.scalars.ScalarsConverterFactory -import java.util.concurrent.TimeUnit - -object RetrofitFactory { - private const val kTag = "RetrofitFactory" - - private val httpClient: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(httpClient) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(kTag, ">>>>> $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(15, TimeUnit.SECONDS) - .readTimeout(15, TimeUnit.SECONDS) - .writeTimeout(15, TimeUnit.SECONDS) - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt index 6298020..b5e7c41 100644 --- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt @@ -2,16 +2,22 @@ import com.casic.smarttube.utils.AuthenticationHelper import com.casic.smarttube.utils.LocaleConstant +import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit +import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File -import java.util.* object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val httpConfig = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + createRetrofit(httpConfig) + } /** * 验证PublicKey diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 2ead31e..5942ee4 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt index 37aec37..bb97c01 100644 --- a/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/DialogHelper.kt @@ -1,19 +1,29 @@ package com.casic.smarttube.utils; import android.app.Activity -import com.loading.dialog.IOSLoadingDialog +import android.view.WindowManager +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog -//TODO 待修改 object DialogHelper { - private lateinit var loadingDialog: IOSLoadingDialog + private lateinit var loadingDialog: QMUITipDialog fun showLoadingDialog(activity: Activity, message: String?) { - loadingDialog = IOSLoadingDialog() - loadingDialog.setOnTouchOutside(false) - loadingDialog.show(activity.fragmentManager, message) + loadingDialog = QMUITipDialog.Builder(activity) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create() + if (!activity.isDestroyed) { + try { + loadingDialog.show() + } catch (e: WindowManager.BadTokenException) { + e.printStackTrace() + } + } } fun dismissLoadingDialog() { - loadingDialog.dismissAllowingStateLoss() + if (loadingDialog.isShowing) { + loadingDialog.dismiss() + } } } diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index 446d848..0000000 --- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.smarttube.utils.retrofit; - -import android.util.Log -import com.casic.smarttube.utils.LocaleConstant -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -import com.pengxh.kt.lite.utils.SaveKeyValues -import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor -import org.jetbrains.annotations.NotNull -import retrofit2.Retrofit -import retrofit2.converter.gson.GsonConverterFactory -import retrofit2.converter.scalars.ScalarsConverterFactory -import java.util.concurrent.TimeUnit - -object RetrofitFactory { - private const val kTag = "RetrofitFactory" - - private val httpClient: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(httpClient) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(kTag, ">>>>> $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(15, TimeUnit.SECONDS) - .readTimeout(15, TimeUnit.SECONDS) - .writeTimeout(15, TimeUnit.SECONDS) - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt index 6298020..b5e7c41 100644 --- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt @@ -2,16 +2,22 @@ import com.casic.smarttube.utils.AuthenticationHelper import com.casic.smarttube.utils.LocaleConstant +import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit +import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody import okhttp3.RequestBody import java.io.File -import java.util.* object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val httpConfig = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + createRetrofit(httpConfig) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt index 1e6b6f6..d691dec 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -140,6 +140,9 @@ } else { longitudeView.text = aMapLocation.longitude.toString() latitudeView.text = aMapLocation.latitude.toString() + + longitudeView.setTextColor(R.color.mainTextColor.convertColor(context)) + latitudeView.setTextColor(R.color.mainTextColor.convertColor(context)) } } }) @@ -312,21 +315,19 @@ }) } - private var loadingDialog: QMUITipDialog? = null + private lateinit var loadingDialog: QMUITipDialog fun showLoadingDialog(context: Context?, message: String?) { loadingDialog = QMUITipDialog.Builder(context) .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) .setTipWord(message) .create() - loadingDialog!!.show() + loadingDialog.show() } fun dismissLoadingDialog() { - if (loadingDialog != null) { - if (loadingDialog!!.isShowing) { - loadingDialog!!.dismiss() - } + if (loadingDialog.isShowing) { + loadingDialog.dismiss() } } } \ No newline at end of file