Tivi is a work-in-progress TV show tracking Android app

Overview

Tivi

Tivi 📺 (work-in-progress 👷 🔧️ 👷‍♀️ )

This is not an official Google product

Tivi is a work-in-progress TV show tracking Android app, which connects to Trakt.tv.

Download

Android development

Tivi is an app that attempts to use the latest cutting edge libraries and tools. As a summary:

Development setup

First off, you require the latest Android Studio Bumblebee release to be able to build the app.

Code style

This project uses ktlint, provided via the spotless gradle plugin, and the bundled project IntelliJ codestyle.

If you find that one of your pull reviews does not pass the CI server check due to a code style conflict, you can easily fix it by running: ./gradlew spotlessApply.

API keys

You need to supply API / client keys for the various services the app uses:

You can find information about how to gain access via the relevant links.

When creating a Trakt API project, you need to set the OAuth redirect uri to app.tivi.debug://auth/oauth2callback for debug build types, or app.tivi://auth/oauth2callback for release build types.

Once you obtain the keys, you can set them in your ~/.gradle/gradle.properties:

# Get these from Trakt.tv
TIVI_TRAKT_CLIENT_ID=
   
    
TIVI_TRAKT_CLIENT_SECRET=
    
     

# Get this from TMDb
TIVI_TMDB_API_KEY=
     

     
    
   

Jetpack Compose

As mentioned above, this app's UI is completely written in Jetpack Compose. Some screens highlighted are:

Show details

[source]

Show Details demo

Episode details

[source]

Show Details demo

Account

[source]

Show Details demo

Contributions

If you've found an error in this sample, please file an issue.

Patches are encouraged and may be submitted by forking this project and submitting a pull request. Since this project is still in its very early stages, if your change is substantial, please raise an issue first to discuss it.

License

