diff --git a/app/build.gradle b/app/build.gradle index a43d6d3c..67d184b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,12 +10,12 @@ if (keystorePropertiesFile.exists()) { } android { - compileSdkVersion 30 + compileSdkVersion 31 defaultConfig { applicationId "com.simplemobiletools.clock" minSdkVersion 21 - targetSdkVersion 30 + targetSdkVersion 31 versionCode 25 versionName "5.6.1" setProperty("archivesBaseName", "clock") @@ -69,7 +69,7 @@ android { dependencies { implementation 'com.github.SimpleMobileTools:Simple-Commons:eee4809d37' implementation 'com.facebook.stetho:stetho:1.5.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.2' + implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'com.shawnlin:number-picker:2.4.6' implementation "androidx.preference:preference-ktx:1.1.1" implementation "androidx.work:work-runtime-ktx:2.6.0" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7664cae8..74a56d26 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,6 +19,7 @@ @@ -37,34 +39,47 @@ + android:windowSoftInputMode="adjustPan" /> + android:parentActivityName=".activities.MainActivity"> + + + + + + @@ -83,7 +98,9 @@ - + @@ -93,7 +110,9 @@ + @@ -104,7 +123,10 @@ android:resource="@xml/widget_date_time_info" /> - + + @@ -115,6 +137,7 @@ @@ -128,6 +151,7 @@ @@ -141,6 +165,7 @@ @@ -154,6 +179,7 @@ @@ -167,6 +193,7 @@ @@ -180,6 +207,7 @@ @@ -193,6 +221,7 @@ @@ -206,6 +235,7 @@ @@ -219,6 +249,7 @@ @@ -232,6 +263,7 @@ @@ -245,6 +277,7 @@ @@ -258,6 +291,7 @@ @@ -271,6 +305,7 @@ @@ -284,6 +319,7 @@ @@ -297,6 +333,7 @@ @@ -309,6 +346,7 @@ @@ -322,6 +360,7 @@ @@ -335,6 +374,7 @@ @@ -348,6 +388,7 @@ diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/AlarmsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/AlarmsAdapter.kt index fd7e8483..6c01c787 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/AlarmsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/AlarmsAdapter.kt @@ -19,10 +19,11 @@ import com.simplemobiletools.commons.extensions.isVisible import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.commons.views.MyRecyclerView import kotlinx.android.synthetic.main.item_alarm.view.* -import java.util.* -class AlarmsAdapter(activity: SimpleActivity, var alarms: ArrayList, val toggleAlarmInterface: ToggleAlarmInterface, - recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) { +class AlarmsAdapter( + activity: SimpleActivity, var alarms: ArrayList, val toggleAlarmInterface: ToggleAlarmInterface, + recyclerView: MyRecyclerView, itemClick: (Any) -> Unit +) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) { init { setupDragListener(true) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/StopwatchAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/StopwatchAdapter.kt index fcff15ec..cf6ccd0d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/StopwatchAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/StopwatchAdapter.kt @@ -17,7 +17,7 @@ import kotlinx.android.synthetic.main.item_lap.view.* import java.util.* class StopwatchAdapter(activity: SimpleActivity, var laps: ArrayList, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : - MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) { + MyRecyclerViewAdapter(activity, recyclerView, itemClick) { private var lastLapTimeView: TextView? = null private var lastTotalTimeView: TextView? = null private var lastLapId = 0 diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimeZonesAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimeZonesAdapter.kt index f793fce6..91230d69 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimeZonesAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimeZonesAdapter.kt @@ -17,7 +17,7 @@ import kotlinx.android.synthetic.main.item_time_zone.view.* import java.util.* class TimeZonesAdapter(activity: SimpleActivity, var timeZones: ArrayList, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : - MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) { + MyRecyclerViewAdapter(activity, recyclerView, itemClick) { var todayDateString = activity.getFormattedDate(Calendar.getInstance()) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimerAdapter.kt index db7e821f..0a796e68 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/adapters/TimerAdapter.kt @@ -23,7 +23,7 @@ class TimerAdapter( recyclerView: MyRecyclerView, onRefresh: () -> Unit, onItemClick: (Timer) -> Unit, -) : MyRecyclerViewListAdapter(simpleActivity, recyclerView, diffUtil, null, onItemClick, onRefresh) { +) : MyRecyclerViewListAdapter(simpleActivity, recyclerView, diffUtil, onItemClick, onRefresh) { companion object { private val diffUtil = object : DiffUtil.ItemCallback() { diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt index 1866233b..2ff94139 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt @@ -92,13 +92,15 @@ class TimerFragment : Fragment() { private fun refreshTimers(scrollToLatest: Boolean = false) { activity?.timerHelper?.getTimers { timers -> - timerAdapter.submitList(timers) { - getView()?.post { - if (timerPositionToScrollTo != INVALID_POSITION && timerAdapter.itemCount > timerPositionToScrollTo) { - view.timers_list.scrollToPosition(timerPositionToScrollTo) - timerPositionToScrollTo = INVALID_POSITION - } else if (scrollToLatest) { - view.timers_list.scrollToPosition(timers.lastIndex) + activity?.runOnUiThread { + timerAdapter.submitList(timers) { + getView()?.post { + if (timerPositionToScrollTo != INVALID_POSITION && timerAdapter.itemCount > timerPositionToScrollTo) { + view.timers_list.scrollToPosition(timerPositionToScrollTo) + timerPositionToScrollTo = INVALID_POSITION + } else if (scrollToLatest) { + view.timers_list.scrollToPosition(timers.lastIndex) + } } } } diff --git a/build.gradle b/build.gradle index 187851b8..cf4af380 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.5.31' + ext.kotlin_version = '1.6.20' repositories { google() @@ -9,7 +9,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.0.3' + classpath 'com.android.tools.build:gradle:7.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 22e6c934..17dc04cb 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip