diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt index ea87162..97b242f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectionQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt index ea87162..97b242f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectionQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt index 15fc791..5e11870 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.LoginResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginInViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt index ea87162..97b242f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectionQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt index 15fc791..5e11870 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.LoginResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginInViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt index 345f6bd..1c85152 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginOutViewModel : BaseViewModel() { diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt index ea87162..97b242f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectionQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt index 15fc791..5e11870 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.LoginResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginInViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt index 345f6bd..1c85152 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginOutViewModel : BaseViewModel() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt index beb24eb..bd9b386 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class NewEventViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt index ea87162..97b242f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectionQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt index 15fc791..5e11870 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.LoginResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginInViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt index 345f6bd..1c85152 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginOutViewModel : BaseViewModel() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt index beb24eb..bd9b386 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class NewEventViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt index 986fe06..3c478f1 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.TaskRecordModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class TaskRecordViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt index ea87162..97b242f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectionQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt index 15fc791..5e11870 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.LoginResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginInViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt index 345f6bd..1c85152 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginOutViewModel : BaseViewModel() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt index beb24eb..bd9b386 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class NewEventViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt index 986fe06..3c478f1 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.TaskRecordModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class TaskRecordViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt index 5a5d2c8..b6d19ce 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState import java.io.File class UploadImageViewModel : BaseViewModel() { diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt index bfe86fc..7099c3d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseApplication.kt @@ -4,7 +4,7 @@ import android.database.sqlite.SQLiteDatabase import com.casic.birmm.inspect.greendao.DaoMaster import com.casic.birmm.inspect.greendao.DaoSession -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlin.properties.Delegates class BaseApplication : Application() { @@ -20,7 +20,7 @@ override fun onCreate() { super.onCreate() instance = this - SaveKeyValues.initSharedPreferences() + SaveKeyValues.initSharedPreferences(this) initDataBase() } diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt index 968b877..01b9aae 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModel.kt @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.casic.birmm.inspect.utils.LoadState +import com.pengxh.kt.lite.vm.LoadState abstract class BaseViewModel : ViewModel() { val loadState = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt index 5a21261..f2065dc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/String.kt @@ -8,7 +8,7 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.DeviceDataModel import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.util.QMUIDisplayHelper import java.util.* import java.util.regex.Pattern diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt index ce5b6ec..35735a4 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt @@ -1,8 +1,8 @@ package com.casic.birmm.inspect.utils -import com.casic.birmm.inspect.utils.SaveKeyValues.getValue -import com.casic.birmm.inspect.utils.SaveKeyValues.putValue -import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey +import com.pengxh.kt.lite.utils.SaveKeyValues.getValue +import com.pengxh.kt.lite.utils.SaveKeyValues.putValue +import com.pengxh.kt.lite.utils.SaveKeyValues.removeKey object AuthenticationHelper { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt deleted file mode 100644 index 3994817..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/BroadcastReceiverManager.kt +++ /dev/null @@ -1,90 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.BroadcastReceiver -import android.content.Intent -import android.content.IntentFilter -import android.util.Log -import com.casic.birmm.inspect.base.BaseApplication - - -class BroadcastReceiverManager private constructor() { - - companion object { - private const val Tag = "BroadcastManager" - - //Kotlin委托模式双重锁单例 - val instance: BroadcastReceiverManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { - BroadcastReceiverManager() - } - } - - private val receiverMap = HashMap() - private val context = BaseApplication.obtainInstance() - - /** - * 添加单个Action,广播的初始化 - */ - fun addAction(action: String, receiver: BroadcastReceiver) { - Log.d(Tag, "添加单个Action: $action") - try { - val filter = IntentFilter() - filter.addAction(action) - context.registerReceiver(receiver, filter) - receiverMap[action] = receiver - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 添加多个Action,广播的初始化 - */ - fun addAction(actions: Array, receiver: BroadcastReceiver) { - try { - val filter = IntentFilter() - for (action in actions) { - filter.addAction(action) - receiverMap[action] = receiver - } - context.registerReceiver(receiver, filter) - } catch (e: Exception) { - e.printStackTrace() - } - } - - /** - * 发送广播 - * - * @param action 唯一码 - * @param msg 参数 - */ - fun sendBroadcast(action: String, msg: String) { - try { - val intent = Intent() - intent.action = action - intent.putExtra("BroadcastData", msg) - context.sendBroadcast(intent) - Log.d(Tag, "sendBroadcast: $msg") - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } - - /** - * 销毁广播 - * - * @param actions action集合 - */ - fun destroy(vararg actions: String?) { - try { - for (action in actions) { - val receiver = receiverMap[action] - if (receiver != null) { - context.unregisterReceiver(receiver) - } - } - } catch (e: IllegalArgumentException) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt b/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt deleted file mode 100644 index a3069e2..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/LoadState.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.birmm.inspect.utils - -/** - * 加载状态 - * sealed 关键字表示此类仅内部继承 - */ -sealed class LoadState { - /** - * 加载中 - */ - object Loading : LoadState() - - /** - * 成功 - */ - object Success : LoadState() - - /** - * 失败 - */ - object Fail : LoadState() -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt deleted file mode 100644 index 4a6655c..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/PageNavigationManager.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.app.Activity -import java.util.* - -/** - * 统一管理所有Activity - * */ -object PageNavigationManager { - private var activityStack = Stack() - - /** - * 添加Activity到堆栈 - */ - fun addActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.push(activity) - } - - /** - * 获取当前Activity(堆栈中最后一个压入的) - */ - fun currentActivity(): Activity? { - return activityStack.lastElement() - } - - /** - * 结束当前Activity(堆栈中最后一个压入的) - */ - fun finishCurrentActivity() { - val activity = activityStack.pop() - activity.finish() - } - - /** - * 结束指定的Activity - */ - private fun finishActivity(activity: Activity?) { - if (activity == null) { - return - } - activityStack.remove(activity) - if (!activity.isFinishing) { - activity.finish() - } - } - - /** - * 结束指定类名的Activity - */ - fun finishActivity(clazz: Class) { - activityStack.forEach { - if (it.javaClass == clazz) { - finishActivity(it) - } - } - } - - /** - * 结束所有Activity - */ - fun finishAllActivity() { - activityStack.forEach { - it?.finish() - } - activityStack.clear() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt deleted file mode 100644 index 3699697..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt +++ /dev/null @@ -1,110 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.content.Context -import com.casic.birmm.inspect.base.BaseApplication - -object SaveKeyValues { - private val context = BaseApplication.obtainInstance() - private var fileName: String? = null - - fun initSharedPreferences() { - val packageName = context.packageName - //获取到的包名带有“.”方便命名,取最后一个作为sp文件名,例如:com.casic.birmm.inspect - val split = packageName.split(".") - fileName = split[split.size - 1] - } - - /** - * 存储 - */ - fun putValue(key: String?, obj: Any) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - val editor = sharedPreferences.edit() - when (obj) { - is String -> { - editor.putString(key, obj).apply() - } - is Int -> { - editor.putInt(key, obj).apply() - } - is Long -> { - editor.putLong(key, obj).apply() - } - is Boolean -> { - editor.putBoolean(key, obj).apply() - } - is Float -> { - editor.putFloat(key, obj).apply() - } - else -> { - editor.putString(key, obj.toString()).apply() - } - } - } - - /** - * 获取保存的数据 - */ - operator fun getValue(key: String?, defaultObject: Any?): Any? { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return when (defaultObject) { - is String -> { - sharedPreferences.getString(key, defaultObject as String?) - } - is Int -> { - sharedPreferences.getInt(key, (defaultObject as Int?)!!) - } - is Long -> { - sharedPreferences.getLong(key, (defaultObject as Long?)!!) - } - is Boolean -> { - sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!) - } - is Float -> { - sharedPreferences.getFloat(key, (defaultObject as Float?)!!) - } - else -> { - sharedPreferences.getString(key, null) - } - } - } - - /** - * 移除某个key值已经对应的值 - */ - fun removeKey(key: String?) { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().remove(key).apply() - } - - /** - * 清除所有数据 - */ - fun clearAll() { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - sharedPreferences.edit().clear().apply() - } - - /** - * 查询某个key是否存在 - */ - fun containsKey(key: String?): Boolean { - val sharedPreferences = context.getSharedPreferences( - fileName, - Context.MODE_PRIVATE - )!! - return sharedPreferences.contains(key) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt deleted file mode 100644 index 82e47ad..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.R -import android.app.Activity -import android.view.View -import android.view.ViewGroup -import android.view.WindowManager -import android.widget.LinearLayout - -object StatusBarColorUtil { - fun setColor(activity: Activity, color: Int) { //限制android系统的版本 - // 设置状态栏透明 - activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) - // 生成一个状态栏大小的矩形 - val statusView = createStatusView(activity, color) - // 添加 statusView 到布局中 - val decorView = activity.window.decorView as ViewGroup - decorView.addView(statusView) - // 设置根布局的参数 - val rootView = - (activity.findViewById(R.id.content) as ViewGroup).getChildAt( - 0 - ) as ViewGroup - rootView.fitsSystemWindows = true - rootView.clipToPadding = true - } - - /** - * 生成一个和状态栏大小相同的矩形条 - * - * @param activity 需要设置的activity - * @param color 状态栏颜色值 - * @return 状态栏矩形条 - */ - private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度 - val resourceId = - activity.resources.getIdentifier("status_bar_height", "dimen", "android") - val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId) - // 绘制一个和状态栏一样高的矩形 - val statusView = View(activity) - val params = - LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight) - statusView.layoutParams = params - statusView.setBackgroundColor(color) - return statusView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt deleted file mode 100644 index fda39c6..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/TimeOrDateUtil.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.casic.birmm.inspect.utils - -import java.text.SimpleDateFormat -import java.util.* - -object TimeOrDateUtil { - private val allDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) - private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA) - private val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.CHINA) - private val minuteFormat = SimpleDateFormat("HH:mm", Locale.CHINA) - private val secondsFormat = SimpleDateFormat("mm:ss", Locale.CHINA) - - /** - * 时间戳转完整日期时间 - */ - fun timestampToCompleteDate(millSeconds: Long): String { - return allDateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转日期 - */ - fun timestampToDate(millSeconds: Long): String { - return dateFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时间 - */ - fun timestampToTime(millSeconds: Long): String { - return timeFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转时分 - */ - fun minuteToTime(millSeconds: Long): String { - return minuteFormat.format(Date(millSeconds)) - } - - /** - * 时间戳转分秒 - */ - fun millsToTime(millSeconds: Long): String { - return secondsFormat.format(Date(millSeconds)) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt b/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt deleted file mode 100644 index 00c0d76..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/WeakReferenceHandler.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.birmm.inspect.utils - -import android.os.Handler -import android.os.Looper -import android.os.Message -import java.lang.ref.WeakReference - -class WeakReferenceHandler(callback: Callback) : Handler(Looper.getMainLooper()) { - - private var weakReference: WeakReference = WeakReference(callback) - - override fun handleMessage(msg: Message) { - super.handleMessage(msg) - weakReference.get()?.handleMessage(msg) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt deleted file mode 100644 index df48191..0000000 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.casic.birmm.inspect.utils.retrofit; - -import android.util.Log -import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.SaveKeyValues -import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory -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 Tag = "RetrofitFactory" - - private val client: OkHttpClient by lazy { createOKHttpClient() } - - fun createRetrofit(clazz: Class): T { - val defaultValue = SaveKeyValues.getValue( - LocaleConstant.DEFAULT_SERVER_CONFIG, - "http://111.198.10.15:12204" - ) as String - return Retrofit.Builder() - .baseUrl(defaultValue) - .addConverterFactory(ScalarsConverterFactory.create()) //字符串转换器 - .addConverterFactory(GsonConverterFactory.create()) //Gson转换器 - .addCallAdapterFactory(CoroutineCallAdapterFactory.invoke()) //协程请求适配器 - .client(client) //log拦截器 - .build().create(clazz) - } - - private fun createOKHttpClient(): OkHttpClient { //日志显示级别 - val interceptor = - HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger { - override fun log(@NotNull message: String) { - Log.d(Tag, "log: $message") - } - }) - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) - val builder = OkHttpClient.Builder() - .connectTimeout(30, TimeUnit.SECONDS)// 连接时间:30s超时 - .readTimeout(10, TimeUnit.SECONDS)// 读取时间:10s超时 - .writeTimeout(10, TimeUnit.SECONDS)// 写入时间:10s超时 - return builder.addInterceptor(interceptor).build() - } -} diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt index 43ad66f..8e8821c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt @@ -1,8 +1,9 @@ -package com.casic.birmm.inspect.utils.retrofit - import com.casic.birmm.inspect.model.* import com.casic.birmm.inspect.utils.AuthenticationHelper import com.casic.birmm.inspect.utils.LocaleConstant +import com.casic.birmm.inspect.utils.retrofit.RetrofitService +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 @@ -11,7 +12,13 @@ object RetrofitServiceManager { - private val api by lazy { RetrofitFactory.createRetrofit(RetrofitService::class.java) } + private val api by lazy { + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, + "http://111.198.10.15:12204" + ) as String + createRetrofit(defaultValue) + } /** * 验证PublicKey diff --git a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt index 718b35b..c5dbbf7 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/BigImageActivity.kt @@ -12,11 +12,11 @@ import com.bumptech.glide.Glide import com.casic.birmm.inspect.R import com.casic.birmm.inspect.base.BaseActivity -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.luck.picture.lib.photoview.PhotoView import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_big_image.* import java.util.* @@ -27,7 +27,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.black)) ImmersionBar.with(this).statusBarDarkFont(false).init() } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt index a6eb0b0..f74f71d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt @@ -6,11 +6,11 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.extensions.combineImagePath import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_detail.* import kotlinx.android.synthetic.main.include_base_title.* @@ -21,7 +21,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件详情" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt index cec8b6f..4701c40 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt @@ -9,10 +9,10 @@ import com.casic.birmm.inspect.base.BaseViewModelActivity import com.casic.birmm.inspect.extensions.filterString import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.TaskRecordViewModel import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_event_list.* import kotlinx.android.synthetic.main.include_base_title.* @@ -24,7 +24,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件清单" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt index c856330..944be37 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt @@ -17,6 +17,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.endDateView import kotlinx.android.synthetic.main.activity_query_inspect.inputTipsView @@ -45,7 +49,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "事件查询" } @@ -73,7 +77,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -89,7 +93,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt index 6e38232..b5cc256 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectRouteActivity.kt @@ -17,12 +17,12 @@ import com.amap.api.maps.model.PolylineOptions import com.casic.birmm.inspect.R import com.casic.birmm.inspect.model.NewRouteModel -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.casic.birmm.inspect.vm.InspectDetailViewModel import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import com.qmuiteam.qmui.util.QMUIStatusBarHelper import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* @@ -51,7 +51,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt index 7add6ee..1a9c11e 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/InspectionQueryActivity.kt @@ -16,6 +16,10 @@ import com.gyf.immersionbar.ImmersionBar import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* import kotlinx.android.synthetic.main.include_base_title.* @@ -40,7 +44,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检记录查询" } @@ -68,7 +72,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(supportFragmentManager, "startDate") @@ -84,7 +88,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(supportFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index f6efafb..599917a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -15,10 +15,11 @@ import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import kotlinx.android.synthetic.main.activity_login.* - class LoginActivity : KotlinBaseActivity() { private lateinit var authenticateViewModel: AuthenticateViewModel diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt index e611ff0..5cf33d9 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt @@ -16,11 +16,15 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.BroadcastManager +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.include_base_title.* - class MainActivity : BaseActivity() { private var clickTime: Long = 0 @@ -30,7 +34,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() leftBackView.visibility = View.GONE titleView.text = "主菜单" @@ -38,18 +42,17 @@ override fun initData() { obtainUserInfo() - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ - MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) - } + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ + MapActivity.sendEmptyMessage(LocaleConstant.BACK_TO_HOME) } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } private fun obtainUserInfo() { @@ -60,7 +63,7 @@ //记录登录log LogToFile.write( FileUtils.documentFile, - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + " ${it.data!!.name}登录成功" + System.currentTimeMillis().timestampToCompleteDate() + " ${it.data!!.name}登录成功" ) SaveKeyValues.putValue(LocaleConstant.USER_OBJECT, Gson().toJson(it))//保存用户对象 } else { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt index 30cda6d..faf10fc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/MapActivity.kt @@ -35,6 +35,12 @@ import com.casic.birmm.inspect.widgets.SingleChoiceDialog import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.qmuiteam.qmui.util.QMUIStatusBarHelper @@ -47,7 +53,6 @@ import kotlinx.coroutines.cancel import java.lang.ref.WeakReference - class MapActivity : AppCompatActivity(), CoroutineScope by MainScope() { companion object { @@ -96,7 +101,7 @@ fun setupTopBarLayout() { QMUIStatusBarHelper.translucent(this) //沉浸式状态栏 - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "巡检" } @@ -157,8 +162,8 @@ } //获取当前定位 val currentLng = SaveKeyValues.getValue( - LocaleConstant.CURRENT_LONGITUDE, "0.0" - ) as String + LocaleConstant.CURRENT_LONGITUDE, "0.0" + ) as String val currentLat = SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String intent.putExtra("inspectionId", model.id) @@ -242,7 +247,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -306,11 +311,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", userDataModel.name!! ) @@ -657,7 +662,7 @@ id = "t".id(), inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 065e90d..aac5fa6 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -1,5 +1,4 @@ package com.casic.birmm.inspect.view - import android.app.Activity import android.content.Intent import android.view.View @@ -20,12 +19,16 @@ import com.luck.picture.lib.config.PictureMimeType import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* import kotlinx.android.synthetic.main.include_base_title.* import java.io.File - class NewEventActivity : BaseViewModelActivity() { private lateinit var uploadImageViewModel: UploadImageViewModel @@ -47,7 +50,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() } @@ -67,8 +70,7 @@ titleView.text = "自定义事件记录" inspectCardView.visibility = View.GONE } - createTimeView.text = - TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt index 9cc3a7a..b64ad1c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/ShowLogActivity.kt @@ -5,9 +5,9 @@ import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.FileUtils import com.casic.birmm.inspect.utils.LogToFile -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.StatusBarColorUtil import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_show_log.* import kotlinx.android.synthetic.main.include_base_title.* @@ -16,7 +16,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "日志" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt index 0393e6d..7c39937 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt @@ -15,11 +15,13 @@ import com.casic.birmm.inspect.vm.LoginOutViewModel import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import com.qmuiteam.qmui.widget.dialog.QMUIDialog import kotlinx.android.synthetic.main.activity_user_settings.* import kotlinx.android.synthetic.main.include_base_title.* - class UserSettingsActivity : BaseActivity() { private lateinit var vibrator: Vibrator @@ -28,7 +30,7 @@ override fun setupTopBarLayout() { PageNavigationManager.addActivity(this) - StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)) ImmersionBar.with(this).statusBarDarkFont(false).init() titleView.text = "系统设置" } diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt index a1c6c66..4579987 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt @@ -15,12 +15,12 @@ import com.casic.birmm.inspect.base.BaseSingleModeActivity import com.casic.birmm.inspect.model.NewRouteModel import com.casic.birmm.inspect.utils.DataBaseManager -import com.casic.birmm.inspect.utils.PageNavigationManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.pengxh.kt.lite.utils.PageNavigationManager import kotlinx.android.synthetic.main.activity_inspect_route.* import kotlinx.android.synthetic.main.include_base_title.* diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt index 4a3baeb..0960ebc 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt @@ -10,13 +10,13 @@ import com.casic.birmm.inspect.R import com.casic.birmm.inspect.adapter.ViewPagerAdapter import com.casic.birmm.inspect.extensions.show -import com.casic.birmm.inspect.utils.BroadcastReceiverManager import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment import com.casic.birmm.inspect.view.single.fragment.LogPageFragment import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.BroadcastManager import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import kotlinx.android.synthetic.main.activity_single_main.* @@ -41,18 +41,17 @@ } override fun initData() { - BroadcastReceiverManager.instance.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - val action = intent!!.action - if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { - /** - * 监听APP回到桌面,暂时保存巡检到本地缓存 - * */ + BroadcastManager.obtainInstance(this).addAction(object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + val action = intent!!.action + if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { + /** + * 监听APP回到桌面,暂时保存巡检到本地缓存 + * */ - } } - }) + } + }, Intent.ACTION_CLOSE_SYSTEM_DIALOGS) } override fun initEvent() { diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt index 5620eb5..489c532 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleNewEventActivity.kt @@ -20,6 +20,7 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.timestampToCompleteDate import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import kotlinx.android.synthetic.main.activity_new_event.* @@ -59,7 +60,7 @@ titleView.text = "自定义事件记录(单机模式)" inspectCardView.visibility = View.GONE } - createTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + createTimeView.text = System.currentTimeMillis().timestampToCompleteDate() //初始化图片九宫格 imageAdapter = EditableImageAdapter(this, 3, 13f) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt index 57d04b7..420607a 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt @@ -13,12 +13,12 @@ import com.casic.birmm.inspect.model.EventListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleEventDetailActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_event.* import kotlinx.android.synthetic.main.activity_query_inspect.emptyView import kotlinx.android.synthetic.main.activity_query_inspect.endDateView @@ -68,7 +68,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -84,7 +84,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt index f94ca36..419c50c 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt @@ -12,12 +12,12 @@ import com.casic.birmm.inspect.model.InspectListModel import com.casic.birmm.inspect.utils.DataBaseManager import com.casic.birmm.inspect.utils.LocaleConstant -import com.casic.birmm.inspect.utils.TimeOrDateUtil -import com.casic.birmm.inspect.utils.WeakReferenceHandler import com.casic.birmm.inspect.view.single.SingleInspectRouteActivity import com.jzxiang.pickerview.TimePickerDialog import com.jzxiang.pickerview.data.Type import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.activity_query_inspect.* class InspectListFragment : KotlinBaseFragment() { @@ -62,7 +62,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - startTime = TimeOrDateUtil.timestampToDate(millsSeconds) + startTime = millsSeconds.timestampToDate() startDateView.setText(startTime) } .build().show(childFragmentManager, "startDate") @@ -78,7 +78,7 @@ .setMaxMillseconds(System.currentTimeMillis()) .setType(Type.YEAR_MONTH_DAY) .setCallBack { _, millsSeconds -> - endTime = TimeOrDateUtil.timestampToDate(millsSeconds) + endTime = millsSeconds.timestampToDate() endDateView.setText(endTime) } .build().show(childFragmentManager, "startDate") @@ -156,7 +156,7 @@ adapter.notifyDataSetChanged() } else { //首次加载数据 if (dataBeans.size == 0) { - emptyView!!.showEmptyPage{ + emptyView!!.showEmptyPage { pageIndex = 0 dataBeans = DataBaseManager.instance.queryInspectionByCondition( startTime, diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt index 65ecebd..7ff8d13 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt @@ -31,13 +31,15 @@ import com.casic.birmm.inspect.utils.callback.OnDeviceSearchListener import com.casic.birmm.inspect.view.single.SingleNewEventActivity import com.google.gson.Gson +import com.pengxh.kt.lite.extensions.timestampToCompleteDate +import com.pengxh.kt.lite.extensions.timestampToDate +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertInputDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.fragment_single_inspect.view.* -import kotlinx.android.synthetic.main.include_base_title.view.* class InspectPageFragment : Fragment() { @@ -182,7 +184,7 @@ id = model.id, name = model.name, startTime = model.startTime, - endTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + endTime = System.currentTimeMillis().timestampToCompleteDate(), date = model.date, startLng = model.startLng, startLat = model.startLat, @@ -213,11 +215,11 @@ AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { val currentTimeMillis = System.currentTimeMillis() - val completeDate = TimeOrDateUtil.timestampToCompleteDate(currentTimeMillis) + val completeDate = currentTimeMillis.timestampToCompleteDate() model = NewInspectionModel( currentTimeMillis.id(), value, completeDate, - "", TimeOrDateUtil.timestampToDate(currentTimeMillis), + "", currentTimeMillis.timestampToDate(), 0.0, 0.0, 0.0, 0.0, "", resources.getString(R.string.app_name) ) @@ -579,7 +581,7 @@ taskId = taskId, inspectionId = model.id, name = model.name, - createTime = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()), + createTime = System.currentTimeMillis().timestampToCompleteDate(), type = "报警事件", lng = currentLng.toDouble(), lat = currentLat.toDouble(), diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt index 07133bc..0a35fc0 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/SettingsPageFragment.kt @@ -7,11 +7,11 @@ import com.casic.birmm.inspect.extensions.show import com.casic.birmm.inspect.utils.LocaleConstant import com.casic.birmm.inspect.utils.OtherUtils -import com.casic.birmm.inspect.utils.PageNavigationManager -import com.casic.birmm.inspect.utils.SaveKeyValues import com.casic.birmm.inspect.view.LoginActivity import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.utils.PageNavigationManager +import com.pengxh.kt.lite.utils.SaveKeyValues import kotlinx.android.synthetic.main.fragment_single_settings.* class SettingsPageFragment : KotlinBaseFragment() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt index b9c0d26..ba97a90 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AddInspectionViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AddInspectionViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt index 6cba9ba..4ad1d42 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.PublicKeyModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class AuthenticateViewModel : BaseViewModel() { val keyModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt index 59bf212..6264162 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/EventQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.EventListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class EventQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt index 64a6128..9aeadeb 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectDetailViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectDetailModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectDetailViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt index ea87162..97b242f 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/InspectionQueryViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.InspectListModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class InspectionQueryViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt index 15fc791..5e11870 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.LoginResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginInViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt index 345f6bd..1c85152 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class LoginOutViewModel : BaseViewModel() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt index beb24eb..bd9b386 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/NewEventViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class NewEventViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt index 986fe06..3c478f1 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/TaskRecordViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.TaskRecordModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class TaskRecordViewModel : BaseViewModel() { val resultModel = MutableLiveData() diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt index 5a5d2c8..b6d19ce 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.ActionResultModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState import java.io.File class UploadImageViewModel : BaseViewModel() { diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt index a250865..6e4f910 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt @@ -4,8 +4,8 @@ import com.casic.birmm.inspect.base.BaseViewModel import com.casic.birmm.inspect.extensions.launch import com.casic.birmm.inspect.model.UserInfoModel -import com.casic.birmm.inspect.utils.LoadState import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager +import com.pengxh.kt.lite.vm.LoadState class UserViewModel : BaseViewModel() {