Coder Social home page Coder Social logo

akitikkx / upnext Goto Github PK

View Code? Open in Web Editor NEW
50.0 2.0 8.0 6.28 MB

Upnext: TV Series Manager is an MVVM Android app which allows users to be able to view show schedules, popular, trending and most anticipated shows with favorite functionality provided by the Trakt API

Home Page: https://theupnextapp.com

License: MIT License

Kotlin 100.00%
kotlin mvvm-android retrofit2 compose jetpack-compose android kotlin-android hilt-android hilt coil-kotlin coil-image-loader firebase room-database coroutines-android kotlin-coroutines kotlin-flow

upnext's Issues

Update to version 3.3.4 (172)

Describe the solution you'd like

  • Update the gradle dependencies
  • Use the key property inside the LazyItemScope
  • Upgrade the Gradle version

Add local.properties.example file

Describe the solution you'd like
Add a local.properties.example file as an example of how the local.properties file should look like

Add CI/CD pipeline

A CI/CD pipeline still needs to be implemented for this project that can be run using GitHub Actions

Play Store Data Safety Section

Is your feature request related to a problem? Please describe.
Add a section for Play Store Data Safety Section.

Describe the solution you'd like
In the recent Play Store policy, it will become mandatory for you to fill out the Data Safety Section. Since this is an OSS Android app, it will make sense to have it as a part of the repository as well.

Describe alternatives you've considered
I have run the scan using my tool here on your repo, attached are
the scan results. I found the following 4 data types & 2 SDKs.

If this is helpful, do use our free tool to generate Play Store Data Safety report: https://github.com/Privado-Inc/privado
Would love your feedback!
image
image
image

Migrate Show Seasons screen to use ComposeView

Describe the solution you'd like

  • Create ShowSeasonsScreen composable representing the current show seasons screen
  • Replace all layout widgets with ComposeView in fragment_show_seasons.xml
  • Update ShowsSeasonsFragment.kt to reference the newly added ComposeView and reference ShowSeasonsScreen composable as the composable to display
  • Remove ShowSeasonsAdapter.kt and related viewHolder view

Migrate Show Season Episodes to use ComposeView

Describe the solution you'd like

  • Create ShowSeasonEpisodesScreen composable representing the current show season episodes screen
  • Replace all layout widgets with ComposeView in fragment_show_season_episodes.xml
  • Update ShowSeasonEpisodesFragment.kt to reference the newly added ComposeView and reference ShowSeasonEpisodesScreen composable as the composable to display
  • Remove ShowSeasonEpisodesAdapter.kt and related viewHolder view

Migrate Show Detail screen to ComposeView

Describe the solution you'd like

  • Create ShowDetailScreen composable representing the current show detail screen
  • Replace all layout widgets with ComposeView in fragment_show_detail.xml
  • Update ShowDetailFragment.kt to reference the newly added ComposeView and reference ShowDetailScreen composable as the composable to display
  • Represent cast list as composable list
  • Remove ShowCastAdapter.kt and related viewHolder view

When app is resumed it automatically navigates to the account screen

Describe the bug
When the app is initially opened, the default navigation startDestination is observed. However, when the app is put into the background then reopened it navigates to the account screen by default

To Reproduce
Steps to reproduce the behavior:

  1. Open the app
  2. Put the app into the background by pressing the home key
  3. Open the app again
  4. Default screen is the account screen

Expected behavior
When the app is reopened from being in the background it should open the screen the user was last on and not the account screen

Migrate Dashboard screen to use ComposeView

Describe the solution you'd like

  • Create DashboardScreen composable representing the current dashboard screen
  • Replace all layout widgets with ComposeView in fragment_dashboard.xml
  • Update DashboardFragment.kt to reference the newly added ComposeView and reference DashboardScreen composable as the composable to display
  • Remove TodayShowsAdapter.kt, TomorrowShowsAdapter and YesterdayShowsAdapter and related viewHolder views

Update Gradle to version 8

Update the Gradle for the project to be the latest version, keeping in mind the breaking changes that will occur as mentioned here

Migrate Trakt Account screen to use ComposeView

Describe the solution you'd like

  • Create TraktAccountScreen composable representing the current account screen
  • Replace all layout widgets with ComposeView in fragment_trakt_account.xml
  • Update TraktAccountFragment.kt to reference the newly added ComposeView and reference TraktAccountScreen composable as the composable to display
  • Remove FavoritesAdapter.kt and related viewHolder view

