diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/build.gradle b/app/build.gradle index f353a13..b801032 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -82,7 +82,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.8' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt index 6656448..c294834 100644 --- a/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt +++ b/app/src/main/java/com/casic/app/smartwell/extensions/ViewGroup.kt @@ -8,9 +8,9 @@ import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.getStatusBarHeight -fun ViewGroup.initImmersionBar(activity: Activity, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(activity: Activity, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(activity) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(activity)) .init() //根据不同设备状态栏高度设置statusBarView高度 @@ -19,9 +19,9 @@ this.requestLayout() } -fun ViewGroup.initImmersionBar(fragment: Fragment, @ColorRes color: Int) { +fun ViewGroup.initImmersionBar(fragment: Fragment, isDarkFont: Boolean, @ColorRes color: Int) { ImmersionBar.with(fragment) - .statusBarDarkFont(false) + .statusBarDarkFont(isDarkFont) .statusBarColorInt(color.convertColor(fragment.requireContext())) .init() //根据不同设备状态栏高度设置statusBarView高度 diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt index 16adb22..d444614 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageHaveClusterFragment.kt @@ -83,7 +83,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt index 7c11b75..802426a 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/HomePageNoClusterFragment.kt @@ -77,7 +77,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "首页" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt index 3a75d5e..507fb12 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/MinePageFragment.kt @@ -60,7 +60,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "我的" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt index efcc419..171b555 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/NoticePageFragment.kt @@ -47,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleInclude.titleView.text = "消息" } diff --git a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt index b971d71..93ff35b 100644 --- a/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt +++ b/app/src/main/java/com/casic/app/smartwell/fragment/OrderListFragment.kt @@ -15,7 +15,7 @@ class OrderListFragment : KotlinBaseFragment() { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + () { - private var fragmentList: ArrayList = ArrayList() + private var fragmentList = ArrayList() init { fragmentList.add(OrderNotProcessedFragment()) @@ -32,7 +32,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.text = "工单" } diff --git a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java index 22ee2a3..0b36d17 100644 --- a/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/app/smartwell/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final NoticeLocaleBeanDao noticeLocaleBeanDao; private final PipeLocalBeanDao pipeLocalBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); mapWellLocalBeanDaoConfig = daoConfigMap.get(MapWellLocalBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt index 87ca236..8fb9ba1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/AboutUsActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import com.casic.app.smartwell.BuildConfig import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityAboutUsBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class AboutUsActivity : KotlinBaseActivity() { override fun initViewBinding(): ActivityAboutUsBinding { @@ -14,11 +14,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "关于我们" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt index 2a229e7..93bf897 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/BigImageActivity.kt @@ -22,7 +22,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.black) + binding.rootView.initImmersionBar(this, false, R.color.black) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt index 8bc1312..8e41039 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/ChangePasswordActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityChangePwdBinding @@ -16,6 +15,7 @@ import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import java.nio.charset.StandardCharsets class ChangePasswordActivity : KotlinBaseActivity() { @@ -27,11 +27,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "修改密码" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt index 6d7d85c..fb4339c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/DeployedWellActivity.kt @@ -21,11 +21,12 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class DeployedWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@DeployedWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var deployAdapter: NormalRecyclerAdapter @@ -88,8 +89,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.deployedRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -108,10 +107,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "布防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt index 29c9b78..09f1ed1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/HelpCenterActivity.kt @@ -1,12 +1,12 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import android.webkit.WebViewClient import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityHelpCenterBinding import com.casic.app.smartwell.extensions.initImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class HelpCenterActivity : KotlinBaseActivity() { @@ -15,11 +15,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "帮助中心" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt index 0a22f67..db8ad1f 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderCompletedDetailActivity.kt @@ -18,6 +18,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog class OrderCompletedDetailActivity : KotlinBaseActivity() { @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt index bda6697..656070c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderInHandleDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -33,13 +32,17 @@ import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -50,25 +53,31 @@ private val kTag = "OrderInHandleDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter - private val context = this@OrderInHandleDetailActivity - private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val context = this + private val imagePaths = ArrayList() //服务器返回的拍照数据集 + private val realPaths = ArrayList() //真实图片路径 override fun initViewBinding(): ActivityOrderInHandleDetailBinding { return ActivityOrderInHandleDetailBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -77,7 +86,12 @@ orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java] - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!!//初始化图片九宫格 @@ -288,17 +302,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -383,7 +390,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -429,7 +437,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -466,18 +474,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt index 747fe73..28edabe 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotConfirmedDetailActivity.kt @@ -8,7 +8,6 @@ import android.os.Message import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R @@ -32,13 +31,17 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.adapter.EditableImageAdapter import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog import com.pengxh.kt.lite.widget.dialog.BottomActionSheet @@ -49,13 +52,14 @@ private val kTag = "OrderNotConfirmedDetailActivity" private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val marginOffsets by lazy { 3.dp2px(this) } private lateinit var orderViewModel: OrderViewModel private lateinit var uploadImageViewModel: UploadImageViewModel private lateinit var userViewModel: UserViewModel private lateinit var operationViewModel: OperationViewModel private lateinit var imageAdapter: EditableImageAdapter private lateinit var needHandle: String - private val context: Context = this@OrderNotConfirmedDetailActivity + private val context: Context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 @@ -64,17 +68,27 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { val jobId = intent.getStringExtra(Constant.INTENT_PARAM)!! //初始化图片九宫格 - imageAdapter = EditableImageAdapter(this, 3, 13) + //左外边距,左内边距,右内边距,右外边距 + val viewWidth = getScreenWidth() - (10 + 10 + 10 + 10).dp2px(this) + imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + binding.addImageRecyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffsets, marginOffsets, marginOffsets, marginOffsets) + ) binding.addImageRecyclerView.adapter = imageAdapter orderViewModel = ViewModelProvider(this)[OrderViewModel::class.java] @@ -238,17 +252,10 @@ uploadImageViewModel.resultModel.observe(this) { if (it.code == 200) { - val sumItemCount: Int = imageAdapter.itemCount + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.setupImage(images = realPaths) - } else { - "最多只能上传3张图片".show(this) - } + val url = it.data.toString() + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + imageAdapter.notifyImageItemRangeInserted(realPaths) } } } @@ -333,7 +340,8 @@ override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - imageAdapter.deleteImage(position) + realPaths.removeAt(position) + imageAdapter.notifyImageItemRemoved(realPaths) } }) } @@ -372,7 +380,7 @@ "选择照片失败,请重试".show(context) return } - // 线程控制图片压缩上传过程,防止速度过快导致压缩失败 + // TODO 改为协程 val sum = (result.size * 500).toLong() object : CountDownTimer(sum, 500) { override fun onTick(millisUntilFinished: Long) { @@ -408,18 +416,8 @@ private fun analyticalSelectResults(result: LocalMedia) { //压缩图片 -// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { -// result.realPath -// } else { -// result.sandboxPath -// } -// Log.d(kTag, "初始路径:" + result.path) -// Log.d(kTag, "绝对路径:" + result.realPath) -// Log.d(kTag, "原图路径:" + result.originalPath) -// Log.d(kTag, "沙盒路径:" + result.sandboxPath) result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadImageViewModel.uploadImage(file) } diff --git a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt index b3586f5..d3f22dc 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OrderNotProcessedDetailActivity.kt @@ -19,6 +19,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -36,11 +37,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt index fccb76e..7230f80 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/OvertimeOrderActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.fragment.app.Fragment import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.TopViewPagerAdapter @@ -11,6 +10,7 @@ import com.casic.app.smartwell.fragment.OvertimeNotHandleFragment import com.casic.app.smartwell.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.widget.TitleBarView class OvertimeOrderActivity : KotlinBaseActivity() { @@ -26,11 +26,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "超时工单" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt index bc34d09..afe8007 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchOrderActivity.kt @@ -25,6 +25,7 @@ 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.widget.TitleBarView import com.zhy.view.flowlayout.FlowLayout import com.zhy.view.flowlayout.TagAdapter @@ -38,7 +39,7 @@ private lateinit var contentTypeAdapter: TagAdapter private lateinit var orderStatusAdapter: TagAdapter private lateinit var levelAdapter: TagAdapter> - private val context = this@SearchOrderActivity + private val context = this private var contentModels: MutableList = ArrayList() private var orderStatusModels: MutableList = ArrayList() private var alarmContentType = "" @@ -51,11 +52,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "工单查询" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt index 683effc..6a92917 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/SearchResultActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.os.Handler import android.os.Message -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SearchResultAdapter @@ -22,6 +21,7 @@ import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class SearchResultActivity : KotlinBaseActivity(), Handler.Callback { @@ -31,7 +31,7 @@ private lateinit var operationViewModel: OperationViewModel private lateinit var args: ArrayList private lateinit var searchResultAdapter: SearchResultAdapter - private val context = this@SearchResultActivity + private val context = this private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false @@ -43,11 +43,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "查询结果" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt index 7e3fd0c..7f7cd3c 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UnDeployWellActivity.kt @@ -21,10 +21,11 @@ import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView class UnDeployWellActivity : KotlinBaseActivity(), Handler.Callback { - private val context: Context = this@UnDeployWellActivity + private val context: Context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var wellViewModel: WellViewModel private lateinit var unDeployAdapter: NormalRecyclerAdapter @@ -86,8 +87,6 @@ } override fun initEvent() { - binding.titleInclude.leftBackView.setOnClickListener { finish() } - binding.undeployRefreshLayout.setOnRefreshListener { isRefresh = true //刷新之后页码重置 @@ -106,10 +105,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "撤防列表" - binding.titleInclude.leftBackView.visibility = View.VISIBLE + override fun onRightClick() { + + } + }) } override fun onResume() { diff --git a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt index 2f14832..8e71bc1 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/UserDetailActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipboardManager import android.content.Context import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.databinding.ActivityUserDetailBinding @@ -20,6 +19,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog class UserDetailActivity : KotlinBaseActivity() { @@ -34,11 +34,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "个人资料" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt index 31c29b2..b50d067 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellDetailActivity.kt @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertMessageDialog @@ -30,11 +31,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "点位详情" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt index b04283d..084da95 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellManagementActivity.kt @@ -25,12 +25,13 @@ import com.pengxh.kt.lite.utils.WeakReferenceHandler -class WellManagementActivity : KotlinBaseActivity(), Handler.Callback { +class WellManagementActivity : KotlinBaseActivity(), + Handler.Callback { private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellListAdapter: NormalRecyclerAdapter - private val context = this@WellManagementActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -46,7 +47,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt index 714403c..e3573eb 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellMonitorActivity.kt @@ -1,7 +1,6 @@ package com.casic.app.smartwell.view import android.os.Bundle -import android.view.View import androidx.lifecycle.ViewModelProvider import com.casic.app.smartwell.R import com.casic.app.smartwell.adapter.SensorListAdapter @@ -13,6 +12,7 @@ import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub +import com.pengxh.kt.lite.widget.TitleBarView class WellMonitorActivity : KotlinBaseActivity() { @@ -23,11 +23,16 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + finish() + } - binding.titleInclude.titleView.text = "监控内容" - binding.titleInclude.leftBackView.visibility = View.VISIBLE - binding.titleInclude.leftBackView.setOnClickListener { finish() } + override fun onRightClick() { + + } + }) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt index 989994d..8d333bf 100644 --- a/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt +++ b/app/src/main/java/com/casic/app/smartwell/view/WellOperationActivity.kt @@ -32,7 +32,7 @@ private lateinit var wellViewModel: WellViewModel private lateinit var easyPopupWindow: WellTypePopupWindow private lateinit var wellOperationAdapter: NormalRecyclerAdapter - private val context = this@WellOperationActivity + private val context = this private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var items: MutableList = ArrayList() private var wellTypeModel = WellTypeModel("", "") @@ -49,7 +49,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) } override fun initOnCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index d1d17e6..9091a00 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -1,14 +1,24 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +