Skip to content

Latest commit

 

History

History
76 lines (65 loc) · 3.23 KB

File metadata and controls

76 lines (65 loc) · 3.23 KB

Changelog

This file records notable CountTimeProgressView changes.

[2.0.0] - 2026-04-15

Bug Fixes

  • Fixed CLOCK formatting when minute >= 10 incorrectly appended hour
  • Fixed inconsistent startAngle getter/setter semantics
  • Fixed a possible titleCenterText null crash in SECOND mode
  • Changed DEFAULT_COUNT_TIME from 5ms to 5000ms
  • Fixed the demo setBackgroundColor() call; it now uses backgroundColorCenter

Features

  • Pause / resume / reset APIs: pauseCountTimeAnimation(), resumeCountTimeAnimation(), resetCountTimeAnimation()
  • progress getter/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_content support in onMeasure with an 84dp default size
  • SavedState support for restoring progress after configuration changes
  • Accessibility support via AccessibilityNodeInfo
  • Explicit pixel APIs: setBorderWidthPx(), setMarkBallWidthPx(), setTitleCenterTextSizePx()
  • Public remainingTime and isPaused properties
  • CountTimeProgressViewCompose helper for Compose AndroidView usage

Code Quality

  • Set LinearInterpolator as the default interpolator
  • Removed all Log.e calls from the library
  • Removed the redundant mContext field
  • Removed the dead attr != null branch
  • Made calcRadius() private
  • Added @IntDef type safety for TextStyle
  • Deprecated OnEndListener and added OnCountdownEndListener + setOnClickCallback
  • Stopped clearing listeners in onDetachedFromWindow
  • Split onDraw into focused drawing methods
  • Improved drawing performance with text caching and postInvalidateOnAnimation()

Project

  • Removed AppCompat runtime dependency from the library module
  • Migrated to AndroidX
  • Raised minSdk from 14 to 21, and targetSdk / compileSdk to 34
  • Switched repositories to google() + mavenCentral()
  • Migrated lintOptions {} to lint {}
  • Switched to proguard-android-optimize.txt
  • Migrated Gradle DSL names to compileSdk and minSdk
  • Changed artifactId from library to counttimeprogressview
  • Converted SplashActivity from Java to Kotlin
  • Replaced left/right layout attributes with start/end for RTL support
  • Changed ScrollView child height to wrap_content
  • Added ImageView contentDescription
  • Removed the hard-coded JDK path from gradle.properties
  • Added the standalone ClockTimeFormatter utility for unit testing
  • Added 9 unit tests for formatClockTime

Documentation

  • Updated README / README-ZH from compile to implementation
  • Fixed mixed-language snippets, default value notes, and typos
  • Added CHANGELOG.md
  • Added CONTRIBUTING.md
  • Normalized source comments and public messages to English

[1.1.3] - 2017-11-11

  • Rewrote the code in Kotlin

[1.1.1] - 2017-03-27

  • Stopped running when exiting

[1.1.0] - 2017-02-07

  • Added clockwise animation support

[1.0.0] - 2016-12-20

  • Initial commit