Update dependencies

Describe the solution you'd like

  • Update Compose Material Version
  • Update Compose Animation Version
  • Update Compose UI test version
  • Update Compose Material Theme Adapter version
  • Update Firebase Analytics, Core, Crashlytics and, Performance Monitoring versions

Address crash in release build

Describe the bug

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.theupnextapp/com.theupnextapp.MainActivity}: android.view.InflateException: Binary XML file line #50 in com.theupnextapp:layout/activity_main: Binary XML file line #50 in com.theupnextapp:layout/activity_main: Error inflating class fragment
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8669)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

To Reproduce
Steps to reproduce the behavior:
Try and launch the app as a release build

Expected behavior
App should successfully launch

Dependency Dashboard

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

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update androidxUiTooling to v1.6.8 (androidx.compose.ui:ui-tooling, androidx.compose.ui:ui-test-junit4)
  • Update dependency androidx.compose.animation:animation to v1.6.8
  • Update dependency androidx.compose.material:material-icons-extended to v1.6.8
  • Update dependency androidx.compose.runtime:runtime-livedata to v1.6.8
  • Update dependency com.google.devtools.ksp to v2.0.0-1.0.22
  • Update dependency com.google.gms.google-services to v4.4.2
  • Update androidGradlePlugin to v8.5.0 (com.android.test, com.android.application)
  • Update dependency androidx.appcompat:appcompat to v1.7.0
  • Update dependency gradle to v8.8
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

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

Detected dependencies

github-actions
.github/workflows/pull_request.yml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/cache v4
  • android-actions/setup-android v3
  • actions/upload-artifact v4
  • actions/checkout v4
  • actions/setup-java v4
  • actions/cache v4
  • android-actions/setup-android v3
  • actions/upload-artifact v4
gradle
gradle.properties
settings.gradle
build.gradle
app/build.gradle
baselineprofile/build.gradle
gradle/libs.versions.toml
  • com.google.accompanist:accompanist-navigation-animation 0.34.0
  • androidx.activity:activity-compose 1.9.0
  • androidx.core:core-ktx 1.13.1
  • androidx.hilt:hilt-navigation-compose 1.2.0
  • androidx.hilt:hilt-work 1.2.0
  • androidx.hilt:hilt-compiler 1.2.0
  • com.google.android.material:material 1.11.0
  • androidx.compose.material3:material3 1.2.1
  • androidx.recyclerview:recyclerview 1.3.2
  • androidx.benchmark:benchmark-macro-junit4 1.2.4
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.test.ext:junit 1.1.5
  • androidx.test.uiautomator:uiautomator 2.3.0
  • androidx.compose.ui:ui-test-junit4 1.6.7
  • androidx.compose.ui:ui-test-manifest 1.6.6
  • androidx.compose.ui:ui-tooling 1.6.7
  • androidx.work:work-testing 2.9.0
  • androidx.compose.animation:animation 1.6.7
  • androidx.appcompat:appcompat 1.6.1
  • androidx.browser:browser 1.8.0
  • com.github.bumptech.glide:glide 4.16.0
  • com.github.bumptech.glide:compiler 4.16.0
  • com.github.chuckerteam.chucker:library 4.0.0
  • com.github.chuckerteam.chucker:library-no-op 4.0.0
  • io.coil-kt:coil-compose 2.6.0
  • androidx.constraintlayout:constraintlayout 2.1.4
  • com.squareup.retrofit2:converter-gson 2.11.0
  • com.squareup.retrofit2:converter-moshi 2.11.0
  • io.github.raamcosta.compose-destinations:core 2.1.0-beta09
  • io.github.raamcosta.compose-destinations:ksp 2.1.0-beta09
  • androidx.datastore:datastore-preferences 1.1.1
  • com.google.firebase:firebase-analytics-ktx 21.6.2
  • com.google.firebase:firebase-core 21.1.1
  • com.google.firebase:firebase-crashlytics 18.6.4
  • com.google.firebase:firebase-perf 20.5.2
  • com.google.android.flexbox:flexbox 3.0.0
  • com.google.dagger:hilt-android 2.51.1
  • com.google.dagger:hilt-android-compiler 2.51.1
  • com.google.dagger:hilt-android-compiler 2.51.1
  • com.google.dagger:hilt-android-testing 2.51.1
  • org.jsoup:jsoup 1.17.2
  • junit:junit 4.13.2
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.8.0
  • com.squareup.leakcanary:leakcanary-android 2.14
  • androidx.legacy:legacy-support-v4 1.0.0
  • androidx.lifecycle:lifecycle-common-java8 2.7.0
  • androidx.lifecycle:lifecycle-livedata-ktx 2.7.0
  • androidx.lifecycle:lifecycle-viewmodel-compose 2.7.0
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.7.0
  • com.squareup.okhttp3:okhttp 5.0.0-alpha.14
  • com.squareup.okhttp3:logging-interceptor 5.0.0-alpha.14
  • androidx.compose.material:material-icons-extended 1.6.7
  • androidx.compose.material3:material3-window-size-class 1.2.1
  • androidx.paging:paging-runtime-ktx 3.2.1
  • androidx.preference:preference-ktx 1.2.1
  • androidx.profileinstaller:profileinstaller 1.3.1
  • androidx.recyclerview:recyclerview-selection 1.1.0
  • com.squareup.retrofit2:retrofit 2.11.0
  • com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter 0.9.2
  • androidx.room:room-compiler 2.6.1
  • androidx.room:room-ktx 2.6.1
  • androidx.room:room-runtime 2.6.1
  • androidx.compose.runtime:runtime-livedata 1.6.7
  • com.squareup.moshi:moshi 1.15.1
  • com.squareup.moshi:moshi-kotlin 1.15.1
  • com.jakewharton.timber:timber 5.0.1
  • com.google.accompanist:accompanist-testharness 0.34.0
  • androidx.work:work-runtime-ktx 2.9.0
  • com.android.application 8.4.1
  • com.android.test 8.4.1
  • com.google.firebase.crashlytics 2.9.9
  • com.google.firebase.firebase-perf 1.4.2
  • com.google.gms.google-services 4.4.1
  • com.google.dagger.hilt.android 2.51.1
  • org.jetbrains.kotlin.android 2.0.0
  • org.jetbrains.kotlin.plugin.compose 2.0.0
  • com.google.devtools.ksp 2.0.0-1.0.21
  • org.jlleitschuh.gradle.ktlint 12.1.0
  • androidx.baselineprofile 1.2.4
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7

  • Check this box to trigger a request for Renovate to run again on this repository

