|
1 | | -<h1 align="center">Jellyfin Android TV</h1> |
2 | | -<h3 align="center">Part of the <a href="https://jellyfin.org">Jellyfin Project</a></h3> |
| 1 | +# DUNE - Jellyfin Android TV Client |
3 | 2 |
|
4 | | ---- |
| 3 | +[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) |
| 4 | +[](https://github.com/Sam42a/DUNE/releases/latest) |
| 5 | +[](https://github.com/Sam42a/DUNE/stargazers) |
| 6 | +[](https://coff.ee/sam42) |
5 | 7 |
|
6 | 8 | <p align="center"> |
7 | | -<img alt="Logo banner" src="https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/banner-logo-solid.svg?sanitize=true"/> |
8 | | -<br/><br/> |
9 | | -<a href="https://github.com/jellyfin/jellyfin-androidtv"> |
10 | | -<img alt="GPL 2.0 License" src="https://img.shields.io/github/license/jellyfin/jellyfin-androidtv.svg"/> |
11 | | -</a> |
12 | | -<a href="https://github.com/jellyfin/jellyfin-androidtv/releases"> |
13 | | -<img alt="Current Release" src="https://img.shields.io/github/release/jellyfin/jellyfin-androidtv.svg"/> |
14 | | -</a> |
15 | | -<a href="https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/"> |
16 | | -<img alt="Translation Status" src="https://translate.jellyfin.org/widgets/jellyfin-android/-/jellyfin-androidtv/svg-badge.svg"/> |
17 | | -</a> |
18 | | -<br/> |
19 | | -<a href="https://opencollective.com/jellyfin"> |
20 | | -<img alt="Donate" src="https://img.shields.io/opencollective/all/jellyfin.svg?label=backers"/> |
21 | | -</a> |
22 | | -<a href="https://features.jellyfin.org"> |
23 | | -<img alt="Feature Requests" src="https://img.shields.io/badge/fider-vote%20on%20features-success.svg"/> |
24 | | -</a> |
25 | | -<a href="https://matrix.to/#/+jellyfin:matrix.org"> |
26 | | -<img alt="Chat on Matrix" src="https://img.shields.io/matrix/jellyfin:matrix.org.svg?logo=matrix"/> |
27 | | -</a> |
28 | | -<a href="https://www.reddit.com/r/jellyfin"> |
29 | | -<img alt="Join our Subreddit" src="https://img.shields.io/badge/reddit-r%2Fjellyfin-%23FF5700.svg"/> |
30 | | -</a> |
31 | | -<br/> |
32 | | -<a href="https://play.google.com/store/apps/details?id=org.jellyfin.androidtv"> |
33 | | -<img width="153" alt="Jellyfin on Google Play" src="https://jellyfin.org/images/store-icons/google-play.png"/> |
34 | | -</a> |
35 | | -<a href="https://www.amazon.com/gp/aw/d/B07TX7Z725"> |
36 | | -<img width="153" alt="Jellyfin on Amazon Appstore" src="https://jellyfin.org/images/store-icons/amazon.png"/> |
37 | | -</a> |
38 | | -<a href="https://f-droid.org/en/packages/org.jellyfin.androidtv/"> |
39 | | -<img width="153" alt="Jellyfin on F-Droid" src="https://jellyfin.org/images/store-icons/fdroid.png"/> |
40 | | -</a> |
41 | | -<br/> |
42 | | -<a href="https://repo.jellyfin.org/releases/client/androidtv/">Download archive</a> |
| 9 | + <img src="https://i.imgur.com/qvsQBdr.png" alt="DUNE Logo" width="300"> |
| 10 | + <br> |
| 11 | + <img src="https://i.imgur.com/x38f0Tw.png" alt="DUNE Screenshot" width="800"> |
43 | 12 | </p> |
44 | 13 |
|
45 | | -Jellyfin Android TV is a Jellyfin client for Android TV, Nvidia Shield, and Amazon Fire TV devices. |
46 | | -We welcome all contributions and pull requests! If you have a larger feature in mind please open an |
47 | | -issue so we can discuss the implementation before you start. |
| 14 | +> **Copyright © 2025 Sam42a** |
| 15 | +> Based on [Jellyfin Android TV](https://github.com/jellyfin/jellyfin-androidtv) (C) Jellyfin Contributors |
| 16 | +
|
| 17 | +## About |
| 18 | + |
| 19 | +**DUNE** is a modified version of the official [Jellyfin](https://jellyfin.org/) Android TV client with enhanced UI/UX and additional customization options. |
| 20 | + |
| 21 | +> **Note**: This is an unofficial fork not affiliated with the Jellyfin project. The official Jellyfin Android TV client can be found at [jellyfin/jellyfin-androidtv](https://github.com/jellyfin/jellyfin-androidtv). |
48 | 22 |
|
49 | 23 | ## Translating |
50 | 24 |
|
51 | | -Translations can be improved very easily from our |
52 | | -[Weblate](https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv) instance. |
53 | | -Look through the following graphic to see if your native language could use some work! |
| 25 | +This project uses the same translation system as the original Jellyfin Android TV client. If you'd like to help, instead please contribute to the [official Jellyfin Weblate instance](https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv). |
| 26 | + |
| 27 | +## ✨ Key Features |
| 28 | + |
| 29 | +### 🎨 Visual & Interface |
| 30 | +- **Modernized UI Framework** |
| 31 | + - 🏠 Redesigned homescreen with improved content hierarchy |
| 32 | + - 🔑 Enhanced login experience with visual feedback |
| 33 | + - 🔑 Default avatars for users without profile images |
| 34 | + - 🔍 Intuitive search interface with voice input |
| 35 | + - 🎭 Multiple theme options including OLED-optimized dark mode, based on [](https://github.com/LitCastVlog/jellyfin-androidtv-OLED) |
| 36 | + |
| 37 | +### 🛠️ Customization |
| 38 | +- **Library Presentation** |
| 39 | + - 📚 Toggle between classic and modern layouts |
| 40 | + - 🖼️ Dynamic backdrops from media artwork |
| 41 | + - 🎬 Customizable homescreen rows (genres, favorites, collections) |
| 42 | + |
| 43 | +### 🎥 Media Experience |
| 44 | +- **Enhanced Playback** |
| 45 | + - 🎬 Advanced subtitle controls |
| 46 | + - 🎨 Customizable background effects |
| 47 | + - ⚡ Optimized performance |
| 48 | + |
| 49 | +### ⚙️ Technical Improvements |
| 50 | +- 🚀 Reduced memory usage |
| 51 | +- ⚡ Faster app startup |
| 52 | +- 📦 Side-by-side installation with official client |
| 53 | + |
| 54 | + |
| 55 | +## 🛠️ Building from Source |
| 56 | + |
| 57 | +### Requirements |
| 58 | +- Android Studio Giraffe (2022.3.1+) |
| 59 | +- Android SDK (API 35) |
| 60 | +- OpenJDK 21+ |
| 61 | + |
| 62 | +### Build Instructions |
| 63 | +```bash |
| 64 | +# Clone repository |
| 65 | +git clone [https://github.com/Sam42a/DUNE.git](https://github.com/Sam42a/DUNE.git) |
| 66 | +cd DUNE-main |
| 67 | + |
| 68 | +# Build standard version |
| 69 | +./gradlew assembleStandardRelease |
| 70 | + |
| 71 | +# Or build enhanced version (coexists with official app) |
| 72 | +./gradlew assembleEnhancedRelease |
| 73 | + |
| 74 | +# Install on Device |
| 75 | + |
| 76 | +# Install debug version |
| 77 | +./gradlew installStandardDebug |
| 78 | + |
| 79 | +# Install enhanced release |
| 80 | +./gradlew installEnhancedRelease |
54 | 81 |
|
55 | | -<a href="https://translate.jellyfin.org/engage/jellyfin-android/"> |
56 | | -<img alt="Detailed Translation Status" src="https://translate.jellyfin.org/widgets/jellyfin-android/-/jellyfin-androidtv/multi-auto.svg"/> |
57 | | -</a> |
| 82 | +**Note:** The enhanced version uses package ID `Dune.enhanced.tv` which allows it to be installed alongside the original Jellyfin app. |
58 | 83 |
|
59 | | -## Build Process |
60 | 84 |
|
61 | | -### Dependencies |
| 85 | +``` |
62 | 86 |
|
63 | | -- Android Studio |
| 87 | +## Third-Party Libraries |
64 | 88 |
|
65 | | -### Build |
| 89 | +This project uses the following third-party libraries: |
66 | 90 |
|
67 | | -1. Clone or download this repository |
| 91 | +- **Jellyfin SDK** - [GPL-2.0](https://github.com/jellyfin/sdk-kotlin) |
| 92 | +- **AndroidX Libraries** - [Apache-2.0](https://developer.android.com/jetpack/androidx) |
| 93 | +- **Kotlin Coroutines** - [Apache-2.0](https://github.com/Kotlin/kotlinx.coroutines) |
| 94 | +- **Koin** - [Apache-2.0](https://insert-koin.io/) |
| 95 | +- **Coil** - [Apache-2.0](https://coil-kt.github.io/coil/) |
| 96 | +- **Markwon** - [Apache-2.0](https://noties.io/Markwon/) |
| 97 | +- **Timber** - [Apache-2.0](https://github.com/JakeWharton/timber) |
| 98 | +- **ACRA** - [Apache-2.0](https://github.com/ACRA/acra) |
| 99 | +- **Kotest** - [Apache-2.0](https://kotest.io/) |
| 100 | +- **MockK** - [Apache-2.0](https://mockk.io/) |
| 101 | +## Acknowledgments |
68 | 102 |
|
69 | | - ```sh |
70 | | - git clone https://github.com/jellyfin/jellyfin-androidtv.git |
71 | | - cd jellyfin-androidtv |
72 | | - ``` |
| 103 | +This project is based on the work of the Jellyfin Contributors. Special thanks to all the developers and community members who have contributed to the Jellyfin Android TV project. |
73 | 104 |
|
74 | | -2. Open the project in Android Studio and run it from there or build an APK directly through Gradle: |
| 105 | +## License |
75 | 106 |
|
76 | | - ```sh |
77 | | - ./gradlew assembleDebug |
78 | | - ``` |
79 | | - |
80 | | - Add the Android SDK to your PATH environment variable or create the ANDROID_SDK_ROOT variable for |
81 | | - this to work. |
| 107 | +This project is licensed under the **GNU General Public License v2.0 (GPL-2.0)**. See the [LICENSE](LICENSE) file for details. |
82 | 108 |
|
83 | | -### Deploy to device/emulator |
84 | 109 |
|
85 | | - ```sh |
86 | | - ./gradlew installDebug |
87 | | - ``` |
88 | 110 |
|
89 | | -*You can also replace the "Debug" with "Release" to get an optimized release binary.* |
|
0 commit comments