Git Product home page Git Product logo

tv-launcher's Introduction

TV Launcher

TV Launcher (name to be determined) is an Android launcher meant for big screens like televisions. It can be used as a replacement for the default Leanback or Google TV launcher on various Android TV devices like the Nvidia Shield or Chromecast with Google TV.

The app is currently in an early development stage.

Planned features

  • Configurable toolbar

    The toolbar is shown on the top of the screen and contains various items that can be hidden and reordered by the user. The planned components that can be used are:

    • Clock
    • Settings button
    • Tv input sources switcher
  • Favorite app list

    A list of bookmarked apps by the user. They can be shown or hidden from the main screen and reordered.

  • Channels

    App provided channels and watch next information.

  • All apps

    A grid with all installed apps. Ability to also show mobile app entries.

Unplanned features

Some features are not implemented because of platform limitations. The following features can not be implemented:

  • Wallpapers

    Android TV does not allow apps to set a wallpaper since there is no implementation for the WallpaperManager actions.

  • Search

tv-launcher's People

Contributors

arias800 avatar nielsvanvelzen avatar renovate[bot] avatar roblav96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tv-launcher's Issues

tv launcher apk release.

Thanks for making this great app. I wanna change my random local brand's random launcher so it will be very helpful/easy for us to install this launcher on tv.

Literally I have zero knowledge in android studio and don't wanna install it on my slow and storage full laptop. Please consider to release every version in apk format for beginner. Thank you..

Suggestions For Future Improvements

Hi

Here are some suggestions I could think of that would make it the best tv launcher:

  1. A separate row(s) under the current one for all non-leanback apps.
    An option to enable/Disable this row.
    The top row is then only used for leanback apps.
  2. A setting to split the amount of apps shown per row.
    Eg. You have 20 leanback apps installed and want to split them into 2 rows to show everything on the screen and not scroll right all the time to see all the apps.
  3. An option to give a heading for each row eg. Apps, Streaming, Games and an option to show/hide the heading for each row and be able to move apps to different rows.
  4. Hide all system partition apps by default like webview, tv remote etc. even in a non-leanback row.
    An option in Settings to perhaps enable/show them again if needed.
  5. Hide the tv-launcher banner icon and perhaps add it's own settings icon to the top next to the settings icon that opens Android's Settings.
  6. Allow to re-order app icons(already suggested)
  7. Perhaps a sort setting to arrange apps by app name(abc, zyx).
  8. An option for the default Youtube player eg. stock Youtube app, SmartTubeNext etc. if you have channels for both Youtube and SmartTubeNext apps to use one by default to open all Youtube videos on the homescreen.
  9. Wallpaper support. Some tv launchers support it like https://github.com/tsynik/LeanbackLauncher or https://app.emotn.com/ui/ so there might be a way.
  10. Some Weather widget support with temperature and a picture display.
  11. Setting to round app banner corners more as a %.
  12. A setting to export/import the saved app placements in the rows if you need to uninstall the launcher and install it again for easy setup.
  13. An option to hide individual apps or hide apps in a vault, only show them if a 4 digit pin is entered.
  14. Perhaps some small display or widget that can be enabled/disabled to show the free, used and total memory on a device.
    CPU speed too but this might be difficult. Kodi has some code to display the memory, CPU usage, perhaps there is some code that can help.

Name idea

Maybe Stacks? With all the material cards it makes sense ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯

F-Droid integration

Hi

Thank you very much for your work.

I fully understand #8
Please also consider a F-Droid integration. F-Droid is a project we trust.

[FR] Channels enable/disable

Fully understand it's still super early. Just wanted to shoot a few thoughts after finally trying it out.

First off, congratulations!! You are the only one that has re-created the channels functionality in a third-party launcher. Pretty incredible! Thank you for this.

Speaking of this feature. Will it be possible to enable/disable on a per-app basis? I had to uninstall the Nvidia GameStream app because it flooded my homescreen with a lot of rows, and even more games.

Jellyfin showing up in the channel of Watch Next is great. Would love to perhaps break up TV/Film into their own rows if possible down the road. And hopefully we can transfer the watch duration indicator over the posters like in Jellyfin.

Right now it was a bit sluggish scrolling on my Shield, and I suspect it's from loading all the channels. (e.g. Jellyfin Media channel where it shows the TV/Show/Collections seems redundant and I'd want to turn it off).

And finally I know hiding apps is on your list of things to do. Re-arranging the order of the visible ones too if possible please.

Keep up the great work!

Dependency Dashboard

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

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/app-build.yaml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-java v4@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9
  • gradle/actions v3@6cec5d49d4d6d4bb982fbed7047db31ea6d38f11
  • actions/upload-artifact v4@5d5d22a31266ced268874388b861e4b58bb5c2f3
  • ubuntu 22.04
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
app/build.gradle.kts
gradle/libs.versions.toml
  • androidx.activity:activity-compose 1.8.2
  • androidx.appcompat:appcompat 1.6.1
  • androidx.compose.compiler:compiler 1.5.11
  • androidx.compose.foundation:foundation 1.7.0-alpha06
  • androidx.compose.material3:material3 1.3.0-alpha04
  • androidx.compose.ui:ui-tooling 1.7.0-alpha06
  • androidx.compose.ui:ui-tooling-preview 1.7.0-alpha06
  • androidx.core:core-ktx 1.12.0
  • androidx.core:core-role 1.0.0
  • androidx.tv:tv-foundation 1.0.0-alpha10
  • androidx.tv:tv-material 1.0.0-alpha10
  • androidx.tvprovider:tvprovider 1.1.0-alpha01
  • io.coil-kt:coil-compose 2.6.0
  • io.insert-koin:koin-android 3.5.6
  • io.insert-koin:koin-androidx-compose 3.5.6
  • app.cash.sqldelight:android-driver 2.0.2
  • app.cash.sqldelight:coroutines-extensions 2.0.2
  • com.jakewharton.timber:timber 5.0.1
  • com.android.application 8.3.2
  • org.jetbrains.kotlin.android 1.9.23
  • app.cash.sqldelight 2.0.2
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

Is there no way to grant com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA permission to non-system apps via ADB to be able to use channels?

Well, the title says everything. There are many great custom launchers out there but the only way holding me back from switching to them is the lack of channels which is my most favorite feature. I am curious if it could perhaps be possible to somehow grant this permission to an app via ADB or something like that. Or perhaps maybe some AndroidTVs are possible to root? Or maybe you could somehow install a non-system app as a system app via ADB? Idk.

Recent Apps Screen

It would be great to have a recent apps screen for the last 10-15 apps.
Perhaps full screenshots like on a phone or small icons like LG WebOS recent apps.

Apk

Please make the apk available for testing

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.