This file records notable CountTimeProgressView changes.
- Fixed
CLOCKformatting whenminute >= 10incorrectly appendedhour - Fixed inconsistent
startAnglegetter/setter semantics - Fixed a possible
titleCenterTextnull crash in SECOND mode - Changed
DEFAULT_COUNT_TIMEfrom 5ms to 5000ms - Fixed the demo
setBackgroundColor()call; it now usesbackgroundColorCenter
- Pause / resume / reset APIs:
pauseCountTimeAnimation(),resumeCountTimeAnimation(),resetCountTimeAnimation() progressgetter/setter in the 0f..1f range- Progress callback:
addOnProgressChangedListener { progress, remainingMillis -> } - Custom text formatter:
textFormatter = { millis -> "..." } - Progress stroke cap:
strokeCap(BUTT / ROUND / SQUARE), with XML support - Configurable animation interpolator via
interpolator - Gradient progress stroke via
gradientStartColor/gradientEndColor, with XML support - XML attributes:
autoStart,finishedText,showCenterText,strokeCap wrap_contentsupport inonMeasurewith an 84dp default size- SavedState support for restoring progress after configuration changes
- Accessibility support via AccessibilityNodeInfo
- Explicit pixel APIs:
setBorderWidthPx(),setMarkBallWidthPx(),setTitleCenterTextSizePx() - Public
remainingTimeandisPausedproperties CountTimeProgressViewComposehelper for Compose AndroidView usage
- Set
LinearInterpolatoras the default interpolator - Removed all
Log.ecalls from the library - Removed the redundant
mContextfield - Removed the dead
attr != nullbranch - Made
calcRadius()private - Added
@IntDeftype safety forTextStyle - Deprecated
OnEndListenerand addedOnCountdownEndListener+setOnClickCallback - Stopped clearing listeners in
onDetachedFromWindow - Split
onDrawinto focused drawing methods - Improved drawing performance with text caching and
postInvalidateOnAnimation()
- Removed AppCompat runtime dependency from the library module
- Migrated to AndroidX
- Raised
minSdkfrom 14 to 21, andtargetSdk/compileSdkto 34 - Switched repositories to
google()+mavenCentral() - Migrated
lintOptions {}tolint {} - Switched to
proguard-android-optimize.txt - Migrated Gradle DSL names to
compileSdkandminSdk - Changed
artifactIdfromlibrarytocounttimeprogressview - Converted SplashActivity from Java to Kotlin
- Replaced
left/rightlayout attributes withstart/endfor RTL support - Changed ScrollView child height to
wrap_content - Added ImageView
contentDescription - Removed the hard-coded JDK path from
gradle.properties - Added the standalone
ClockTimeFormatterutility for unit testing - Added 9 unit tests for
formatClockTime
- Updated README / README-ZH from
compiletoimplementation - Fixed mixed-language snippets, default value notes, and typos
- Added CHANGELOG.md
- Added CONTRIBUTING.md
- Normalized source comments and public messages to English
- Rewrote the code in Kotlin
- Stopped running when exiting
- Added clockwise animation support
- Initial commit