Giter Site home page Giter Site logo

skyd666 / anivu Goto Github PK

View Code? Open in Web Editor NEW
172.0 1.0 5.0 10.09 MB

All-in-one Android app for anime RSS, BitTorrent dl & play. MVI arch, Material You style. ⭐️ Star to support! 一站式 RSS 订阅动漫、BitTorrent 下载和播放 Android 应用。采用 MVI 架构和 Material You 风格。⭐️点个 Star 以支持工作

Home Page: https://t.me/SkyD666Chat

License: GNU General Public License v3.0

Kotlin 88.54% Java 11.46%
anime exoplayer material-design md3 media3 mvi mvi-architecture player rss torrent

anivu's Introduction

🥰 AniVu

GitHub Workflow Status GitHub release (latest by date) GitHub all downloads Support platform GitHub license Telegram Discord

AniVu, an all-in-one tool for RSS anime subscription and updates, bit torrent downloads, and video playback.

AniVu utilizes the MVI architecture and fully adopts the Material You design style. All pages are developed using Android View and Jetpack Compose.

中文   |   正體中文   |   Help us translate

💡 Features

  1. Subscribe to RSS, Update RSS, Read RSS
  2. Automatically update RSS subscriptions
  3. Download enclosures (enclosure tags) of torrent or magnet links in RSS articles
  4. Seeding downloaded files
  5. Play downloaded videos
  6. Support variable playback speed, long press to speed up playback
  7. Double-finger gesture to rotate and zoom video
  8. Swipe on the video to control volume, brightness, and playback position
  9. Searching existing RSS subscription content
  10. Play other videos on the phone
  11. Support dark mode
  12. ......

🚧 Todo

  1. Automatically download new videos
  2. Customize player settings, such as default screen scale, surface type used by the player, and more
  3. Float video playback window
  4. Automatically play the next video

🤩 Screenshots

ic_rss_fragment ic_media_fragment ic_article_fragment ic_read_fragment ic_read_fragment_enclosure ic_download_fragment ic_rss_config_fragment ic_about_fragment ic_player_activity

🌏 Translation

If you are interested, please help us translate, thank you.

🛠 Primary technology stack

  • MVI Architecture
  • Jetpack Compose
  • Kotlin Coroutines and Flow
  • Material You
  • ViewModel
  • Room
  • Paging 3
  • Hilt
  • Media3 ExoPlayer
  • WorkManager
  • DataStore
  • Splash Screen
  • Navigation
  • Coil

✨ Other works

Work Description Link
Rays (Record All Your Stickers), A tool to record, search and manage stickers on your phone. 🥰 Are you still struggling with too many stickers on your phone and having trouble finding the ones you want? This tool will help you manage your stickers! 😋 https://github.com/SkyD666/Rays-Android
Raca (Record All Classic Articles), a tool to record and search abstract passages and mini-essays in the comments section locally. 🤗 Are you still having trouble remembering the content of your mini-essay and facing the embarrassing situation of forgetting the front, middle and back? Using this tool will help you record the mini-essays you come across and never worry about forgetting them again! 😋 https://github.com/SkyD666/Raca-Android
NightScreen, when you use your phone at night 🌙, Night Screen can help you reduce the brightness of the screen and reduce the damage to your eyes. https://github.com/SkyD666/NightScreen

📃 License

This software code is available under the following license

GNU General Public License v3.0

anivu's People

Contributors

skyd666 avatar lightsummer233 avatar nekoouo avatar

Stargazers

Carlos David Taipe avatar Kosutav Seth avatar  avatar Tsui no Sora avatar Night Cat avatar  avatar  avatar  avatar  avatar Sakura Yumine avatar  avatar HsiaYuChih avatar Wizos avatar 古老皇 avatar  avatar  avatar  avatar  avatar Reese_zip avatar ғᴇɴɢʏᴜʟᴏɴɢ avatar  avatar  avatar  avatar 探索github 网站项目与安卓开源项目 avatar  avatar GuyCui avatar  avatar tt avatar  avatar  avatar  avatar  avatar  avatar Shiroha avatar  avatar  avatar Andy Scott avatar  avatar linlu avatar Timeareoworz avatar  avatar  avatar  avatar  avatar  avatar  avatar Jared Peirson avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar XXX村民 avatar  avatar  avatar  avatar  avatar Overbye avatar  avatar belier avatar  avatar  avatar amiao avatar  avatar aaa114144 avatar liuliu avatar simenchan avatar VCE1 avatar ZGQ Inc. avatar  avatar  avatar  avatar iumLab avatar hirak0 avatar Wolo avatar  avatar  avatar  avatar lucky avatar 可惜公主爱王子 avatar Owen avatar  avatar  avatar  avatar  avatar  avatar BikeAfterKite avatar raoxiongwen avatar  avatar  avatar  avatar NOISE avatar 无铭 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

anivu's Issues

Remember Expansion state

Add a option so that if a group was expanded last time it will stay expanded and if another one was not expanded it will state that way next time opening the app.

So one can stay expanded and another group can stay closed at the same time when opening the app.

1

2

Ability to select where to download torrents

An option to select where to download the torrent file will help manage the videos and files when needed + i wanted to upload the videos to my cloud storage but i wasn't simply able to do that via the share option in anivu, if i can select the folder where to download i'll select my cloud synced folder .

Open in browser

Add an option so that we can open the download link/magnet link in phone browser through tapping or swiping.
1

Mark as seen

It will be efficient If we could see which torrents we have already seen in the torrents page/article page

A dimmed colour to mark as read could be added Screenshot_2024-04-28-04-48-26-162_me.ash.reader-edit.jpg

