Code Monkey home page Code Monkey logo

Comments (6)

ISO-B avatar ISO-B commented on September 3, 2024 1

Just small progress update. Progress has been bit slow as I don't have previous experience from android and android auto development. I managed to get android auto browsing hierarchy for library and series to work. It works, but needs caching and sorting by title/name for every view. When I get those things done it is quick to add collections.

About those large lists. It seems that there is no technical limit on android side, but for people who have very large libraries load times might be bit long, but we will see. If that is case then we just add some kind of paging system.

from audiobookshelf-app.

ISO-B avatar ISO-B commented on September 3, 2024

I have started implementing this. Way how I am planning to do this is making following structure under libraries option:

  1. Library
    • List of authors
      • Series
        • Books
      • Non series books
  2. Series
    • List of series
      • Books
  3. Collections
    • List of collections
      • Books

So first you select which library you want to use and then navigate with that hierarchy. I am not sure does android auto support sorting by anything else than name, but we will see.

from audiobookshelf-app.

kuldan5853 avatar kuldan5853 commented on September 3, 2024

So first you select which library you want to use and then navigate with that hierarchy. I am not sure does android auto support sorting by anything else than name, but we will see.

If you want to see a possible implementation, look at Listen Audiobook player - I worked with the dev to have a fully browsable library (that simply follows the file system structure in that case) implemented into the app a while ago. So at least there is no technical limit that prohibits you from showing large lists or anything like that that I could see..

As for how you propose, that sounds great to me as it would give you full flexibility browsing your library.

While you're at it, could you also look into the adjacent topic of the download function losing all folder structure? It would be great if the app would support sort of an "offline" mode where we only see the content we have downloaded locally (but with the same structure as in online, so library/series/collections) - not every country has good internet throughout, especially when driving.

That had been my main use case before I switched to Audiobookshelf - I used a booksonic server to manage my books and download them to the phone, but since the app was near useless in android auto (didn't work offline at all), I only used it to download the books (which neatly kept the folder structure of author\series\book intact) and then pointed Listen Audiobook player to the same folder for actual playback on the phone/in the car.

from audiobookshelf-app.

kuldan5853 avatar kuldan5853 commented on September 3, 2024

About those large lists. It seems that there is no technical limit on android side, but for people who have very large libraries load times might be bit long, but we will see. If that is case then we just add some kind of paging system.

I think also as you said before, maybe the answer here would be local caching of the directory structure (not the metadata itself), so that browsing the trees happens "offline" (with a sync of course while online). Metadata loading for selected books from the online source (or a downloaded copy) would then be quite fast in comparison.

Also, a suggestion from my side would be to also have a toggle for an offline mode in which only the locally downloaded library items are taken into consideration - this could make browsing in the car a lot easier too if you are the type to keep local copies of books due to bad connectivity (like I am).

At any rate, I really appreciate you working on this and look forward to being able to try it out :)

from audiobookshelf-app.

ISO-B avatar ISO-B commented on September 3, 2024

It seems that there is limit on android auto side for how many things your list can contain. Over 1000 items will prevent list loading. So I need to implement paging system for authors and series. I am thinking to add page changing entries to top of list and next page entry at bottom. Does that sound like good idea or does somebody have better idea?

Entries could be like:
Page 1 | A -H
Page 2 | H - O
Page 3 | O -Z

from audiobookshelf-app.

kuldan5853 avatar kuldan5853 commented on September 3, 2024

It seems that there is limit on android auto side for how many things your list can contain. Over 1000 items will prevent list loading. So I need to implement paging system for authors and series. I am thinking to add page changing entries to top of list and next page entry at bottom. Does that sound like good idea or does somebody have better idea?

Entries could be like: Page 1 | A -H Page 2 | H - O Page 3 | O -Z

I wouldn't use it as strict as this but just use a fixed paging size of maybe 50 to 100 entries per page - maybe even adding an #, A - Z before as a downselect (especially for Authors and Series) and then page the results by 50..

from audiobookshelf-app.

Related Issues (20)

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.