Alternatively, you can set all properties in your Fragment/Activity:
val spb = findViewById(R.id.spb)
spb.segmentCount = 10
...
Initialize it and start it
val spb = findViewById(R.id.spb)
spb.start()
Available methods
// Starts/resumes progress animation
spb.start()
// Pauses progress animation
spb.pause()
// Restarts progress animation
spb.reset()
// Completes animation of current segment, starts animating following segment
spb.next()
// Resets animation of current segment, starts animating previous segment
spb.previous()
// Resets animation of current segment
spb.restartSegment()
// Skips X segments (-X option available)
spb.skip(X)
// Restarts animation for segment at position X
spb.setPosition(X)
Set a ViewPager
You can sync a ViewPager2 with a SegmentedProgressBar by doing
spb.viewPager = viewPager
This will
Update the SegmentedProgressBar segments automatically when a swipe action is done on a ViewPager
Pause/Resume progress animation when user touches down/up on the view pager (Like you do to pause an Instagram story)
Set a Listener
spb.listener = object : SegmentedProgressBarListener {
override fun onPage(oldPageIndex: Int, newPageIndex: Int) {
// New page started animating
}
override fun onFinished() {
// All segments animated and finished animation
}
}
Feel free to checkout the sample on this repository
MIT License
Copyright (c) 2020 Tiago Ornelas
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Attribute timePerSegment totally useless.
No matter what value I set, the speed of the animation does not change.
It is also not possible to set this time from the code
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.
You can always request more updates by clicking Bump now in your Dependabot dashboard.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
@dependabot use these labels will set the current labels as the default for future PRs for this repo and language
@dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
@dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
@dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
@dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
Update frequency (including time of day and day of week)
Pull request limits (per update run and/or open at any time)
Out-of-range updates (receive only lockfile updates, if desired)
Security updates (receive only security updates, if desired)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.
You can always request more updates by clicking Bump now in your Dependabot dashboard.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
@dependabot use these labels will set the current labels as the default for future PRs for this repo and language
@dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
@dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
@dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
@dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
Update frequency (including time of day and day of week)
Pull request limits (per update run and/or open at any time)
Out-of-range updates (receive only lockfile updates, if desired)
Security updates (receive only security updates, if desired)
This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21.
Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.
This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21.
Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Fixes an incorrect dependency in the ksp modules POM file (bumptech/glide#4908, 4d4f3ebe4b8d4aeb7dc833d1787442f04cf8d785)
Glide v4.14.0
Features
Add support for KSP (See Download and Setup and Generated API Deprecation for details on how to use the KSP processor and the features it does and does not support, 2a787b9ba4287dd1f1efd19b1139794ee8b530b6, 8bef56e2588a371363079a9e33053a9f1f663849, 272c6c390938189972767168a754c01d909810bc, 9f04fd005925ffc39c3e103e9e88a1a85977bee0, 4016448fc56179ac5fa6eaf352113617f04847a5, c35ad1351ee47314f69ad5ecc405a28fbf919298).
Add an alpha version of a Compose integration (Docs)
To support the Compose integration, add an alpha version of general Kotlin support, starting with utilities to convert a Glide request into a Flow (Docs, 7d9e1a3659a23c58457338ce449a37cdcddc62fb)
Enable animated WebP Decoding on P+ using framework APIs (ad35f5e4fcd2e34750289fa1f9820579b2661f0c)
Allow Drawables to be loaded with specific themes (17cae33fd8a966f741495e5c8604661629821006)
Bugs
Register connectivity listeners on API < 24 on background threads (96596ae9269e85f31d5c6a158c2ab92c16677703)
Disable ParcelFileDescriptor rewinding in Robolectric (9840c91e1b2d358d9c9367654eacd4b4719ed849)
Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data (4f29adab64f6b43a10652f4d26ba3ecdaf0b5e47)
Avoid duplicate notifications of Targets when an error request builder is set (5c232dd12b5710c9bb8d940313e77351a39bc6a6)
Use the correct run reason in DecodeJob (1a2cfe36bf32a8b3d8f155cf8e66e145fcfc3ba7)
Deprecations
Deprecate Glide's Extensions, GlideApp, GlideRequest and GlideRequests. Extensions seem to be rarely used and add a lot of complexity to the otherwise fairly simple annotation processor. They're also trivially replicated with Kotlin's extension functions for people who're already using Kotlin. Without Extensions, GlideApp, GlideRequest and GlideRequests serve no additional purpose. Prior to Glide 4.9.0 they were used to merge RequestBuilder and RequestOptions, but now that's done in the library without codegen. See Generated API Deprecation for details.
Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support (e802964ddc838b4db776d45689e9dfd6f46a5b2c)
Behavior Changes
Initialize Glide's registry on a background thread to avoid some work on the main thread (6ba4b548cae12f3aa53634a59025069834c0ea14)
Update the state of a Request before calling Targets or RequestListeners. Request is generally treated as an internal API but it's possible this could result in some changes to the behavior of custom Targets or RequestListeners that try to use Request to introspect state (c38ce36cd6827251fbc5e49b79d4e83dec8d71be)
Update to Gradle 7+ (fdbb694e68d117553cdc89f32932e0a129c2c75f)
Fix some deprecation warnings in Gradle (31e7ce34ebad92ecebb7ec9d6288be30c748b830, 2895b351fa6dde68ab5dc85c591f47bd4a395475, thanks @TacoTheDank)
Use a version of jarjar from maven rather than embedding a jar (faf85ec4351893eef81b52e982fa1067af1e8fdd)
Removed the exif orientation example dependency in favor of our own custom images (66403763e8235dd2f45d1e6007cd25c62f43843f)
Target API 32 and make Glide's tests target Java 11 (839899dd252c58045b992181791d2aa9412bfdc0)
Build both the release and debug flavors again since they're each required by different gradle plugins we use (f86db6fb3003b88a405ffa437b510414a1df2af1)
CI optimization (c30aee9f01fd10d60e4da8e36812595d30cf8abe, thanks @Goooler)
Integrate Dokka to build Glide's javadocs for our documentation page (e5a29beb96d9fc8a31e9f0adc650f6b2bd09c4ec)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Fixes an incorrect dependency in the ksp modules POM file (bumptech/glide#4908, 4d4f3ebe4b8d4aeb7dc833d1787442f04cf8d785)
Glide v4.14.0
Features
Add support for KSP (See Download and Setup and Generated API Deprecation for details on how to use the KSP processor and the features it does and does not support, 2a787b9ba4287dd1f1efd19b1139794ee8b530b6, 8bef56e2588a371363079a9e33053a9f1f663849, 272c6c390938189972767168a754c01d909810bc, 9f04fd005925ffc39c3e103e9e88a1a85977bee0, 4016448fc56179ac5fa6eaf352113617f04847a5, c35ad1351ee47314f69ad5ecc405a28fbf919298).
Add an alpha version of a Compose integration (Docs)
To support the Compose integration, add an alpha version of general Kotlin support, starting with utilities to convert a Glide request into a Flow (Docs, 7d9e1a3659a23c58457338ce449a37cdcddc62fb)
Enable animated WebP Decoding on P+ using framework APIs (ad35f5e4fcd2e34750289fa1f9820579b2661f0c)
Allow Drawables to be loaded with specific themes (17cae33fd8a966f741495e5c8604661629821006)
Bugs
Register connectivity listeners on API < 24 on background threads (96596ae9269e85f31d5c6a158c2ab92c16677703)
Disable ParcelFileDescriptor rewinding in Robolectric (9840c91e1b2d358d9c9367654eacd4b4719ed849)
Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data (4f29adab64f6b43a10652f4d26ba3ecdaf0b5e47)
Avoid duplicate notifications of Targets when an error request builder is set (5c232dd12b5710c9bb8d940313e77351a39bc6a6)
Use the correct run reason in DecodeJob (1a2cfe36bf32a8b3d8f155cf8e66e145fcfc3ba7)
Deprecations
Deprecate Glide's Extensions, GlideApp, GlideRequest and GlideRequests. Extensions seem to be rarely used and add a lot of complexity to the otherwise fairly simple annotation processor. They're also trivially replicated with Kotlin's extension functions for people who're already using Kotlin. Without Extensions, GlideApp, GlideRequest and GlideRequests serve no additional purpose. Prior to Glide 4.9.0 they were used to merge RequestBuilder and RequestOptions, but now that's done in the library without codegen. See Generated API Deprecation for details.
Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support (e802964ddc838b4db776d45689e9dfd6f46a5b2c)
Behavior Changes
Initialize Glide's registry on a background thread to avoid some work on the main thread (6ba4b548cae12f3aa53634a59025069834c0ea14)
Update the state of a Request before calling Targets or RequestListeners. Request is generally treated as an internal API but it's possible this could result in some changes to the behavior of custom Targets or RequestListeners that try to use Request to introspect state (c38ce36cd6827251fbc5e49b79d4e83dec8d71be)
Update to Gradle 7+ (fdbb694e68d117553cdc89f32932e0a129c2c75f)
Fix some deprecation warnings in Gradle (31e7ce34ebad92ecebb7ec9d6288be30c748b830, 2895b351fa6dde68ab5dc85c591f47bd4a395475, thanks @TacoTheDank)
Use a version of jarjar from maven rather than embedding a jar (faf85ec4351893eef81b52e982fa1067af1e8fdd)
Removed the exif orientation example dependency in favor of our own custom images (66403763e8235dd2f45d1e6007cd25c62f43843f)
Target API 32 and make Glide's tests target Java 11 (839899dd252c58045b992181791d2aa9412bfdc0)
Build both the release and debug flavors again since they're each required by different gradle plugins we use (f86db6fb3003b88a405ffa437b510414a1df2af1)
CI optimization (c30aee9f01fd10d60e4da8e36812595d30cf8abe, thanks @Goooler)
Integrate Dokka to build Glide's javadocs for our documentation page (e5a29beb96d9fc8a31e9f0adc650f6b2bd09c4ec)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading
Analysis API. FE1.0
KT-51962 Analysis API: Finish Analysis API for FE1.0
Analysis API. FIR
KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
KT-50236 Fix OOB modification trackers for non-Kotlin code
KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
KT-50868 Analysis API: decompiled type aliases are not resolved
Compiler
KT-53739 Builder inference, extension hides members
KT-53733 Kotlin/Native: update source documentation for the new default memory manager
KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
KT-51234 Context receivers can be duplicated in function declaration
KT-51576 Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" with at character
KT-49479 JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls
KT-52270 NullPointerException caused by braces on if-else returning a method reference inside lambda
KT-47621 False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter
KT-37796 NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself
KT-45430 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context
KT-52691 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces
KT-52822 Fix contract for KtElement.getReference()
KT-50223 IndexOutOfBoundsException from ClassicTypeSystemContext$DefaultImpls.getParameter during call resolution
KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading
Analysis API. FE1.0
KT-51962 Analysis API: Finish Analysis API for FE1.0
Analysis API. FIR
KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
KT-50236 Fix OOB modification trackers for non-Kotlin code
KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
KT-50868 Analysis API: decompiled type aliases are not resolved
Compiler
KT-53739 Builder inference, extension hides members
KT-53733 Kotlin/Native: update source documentation for the new default memory manager
KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
KT-51234 Context receivers can be duplicated in function declaration
KT-51576 Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" with at character
KT-49479 JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls
KT-52270 NullPointerException caused by braces on if-else returning a method reference inside lambda
KT-47621 False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter
KT-37796 NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself
KT-45430 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context
KT-52691 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces
KT-52822 Fix contract for KtElement.getReference()
KT-50223 IndexOutOfBoundsException from ClassicTypeSystemContext$DefaultImpls.getParameter during call resolution
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
KTIJ-17414 UAST: Synthetic enum methods have null return values
KTIJ-17444 UAST: Synthetic enum methods are missing nullness annotations
KTIJ-19043 UElement#comments is empty for a Kotlin property with a getter
KTIJ-10031 IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @Serializable)
KTIJ-21151 Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides
KTIJ-20736 NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start
KTIJ-21063 IDE highlighting: False positive error "Context receivers should be enabled explicitly"
KTIJ-20810 NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open
KTIJ-17869 KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors
KTIJ-21061 UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type
KTIJ-20200 UAST: @Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=true
IDE. Code Style, Formatting
KTIJ-20554 Introduce some code style for definitely non-null types
IDE. Completion
KTIJ-14740 Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set
IDE. Debugger
KTIJ-20815 MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError
IDE. Decompiler, Indexing, Stubs
KTIJ-21472 "java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file
KTIJ-20802 Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&Any
IDE. FIR
KTIJ-20971 FIR IDE: "Parameter Info" shows parameters of uncallable methods
KTIJ-21021 FIR IDE: Completion of extension function does not work on nullable receiver
KTIJ-17414 UAST: Synthetic enum methods have null return values
KTIJ-17444 UAST: Synthetic enum methods are missing nullness annotations
KTIJ-19043 UElement#comments is empty for a Kotlin property with a getter
KTIJ-10031 IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @Serializable)
KTIJ-21151 Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides
KTIJ-20736 NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start
KTIJ-21063 IDE highlighting: False positive error "Context receivers should be enabled explicitly"
KTIJ-20810 NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open
KTIJ-17869 KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors
KTIJ-21061 UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type
KTIJ-20200 UAST: @Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=true
IDE. Code Style, Formatting
KTIJ-20554 Introduce some code style for definitely non-null types
IDE. Completion
KTIJ-14740 Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set
IDE. Debugger
KTIJ-20815 MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError
IDE. Decompiler, Indexing, Stubs
KTIJ-21472 "java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file
KTIJ-20802 Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&Any
IDE. FIR
KTIJ-20971 FIR IDE: "Parameter Info" shows parameters of uncallable methods
KTIJ-21021 FIR IDE: Completion of extension function does not work on nullable receiver
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Allow LibraryGlideModules to be processed in separate code modules when using KSP (#4911, 5245e821e0b61a99685dc129ac83e1bb044275d2)
Fix recomposition when properties of RequestBuilder change (#4916, f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0)
Behavior Changes
Proper implementation of equals/hashcode for BaseRequestOptions and TransitionOptions subclasses. Previously comparing these objects was either not symmetric or certain properties were not included in equals() and hashCode(). Code that relied on the equals/hashcode methods may break if it accidentally relies on the old bad behavior. (f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0)
Glide v4.14.1
Bugs
Fixes an incorrect dependency in the ksp modules POM file (bumptech/glide#4908, 4d4f3ebe4b8d4aeb7dc833d1787442f04cf8d785)
Glide v4.14.0
Features
Add support for KSP (See Download and Setup and Generated API Deprecation for details on how to use the KSP processor and the features it does and does not support, 2a787b9ba4287dd1f1efd19b1139794ee8b530b6, 8bef56e2588a371363079a9e33053a9f1f663849, 272c6c390938189972767168a754c01d909810bc, 9f04fd005925ffc39c3e103e9e88a1a85977bee0, 4016448fc56179ac5fa6eaf352113617f04847a5, c35ad1351ee47314f69ad5ecc405a28fbf919298).
Add an alpha version of a Compose integration (Docs)
To support the Compose integration, add an alpha version of general Kotlin support, starting with utilities to convert a Glide request into a Flow (Docs, 7d9e1a3659a23c58457338ce449a37cdcddc62fb)
Enable animated WebP Decoding on P+ using framework APIs (ad35f5e4fcd2e34750289fa1f9820579b2661f0c)
Allow Drawables to be loaded with specific themes (17cae33fd8a966f741495e5c8604661629821006)
Bugs
Register connectivity listeners on API < 24 on background threads (96596ae9269e85f31d5c6a158c2ab92c16677703)
Disable ParcelFileDescriptor rewinding in Robolectric (9840c91e1b2d358d9c9367654eacd4b4719ed849)
Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data (4f29adab64f6b43a10652f4d26ba3ecdaf0b5e47)
Avoid duplicate notifications of Targets when an error request builder is set (5c232dd12b5710c9bb8d940313e77351a39bc6a6)
Use the correct run reason in DecodeJob (1a2cfe36bf32a8b3d8f155cf8e66e145fcfc3ba7)
Deprecations
Deprecate Glide's Extensions, GlideApp, GlideRequest and GlideRequests. Extensions seem to be rarely used and add a lot of complexity to the otherwise fairly simple annotation processor. They're also trivially replicated with Kotlin's extension functions for people who're already using Kotlin. Without Extensions, GlideApp, GlideRequest and GlideRequests serve no additional purpose. Prior to Glide 4.9.0 they were used to merge RequestBuilder and RequestOptions, but now that's done in the library without codegen. See Generated API Deprecation for details.
Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support (e802964ddc838b4db776d45689e9dfd6f46a5b2c)
Behavior Changes
Initialize Glide's registry on a background thread to avoid some work on the main thread (6ba4b548cae12f3aa53634a59025069834c0ea14)
Update the state of a Request before calling Targets or RequestListeners. Request is generally treated as an internal API but it's possible this could result in some changes to the behavior of custom Targets or RequestListeners that try to use Request to introspect state (c38ce36cd6827251fbc5e49b79d4e83dec8d71be)
Update to Gradle 7+ (fdbb694e68d117553cdc89f32932e0a129c2c75f)
Fix some deprecation warnings in Gradle (31e7ce34ebad92ecebb7ec9d6288be30c748b830, 2895b351fa6dde68ab5dc85c591f47bd4a395475, thanks @TacoTheDank)
Use a version of jarjar from maven rather than embedding a jar (faf85ec4351893eef81b52e982fa1067af1e8fdd)
Removed the exif orientation example dependency in favor of our own custom images (66403763e8235dd2f45d1e6007cd25c62f43843f)
Target API 32 and make Glide's tests target Java 11 (839899dd252c58045b992181791d2aa9412bfdc0)
Build both the release and debug flavors again since they're each required by different gradle plugins we use (f86db6fb3003b88a405ffa437b510414a1df2af1)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Allow LibraryGlideModules to be processed in separate code modules when using KSP (#4911, 5245e821e0b61a99685dc129ac83e1bb044275d2)
Fix recomposition when properties of RequestBuilder change (#4916, f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0)
Behavior Changes
Proper implementation of equals/hashcode for BaseRequestOptions and TransitionOptions subclasses. Previously comparing these objects was either not symmetric or certain properties were not included in equals() and hashCode(). Code that relied on the equals/hashcode methods may break if it accidentally relies on the old bad behavior. (f3d6ff7603e4759a89ba7bd9a8b1a77281e3a4b0)
Glide v4.14.1
Bugs
Fixes an incorrect dependency in the ksp modules POM file (bumptech/glide#4908, 4d4f3ebe4b8d4aeb7dc833d1787442f04cf8d785)
Glide v4.14.0
Features
Add support for KSP (See Download and Setup and Generated API Deprecation for details on how to use the KSP processor and the features it does and does not support, 2a787b9ba4287dd1f1efd19b1139794ee8b530b6, 8bef56e2588a371363079a9e33053a9f1f663849, 272c6c390938189972767168a754c01d909810bc, 9f04fd005925ffc39c3e103e9e88a1a85977bee0, 4016448fc56179ac5fa6eaf352113617f04847a5, c35ad1351ee47314f69ad5ecc405a28fbf919298).
Add an alpha version of a Compose integration (Docs)
To support the Compose integration, add an alpha version of general Kotlin support, starting with utilities to convert a Glide request into a Flow (Docs, 7d9e1a3659a23c58457338ce449a37cdcddc62fb)
Enable animated WebP Decoding on P+ using framework APIs (ad35f5e4fcd2e34750289fa1f9820579b2661f0c)
Allow Drawables to be loaded with specific themes (17cae33fd8a966f741495e5c8604661629821006)
Bugs
Register connectivity listeners on API < 24 on background threads (96596ae9269e85f31d5c6a158c2ab92c16677703)
Disable ParcelFileDescriptor rewinding in Robolectric (9840c91e1b2d358d9c9367654eacd4b4719ed849)
Rewind ByteBuffers in between each image header parser to avoid spurious failures when multiple parsers read data (4f29adab64f6b43a10652f4d26ba3ecdaf0b5e47)
Avoid duplicate notifications of Targets when an error request builder is set (5c232dd12b5710c9bb8d940313e77351a39bc6a6)
Use the correct run reason in DecodeJob (1a2cfe36bf32a8b3d8f155cf8e66e145fcfc3ba7)
Deprecations
Deprecate Glide's Extensions, GlideApp, GlideRequest and GlideRequests. Extensions seem to be rarely used and add a lot of complexity to the otherwise fairly simple annotation processor. They're also trivially replicated with Kotlin's extension functions for people who're already using Kotlin. Without Extensions, GlideApp, GlideRequest and GlideRequests serve no additional purpose. Prior to Glide 4.9.0 they were used to merge RequestBuilder and RequestOptions, but now that's done in the library without codegen. See Generated API Deprecation for details.
Deprecate Android framework Fragment support. Applications should use androidx Fragments instead, which we'll continue to support (e802964ddc838b4db776d45689e9dfd6f46a5b2c)
Behavior Changes
Initialize Glide's registry on a background thread to avoid some work on the main thread (6ba4b548cae12f3aa53634a59025069834c0ea14)
Update the state of a Request before calling Targets or RequestListeners. Request is generally treated as an internal API but it's possible this could result in some changes to the behavior of custom Targets or RequestListeners that try to use Request to introspect state (c38ce36cd6827251fbc5e49b79d4e83dec8d71be)
Update to Gradle 7+ (fdbb694e68d117553cdc89f32932e0a129c2c75f)
Fix some deprecation warnings in Gradle (31e7ce34ebad92ecebb7ec9d6288be30c748b830, 2895b351fa6dde68ab5dc85c591f47bd4a395475, thanks @TacoTheDank)
Use a version of jarjar from maven rather than embedding a jar (faf85ec4351893eef81b52e982fa1067af1e8fdd)
Removed the exif orientation example dependency in favor of our own custom images (66403763e8235dd2f45d1e6007cd25c62f43843f)
Target API 32 and make Glide's tests target Java 11 (839899dd252c58045b992181791d2aa9412bfdc0)
Build both the release and debug flavors again since they're each required by different gradle plugins we use (f86db6fb3003b88a405ffa437b510414a1df2af1)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependencies
opened by dependabot[bot] 0
Releases(0.0.3)
0.0.3(Jul 22, 2021)
FIxed issue where SegmentedProgressBarr would not be drawn on devices with API level lower than 23