Or a simple dot in front of the torrents which we haven't read could also be added
Screenshot_2024-04-28-04-56-18-032_com.prof18.feedflow-edit.jpg

Hide Default group when its empty

Hide the categories when the category has no rss feed in them , including the default catagory , i dont have single feed in that catagory

一些界面上的建议(MD3)

首先,还请调用Android系统动画,目前这个动画只是单纯的渐变实在不太好;
然后,作为一个md3 app,还请适配动态颜色。

另外,私认为 divider 用的太多了,订阅或者文章界面可以考虑试试 Card;然后更多界面图标很少,不太适合此类布局,可以试试 Navigation drawer,可能会好看点?

Remove feed not working.

Steps to reproduce:
1.Add a rss feed
2.long press the feed to show options
3.click remove

Result: Nothing happens
Expected behaviour:it should remove the feed

Option to edit feed names

exactly as the title suggests , it would be cool to be able to rename the long names of my feeds to a short more sensible one .

Sticky publication date header

It will be great and a neat addition if sticky publication header is added. Many apps use sticky publication date header for list items . Example -Screenshot_2024-04-27-21-44-29-874_me.ash.reader~2.jpg

Screenshot_2024-04-27-21-42-46-189_me.ash.reader~2.jpg

Screenshot_2024-04-27-21-44-35-943_me.ash.reader~2.jpg

Option to directly download magnet /torrents

Please give an option to directly download magnet links or torrent files we have. For old torrent files, RSS isn't really an option, so we need to use the magnet link and download the file with some torrent client. Since AniVu already supports downloading torrents, it would be great to be able to download magnet links/torrent files.

An idea of how it may look like
Screenshot_2024-04-20-00-50-45-435_com skyd anivu
1713556545208
1713556544771
1713556691247

Grouping Media , and all media in the media tab .

Like #13 If the download videos are grouped in the media based on which feed we download them from ,it will be really handy. Also a all media option to access all of downloaded media is also needed.

I have 6-7 currently airing anime as my rss feed separately so if the download media is organised based on the feed I have downloaded the media from it will be really organised and easy to access.

Ability to import opml files for mass rss feeds

I have a good amount of torrent feeds in a normal rss feed app which if I want to import one by one it will be so much time consuming and tiring long process. if opml import support is added it will be so convenient.

Card style in article/torrent list

A card layout similar to this

Screenshot_2024-04-24-03-27-32-224_io.nichijou.flutter.mikan-edit.jpg

  • For the icon, we can have the website logo (similar to readyou)
    Screenshot_2024-04-26-22-10-18-336_org.cromite.cromite-edit~2.jpg

  • For those websites that don't have any logo, we can have the first character of the article name (not the symbols) the Chinese or English or whatever language first character
    Screenshot_2024-04-26-22-11-35-693_me.ash.reader-edit.jpg

  • (Some people may not like the idea of having the website logo in the article list so we can make it optional, so even if the website has any logo, the article list will show the first character instead of the logo by default)

  • For the name, we can have the feed name
    Screenshot_2024-04-26-22-20-19-230_com.skyd.anivu-edit.jpg

  • For the secondary text under the name
    Screenshot_2024-04-24-03-27-32-224_io.nichijou.flutter.mikan-edit~3.jpg

, we can have elapsed time. For example, "10 minutes ago," "1 hour ago," "1 day ago" (but not two types together like "1 hour and 45 minutes ago" or "1 day 10 hours ago")
Screenshot_2024-04-26-22-12-36-374_xyz.luft.tachiyomi.mi.debug-edit~2.jpg
Screenshot_2024-04-26-22-12-36-374_xyz.luft.tachiyomi.mi.debug-edit~3.jpg

  • For the article title, as usual, the article title as it is

  • For the tags, we can have it optional like show tags or show the description.

  • Text inside these (| |) symbols can be used as tags.
    Screenshot_2024-04-26-20-55-57-002_com.skyd.anivu-edit.jpg

Crash

VersionName: 1.1-beta12
SDK Version: 29
ABI: arm64-v8a

Crash Info:
java.lang.IndexOutOfBoundsException: Index: 60, Size: 60
at s.f.a(SourceFile:131)
at s.f.c(SourceFile:12)
at U0.b.c(SourceFile:361)
at s.m.c(SourceFile:55)
at androidx.compose.foundation.lazy.layout.X.(SourceFile:91)
at u.Z.d(SourceFile:348)
at P.v3.g(SourceFile:60)
at S.J.b(SourceFile:294)
at S.J.d(SourceFile:16)
at c0.z.b(SourceFile:470)
at c0.A.a(SourceFile:100)
at s.g.b(SourceFile:62)
at s.g.n(SourceFile:350)
at c0.p.e(SourceFile:62)
at P.v3.i(SourceFile:33)
at A0.A0.w(SourceFile:71)
at g6.a.m(SourceFile:9)
at x6.H.run(SourceFile:97)
at A0.f0.m0(SourceFile:24)
at A0.e0.run(SourceFile:3)
at android.os.Handler.handleCallback(Handler.java:900)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8393)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
Suppressed: C6.g: [A0.h0@dcbd854, s0{Cancelling}@ace3fd, f0@9c258f2]

Revamp feed screen

Add padding , rounded corner etc .

Here is a concept based on current anivu
1714305184832.jpg

use dual page in tablet mode .

Most of the space in my tablet it wasted in all pages , if app app uses dual page in tablet it will be really great . When opening the app the right page may look empty so i suggest shoing all feeds updates there by default and chage to group ot list when clicked

example - feedflow
Screenshot_2024-04-16-15-08-32-57_ec2eb6fa460e4a1f71f8b51a239fd3fc

concept->
IMG_20240416_151132

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.