SmartTubeNext is an unofficial YouTube client for Android TV.
Current release features:
- Run on Android 4.3 and above
- Browse News, Games, Music
- Browse Subscriptions, History, Playlists
- Play videos
- Like, Dislike or Subscribe for video
- Search for videos
- View subscribed channel content
- Change various settings for the video player
- Animated previews for videos
- Android TV channels and search support
Useful links:
If you want to support my developments you are welcome to buy me a cup of coffee :)
- Donation Alerts (PayPal)
- QIWI (RU)
- PrivatBank (UA)
- BTC: 1JAT5VVWarVBkpVbNDn8UA8HXNdrukuBSx
- LTC: ltc1qgc24eq9jl9cq78qnd5jpqhemkajg9vudwyd8pw
- ETH: 0xe455E21a085ae195a097cd4F456051A9916A5064
- ETC: 0x209eCd33Fa61fA92167595eB3Aea92EE1905c815
- XMR: 48QsMjqfkeW54vkgKyRnjodtYxdmLk6HXfTWPSZoaFPEDpoHDwFUciGCe1QC9VAeGrgGw4PKNAksX9RW7myFqYJQDN5cHGT
The browse fragment is what is used to display the browseable categories and options card. The Icon Header Item Presenter is used to setup and display the categories in the headers dock and Card Presenter is used to display the Video cards.
The Playback Activity is used to play the video from categories. Which used the PlaybackFragment to display the playback controls over the top of the PlaybackActivity.
The Search Fragment allows users to search for video by either tags or usernames.
The Header Grid Fragment is used to show a grid of videos from either a Subscriptions or History.
Many of the screens used some of these custom components created especially for the needs of this app:
This view extends the ImageCardView class so that we add custom functionality. The functionality of this view is display a video preview of the video card that is currently in focus. It's made up of the following components:
- Text Badge Image View - This is a custom VideoView that automatically loops a video without sound.
To build, install and run a debug version, run this from the root of the project:
git clone https://github.com/yuliskov/SmartTubeNext.git
cd SmartTubeNext
git submodule update --init
gradlew buildStorigDebug
To run the unit tests for the application:
gradlew testDebugUnitTest
To run the user interface tests for the application:
gradlew connectedDebugAndroidTest