diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
index e74bb87..ec12038 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
@@ -16,15 +16,14 @@
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.core.content.ContextCompat
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.ThreadFactoryBuilder
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.createImageFileDir
import com.pengxh.kt.lite.extensions.setScreenBrightness
import com.pengxh.kt.lite.extensions.toBitmap
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_face_detect.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -57,8 +56,9 @@
override fun initLayoutView(): Int = R.layout.activity_face_detect
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "入场申请人脸采集"
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
index e74bb87..ec12038 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
@@ -16,15 +16,14 @@
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.core.content.ContextCompat
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.ThreadFactoryBuilder
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.createImageFileDir
import com.pengxh.kt.lite.extensions.setScreenBrightness
import com.pengxh.kt.lite.extensions.toBitmap
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_face_detect.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -57,8 +56,9 @@
override fun initLayoutView(): Int = R.layout.activity_face_detect
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "入场申请人脸采集"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 64f69ca..fb9f7d3 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -2,6 +2,7 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -11,10 +12,8 @@
import com.casic.br.operationsite.vm.UserDetailViewModel
import com.gyf.immersionbar.ImmersionBar
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_login.*
@@ -29,7 +28,7 @@
override fun setupTopBarLayout() {
ImmersionBar.with(this).statusBarDarkFont(true).init()
- ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+ initLayoutImmersionBar(rootView)
}
override fun initData() {
@@ -77,8 +76,9 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
loginViewModel.enterResultModel.observe(this) { loginResult ->
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
index e74bb87..ec12038 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
@@ -16,15 +16,14 @@
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.core.content.ContextCompat
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.ThreadFactoryBuilder
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.createImageFileDir
import com.pengxh.kt.lite.extensions.setScreenBrightness
import com.pengxh.kt.lite.extensions.toBitmap
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_face_detect.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -57,8 +56,9 @@
override fun initLayoutView(): Int = R.layout.activity_face_detect
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "入场申请人脸采集"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 64f69ca..fb9f7d3 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -2,6 +2,7 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -11,10 +12,8 @@
import com.casic.br.operationsite.vm.UserDetailViewModel
import com.gyf.immersionbar.ImmersionBar
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_login.*
@@ -29,7 +28,7 @@
override fun setupTopBarLayout() {
ImmersionBar.with(this).statusBarDarkFont(true).init()
- ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+ initLayoutImmersionBar(rootView)
}
override fun initData() {
@@ -77,8 +76,9 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
loginViewModel.enterResultModel.observe(this) { loginResult ->
diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
index bc9cb46..344a9af 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
@@ -4,6 +4,7 @@
import androidx.viewpager.widget.ViewPager
import com.casic.br.operationsite.R
import com.casic.br.operationsite.adapter.ViewPagerAdapter
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.fragment.CompletedFragment
import com.casic.br.operationsite.fragment.NotStartFragment
import com.casic.br.operationsite.fragment.WorkingFragment
@@ -11,11 +12,8 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
-import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.BroadcastManager
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_search_title.*
@@ -33,8 +31,9 @@
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
// 需要根据当前所在Page查询数据
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
index e74bb87..ec12038 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
@@ -16,15 +16,14 @@
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.core.content.ContextCompat
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.ThreadFactoryBuilder
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.createImageFileDir
import com.pengxh.kt.lite.extensions.setScreenBrightness
import com.pengxh.kt.lite.extensions.toBitmap
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_face_detect.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -57,8 +56,9 @@
override fun initLayoutView(): Int = R.layout.activity_face_detect
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "入场申请人脸采集"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 64f69ca..fb9f7d3 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -2,6 +2,7 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -11,10 +12,8 @@
import com.casic.br.operationsite.vm.UserDetailViewModel
import com.gyf.immersionbar.ImmersionBar
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_login.*
@@ -29,7 +28,7 @@
override fun setupTopBarLayout() {
ImmersionBar.with(this).statusBarDarkFont(true).init()
- ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+ initLayoutImmersionBar(rootView)
}
override fun initData() {
@@ -77,8 +76,9 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
loginViewModel.enterResultModel.observe(this) { loginResult ->
diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
index bc9cb46..344a9af 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
@@ -4,6 +4,7 @@
import androidx.viewpager.widget.ViewPager
import com.casic.br.operationsite.R
import com.casic.br.operationsite.adapter.ViewPagerAdapter
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.fragment.CompletedFragment
import com.casic.br.operationsite.fragment.NotStartFragment
import com.casic.br.operationsite.fragment.WorkingFragment
@@ -11,11 +12,8 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
-import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.BroadcastManager
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_search_title.*
@@ -33,8 +31,9 @@
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
// 需要根据当前所在Page查询数据
diff --git a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
index 9153ea2..9ae3e27 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
@@ -13,6 +13,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.model.UserDetailModel
import com.casic.br.operationsite.utils.GlideLoadEngine
@@ -34,7 +35,6 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -58,8 +58,9 @@
override fun initLayoutView(): Int = R.layout.activity_upload_activity
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "事件信息"
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
index e74bb87..ec12038 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
@@ -16,15 +16,14 @@
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.core.content.ContextCompat
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.ThreadFactoryBuilder
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.createImageFileDir
import com.pengxh.kt.lite.extensions.setScreenBrightness
import com.pengxh.kt.lite.extensions.toBitmap
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_face_detect.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -57,8 +56,9 @@
override fun initLayoutView(): Int = R.layout.activity_face_detect
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "入场申请人脸采集"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 64f69ca..fb9f7d3 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -2,6 +2,7 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -11,10 +12,8 @@
import com.casic.br.operationsite.vm.UserDetailViewModel
import com.gyf.immersionbar.ImmersionBar
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_login.*
@@ -29,7 +28,7 @@
override fun setupTopBarLayout() {
ImmersionBar.with(this).statusBarDarkFont(true).init()
- ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+ initLayoutImmersionBar(rootView)
}
override fun initData() {
@@ -77,8 +76,9 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
loginViewModel.enterResultModel.observe(this) { loginResult ->
diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
index bc9cb46..344a9af 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
@@ -4,6 +4,7 @@
import androidx.viewpager.widget.ViewPager
import com.casic.br.operationsite.R
import com.casic.br.operationsite.adapter.ViewPagerAdapter
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.fragment.CompletedFragment
import com.casic.br.operationsite.fragment.NotStartFragment
import com.casic.br.operationsite.fragment.WorkingFragment
@@ -11,11 +12,8 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
-import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.BroadcastManager
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_search_title.*
@@ -33,8 +31,9 @@
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
// 需要根据当前所在Page查询数据
diff --git a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
index 9153ea2..9ae3e27 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
@@ -13,6 +13,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.model.UserDetailModel
import com.casic.br.operationsite.utils.GlideLoadEngine
@@ -34,7 +35,6 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -58,8 +58,9 @@
override fun initLayoutView(): Int = R.layout.activity_upload_activity
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "事件信息"
diff --git a/app/src/main/res/drawable/construction.png b/app/src/main/res/drawable/construction.png
deleted file mode 100644
index 6c44306..0000000
--- a/app/src/main/res/drawable/construction.png
+++ /dev/null
Binary files differ
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
index e74bb87..ec12038 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
@@ -16,15 +16,14 @@
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.core.content.ContextCompat
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.ThreadFactoryBuilder
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.createImageFileDir
import com.pengxh.kt.lite.extensions.setScreenBrightness
import com.pengxh.kt.lite.extensions.toBitmap
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_face_detect.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -57,8 +56,9 @@
override fun initLayoutView(): Int = R.layout.activity_face_detect
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "入场申请人脸采集"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 64f69ca..fb9f7d3 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -2,6 +2,7 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -11,10 +12,8 @@
import com.casic.br.operationsite.vm.UserDetailViewModel
import com.gyf.immersionbar.ImmersionBar
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_login.*
@@ -29,7 +28,7 @@
override fun setupTopBarLayout() {
ImmersionBar.with(this).statusBarDarkFont(true).init()
- ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+ initLayoutImmersionBar(rootView)
}
override fun initData() {
@@ -77,8 +76,9 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
loginViewModel.enterResultModel.observe(this) { loginResult ->
diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
index bc9cb46..344a9af 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
@@ -4,6 +4,7 @@
import androidx.viewpager.widget.ViewPager
import com.casic.br.operationsite.R
import com.casic.br.operationsite.adapter.ViewPagerAdapter
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.fragment.CompletedFragment
import com.casic.br.operationsite.fragment.NotStartFragment
import com.casic.br.operationsite.fragment.WorkingFragment
@@ -11,11 +12,8 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
-import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.BroadcastManager
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_search_title.*
@@ -33,8 +31,9 @@
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
// 需要根据当前所在Page查询数据
diff --git a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
index 9153ea2..9ae3e27 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
@@ -13,6 +13,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.model.UserDetailModel
import com.casic.br.operationsite.utils.GlideLoadEngine
@@ -34,7 +35,6 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -58,8 +58,9 @@
override fun initLayoutView(): Int = R.layout.activity_upload_activity
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "事件信息"
diff --git a/app/src/main/res/drawable/construction.png b/app/src/main/res/drawable/construction.png
deleted file mode 100644
index 6c44306..0000000
--- a/app/src/main/res/drawable/construction.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/layout/activity_alarm_detail.xml b/app/src/main/res/layout/activity_alarm_detail.xml
index e442aa7..8e09bf0 100644
--- a/app/src/main/res/layout/activity_alarm_detail.xml
+++ b/app/src/main/res/layout/activity_alarm_detail.xml
@@ -1,5 +1,6 @@
diff --git a/app/build.gradle b/app/build.gradle
index 2fbcfbc..aad51e7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,7 @@
minSdkVersion 23
targetSdkVersion 31
versionCode 1
- versionName "1.0.0"
+ versionName "1.0.0.0"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86_64'
@@ -54,7 +54,7 @@
applicationVariants.all { variant ->
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 1) {
pageIndex = 1
keywords = dataModel.keywords
@@ -71,8 +71,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
index a6f4713..9a4d01b 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmDetailActivity.kt
@@ -14,16 +14,14 @@
import com.bumptech.glide.request.RequestOptions
import com.casic.br.operationsite.R
import com.casic.br.operationsite.extensions.combineImagePath
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.vm.AlarmViewModel
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.Constant
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_detail.*
-import kotlinx.android.synthetic.main.activity_site_tab.mapView
import kotlinx.android.synthetic.main.include_base_title.*
class AlarmDetailActivity : KotlinBaseActivity() {
@@ -35,8 +33,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_detail
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index a72dd86..d318c17 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.showEmptyPage
import com.casic.br.operationsite.model.AlarmListModel
import com.casic.br.operationsite.utils.LoadingDialogHub
@@ -13,10 +14,8 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_alarm_list.*
@@ -37,8 +36,9 @@
override fun initLayoutView(): Int = R.layout.activity_alarm_list
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
keywords = searchInputView.text.toString()
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
index 3dfc9a0..e7136e7 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt
@@ -11,6 +11,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -24,7 +25,6 @@
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.*
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import kotlinx.android.synthetic.main.activity_apply_enter.*
@@ -44,8 +44,9 @@
override fun initLayoutView(): Int = R.layout.activity_apply_enter
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "人员信息"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
index 93dafb6..182763a 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt
@@ -1,10 +1,10 @@
package com.casic.br.operationsite.view
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
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.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_base_title.*
class ElectricFenceActivity : KotlinBaseActivity() {
@@ -12,8 +12,9 @@
override fun initLayoutView(): Int = R.layout.activity_electric_fence
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "燃气作业现场动态感知"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
index e74bb87..ec12038 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/FaceDetectActivity.kt
@@ -16,15 +16,14 @@
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.core.content.ContextCompat
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.ThreadFactoryBuilder
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.createImageFileDir
import com.pengxh.kt.lite.extensions.setScreenBrightness
import com.pengxh.kt.lite.extensions.toBitmap
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_face_detect.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -57,8 +56,9 @@
override fun initLayoutView(): Int = R.layout.activity_face_detect
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "入场申请人脸采集"
diff --git a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
index 64f69ca..fb9f7d3 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/LoginActivity.kt
@@ -2,6 +2,7 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.br.operationsite.R
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.utils.AuthenticationHelper
import com.casic.br.operationsite.utils.LoadingDialogHub
import com.casic.br.operationsite.utils.LocaleConstant
@@ -11,10 +12,8 @@
import com.casic.br.operationsite.vm.UserDetailViewModel
import com.gyf.immersionbar.ImmersionBar
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.show
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import kotlinx.android.synthetic.main.activity_login.*
@@ -29,7 +28,7 @@
override fun setupTopBarLayout() {
ImmersionBar.with(this).statusBarDarkFont(true).init()
- ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+ initLayoutImmersionBar(rootView)
}
override fun initData() {
@@ -77,8 +76,9 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
loginViewModel.enterResultModel.observe(this) { loginResult ->
diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
index bc9cb46..344a9af 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt
@@ -4,6 +4,7 @@
import androidx.viewpager.widget.ViewPager
import com.casic.br.operationsite.R
import com.casic.br.operationsite.adapter.ViewPagerAdapter
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.fragment.CompletedFragment
import com.casic.br.operationsite.fragment.NotStartFragment
import com.casic.br.operationsite.fragment.WorkingFragment
@@ -11,11 +12,8 @@
import com.casic.br.operationsite.utils.LocaleConstant
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.convertColor
-import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.BroadcastManager
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.include_search_title.*
@@ -33,8 +31,9 @@
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
searchTextView.setOnClickListener {
// 需要根据当前所在Page查询数据
diff --git a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
index 9153ea2..9ae3e27 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt
@@ -13,6 +13,7 @@
import com.casic.br.operationsite.callback.OnImageCompressListener
import com.casic.br.operationsite.extensions.combineImagePath
import com.casic.br.operationsite.extensions.compressImage
+import com.casic.br.operationsite.extensions.initLayoutImmersionBar
import com.casic.br.operationsite.extensions.reformat
import com.casic.br.operationsite.model.UserDetailModel
import com.casic.br.operationsite.utils.GlideLoadEngine
@@ -34,7 +35,6 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
@@ -58,8 +58,9 @@
override fun initLayoutView(): Int = R.layout.activity_upload_activity
override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ ImmersionBar.with(this).statusBarDarkFont(false)
+ .statusBarColor(R.color.mainThemeColor).init()
+ initLayoutImmersionBar(rootView)
leftBackView.setOnClickListener { finish() }
titleView.text = "事件信息"
diff --git a/app/src/main/res/drawable/construction.png b/app/src/main/res/drawable/construction.png
deleted file mode 100644
index 6c44306..0000000
--- a/app/src/main/res/drawable/construction.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/layout/activity_alarm_detail.xml b/app/src/main/res/layout/activity_alarm_detail.xml
index e442aa7..8e09bf0 100644
--- a/app/src/main/res/layout/activity_alarm_detail.xml
+++ b/app/src/main/res/layout/activity_alarm_detail.xml
@@ -1,5 +1,6 @@
diff --git a/app/src/main/res/layout/activity_alarm_list.xml b/app/src/main/res/layout/activity_alarm_list.xml
index ab1a3aa..13b47f2 100644
--- a/app/src/main/res/layout/activity_alarm_list.xml
+++ b/app/src/main/res/layout/activity_alarm_list.xml
@@ -1,6 +1,7 @@
variant.outputs.all {
- outputFileName = "BR_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
+ outputFileName = "XCGZ_" + getBuildDate() + "_" + defaultConfig.versionName + ".apk"
}
}
}
@@ -66,7 +66,7 @@
dependencies {
//基础依赖库
- implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4'
+ implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'com.google.android.material:material:1.6.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd82ee0..4d59dca 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -76,4 +76,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
new file mode 100644
index 0000000..31dbfa2
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/extensions/Context.kt
@@ -0,0 +1,16 @@
+package com.casic.br.operationsite.extensions
+
+import android.content.Context
+import android.view.ViewGroup
+import com.casic.br.operationsite.base.BaseApplication
+import com.pengxh.kt.lite.extensions.dp2px
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+fun Context.initLayoutImmersionBar(rootView: ViewGroup) {
+ var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this)
+ if (statusBarHeight == 0) {
+ statusBarHeight = 40f.dp2px(BaseApplication.get())
+ }
+ rootView.setPadding(0, statusBarHeight, 0, 0)
+ rootView.requestLayout()
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
index fde3336..baf7f26 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/CompletedFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 2) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
index f7fd6d2..12f20e4 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/NotStartFragment.kt
@@ -38,6 +38,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -57,9 +59,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson(stringExtra, typeToken)
if (dataModel.currentPage == 0) {
pageIndex = 1
keywords = dataModel.keywords
@@ -70,8 +70,8 @@
}
override fun onResume() {
- obtainProjectListByPage()
super.onResume()
+ obtainProjectListByPage()
}
override fun observeRequestState() {
diff --git a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
index 569ead0..42e3203 100644
--- a/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
+++ b/app/src/main/java/com/casic/br/operationsite/fragment/WorkingFragment.kt
@@ -39,6 +39,8 @@
private lateinit var workingListAdapter: NormalRecyclerAdapter
private lateinit var workSiteViewModel: WorkSiteViewModel
private lateinit var broadcastManager: BroadcastManager
+ private val gson by lazy { Gson() }
+ private val typeToken = object : TypeToken() {}.type
private var dataBeans: MutableList = ArrayList()
private var pageIndex = 1
private var isRefresh = false
@@ -58,9 +60,7 @@
broadcastManager.addAction(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val stringExtra = intent?.getStringExtra(Constant.BROADCAST_INTENT_DATA_KEY)
- val dataModel = Gson().fromJson(
- stringExtra, object : TypeToken() {}.type
- )
+ val dataModel = gson.fromJson