Update app dependencies

Describe the solution you'd like
Update the following app dependencies:

  • Hilt
  • Appcompat
  • Compose Material
  • Compose Animation
  • Material Theme Adapter
  • ConstraintLayout
  • Core KTX
  • Firebase Crashlytics
  • Firebase Performance Monitoring
  • Material

Resolve NumberFormatException causing crash

Describe the bug
There are instances, it appears, that the show id from the TvMaze API is null and a crash has been reported as a result of this on the show detail screen due to a .toInt() call on a null value

Expected behavior
App should not crash when the show ID is null, rather a message displayed to the user that the show data is empty/not available

Screenshots
Screenshot 2022-07-16 at 21 18 08

Smartphone (please complete the following information):

  • Device: Xperia 5
  • OS: Android 11
  • Version 3.4.0 (176)

Migrate Explore screen to use ComposeView

Describe the solution you'd like

  • Create ExploreScreen composable representing the current explore screen
  • Replace all layout widgets with ComposeView in fragment_explore.xml
  • Update ExploreFragment.kt to reference the newly added ComposeView and reference ExploreScreen composable as the composable to display
  • Remove MostAnticipatedShowsAdapter.kt, PopularShowsAdapter.kt, TrendingShowsAdapter.kt and related viewHolder views

Migrate the Search screen to use ComposeView

Describe the solution you'd like

  • Create SearchScreen composable representing the current search screen
  • Replace all layout widgets with ComposeView in fragment_search.xml
  • Update SearchFragment.kt to reference the newly added ComposeView and reference SearchScreen composable as the composable to display
  • Remove SearchAdapter.kt

Error while trying to create release build

Describe the bug
The following error is thrown while trying to create a release build

What went wrong: Execution failed for task ':app:mapReleaseSourceSetPaths'. > Error while evaluating property 'extraGeneratedResDir' of task ':app:mapReleaseSourceSetPaths'

Implement Jetpack Compose Navigation

Describe the solution you'd like
Implement navigation between the composables using Jetpack Compose Navigation moving away from the standard Jetpack Navigation currently implemented

Update the project to be modularised

The project is currently one single module. Update it to be split into modules that better separate and define how the project is used and structured

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.