Copyright 2020 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Use process scope for long-lived operations

    Use process scope for long-lived operations

    We now inject a CoroutineScope which is based off the ProcessLifecycleOwner lifecycle, meaning that the operations will not be cancelled prematurely. Flow/observable subscriptions still happen within the viewModelScope.

    Closes #360

    cla: yes 
    opened by chrisbanes 14
  • Android Support plugin error when running gradle sync on project

    Android Support plugin error when running gradle sync on project

    After importing the project into Android Studio Arctic Fox I ran Gradle Sync and received the following error:

    This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this project, please retry with version 2021.1.1 or newer.
    

    I'm assuming this is because I need the latest Canary version of Android Studio - BumbleBee 2021.1.1.

    If this is correct then the README should be updated to reflect this requirement.

    opened by dturner 9
  • CI/CD: Could you please explain your strategy?

    CI/CD: Could you please explain your strategy?

    Hi, I'm looking at your github action workflows, and was wondering what is your release strategy

    In general I see on every push you run - name: Build debug and check

    but then

    name: Build release
    if: github.ref != 'refs/heads/master'
    run: ./gradlew bundleRelease assembleRelease -Ptivi.versioncode=$BUILD_NUMBER --scan
    
    - name: Publish to Play Store
    if: github.ref == 'refs/heads/master'
    run: ./gradlew publishRelease -Ptivi.versioncode=$BUILD_NUMBER --scan
    

    Which confuse me. Are you building release apk for every non master commit, and deploying a release on every commit in master?

    Also, I was wondering how could I ssh my signing keystore into the CI server but thats probably moot point, and I see you have them checked in just encrypted, and keys from that are in github secrets, correct? Also they keys from the keystore are there too?

    question 
    opened by ursusursus 9
  • Included in F-Droid

    Included in F-Droid

    It would be great to see this project included in the F-Droid repository. Among other things, this would make Tivi more accessible, you can show off screenshots of the app, and test versions can be quickly deployed.

    opened by gbakeman 8
  • Reuse a common OkHttpClient

    Reuse a common OkHttpClient

    Testing OkHttpClient performance with a real client, I wanted to discuss some of the advised usage patterns.

    Single Client instance

    https://square.github.io/okhttp/4.x/okhttp/okhttp3/-ok-http-client/#okhttpclients-should-be-shared

    Also added an EventListener for debugging, and enabled both loggers for Coil.

    n.b. This is for discussion, please feel free to close.

    cla: yes 
    opened by yschimke 7
  • Trimmed Toolbar when navigating back from Search Activity

    Trimmed Toolbar when navigating back from Search Activity

    Steps to reproduce the issue:

    • Navigate to search activity
    • Close keyboard
    • Click on any other activity

    The issue does not exist if the Search Activity is open and then open another activity without closing the keyboard.

    Video can be found here

    Screenshot_20191012-185336

    opened by lineargs 7
  • Increase java heap size to 2 GB

    Increase java heap size to 2 GB

    Avoid "GC overhead limit exceeded" error while building. If this is not specified it should default to 1 GB, I wasn't able to run tivi without this.

    cla: yes 
    opened by LivingWithHippos 6
  • Import issue in AS

    Import issue in AS

    AS 4.2 Canary 16

    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Could not determine the dependencies of task ':app:testDebugUnitTest'.
    > Could not resolve all dependencies for configuration ':app:androidApis'.
       > Could not create task ':app:minifyReleaseWithR8'.
          > Extension not initialized yet, couldn't access compileSdkVersion.
    
    opened by yschimke 5
  • TraktManager runTimeException on startAuth.

    TraktManager runTimeException on startAuth.

    Hi!

    I got this crash belowe at TraktManager startAuth(). I think the problem, that the context provided by dagger is not an Activity, as this openid isssue suggests.

    android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? at android.app.ContextImpl.startActivity(ContextImpl.java:672) at android.app.ContextImpl.startActivity(ContextImpl.java:659) at android.content.ContextWrapper.startActivity(ContextWrapper.java:331) at net.openid.appauth.AuthorizationService.performAuthorizationRequest(AuthorizationService.java:222) at net.openid.appauth.AuthorizationService.performAuthorizationRequest(AuthorizationService.java:142) at me.banes.chris.tivi.trakt.TraktManager.startAuth(TraktManager.kt:85) at me.banes.chris.tivi.home.HomeFragmentViewModel.startAuthProcess(HomeFragmentViewModel.kt:65) at me.banes.chris.tivi.home.HomeFragmentViewModel.onLoginItemClicked(HomeFragmentViewModel.kt:61) at me.banes.chris.tivi.home.HomeFragment.onMenuItemClicked(HomeFragment.kt:71) at me.banes.chris.tivi.home.discover.DiscoverFragment$onViewCreated$$inlined$apply$lambda$1.onMenuItemClick(DiscoverFragment.kt:115)

    bug waiting on dependency 
    opened by laszlo-galosi 5
  • SSLHandshakeException with Glide

    SSLHandshakeException with Glide

    Glide won't load images from TMDB due to the SSLHandshakeException.

    javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

    opened by hocplyr98 5
  • [WIP] Play around with creating our own 'ViewModel'

    [WIP] Play around with creating our own 'ViewModel'

    See this thread: https://twitter.com/joreilly/status/1395103281203093511

    This is just a proof of concept, it is definitely not perfect. It does not have all of the characteristics of AAC ViewModels, but keeps the concept of a ‘state holder’.

    Don't copy this in your apps. It's purely an experiment.

    cla: yes 
    opened by chrisbanes 4
  • Update Kotlin, KSP and Compose Compiler

    Update Kotlin, KSP and Compose Compiler

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.google.devtools.ksp (source) | 1.7.21-1.0.8 -> 1.8.0-1.0.8 | age | adoption | passing | confidence | | org.jetbrains.kotlin.kapt (source) | 1.7.21 -> 1.8.0 | age | adoption | passing | confidence | | org.jetbrains.kotlin.android (source) | 1.7.21 -> 1.8.0 | age | adoption | passing | confidence | | org.jetbrains.kotlin:kotlin-android-extensions (source) | 1.7.21 -> 1.8.0 | age | adoption | passing | confidence |


    Release Notes

    google/ksp

    v1.8.0-1.0.8

    Compare Source

    KSP 1.0.8 for Kotlin 1.8.0.

    v1.7.22-1.0.8

    Compare Source

    KSP 1.0.8 for Kotlin 1.7.22

    JetBrains/kotlin

    v1.8.0

    Analysis API
    • KT-50255 Analysis API: Implement standalone mode for the Analysis API
    Analysis API. FIR
    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias
    Android
    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder
    Backend. Native. Debug
    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"
    Compiler
    New Features
    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage
    Performance Improvements
    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering
    Fixes
    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend
    • KT-53270 K1: implement synthetic Enum.entries property
    • KT-52823 Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8
    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-53547 Missing fun IrBuilderWithScope.irFunctionReference
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-47475 "IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClasses
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • KT-48678 Coroutine debugger: disable "was optimised out" compiler feature
    • KT-54745 Restore KtToken constructors without tokenId parameter to preserve back compatibility
    • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
    • KT-52786 Frontend / K2: IndexOutOfBoundsException when opting in to K2
    • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
    • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
    • KT-53794 IAE "Unknown visibility: protected/protected and package/" on callable reference to protected member of Java superclass
    • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
    • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
    • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
    • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
    • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
    • KT-53712 Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)
    • KT-54366 K2: no JVM BE specific diagnostics (in particular CONFLICTING_JVM_DECLARATIONS) in 1.8
    • KT-35187 NullPointerException on compiling suspend inline fun with typealias to suspend function type
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"
    • KT-53656 "IllegalStateException: typeParameters == null for SimpleFunctionDescriptorImpl" with recursive generic type parameters
    • KT-46727 Report warning on contravariant usages of star projected argument from Java
    • KT-53197 K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifier
    • KT-53867 K2: @JvmRecord does not compile to a java record
    • KT-53964 K2 is unable to work with Java records
    • KT-53349 K2: TYPE_MISMATCH caused by non-local return
    • KT-54100 "Type variable TypeVariable(P) should not be fixed" crash in code with errors
    • KT-54212 K2: cannot calculate implicit property type
    • KT-53699 K2: Exception during IR lowering in code with coroutines
    • KT-54192 Warn about unsupported feature on generic inline class parameters
    • KT-53723 Friend modules aren't getting passed to cache build during box tests
    • KT-53873 K2: Duplicated diagnostics reported from user type ref checkers
    • KT-50909 "VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in class
    • KT-54115 Restore Psi2IrTranslator constructor from 1.7.20
    • KT-53908 K2: Self-referencing generics in Java class causes New Inference Error (IE: class Foo<T extends Foo>)
    • KT-53193 K2: compile error on project that compiles fine with normal 1.7.10
    • KT-54062 K2 Invalid serialization for type-aliased suspend function type with extension receiver
    • KT-53953 Forbid usages of super or super if in fact it accesses an abstract member
    • KT-47473 NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parameters
    • KT-54049 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED
    • KT-30054 Wrong approximation if nullable anonymous object with implemented interface is used
    • KT-53751 Postpone IgnoreNullabilityForErasedValueParameters feature
    • KT-53324 Implement Enum.entries lowering on K/N
    • KT-44441 K2: report redeclaration error if there is a Java class with the same name as the Kotlin class
    • KT-53807 No warning about declaringClass on an enum value
    • KT-53493 K2: val on function parameter counts as just warning
    • KT-53435 K2: "IllegalArgumentException: class KtValueArgument is not a subtype of class KtExpression for factory ANNOTATION_ARGUMENT_MUST_BE_CONST" if string in nested annotation is concatenated
    • KT-52927 AssertionError: LambdaKotlinCallArgumentImpl
    • KT-53922 Make Enum.entries unstable feature to poison binaries
    • KT-53783 Exception during psi2ir when declaring expect data object
    • KT-53622 [OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called 'entries' is present in K2
    • KT-41670 JVM IR: AbstractMethodError when using inheritance for fun interfaces
    • KT-53178 K2: implement diagnostics for serialization plugin
    • KT-53804 Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib
    • KT-52970 Default value constant in companion object works on JVM and JS, but fails on native
    • KT-51114 FIR: Support DNN checks
    • KT-27936 Write InnerClasses attribute for all class names used in a class file
    • KT-53719 Parsing regression on function call with type arguments and labeled lambda
    • KT-53261 Evaluate effect from inline for primitive types
    • KT-53706 K2: Context receivers are not resolved on properties during type resolution stage
    • KT-39492 Kotlin.Metadata's packageName field cannot be an empty string
    • KT-53664 Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another module
    • KT-52478 [Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another one
    • KT-48822 CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException
    • KT-50281 IllegalStateException: unsupported call of reified inlined function
    • KT-50083 Different error messages in android and JVM (Intrinsics.checkNotNullParameter).
    • KT-53236 Support Enum.entries codegen on JVM/IR BE
    • KT-41017 FIR: should we support smartcast after null check
    • KT-53202 "ISE: Descriptor can be left only if it is last" after direct invoke optimization on a capturing lambda
    • KT-46969 @BuilderInference with nested DSL scopes cause false-positive scope violation in Kotlin 1.5
    • KT-53257 FIR: Improper context receiver argument is chosen when there are two extension receiver candidates
    • KT-53090 Anonymous function and extension function literals are generated as classes even with -Xlambdas=indy
    • KT-53208 K2: Cannot get annotation for default interface method parameter when compiled with -Xuse-k2
    • KT-53184 K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealias
    • KT-53198 K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit?
    • KT-53100 Optimization needed: (CONSTANT_PRIMITIVE(x: T?)) => x
    • KT-49875 [FIR] Support infering PRIVATE_TO_THIS visibility
    • KT-53024 Refactor FIR renderer to composable architecture
    • KT-50995 [FIR] Support SAM with receiver plugin
    • KT-53148 K1: introduce warning for inline virtual member in enum
    • KT-49847 Devirtualization fails to eliminate boxing in function reference context
    • KT-52875 Extension function literal creation with -Xlambdas=indy fails with incorrect arguments
    • KT-53072 INVALID_IF_AS_EXPRESSION error isn't shown in the IDE (LV 1.8)
    • KT-52985 Native: a function with type T? returned a kotlin.Unit instead of null
    • KT-52020 FIR warning message includes internal rendering
    • KT-48778 -Xtype-enhancement-improvements-strict-mode not respecting @NonNull annotation for property accesses?
    IDE
    Fixes
    • KTIJ-22357 CCE “class org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef” in K2
    • KT-55150 Argument for @NotNull parameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be null
    • KTIJ-22165 IDE notification to promote users to migrate to the new Kotlin/JS toolchain
    • KTIJ-22166 IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecated
    • KT-53543 Rework light classes for file facade
    • KT-48773 Investigate the possibility of removing dependency on old JVM backend in light classes
    • KTIJ-19699 IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external library
    • KT-51101 FIR IDE: Exception on "Show Type Info" action
    • KTIJ-22295 MPP, IDE: False positive UPPER_BOUND_VIOLATED when JVM module implements the generic interface from MPP module and the type parameter is not equal to itself.
    • KT-51656 FIR IDE: ProgressCancelled exception is masked in the compiler during resolve
    • KT-51315 FIR IDE: move out base modules from fe10 plugin to reuse in k2 plugin
    • KTIJ-22323 K2: ISE during resolve of stdlib calls from the stdlib
    • KTIJ-21391 Generate -> Override methods : don't delegate to abstract methods
    • KT-53097 Extract common part of light classes to another module
    • KTIJ-22354 FIR LC: annotation owner is always null
    • KTIJ-22157 Kotlin call resolver leaks user code when reporting exception
    IDE. Completion
    • KTIJ-22552 Kotlin: 'for loop' postfix completion doesn't work - "Fe10SuggestVariableNameMacro must be not requested from main classloader"
    • KTIJ-22503 Support code completion for data objects
    IDE. Debugger
    • KT-51755 Compilation exception with scripting compilation during debug session
    • KTIJ-21963 Debugger / IR: Expression evaluation of the debugger doesn't work
    IDE. Decompiler, Indexing, Stubs
    • KTIJ-22750 Initialize Kotlin stub element types lazily
    • KTIJ-18094 IDE: "AssertionError: Stub count doesn't match stubbed node length" with minified Android AAR library
    • KTIJ-17632 IndexOutOfBoundsException: Cannot decompile a class located in minified AAR
    IDE. Gradle Integration
    • KT-48135 In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external libraries
    • KTIJ-22345 False positive unresolved reference for members of subclasses of expect classes.
    • KT-53514 HMPP: False positive for None of the following functions can be called with the arguments supplied. with Enum in common module
    • KT-51583 Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ':kotlinKlibCommonizerClasspath'
    • KTIJ-21077 Dependency matrix does not work with Jetpack compose / multiplatform projects
    IDE. Inspections and Intentions
    • KTIJ-19531 Adapt changes about new rules for method implementation requirements
    • KTIJ-22087 Support IDE inspections for upcoming data objects
    • KTIJ-20510 Quick fix to implement and call correct super method in case of inheritance with defaults
    • KTIJ-20170 Provide quickfix for deprecated resolution to private constructor of sealed class
    • KTIJ-22630 FIR IDE: Lazy resolve exception after invocation of Override members action on value class
    • KT-49643 Intentions: "Implement members" fails when base type function declaration uses unresolved generic types
    IDE. JS
    • KTIJ-22167 Make JS IR default in projects created by wizard
    • KTIJ-22332 Wizard: Kotlin/JS projects: cssSupport DSL should be updated
    IDE. KDoc
    • KTIJ-22324 K2 IDE: implement reference resolve inside KDocs
    IDE. Multiplatform
    • KTIJ-19566 New Project Wizard: Update HMPP-related flags in multiplatform wizards
    IDE. Navigation
    • KT-51314 FIR IDE: show Kotlin declarations in search symbol
    • KTIJ-22755 Find usage for constructor from kotlin library doesn't work for secondary constructor usages
    IDE. Script
    • KTIJ-22598 Add warning for standalone scripts in source roots
    • KT-54325 .settings.gradle.kts and .init.gradle.kts are reported as standalone scripts
    IDE. Structural Search
    • KTIJ-21986 KSSR: "CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null" warning shows up when replacing
    IDE. Tests Support
    • KT-50269 FIR IDE: Allow running tests via gutter
    IDE. Wizards
    • KTIJ-23537 Wizard: projects with Android modules require higher sdkCompileVersion
    • KTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
    • KTIJ-22763 New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructor
    • KTIJ-22481 Wizard: Kotlin -> Browser application (gradle groove). Build error
    JavaScript
    Fixes
    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54406 Kotlin/JS: build with dependencies fails with "Could not find "kotlin" in [~/.local/share/kotlin/daemon]"
    • KT-53074 Make JS IR BE default in toolchain (gradle & CLI)
    • KT-50589 UTF-8 Instability in kotlin.js.map
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers
    • KT-54520 KJS / IR Allow IdSignature clashes
    • KT-54120 JS IR + IC: pointless invalidation of dependent code after modifying companions
    • KT-53986 KJS / IR + IC: compiler produces different JS file names with IC and without IC
    • KT-54010 JS IR + IC: Force IC cache invalidation after updating language version or features
    • KT-53931 KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not defined
    • KT-53968 Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependencies
    • KT-54686 KJS / IR: Incorrect generation of signatures when one of argument is nested class
    • KT-54479 KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructure
    • KT-54382 KJS / IR: Wrong type check for inheritors of suspend functions
    • KT-54323 KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuild
    • KT-53361 KJS / IR: No debug info is generated for in-line js code
    • KT-53321 Implement Enum.entries lowering on JS/IR
    • KT-53112 KJS IR turn on IC infra by default
    • KT-50503 Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependency
    • KT-54011 JS IR + IC: EnumEntries don't work well when IC is enabled
    • KT-53672 KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variable
    • KT-43455 KJS: IR. Incremental compilation problem with unbound symbols
    • KT-53539 KJS: Exported class inherited non-exported class shows warning
    • KT-53443 KJS/IR: NullPointerException caused by anonymous objects inside lambdas
    • KT-52795 K/JS and K/Native IR-validation/compilation errors for a valid kotlin code
    • KT-52805 KJS/IR: Invalid call of inline function in also block
    • KT-51151 KJS / IR: Wrong overloaded generic method with receiver is called
    • KT-52830 KJS/IR: Sourcemap disabling doesn't work
    • KT-52968 KJS / IR: Buggy generation of overridden methods
    • KT-53063 KJS / IR + IC: undefined cross module reference for implemented interface functions
    • KT-51099 KJS / IR + IC: Cache invalidation doesn't check generic class variance annotations (in, out)
    • KT-51090 KJS / IR + IC: Cache invalidation doesn't check suspend qualifier
    • KT-51088 KJS / IR + IC: Cache invalidation doesn't check class qualifiers (data, inline)
    • KT-51083 KJS / IR + IC: Cache invalidation doesn't check inline function which was non inline initially
    • KT-51896 KJS / IR + IC: Cache invalidation doesn't trigger rebuild for fake overridden inline functions
    Language Design
    • KT-48385 Deprecate confusing grammar in when-with-subject
    • KT-48516 Forbid @Synchronized annotation on suspend functions
    • KT-41886 Ability to require opt-in for interface implementation, but not for usage
    • KT-34943 OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java code
    • KT-51334 Implement type-bound label this@Type
    Libraries
    New Features
    • KT-21007 Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7)
    • KT-54082 Comparable and subtractible TimeMarks
    • KT-52928 Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.Path
    • KT-49425 Update OptIn documentation to reflect latest design changes
    • KT-54005 Allow calling declaringJavaClass on Enum
    • KT-52933 rangeUntil members in built-in types
    Performance Improvements
    • KT-53508 Cache typeOf-related KType instances when kotlin-reflect is used
    Fixes
    • KT-51907 Switch JVM target of the standard libraries to 1.8
    • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs
    • KT-53277 Stabilize experimental API for 1.8
    • KT-53864 Review deprecations in stdlib for 1.8
    • KT-47707 Remove the system property and the brittle contains optimization code itself
    • KT-52336 Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1)
    • KT-53927 Remove deprecation from ConcurrentModificationException constructors
    • KT-53152 Introduce EnumEntries to stdlib as backing implementation of Enum.entries
    • KT-53134 stdlib > object Charsets > not thread safe lazy initialization
    • KT-51063 Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnit
    • KT-52908 Native: setUnhandledExceptionHook swallows exceptions
    Native
    • KT-51043 Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2
    • KT-50786 Native: prohibit suspend calls inside autoreleasepool {}
    • KT-52834 Implement test infrastructure for K2/Native
    Native. C Export
    • KT-36878 Reverse C Interop: incorrect headers generation for primitive unassigned type arrays
    • KT-53599 [Reverse C Interop] Provide box/unbox API for unsigned primitive types
    • KT-41904 Kotlin/Native : error: duplicate member for interface and function with the same name
    • KT-42830 [Reverse C Interop] Add API to get value of boxed primitives
    • KT-39496 K/N C: optional unsigned types as function parameters crash the compiler
    • KT-39015 Cannot compile native library with nullable inline class
    Native. C and ObjC Import
    • KT-54738 Cocoapods cinterop: linking platform.CoreGraphics package
    • KT-54001 Kotlin/Native: support header exclusion in cinterop def files
    • KT-53151 Native: Custom declarations in .def don't work with modules, only headers
    Native. ObjC Export
    • KT-53680 Obj-C refinement annotations
    • KT-54119 Native: runtime assertion failed due to missing thread state switch
    • KT-42641 Don't export generated component* methods from Kotlin data classes to Obj-C header
    Native. Platform Libraries
    • KT-54225 Native: update to Xcode 14.1
    • KT-54164 Native: commonizer fails on CoreFoundation types
    • KT-39747 Why is there no WinHttp API in Kotlin/Native's Windows API?
    Native. Runtime
    • KT-49228 Kotlin/Native: Allow to unset unhandled exception hook
    • KT-27305 Fix FILE macro inside RuntimeCheck and RuntimeAssert
    Native. Runtime. Memory
    • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful
    • KT-53182 New memory manager: Unexpected memory usage on IOS
    Native. Stdlib
    • KT-52429 Small Usability Improvements for Worker API
    Reflection
    • KT-54629 Incorrectly cached class classifier
    • KT-54611 KTypeImpl does not take into account class loader from the classifier property
    • KT-48136 Make Reflection.getOrCreateKotlinPackage use cache when kotlin-reflect is used
    • KT-50705 Use ClassValue to cache KClass objects in kotlin-reflect
    • KT-53454 Properly cache the same class's KClass when it's loaded by multiple classloaders in getOrCreateKotlinClass
    Specification
    • KT-54210 Update Kotlin specification to mention that since 1.8 generics in value classes are allowed
    Tools. CLI
    • KT-54116 Add JVM target bytecode version 19
    • KT-53278 Support values 6 and 8 for -Xjdk-release
    • KT-46312 CLI: Kotlin runner should use platform class loader to load JDK modules on Java 9+
    Tools. Commonizer
    • KT-54310 Commonizer fails on 1.8.0-dev K/N distributions
    • KT-48576 [Commonizer] platform.posix.pselect not commonized in Ktor
    Tools. Compiler Plugins
    • KT-46959 Kotlin Lombok: Support generated builders (@Builder)
    • KT-53683 Unresolved reference compilation error occurs if a file is annotated with @ Singular and has any guava collection type : ImmutableTable, ImmutableList or else
    • KT-53657 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type NavigableMap without explicit types specification
    • KT-53647 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type Iterable<>
    • KT-53724 Param of the @ Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compiler
    • KT-53451 [K2] References to methods generated by @ With lombok annotation can't be resolved with enabled K2 compiler
    • KT-53721 [K2] There is no compilation error while trying to add null as a param of the field with non-null type
    • KT-53370 Kotlin Lombok compiler plugin can't resolve methods generated for java boolean fields annotated with @ With annotation
    Tools. Compiler plugins. Serialization
    • KT-54878 JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer<Box<*>>()
    • KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type
    • KT-55296 Improve exceptions in serialization plugin
    • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
    • KT-53157 Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serialization
    • KT-54297 Regression in serializable classes with star projections
    • KT-49660 kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed class
    • KT-43910 JS IR: Serialization with base class: "IndexOutOfBoundsException: Index 0 out of bounds for length 0"
    Tools. Daemon
    • KT-52622 Kotlin/JS, Kotlin/Common compilations start Kotlin daemon incompatible with Kotlin/JVM compilation on JDK 8
    Tools. Gradle
    New Features
    • KT-27301 Expose compiler flags via Gradle lazy properties
    • KT-53357 Change single build metrics property
    • KT-50673 Gradle: KotlinCompile task(s) should use @NormalizeLineEndings
    • KT-34464 Kotlin build report path not clickable in the IDE
    Performance Improvements
    • KT-51525 [Gradle] Optimize evaluating args for compile tasks
    • KT-52520 Remove usage of reflection from CompilerArgumentsGradleInput
    Fixes
    • KT-48843 Add ability to disable Kotlin daemon fallback strategy
    • KT-55334 kaptGenerateStubs passes wrong android variant module names to compiler
    • KT-55255 Gradle: stdlib version alignment fails build on dynamic stdlib version.
    • KT-55363 [K1.8.0-Beta] Command line parsing treats plugin parameters as source files
    • KT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
    • KT-54136 Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android project
    • KT-50115 Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly
    • KT-55222 Migrate AndroidDependencyResolver to the new Gradle API
    • KT-55119 There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sources
    • KT-55102 Compile java task fails with different target version in pure kotlin project
    • KT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
    • KT-35003 Automatically set targetCompatibility for kotlin-jvm projects to work with gradle 6 metadata
    • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
    • KT-48798 Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to change
    • KT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation
    • KT-55004 jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {}
    • KT-54888 Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase
    • KT-54399 Undeprecate 'kotlinOptions' DSL
    • KT-54306 Change the naming of newly added Compiler*Options classes and interfaces
    • KT-54580 KotlinOptions in AbstractKotlinCompilation class are deprecated
    • KT-54653 java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is added
    • KT-52624 Compatibility with Gradle 7.3 release
    • KT-54703 Stdlib substitution does not work with JPMS modules
    • KT-54602 Prevent leaking Gradle Compile DSL types into compiler cli runtime
    • KT-54439 Project failed to sync Native LaguageSettings to compiler options in afterEvaluate
    • KT-53885 Bump minimal supported Gradle version to 6.8.3
    • KT-53773 Protect and system properties can contain sensitive data
    • KT-53732 Add custom values limits for build scan reports
    • KT-52623 Compatibility with Gradle 7.2. release
    • KT-51831 Gradle: remove kotlin.compiler.execution.strategy system property
    • KT-51679 Change deprecation level to error for KotlinCompile setClasspath/getClasspath methods
    • KT-54335 Kotlin build report configuration. There is no validation for SINGLE_FILE output if the required kotlin.build.report.single_file property is empty or absent
    • KT-54356 Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.file
    • KT-53617 KotlinCompilerExecutionStrategy value is ignored by depending modules if configure once for all project modules using allProjects {}
    • KT-53823 Kotlin Gradle Plugin uses deprecated Gradle API: Provider.forUseAtConfigurationTime()
    • KT-54142 Increase Kotlin Gradle plugin Gradle target API to 7.5
    • KT-50161 Android variant filter breaks KotlinCompile cache compatibility
    • KT-54113 LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong context
    • KT-53830 Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlib
    • KT-54112 Missing target input on KotlinNativeLink task
    • KT-45879 Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)"
    • KT-54103 Remove JvmTarget.JVM_1_6 from generated Gradle compiler type
    • KT-52959 KMP code is breaking Gradle project isolation
    • KT-50598 MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first build
    • KT-53246 Gradle: Special characters in paths of errors and warnings should be escaped
    • KT-47730 How to avoid stdlib coming from Kotlin gradle plugin
    • KT-52209 Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemon
    • KT-41642 "TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlib
    • KT-53390 Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilation
    • KT-52984 Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection early
    • KT-38622 Non-incremental compilation because of R.jar with Android Gradle plugin 3.6
    • KT-38576 AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath
    Tools. Gradle. Cocoapods
    • KT-54314 Cocoapods: Signing pod dependency for Xcode 14
    • KT-54060 Xcode 14: disable bitcode embedding for Apple frameworks
    • KT-53340 Change default linking type for frameworks registered by cocoapods plugin
    • KT-53392 Deprecate and delete downloading pod dependencies by direct link
    • KT-53695 Build of macOS application fails if a framework is integrated via Cocoapods plugin
    Tools. Gradle. JS
    • KT-53367 KJS: Migrate cssSupport API
    • KT-45789 KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask output
    • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly
    • KT-52951 [KGP/JS] Browser test target registration via properties
    • KT-52950 KJS: Report if yarn.lock was updated during built
    • KT-53374 KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache support
    • KT-53381 Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always fails
    • KT-53788 KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabled
    • KT-53614 Kotlin/JS upgrade npm dependencies
    Tools. Gradle. Multiplatform
    New Features
    • KT-53396 Support 'implementation platform()' by gradle kotlin mpp plugin for JVM target
    • KT-40489 MPP / Gradle: support BOM (enforcedPlatform) artifacts in source set dependencies DSL
    Performance Improvements
    • KT-52726 [MPP] Optimize caching/performance/call-sites of 'compilationsBySourceSets'
    Fixes
    • KT-54634 MPP: Test Failure causes: KotlinJvmTest$Executor$execute$1 does not define failure
    • KT-35916 Gradle MPP plugin: Configurations for a main compilation and its default source set have different naming
    • KT-46960 Repeated kotlin/native external libraries in project
    • KT-27292 MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class files
    • KT-34650 Naming clash in MPP+Android: androidTest vs androidAndroidTest
    • KT-54387 Remove MPP alpha stability warning
    • KT-31468 Targets disambiguation doesn't work if a depending multiplatform module uses withJava() mode
    • KT-54090 Take an Apple test device from the device list
    • KT-54301 KotlinToolingVersionOrNull: IllegalArgumentException
    • KT-53256 Implement K/N compiler downloading for KPM
    • KT-45412 KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source set
    • KT-49202 Tests on android target can't be executed in multiplatform project if dependency to kotlin-test framework is provided as a single dependency and tests configured to be executed via Junit5
    Tools. Gradle. Native
    New Features
    • KT-43293 Support Gradle configuration caching with Kotlin/Native
    • KT-53107 Add arm64 support for watchOS targets (Xcode 14)
    Fixes
    • KT-53704 Native cinterop: eager header path calculation
    • KT-54814 Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5
    • KT-54627 Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17
    • KT-54339 Link tasks fail if Gradle Configuration Cache is enabled
    • KT-53191 Native cinterop sync problem with gradle
    • KT-54583 watchosDeviceArm64 target shouldn't register test tasks
    • KT-52303 Gradle / Native: Build tasks ignore project.buildDir
    • KT-54442 Gradle iOS test tasks fail if a device is not selected explicitly
    • KT-54177 Gradle: Deprecate enableEndorsedLibs flag
    • KT-47355 Support macos target for FatFramework task
    • KT-53339 MPP / CocoaPods: The static framework fails to install on a real iOS device
    • KT-31573 Missing description for Native Gradle tasks
    • KT-53131 Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPods
    • KT-53686 Task assembleReleaseXCFramework fails with "error: the path does not point to a valid framework" if project name contains a dash
    Tools. Incremental Compile
    • KT-54144 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline function with custom JvmName
    • KT-53871 New IC: "IllegalStateException: The following LookupSymbols ar

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • .kts build files get red warnings when embedded jdk

    .kts build files get red warnings when embedded jdk

    I am struggling to find out what JDK is the right one in order to have a successful build and .kts files without errors.

    Initially, the build failed so I did what was suggested here, I selected the embedded JDK option (see image below).

    Screenshot 2022-11-30 at 11 36 03 AM

    Now the build succeeds but all the gradle .kts files are with red warnings (see image below).

    Screenshot 2022-11-30 at 11 36 37 AM
    opened by gs-ts 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    github-actions
    .github/workflows/baseline-profile.yml
    • actions/checkout v3
    • actions/setup-java v3
    • gradle/gradle-build-action v2
    • reactivecircus/android-emulator-runner v2
    • actions/upload-artifact v3
    .github/workflows/build.yml
    • actions/checkout v3
    • actions/setup-java v3
    • gradle/gradle-build-action v2
    • softprops/action-gh-release v1
    • r0adkll/upload-google-play v1.0.18
    • r0adkll/upload-google-play v1.0.18
    • mikepenz/release-changelog-builder-action v3
    • r0adkll/upload-google-play v1.0.18
    • actions/upload-artifact v3
    • actions/upload-artifact v3
    • actions/upload-artifact v3
    gradle
    gradle.properties
    settings.gradle.kts
    • com.gradle.enterprise 3.12.2
    build.gradle.kts
    api/tmdb/build.gradle.kts
    api/trakt/build.gradle.kts
    api/trakt-auth/build.gradle.kts
    app/build.gradle.kts
    base/build.gradle.kts
    benchmark/build.gradle.kts
    common/imageloading/build.gradle.kts
    common/ui/compose/build.gradle.kts
    common/ui/resources/build.gradle.kts
    common/ui/view/build.gradle.kts
    core/analytics/build.gradle.kts
    core/logging/build.gradle.kts
    data/build.gradle.kts
    data-android/build.gradle.kts
    domain/build.gradle.kts
    gradle/dependencyGraph.gradle
    gradle/libs.versions.toml
    • com.google.accompanist:accompanist-flowlayout 0.28.0
    • com.google.accompanist:accompanist-navigation-animation 0.28.0
    • com.google.accompanist:accompanist-navigation-material 0.28.0
    • com.google.accompanist:accompanist-pager 0.28.0
    • com.google.accompanist:accompanist-pager-indicators 0.28.0
    • dev.chrisbanes.snapper:snapper 0.3.0
    • androidx.activity:activity-compose 1.6.1
    • androidx.arch.core:core-testing 2.1.0
    • androidx.browser:browser 1.4.0
    • androidx.collection:collection-ktx 1.2.0
    • androidx.core:core-ktx 1.9.0
    • androidx.emoji:emoji 1.1.0
    • androidx.lifecycle:lifecycle-runtime-ktx 2.6.0-alpha03
    • androidx.lifecycle:lifecycle-runtime-compose 2.6.0-alpha03
    • androidx.lifecycle:lifecycle-viewmodel-compose 2.6.0-alpha03
    • androidx.lifecycle:lifecycle-viewmodel-ktx 2.6.0-alpha03
    • androidx.navigation:navigation-compose 2.5.3
    • androidx.paging:paging-common-ktx 3.1.1
    • androidx.paging:paging-runtime-ktx 3.1.1
    • androidx.paging:paging-compose 1.0.0-alpha17
    • androidx.palette:palette 1.0.0
    • androidx.profileinstaller:profileinstaller 1.2.1
    • androidx.room:room-common 2.4.3
    • androidx.room:room-compiler 2.4.3
    • androidx.room:room-ktx 2.4.3
    • androidx.room:room-paging 2.4.3
    • androidx.room:room-runtime 2.4.3
    • androidx.room:room-testing 2.4.3
    • androidx.test:core-ktx 1.5.0
    • androidx.test.ext:junit-ktx 1.1.5
    • androidx.test:rules 1.5.0
    • androidx.test:runner 1.5.2
    • androidx.benchmark:benchmark-macro-junit4 1.1.1
    • androidx.test.uiautomator:uiautomator 2.2.0
    • androidx.work:work-runtime-ktx 2.7.1
    • net.openid:appauth 0.8.1
    • com.github.chuckerteam.chucker:library 3.5.2
    • io.coil-kt:coil 2.2.2
    • io.coil-kt:coil-compose 2.2.2
    • io.coil-kt:coil-gif 2.2.2
    • androidx.compose:compose-bom 2022.12.00
    • com.google.dagger:dagger-compiler 2.44.2
    • com.google.dagger:dagger 2.44.2
    • com.google.firebase:firebase-analytics-ktx 21.2.0
    • com.google.firebase:firebase-crashlytics-ktx 18.3.2
    • au.com.gridstone.debugdrawer:debugdrawer 0.9.8
    • au.com.gridstone.debugdrawer:debugdrawer-retrofit 0.9.8
    • au.com.gridstone.debugdrawer:debugdrawer-timber 0.9.8
    • au.com.gridstone.debugdrawer:debugdrawer-okhttp-logger 0.9.8
    • com.google.dagger:hilt-android-compiler 2.44.2
    • com.google.dagger:hilt-android 2.44.2
    • androidx.hilt:hilt-navigation-compose 1.0.0
    • androidx.hilt:hilt-work 1.0.0
    • com.google.dagger:hilt-android-testing 2.44.2
    • junit:junit 4.13.2
    • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.6.4
    • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4
    • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4
    • org.jetbrains.kotlinx:kotlinx-coroutines-play-services 1.6.4
    • org.jetbrains.kotlin:kotlin-android-extensions 1.7.21
    • com.squareup.leakcanary:leakcanary-android 2.10
    • io.mockk:mockk 1.13.3
    • com.squareup.okhttp3:logging-interceptor 4.10.0
    • com.squareup.okhttp3:okhttp 4.10.0
    • com.google.android.gms:play-services-auth-blockstore 16.1.0
    • com.squareup.retrofit2:converter-gson 2.9.0
    • com.squareup.retrofit2:retrofit 2.9.0
    • com.squareup.retrofit2:retrofit-mock 2.9.0
    • org.robolectric:robolectric 4.9.2
    • com.dropbox.mobile.store:store4 4.0.5
    • com.jakewharton.threetenabp:threetenabp 1.4.4
    • com.jakewharton.timber:timber 5.0.1
    • com.uwetrottmann.tmdb2:tmdb-java 2.8.1
    • com.uwetrottmann.trakt5:trakt-java 6.11.2
    • com.google.truth:truth 1.1.3
    • com.android.application 7.3.1
    • com.android.library 7.3.1
    • com.android.lint 7.3.1
    • com.android.test 7.3.1
    • org.jetbrains.kotlin.android 1.7.21
    • org.jetbrains.kotlin.kapt 1.7.21
    • com.google.devtools.ksp 1.7.21-1.0.8
    • com.google.dagger.hilt.android 2.44.2
    • com.google.gms.google-services 4.3.14
    • com.google.firebase.crashlytics 2.9.2
    • com.diffplug.spotless 6.12.1
    tasks/build.gradle.kts
    ui/account/build.gradle.kts
    ui/discover/build.gradle.kts
    ui/episodedetails/build.gradle.kts
    ui/library/build.gradle.kts
    ui/popular/build.gradle.kts
    ui/recommended/build.gradle.kts
    ui/search/build.gradle.kts
    ui/settings/build.gradle.kts
    ui/showdetails/build.gradle.kts
    ui/showseasons/build.gradle.kts
    ui/trending/build.gradle.kts
    gradle-wrapper
    gradle/wrapper/gradle-wrapper.properties
    • gradle 7.6

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
  • Crash: Already attached to lifecycleOwner

    Crash: Already attached to lifecycleOwner

    Double click "Following"/"Watched"/"Search" tabs:

        Process: app.tivi.debug, PID: 18884
        java.lang.IllegalStateException: Already attached to lifecycleOwner
            at androidx.lifecycle.SavedStateHandleController.attachToLifecycle(SavedStateHandleController.java:38)
            at androidx.lifecycle.SavedStateHandleAttacher.onRecreated(SavedStateHandleSupport.kt:139)
            at androidx.savedstate.Recreator.reflectiveNew(Recreator.java:90)
            at androidx.savedstate.Recreator.onStateChanged(Recreator.java:62)
            at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
            at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:271)
            at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:313)
            at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)
            at androidx.lifecycle.LifecycleRegistry.setCurrentState(LifecycleRegistry.java:121)
            at androidx.navigation.NavBackStackEntry.updateState(NavBackStackEntry.kt:188)
            at androidx.navigation.NavBackStackEntry.setMaxLifecycle(NavBackStackEntry.kt:154)
            at androidx.navigation.NavController.updateBackStackLifecycle$navigation_runtime_release(NavController.kt:987)
            at androidx.navigation.NavController.dispatchOnDestinationChanged(NavController.kt:892)
            at androidx.navigation.NavController.navigate(NavController.kt:1726)
            at androidx.navigation.NavController.navigate(NavController.kt:1658)
            at androidx.navigation.NavController.navigate(NavController.kt:1980)
            at androidx.navigation.NavController.navigate$default(NavController.kt:1975)
            at androidx.navigation.NavController.navigate(NavController.kt:1961)
            at app.tivi.home.HomeKt$Home$2$1.invoke(Home.kt:118)
            at app.tivi.home.HomeKt$Home$2$1.invoke(Home.kt:115)
            at app.tivi.home.HomeKt$HomeBottomNavigation$1$1$1$1.invoke(Home.kt:232)
            at app.tivi.home.HomeKt$HomeBottomNavigation$1$1$1$1.invoke(Home.kt:232)
            at androidx.compose.foundation.ClickableKt$clickable$4$gesture$1$2.invoke-k-4lQ0M(Clickable.kt:153)
            at androidx.compose.foundation.ClickableKt$clickable$4$gesture$1$2.invoke(Clickable.kt:142)
            at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1$1.invokeSuspend(TapGestureDetector.kt:223)
            at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
            at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:178)
            at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166)
            at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
            at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
            at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
            at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
            at androidx.compose.ui.input.pointer.SuspendingPointerInputFilter$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:509)
            at androidx.compose.ui.input.pointer.SuspendingPointerInputFilter.dispatchPointerEvent(SuspendingPointerInputFilter.kt:404)
            at androidx.compose.ui.input.pointer.SuspendingPointerInputFilter.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:417)
            at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:310)
            at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:297)
            at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:297)
            at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:297)
            at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:179)
            at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:98)
            at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:80)
            at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1223)
    2022-03-30 16:26:20.898 18884-18884/app.tivi.debug E/AndroidRuntime:     at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1173)
            at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(AndroidComposeView.android.kt:1113)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
            at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:502)
            at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1890)
            at android.app.Activity.dispatchTouchEvent(Activity.java:4196)
            at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:460)
            at android.view.View.dispatchPointerEvent(View.java:14799)
            at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6344)
            at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6145)
            at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
            at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5680)
            at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5646)
            at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5811)
            at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5654)
            at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5868)
            at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5627)
            at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5680)
            at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5646)
            at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5654)
            at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5627)
            at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8558)
            at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8509)
            at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8478)
            at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8681)
            at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:259)
            at android.os.MessageQueue.nativePollOnce(Native Method)
            at android.os.MessageQueue.next(MessageQueue.java:335)
            at android.os.Looper.loopOnce(Looper.java:161)
            at android.os.Looper.loop(Looper.java:288)
            at android.app.ActivityThread.main(ActivityThread.java:7842)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)```
    opened by Henmeva 1
Releases(v0.7.0)
  • v0.7.0(Dec 1, 2022)

    What's Changed

    • Dependency updates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/898
    • Bump com.gradle.enterprise from 3.8 to 3.8.1 by @dependabot in https://github.com/chrisbanes/tivi/pull/893
    • rememberStateWithLifecycle utility by @yschimke in https://github.com/chrisbanes/tivi/pull/900
    • Bump com.gradle.enterprise from 3.8.1 to 3.9 by @dependabot in https://github.com/chrisbanes/tivi/pull/901
    • Dependency updates 18/03/22 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/904
    • hide show status if show is not in production by @phillipsk in https://github.com/chrisbanes/tivi/pull/907
    • Migrate to the new downloadable fonts support by @chrisbanes in https://github.com/chrisbanes/tivi/pull/911
    • Bump com.gradle.enterprise from 3.9 to 3.10.1 by @dependabot in https://github.com/chrisbanes/tivi/pull/914
    • Enable Hilt's Aggregating task by @chrisbanes in https://github.com/chrisbanes/tivi/pull/916
    • Update dependencies by @chrisbanes in https://github.com/chrisbanes/tivi/pull/915
    • Fix menu popup location on Season items by @chrisbanes in https://github.com/chrisbanes/tivi/pull/918
    • Migrate to LazyVerticalGrid by @chrisbanes in https://github.com/chrisbanes/tivi/pull/917
    • Fix AccountUi lag by @janbina in https://github.com/chrisbanes/tivi/pull/919
    • Bump com.gradle.enterprise from 3.10.1 to 3.10.2 by @dependabot in https://github.com/chrisbanes/tivi/pull/921
    • Update dependencies + compile sdk by @chrisbanes in https://github.com/chrisbanes/tivi/pull/925
    • Add baseline profile by @chrisbanes in https://github.com/chrisbanes/tivi/pull/926
    • Move episode details to be a bottom sheet by @chrisbanes in https://github.com/chrisbanes/tivi/pull/928
    • Dependency updates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/933
    • Disable transitive R file generation by @chrisbanes in https://github.com/chrisbanes/tivi/pull/935
    • Remove unused code from base-android by @chrisbanes in https://github.com/chrisbanes/tivi/pull/934
    • Bump com.gradle.enterprise from 3.10.2 to 3.11 by @dependabot in https://github.com/chrisbanes/tivi/pull/936
    • Bump com.gradle.enterprise from 3.11 to 3.11.1 by @dependabot in https://github.com/chrisbanes/tivi/pull/937
    • Optimize CI a bit by @Goooler in https://github.com/chrisbanes/tivi/pull/938
    • Modernize a bit by @Goooler in https://github.com/chrisbanes/tivi/pull/939
    • More tweaks by @Goooler in https://github.com/chrisbanes/tivi/pull/940
    • Enable Compose Compiler metrics by @chrisbanes in https://github.com/chrisbanes/tivi/pull/910
    • Upgrade to Snapper 0.3.0 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/944
    • Upgrade tmdb-java and trakt-java by @chrisbanes in https://github.com/chrisbanes/tivi/pull/945
    • Remove some unnecessary Store classes by @chrisbanes in https://github.com/chrisbanes/tivi/pull/942
    • Move module folders into subfolders by @Goooler in https://github.com/chrisbanes/tivi/pull/946
    • Spotless 6.11.0 & Ktlint 0.47.1 by @Goooler in https://github.com/chrisbanes/tivi/pull/947
    • Migrate to collectAsStateWithLifecycle() by @chrisbanes in https://github.com/chrisbanes/tivi/pull/948
    • Bump AGP to 7.3.0 final by @Goooler in https://github.com/chrisbanes/tivi/pull/949
    • Add unsafeLazy to simplify thread unsafe lazy initializations by @Goooler in https://github.com/chrisbanes/tivi/pull/950
    • Convert Gradle build scripts to kts by @Goooler in https://github.com/chrisbanes/tivi/pull/952
    • Replace room's kapt with ksp by @Goooler in https://github.com/chrisbanes/tivi/pull/953
    • Migrate to sergei-lapin/napt by @chrisbanes in https://github.com/chrisbanes/tivi/pull/951
    • Bump Napt to 1.17 by @Goooler in https://github.com/chrisbanes/tivi/pull/955
    • Speed up builds a bit by @Goooler in https://github.com/chrisbanes/tivi/pull/956
    • Tweak more flags by @Goooler in https://github.com/chrisbanes/tivi/pull/957
    • Robolectric 4.9 & Dagger 2.44 by @Goooler in https://github.com/chrisbanes/tivi/pull/958
    • Upgrade to Compose 1.3.0-rc01 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/959
    • Standardized the BackdropImage component by @chrisbanes in https://github.com/chrisbanes/tivi/pull/960
    • Minor flags tweak by @Goooler in https://github.com/chrisbanes/tivi/pull/961
    • Configure Renovate by @renovate in https://github.com/chrisbanes/tivi/pull/963
    • Bump com.gradle.enterprise from 3.11.1 to 3.11.2 by @dependabot in https://github.com/chrisbanes/tivi/pull/962
    • Remove snapshot repos by default by @chrisbanes in https://github.com/chrisbanes/tivi/pull/964
    • Update dependency com.jakewharton.threetenabp:threetenabp to v1.4.1 by @renovate in https://github.com/chrisbanes/tivi/pull/965
    • Update r0adkll/upload-google-play action to v1.0.18 by @renovate in https://github.com/chrisbanes/tivi/pull/966
    • Update com.google.firebase by @renovate in https://github.com/chrisbanes/tivi/pull/968
    • Update mikepenz/release-changelog-builder-action action to v3 by @renovate in https://github.com/chrisbanes/tivi/pull/970
    • Update dependency com.jakewharton.threetenabp:threetenabp to v1.4.2 by @renovate in https://github.com/chrisbanes/tivi/pull/972
    • Update agp to v7.3.1 by @renovate in https://github.com/chrisbanes/tivi/pull/971
    • Remove dependencyUpdates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/973
    • Update plugin ksp to v1.7.20-1.0.7 by @renovate in https://github.com/chrisbanes/tivi/pull/974
    • Update dependency com.google.firebase:firebase-crashlytics-ktx to v18.3.1 by @renovate in https://github.com/chrisbanes/tivi/pull/976
    • Update r0adkll/upload-google-play action to v1.0.19 by @renovate in https://github.com/chrisbanes/tivi/pull/977
    • Update compose to v1.3.0 by @renovate in https://github.com/chrisbanes/tivi/pull/979
    • Update androidxlifecycle to v2.6.0-alpha03 by @renovate in https://github.com/chrisbanes/tivi/pull/978
    • Update dependency androidx.activity:activity-compose to v1.6.1 by @renovate in https://github.com/chrisbanes/tivi/pull/980
    • Update dependency androidx.navigation:navigation-compose to v2.5.3 by @renovate in https://github.com/chrisbanes/tivi/pull/981
    • Update dependency androidx.paging:paging-compose to v1.0.0-alpha17 by @renovate in https://github.com/chrisbanes/tivi/pull/982
    • Update accompanist to v0.27.0 by @renovate in https://github.com/chrisbanes/tivi/pull/983
    • Use new Compose BOM: 2022.10.00 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/984
    • Re-enable all ktlint rules by @chrisbanes in https://github.com/chrisbanes/tivi/pull/985
    • Update plugin com.gradle.enterprise to v3.11.3 by @renovate in https://github.com/chrisbanes/tivi/pull/987
    • Simplify ViewModel state subscriptions by @chrisbanes in https://github.com/chrisbanes/tivi/pull/988
    • Update dependency com.jakewharton.threetenabp:threetenabp to v1.4.3 by @renovate in https://github.com/chrisbanes/tivi/pull/989
    • Update plugin ksp to v1.7.20-1.0.8 by @renovate in https://github.com/chrisbanes/tivi/pull/990
    • Update plugin com.gradle.enterprise to v3.11.4 by @renovate in https://github.com/chrisbanes/tivi/pull/991
    • Update androidxtest to v1.5.0 by @renovate in https://github.com/chrisbanes/tivi/pull/994
    • Update dependency androidx.test.ext:junit-ktx to v1.1.4 by @renovate in https://github.com/chrisbanes/tivi/pull/993
    • Update dependency androidx.compose:compose-bom to v2022.11.00 by @renovate in https://github.com/chrisbanes/tivi/pull/997
    • Update dependency androidx.benchmark:benchmark-macro-junit4 to v1.1.1 by @renovate in https://github.com/chrisbanes/tivi/pull/995
    • Update dependency com.squareup.leakcanary:leakcanary-android to v2.10 by @renovate in https://github.com/chrisbanes/tivi/pull/999
    • Update dagger to v2.44.1 by @renovate in https://github.com/chrisbanes/tivi/pull/1000
    • Update dependency com.google.firebase:firebase-crashlytics-ktx to v18.3.2 by @renovate in https://github.com/chrisbanes/tivi/pull/1001
    • Enable gradle-home-cache-cleanup on gradle-build-action by @Goooler in https://github.com/chrisbanes/tivi/pull/1002
    • Update dagger to v2.44.2 by @renovate in https://github.com/chrisbanes/tivi/pull/1004
    • Update Kotlin, KSP and Compose Compiler by @renovate in https://github.com/chrisbanes/tivi/pull/1006
    • Update accompanist to v0.27.1 by @renovate in https://github.com/chrisbanes/tivi/pull/1007
    • Migrate SwipeRefresh to PullRefresh by @Goooler in https://github.com/chrisbanes/tivi/pull/1010
    • Update dependency gradle to v7.6 by @renovate in https://github.com/chrisbanes/tivi/pull/1009
    • Update plugin spotless to v6.12.0 by @renovate in https://github.com/chrisbanes/tivi/pull/1008
    • Apply Ktlint trailing comma rules by @Goooler in https://github.com/chrisbanes/tivi/pull/1012
    • Run Spotless on kts files & Fix extra lines in license header by @Goooler in https://github.com/chrisbanes/tivi/pull/1013
    • Enable stable config cache by @Goooler in https://github.com/chrisbanes/tivi/pull/1011
    • Update dependency androidx.test:runner to v1.5.1 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/1015
    • Update accompanist to v0.28.0 by @renovate in https://github.com/chrisbanes/tivi/pull/1017
    • Update dependency io.mockk:mockk to v1.13.3 by @renovate in https://github.com/chrisbanes/tivi/pull/1018
    • Automate baseline profile generation by @chrisbanes in https://github.com/chrisbanes/tivi/pull/1016
    • Stop generating the baseline profile on commit by @chrisbanes in https://github.com/chrisbanes/tivi/pull/1019

    New Contributors

    • @phillipsk made their first contribution in https://github.com/chrisbanes/tivi/pull/907
    • @janbina made their first contribution in https://github.com/chrisbanes/tivi/pull/919
    • @Goooler made their first contribution in https://github.com/chrisbanes/tivi/pull/938
    • @renovate made their first contribution in https://github.com/chrisbanes/tivi/pull/963

    Full Changelog: https://github.com/chrisbanes/tivi/compare/v0.6.4...v0.7.0

    Source code(tar.gz)
    Source code(zip)
    app-standard-release.apk(2.55 MB)
  • v0.6.4(Feb 13, 2022)

    What's Changed

    • Stop wrapping child cancellation exceptions from search by @chrisbanes in https://github.com/chrisbanes/tivi/pull/887
    • Clear out the trakt auth state on HTTP 401 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/888
    • Implement the remaining pieces from the new UI layer guidance by @chrisbanes in https://github.com/chrisbanes/tivi/pull/889
    • Add 'debug drawer' to Tivi by @chrisbanes in https://github.com/chrisbanes/tivi/pull/890
    • UIs now only receive a single UiMessage to display by @chrisbanes in https://github.com/chrisbanes/tivi/pull/891
    • Add debug labels to Analytics events by @chrisbanes in https://github.com/chrisbanes/tivi/pull/892

    Full Changelog: https://github.com/chrisbanes/tivi/compare/v0.6.3...v0.6.4

    Source code(tar.gz)
    Source code(zip)
    app-standard-release.apk(3.20 MB)
  • v0.6.3(Dec 26, 2021)

    What's Changed

    • Migrate network calls away from Result wrapper class by @chrisbanes in https://github.com/chrisbanes/tivi/pull/878
    • Remove unnecessary Gradle setup by @chrisbanes in https://github.com/chrisbanes/tivi/pull/881
    • Fix Episode Details content being under nav bar by @chrisbanes in https://github.com/chrisbanes/tivi/pull/882
    • Fix crash when viewing shows not on Trakt by @chrisbanes in https://github.com/chrisbanes/tivi/pull/883
    • Fix crash due to AGP removing vector resources by @chrisbanes in https://github.com/chrisbanes/tivi/pull/884

    Full Changelog: https://github.com/chrisbanes/tivi/compare/v0.6.2...v0.6.3

    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(Dec 26, 2021)

    What’s Changed

    • Re-add screen view analytics events (#877) @chrisbanes
    • Fix a number of crashes and bugs (#876) @chrisbanes
    • Bump com.gradle.enterprise from 3.7.2 to 3.8 (#875) @dependabot
    • Revert back to AGP 7.0.4 (#874) @chrisbanes
    • Update dependencies (#873) @chrisbanes
    • Fix exception handling in network requests (#871) @chrisbanes

    Full Changelog: https://github.com/chrisbanes/tivi/compare/v0.6.1...v0.6.2

    Source code(tar.gz)
    Source code(zip)
  • v0.6.1(Dec 22, 2021)

    What's Changed

    • Fix fragment crashing when rotating the device by @chrisbanes in https://github.com/chrisbanes/tivi/pull/706
    • Update to Compose SNAPSHOT 6886729 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/707
    • Migrate GitHub action to new env setup by @chrisbanes in https://github.com/chrisbanes/tivi/pull/709
    • Update to Compose 1.0.0-alpha05 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/710
    • Migrate search to Compose by @chrisbanes in https://github.com/chrisbanes/tivi/pull/711
    • Add workaround for search items clipping by @chrisbanes in https://github.com/chrisbanes/tivi/pull/712
    • Remove a load of old code 🗑️ by @chrisbanes in https://github.com/chrisbanes/tivi/pull/713
    • Use Gradle Play Publisher SNAPSHOT by @chrisbanes in https://github.com/chrisbanes/tivi/pull/714
    • Use Compose SNAPSHOT 6914774 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/715
    • Add implementation of absolute elevation by @chrisbanes in https://github.com/chrisbanes/tivi/pull/716
    • Migrate Show Details to LazyColumn DSL by @chrisbanes in https://github.com/chrisbanes/tivi/pull/708
    • Update to Compose SNAPSHOT 6922857 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/717
    • Re-enable hardware bitmaps by @chrisbanes in https://github.com/chrisbanes/tivi/pull/718
    • Move to SharedFlow in SubjectInteractor by @chrisbanes in https://github.com/chrisbanes/tivi/pull/722
    • Fix logged in user info refreshing by @chrisbanes in https://github.com/chrisbanes/tivi/pull/723
    • Migration of 'Followed' to Compose by @chrisbanes in https://github.com/chrisbanes/tivi/pull/720
    • Delete local.properties by @prudhvir3ddy in https://github.com/chrisbanes/tivi/pull/725
    • [Watched] Migrating watched shows to Compose by @chrisbanes in https://github.com/chrisbanes/tivi/pull/724
    • Use JDK 11 on GitHub Actions by @chrisbanes in https://github.com/chrisbanes/tivi/pull/727
    • Remove the old entry grid code by @chrisbanes in https://github.com/chrisbanes/tivi/pull/726
    • Update to Compose SNAPSHOT 6961312 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/730
    • Update to Compose 1.0.0-alpha07 final by @chrisbanes in https://github.com/chrisbanes/tivi/pull/731
    • Revert CI back to JDK 8 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/733
    • [Trending] Convert trending shows grid to Compose by @chrisbanes in https://github.com/chrisbanes/tivi/pull/729
    • Migrate remaining screens to Compose by @chrisbanes in https://github.com/chrisbanes/tivi/pull/719
    • Move staleness logic within our Stores by @chrisbanes in https://github.com/chrisbanes/tivi/pull/736
    • Update to Compose SNAPSHOT 7001724 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/739
    • Remove AppCompat + MDC by @chrisbanes in https://github.com/chrisbanes/tivi/pull/737
    • Some small performance improvements and bug fixes by @chrisbanes in https://github.com/chrisbanes/tivi/pull/741
    • Migrate away from Channel to SharedFlow by @chrisbanes in https://github.com/chrisbanes/tivi/pull/740
    • Update to AGP 7.0.0-alpha02 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/743
    • Dependency updates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/745
    • Fix TraktAuthModule compile error by @alishari in https://github.com/chrisbanes/tivi/pull/748
    • Update dependencies by @chrisbanes in https://github.com/chrisbanes/tivi/pull/749
    • Add custom versioning policy for dependencyUpdates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/750
    • Update to Compose 1.0.0-alpha11 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/752
    • Update dependencies by @chrisbanes in https://github.com/chrisbanes/tivi/pull/754
    • Update to Dagger/Hilt 2.31.2 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/753
    • Move away from storing dependencies in buildSrc by @chrisbanes in https://github.com/chrisbanes/tivi/pull/756
    • Update to new transition APIs in Compose 1.0.0-alpha11 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/755
    • Bump com.diffplug.spotless from 5.9.0 to 5.10.0 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/758
    • Bump com.diffplug.spotless from 5.10.0 to 5.10.1 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/759
    • Update to Compose SNAPSHOT 7141639 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/760
    • Bump com.diffplug.spotless from 5.10.1 to 5.10.2 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/763
    • Update updateOverlaidStatusBarAppBarTransition by @chrisbanes in https://github.com/chrisbanes/tivi/pull/766
    • Update to Compose SNAPSHOT 7154166 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/765
    • Bump com.diffplug.spotless from 5.10.2 to 5.11.0 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/768
    • Bump com.github.ben-manes.versions from 0.36.0 to 0.38.0 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/767
    • Update to Compose 1.0.0-beta02 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/769
    • Migrate to Google Accompanist by @chrisbanes in https://github.com/chrisbanes/tivi/pull/770
    • Use official appauth 0.8.1 release by @agologan in https://github.com/chrisbanes/tivi/pull/771
    • Migration to Navigation Compose by @chrisbanes in https://github.com/chrisbanes/tivi/pull/761
    • Bump com.diffplug.spotless from 5.11.0 to 5.11.1 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/776
    • Use explicit navigation argument types by @chrisbanes in https://github.com/chrisbanes/tivi/pull/778
    • Migrate over to Accompanist FlowRow by @chrisbanes in https://github.com/chrisbanes/tivi/pull/777
    • Update to Compose 1.0.0-beta04 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/779
    • Bump com.diffplug.spotless from 5.11.1 to 5.12.0 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/781
    • Bump com.diffplug.spotless from 5.12.0 to 5.12.1 by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/782
    • Migrate to Gradle 7.0's Version catalogs by @chrisbanes in https://github.com/chrisbanes/tivi/pull/784
    • Migrate to Accompanist rememberCoilPainter() by @chrisbanes in https://github.com/chrisbanes/tivi/pull/785
    • Add swipe-refresh to most screens by @chrisbanes in https://github.com/chrisbanes/tivi/pull/786
    • Upgrade to GitHub-native Dependabot by @dependabot-preview in https://github.com/chrisbanes/tivi/pull/791
    • Bump com.diffplug.spotless from 5.12.1 to 5.12.4 by @dependabot in https://github.com/chrisbanes/tivi/pull/792
    • Dependency updates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/795
    • Dependency updates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/796
    • Try out Room auto-migrations by @chrisbanes in https://github.com/chrisbanes/tivi/pull/797
    • Tidy up ViewState collection from ViewModels by @chrisbanes in https://github.com/chrisbanes/tivi/pull/788
    • Update to Compose SNAPSHOT 7352378 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/798
    • Stop passing navController down from the NavHost by @chrisbanes in https://github.com/chrisbanes/tivi/pull/799
    • Fixes for release R8-ified build by @chrisbanes in https://github.com/chrisbanes/tivi/pull/804
    • Bump com.diffplug.spotless from 5.12.4 to 5.12.5 by @dependabot in https://github.com/chrisbanes/tivi/pull/800
    • Use new nested navigation support by @chrisbanes in https://github.com/chrisbanes/tivi/pull/801
    • Update to Compose 1.0.0-beta07 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/805
    • Tidy up shell script licenses by @chrisbanes in https://github.com/chrisbanes/tivi/pull/809
    • Bump com.github.ben-manes.versions from 0.38.0 to 0.39.0 by @dependabot in https://github.com/chrisbanes/tivi/pull/810
    • Update to Compose 1.0.0-beta08 and related dependencies by @chrisbanes in https://github.com/chrisbanes/tivi/pull/811
    • Bump com.diffplug.spotless from 5.12.5 to 5.13.0 by @dependabot in https://github.com/chrisbanes/tivi/pull/812
    • Bump com.diffplug.spotless from 5.13.0 to 5.14.0 by @dependabot in https://github.com/chrisbanes/tivi/pull/814
    • Update dependencies by @chrisbanes in https://github.com/chrisbanes/tivi/pull/817
    • Re-enable R8 full mode by @chrisbanes in https://github.com/chrisbanes/tivi/pull/818
    • Tidy-up :common-ui-compose by @chrisbanes in https://github.com/chrisbanes/tivi/pull/819
    • Enable resource optimization by @JakeWharton in https://github.com/chrisbanes/tivi/pull/687
    • Fix Play store link by @benwicks in https://github.com/chrisbanes/tivi/pull/822
    • Update keep rules for using R8 version 3.1 in full mode by @christofferqa in https://github.com/chrisbanes/tivi/pull/821
    • Remove redundant rules in shrinker configuration by @christofferqa in https://github.com/chrisbanes/tivi/pull/824
    • migrate jcenter to mavenCentral by @wiryadev in https://github.com/chrisbanes/tivi/pull/825
    • Bump com.diffplug.spotless from 5.14.0 to 5.14.1 by @dependabot in https://github.com/chrisbanes/tivi/pull/826
    • Update to Compose 1.0.0-rc01 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/828
    • replace deprecated Tuple2 method by @wiryadev in https://github.com/chrisbanes/tivi/pull/827
    • Update dependencies by @chrisbanes in https://github.com/chrisbanes/tivi/pull/834
    • Update Debug.kt by @jeffnyauke in https://github.com/chrisbanes/tivi/pull/835
    • Initial large screen updates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/820
    • Selectively apply the GMS + Crashlytics plugins by @chrisbanes in https://github.com/chrisbanes/tivi/pull/836
    • Fix package declarations in ContentColor.kt and ExpandingSummary.kt by @razvnred in https://github.com/chrisbanes/tivi/pull/838
    • Update dependencies by @chrisbanes in https://github.com/chrisbanes/tivi/pull/840
    • Remove action in Discover.kt by @pietmau in https://github.com/chrisbanes/tivi/pull/843
    • Make navigation destinations unique by @chrisbanes in https://github.com/chrisbanes/tivi/pull/844
    • Use a NavigationRail on devices with width > 600dp by @chrisbanes in https://github.com/chrisbanes/tivi/pull/842
    • Tidy up Flow + ViewState collections by @chrisbanes in https://github.com/chrisbanes/tivi/pull/845
    • Upgrade to AGP 7.1.0-alpha08 by @chrisbanes in https://github.com/chrisbanes/tivi/pull/848
    • Fix flipped fav icon (UX) by @theapache64 in https://github.com/chrisbanes/tivi/pull/852
    • Bump com.diffplug.spotless from 5.14.2 to 5.14.3 by @dependabot in https://github.com/chrisbanes/tivi/pull/853
    • Apply changes regarding Gradle v7.2 by @murattuzel in https://github.com/chrisbanes/tivi/pull/854
    • Use navigation-animation in Tivi by @chrisbanes in https://github.com/chrisbanes/tivi/pull/841
    • Update to Compose 1.1.0-beta06 and friends by @chrisbanes in https://github.com/chrisbanes/tivi/pull/857
    • Use Snapper for snapping lazy container carousels by @chrisbanes in https://github.com/chrisbanes/tivi/pull/859
    • Update to Compose 1.1.0-beta02 and other dependencies, optimize import by @wiryadev in https://github.com/chrisbanes/tivi/pull/860
    • Properly implement effects on show details by @chrisbanes in https://github.com/chrisbanes/tivi/pull/866
    • Integrate Chucker into Tivi by @chrisbanes in https://github.com/chrisbanes/tivi/pull/865
    • Try using gradle-cache-action by @chrisbanes in https://github.com/chrisbanes/tivi/pull/858
    • Fix Chucker not working with R8 full mode enabled by @chrisbanes in https://github.com/chrisbanes/tivi/pull/867
    • Move QA build type to a flavour by @chrisbanes in https://github.com/chrisbanes/tivi/pull/868
    • Bump com.gradle.enterprise from 3.0 to 3.7.2 by @dependabot in https://github.com/chrisbanes/tivi/pull/869
    • Dependency updates by @chrisbanes in https://github.com/chrisbanes/tivi/pull/870

    New Contributors

    • @prudhvir3ddy made their first contribution in https://github.com/chrisbanes/tivi/pull/725
    • @alishari made their first contribution in https://github.com/chrisbanes/tivi/pull/748
    • @dependabot-preview made their first contribution in https://github.com/chrisbanes/tivi/pull/758
    • @agologan made their first contribution in https://github.com/chrisbanes/tivi/pull/771
    • @benwicks made their first contribution in https://github.com/chrisbanes/tivi/pull/822
    • @christofferqa made their first contribution in https://github.com/chrisbanes/tivi/pull/821
    • @wiryadev made their first contribution in https://github.com/chrisbanes/tivi/pull/825
    • @jeffnyauke made their first contribution in https://github.com/chrisbanes/tivi/pull/835
    • @razvnred made their first contribution in https://github.com/chrisbanes/tivi/pull/838
    • @pietmau made their first contribution in https://github.com/chrisbanes/tivi/pull/843
    • @theapache64 made their first contribution in https://github.com/chrisbanes/tivi/pull/852
    • @murattuzel made their first contribution in https://github.com/chrisbanes/tivi/pull/854

    Full Changelog: https://github.com/chrisbanes/tivi/compare/v0.5.1...v0.6.1

    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Oct 15, 2020)

    What’s Changed

    • Fix fragment crashing when rotating the device (#706) @chrisbanes
    • Use @RewriteQueriesToDropUnusedColumns (#704) @chrisbanes
    • Update dependencies (#703) @chrisbanes
    • Update to Compose SNAPSHOT 6860046 (#702) @chrisbanes
    • Update to Compose SNAPSHOT 6854728 (#697) @chrisbanes
    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Sep 17, 2020)

    What’s Changed

    • Switch to new Inter typeface (#696) @chrisbanes
    • Update dependencies (#695) @chrisbanes
    • Update to Compose SNAPSHOT #6824694 (#693) @chrisbanes
    • Update Crashlytics plugin (#694) @chrisbanes
    • Converting 'Discover' to Jetpack Compose (#692) @chrisbanes
    • Fix login due to Trakt and TargetSdk 30 changes (#690) @chrisbanes
    • Display show status (#691) @chrisbanes
    • Small tweaks to Actions build config (#689) @chrisbanes
    • Update various dependencies (#688) @chrisbanes
    • Fix typos (#686) @androiddevnotes
    • Tidy up icon resources (#685) @chrisbanes
    • Disable Jetifier 👋 (#684) @chrisbanes
    • Update to Compose SNAPSHOT 6765009 (#683) @chrisbanes
    • Use AnimatedVisibility for moar sizzle 💫 (#682) @chrisbanes
    • Update to Compose Snapshot 6752477 (#681) @chrisbanes
    • Trying out new Insets implementation (#639) @chrisbanes
    • Add a fake google-services.json (#680) @chrisbanes
    • Remove battery saver dark theme setting (#678) @chrisbanes
    • Revert Dagger workaround due to old Compose Kotlin compiler (#677) @chrisbanes
    • A few fixes for the Account UI (#676) @chrisbanes
    • Update AGP and other dependencies (#675) @chrisbanes
    • Update to SNAPSHOT 6721902 (#673) @chrisbanes
    • Update to AGP 4.2.0-alpha06 (#665) @chrisbanes
    • Update README (#672) @chrisbanes
    • Animate expanding text size changes (#670) @chrisbanes
    • Update to SNAPSHOT: #6704997 (#669) @chrisbanes
    • Enable Kotlin 1.4 API (#668) @chrisbanes
    • Update to Compose dev15 (#667) @chrisbanes
    • Fix some missing executes (#666) @chrisbanes
    • Improvements across composability in show details (#662) @chrisbanes
    • Uses flow's catch instead (#663) @jeffreydelooff
    • Update to AGP 4.2.0-alpha04 and Compose SNAPSHOT 6658922 (#661) @chrisbanes
    • Fix crash due to wrong nullability (#659) @chrisbanes
    • Fix show details looping composition (#658) @chrisbanes
    • Some small improvements around show details composition (#656) @chrisbanes
    • Upgrade to AGP 4.2.0-alpha02 (#655) @chrisbanes
    • Update to Store v4.0.0-alpha06 (#654) @chrisbanes
    • Force Store stream() to flow on background thread (#653) @chrisbanes
    • Various small tidy-ups (#652) @chrisbanes
    • Fix related shows not loading correctly (#651) @chrisbanes
    • Optimize how Tivi fetches show image URLs (#649) @chrisbanes
    • Lots of improvements around Coroutines usage (#648) @chrisbanes
    • Use yield() and ensureActive() (#647) @chrisbanes
    • Fix remaining interactors (#646) @chrisbanes
    • Fix popular shows crashing when opened (#645) @chrisbanes
    • Start scoping operations back to the ViewModel again (#644) @chrisbanes
    • Start injecting the initial ViewModel state again (#643) @chrisbanes
    • Update to Compose SNAPSHOT #6602655 (#642) @chrisbanes
    • Migrate to AGP 4.2.0-alpha01 (#641) @chrisbanes
    • Migrate to Hilt (#640) @chrisbanes
    • Encrypt secret files using GPG (#632) @chrisbanes
    • Revert back to Epoxy 3.11.0 (#637) @chrisbanes
    • Various small fixes around usage of Compose (#638) @chrisbanes
    • Migrate to main branch naming (#636) @chrisbanes
    • Update to Android Studio 4.2.0 Canary 1 (#634) @chrisbanes
    • Use asFlow() to process lists instead of parallelMap (#633) @chrisbanes
    • Update to Epoxy 4.0.0-beta4 (#631) @chrisbanes
    • Merge Compose UI modules together (#594) @chrisbanes
    • Update R8 config (#630) @chrisbanes
    • Upgrade to ktlint 0.37.0 (#626) @chrisbanes
    • Update to UI/Compose SNAPSHOT #6571972 (#629) @chrisbanes
    • Update lots of dependencies (#628) @chrisbanes
    • Try out Play Publisher 2.8.0-SNAPSHOT (#625) @chrisbanes
    • Improvements to related shows source (#619) @chrisbanes
    • Try out Compose + UI SNAPSHOT 6543212 (#622) @chrisbanes
    • Update to Compose + UI v0.1.0-dev12 (#621) @chrisbanes
    • Update to AGP 4.1.0-alpha10 and Gradle 6.5-m1 (#620) @chrisbanes
    • Some more tweaks enabled in dev11 (#618) @chrisbanes
    • Update to Compose v0.1.0-dev11 (#617) @chrisbanes
    • Be explicit when requiring max-widths (#615) @chrisbanes
    • Move to using Accompanist Coil library (#602) @chrisbanes
    • Revert back to JDK 8 and enable Kotlin incremental (#614) @chrisbanes
    • Update AGP to 4.1.0-alpha09 (#613) @chrisbanes
    • Try disabling GitHub Actions cache (#612) @chrisbanes
    • Fix data-saver always being enabled on API 23 (#611) @chrisbanes
    • Re-enable Kotlin incremental compilation (#609) @chrisbanes
    • Update Firebase auth tokens (#608) @chrisbanes
    • New Account UI (#607) @chrisbanes
    • Tidy up Crashlytics integration (#606) @chrisbanes
    • Add error states to show details + episode details (#605) @chrisbanes
    • Reuse a common OkHttpClient (#596) @yschimke
    • Move to using more Icons from ui-material-icons-extended (#603) @chrisbanes
    • Migrate to Accompanist MDC-Theme (#601) @chrisbanes
    • Fix 2 crashes from Crashlytics (#599) @chrisbanes
    • Document new oauth redirect URI (#598) @chrisbanes
    • Re-enable Crashlytics (#593) @chrisbanes
    • Hook up show details back and refresh actions (#592) @chrisbanes
    • Update to Compose 0.1.0-dev10 (#591) @chrisbanes
    • Update dependencies (#590) @chrisbanes
    • Remove automerge action (#589) @chrisbanes
    • Setup TraktV2 for automatic refresh tokens (#588) @chrisbanes
    • Update show details to Compose (#583) @chrisbanes
    • Exclude build/bin sources from Spotless (#586) @chrisbanes
    • Run build action on PRs too (#585) @chrisbanes
    • Update README (#584) @chrisbanes
    • Update to Compose snapshot #6342451 (#582) @chrisbanes
    • Disable Crashlytics (#579) @chrisbanes
    • Dependency updates (#576) @chrisbanes
    • Fix Room warnings (#578) @chrisbanes
    • Try building with JDK 11 (#577) @chrisbanes
    • Update to AGP 4.1.0-alpha03 and Gradle 6.3 (#574) @chrisbanes
    • Fix build (#575) @chrisbanes
    • No need of workaround for ConstraintLayout as issue has been fixed already (#573) @Sathawale27
    • Updated the development setup instructions. (#572) @Sathawale27
    • @Composable functions with a return type shouldn't start with a upper… (#569) @IVIanuu
    • Improvements around swipe-to-dismiss in Episode Details (#568) @chrisbanes
    • Converting episode details to use Jetpack Compose (#544) @chrisbanes
    • Update dependencies (#563) @chrisbanes
    • Tweaks to data-saver (#561) @chrisbanes
    • Update to AGP 3.6.0 final (#562) @chrisbanes
    • New 'save data' preference (#560) @chrisbanes
    • Fetch lower quality images when needed (#559) @chrisbanes
    Source code(tar.gz)
    Source code(zip)
  • v0.4.1(Feb 20, 2020)

    What’s Changed

    • GitHub Actions improvements (#558) @chrisbanes
    • [pull] master from chrisbanes:master (#7) @pull
    • Update to AGP 3.6.0-rc03 (#557) @chrisbanes
    • Migrate to using Store (#556) @chrisbanes
    • Upgrade to AGP 3.6.0-rc02 (#554) @chrisbanes
    • Dependency updates (#553) @chrisbanes
    • Update to Coil v0.9.x (#526) @chrisbanes
    • Update to cache v1.1.0 (#551) @chrisbanes
    • Update build.yml (#550) @imbsky
    • Change continuation indent to 4 chars (#548) @chrisbanes
    • Tidy up module dependencies (#547) @chrisbanes
    • Split up the common-ui module (#546) @chrisbanes
    • Split out ui-episodedetails (#543) @chrisbanes
    • Revert typefaces back to Rubik (#542) @chrisbanes
    • Update AGP to 3.6.0-beta05 (#541) @chrisbanes
    • Increase scrolling speed for carousels (#539) @chrisbanes
    • Small spacing improvments to show details (#538) @chrisbanes
    • More badges on show details (#537) @chrisbanes
    • Tidy up UI classes visibility (#536) @chrisbanes
    • Update all the dependencies (#535) @chrisbanes
    • Update MotionLayout await to use a timeout (#534) @chrisbanes
    • Move all view await funs to suspendCancellableCoroutine (#533) @chrisbanes
    • Update show details to use Action (#532) @chrisbanes
    • Merge CI Gradle tasks (#531) @chrisbanes
    • Update heap settings (#529) @chrisbanes
    • Add automerge action (#530) @chrisbanes
    • Increase java heap size to 2 GB (#528) @LivingWithHippos
    • Use Release Drafter GitHub Action (#527) @chrisbanes
    • Only run assembleRelease on feature branches (#525) @chrisbanes
    • Force show details to fling to open state (#524) @chrisbanes
    • Move to GitHub Actions (#506) @chrisbanes
    • Remove toDp() extfuns (#523) @chrisbanes
    • Use our animations for navigation destinations (#520) @chrisbanes
    • Move PagedLists out of MvRx states (#519) @chrisbanes
    • Refactor app navigation to lean more on the navigation component (#518) @chrisbanes
    Source code(tar.gz)
    Source code(zip)
Owner
Chris Banes
Chris Banes
An Open-Source Android app for creating training plans and tracking progress

GymRoutines noahjutz.codeberg.page/gymroutines An Open-Source Android app for creating training plans and tracking progress. Screenshots Contributing

Noah 4 Dec 16, 2022
This is a work-in-progress (🔧️) ultraviolet index viewer app for demonstrating Instant Apps + Kotlin + Dagger + MVP

UV Index A simple ultraviolet index viewer app for demonstrating: Instant Apps + Kotlin + Dagger + MVP Built With Weatherbit as weather API Android In

Mustafa Berkay Mutlu 65 Oct 31, 2022
A work-in-progress quiz app I started developing for a client but got paused.

quiz-app A work-in-progress quiz app I started developing for a client but got paused. Background This app was intended to be a trivia app where users

Ahmet Safa Orhan 7 Oct 18, 2022
Android app for removing tracking parameters from shared URLs

Léon - The URL Cleaner is an Android application which removes tracking and other obsolete parameters from a URL before sharing. Its usage is simple,

Sven Jacobs 89 Dec 30, 2022
AVTS App - S.I.T Global PBL 2021 - Automatic Visitor Tracking System Android Application

S.I.T Global PBL 2021 - Automatic Visitor Tracking System Android Application De

null 0 Feb 13, 2022
MeuRastreio - Tracking app for studies and personal use

Meu Rastreio APP para rastreio de encomendas rastreáveis pelos correios. Criado

David Castro 10 Dec 15, 2022
A console-based productivity app involving both To-Do Lists and Goal tracking

This is a console-based productivity app involving both To-Do Lists and Goal tracking. It allows users to create To-Dos, check them off, and filter the display between complete/incomplete items

Joel Jossie 3 Dec 25, 2022
Based on Android + NodeMCU platform to achieve object detection and tracking, AI capabilities come from Google MLKit.

Based on Android + NodeMCU platform to achieve object detection and tracking, AI capabilities come from Google MLKit.

null 1 Apr 4, 2022
Covid-19 Tracking application

Covid-19 Covid-19 Tracking application An open-source Android COVID-19 tracking app built using core UI components from the Robinhood stock trading ap

null 1 Dec 29, 2021
Real time gps location based alarming system tracking the road accident and providing medical assitance plus concern from near by police station.

Real time gps location based alarming system tracking the road accident and providing medical assitance plus concern from near by police station.

Sandeep Verma 1 Mar 12, 2022
Vaibhav Jaiswal 57 Jan 3, 2023
when you use restful api and network get disconnect you have to store your data local for make your app faster and work on ofline mode

AppArchitectureOflineMode when you use restful api and network get disconnect you have to store your data local for make your app faster and work on o

Kareem-Mansy 3 Jun 20, 2021
This app is used to divide a particular task in subtask and assign it to others with priorities. This may be useful for team projects or collaborative work

TaskDivider-Android-App This app is used to divide a particular task in subtask and assign it to others with priorities. This may be useful for team p

Manikant Rai 1 Jan 10, 2022
eduJam is an university app, which will help you with all of your university work*

eduJam - Your one-stop to any university work eduJam is an university app, which will help you with all of your university work. It has features which

Dhiraj Chauhan 16 Nov 24, 2022
PreTask - A project planner app that allows an enterprise to plan their projects work within a team

PreTask - A project planner app that allows an enterprise to plan their projects work within a team

Ashish Pimpre 1 Jan 27, 2022
Connect is an Android Application to connect people for a project and can then work on the application to efficiently complete the project

Connect is an Android Application to connect people for a project and can then work on the application to efficiently complete the project

Shubhaprasad Padhy 1 Jan 9, 2022
An interesting workout app, that can track your progress (unfinished)

7MinuteWorkout An interesting workout app, that can track your progress (unfinished) U planu mi je da odradim bolji dizajn za ovu aplikaciju. Za sada

null 2 May 8, 2022
Android app to show fruits

?? Aplicativo Frutas ( Pós-Graduação C.E.S.A.R School ) ?? Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: Kotlin ?? Projeto P

Italo Melo 5 May 23, 2021