Code Monkey home page Code Monkey logo

dsub2000's People

Contributors

avm99963 avatar daneren2005 avatar fangxx3863 avatar flamingspaz avatar flyingowl avatar fxthomas avatar glennguy avatar hedwig34 avatar hufman avatar kberstene avatar koenvh1 avatar kurthardin avatar markadamson avatar massyas avatar mike-s123 avatar mikeyoism avatar mrtxema avatar mvn23 avatar norohind avatar nvllsvm avatar paroj avatar popeen avatar pr0ps avatar silentviking avatar surfoo avatar t-m-w avatar thknepper avatar tombriden avatar vrih avatar xujinkai avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

norohind

dsub2000's Issues

Updating between CI built apks doesnt work

When I try to update the dsub2000 install between CI artifact builds it says there is a conflicting app already installed.

Maybe it needs to build using the same signature?

feature: Cache failed scrobbles in online mode

I connect to my navidrome server and most of the time I want to play a smart playlist generated on the server. This playlist highly depends on the "last played" field. So, scrobbling is an essential part of playing the songs. Each song that is not scrobbled will mess up the playlist and make me unhappy.

With the current behavior of the app, I can achieve full scrobbling in two ways:

  1. Open playlist, refresh list, cache some songs, switch to offline mode, play songs and when I'm back online, use the sync dialog that pops up.
  2. Open playlist, refresh list, stay online and connected the whole time and let the app scrobble after each song.

This has some problems:

  • When the sync dialog after going back online somehow fails (because your device randomly disconnects, or the wifi does not offer an IPv6 address that lets me connect to my server) all scrobbles will be lost
  • In offline mode (way 1) all songs that are not cached will be removed from the playlist. When I need to cache a few more songs later for my commute or whatever, it is a real hassle.
  • Staying online just to send a few kB after every song causes battery drain on older devices, when the songs themselves are already cached
  • Even when the device is connected, the connection might not be stable enough to successfully scrobble a song

I did some experiments on my fork but I was not happy with the complexity it would add. My idea was to use the OfflineMusicService as a fallback when the RESTMusicService failed to sync a scrobble (and star/unstar/rate/...) call. But the scrobble caching gave me a headache. They are stored in SharedPreferences either with an ID or the search criteria. It was not really made to do more than it does now.

In my opinion, the SharedPreferences are not suitable for what I want. I would suggest a simple database. But before I make my hands dirty, I would love to hear some other thoughts, wishes or maybe some ideas or solutions.

DLNA doesn't work since 1de5177e

I was trying to build the app with cling's supported fork jupnp (see #10) when noticed that if you enable DLNA in Settings -> Casting it crashes even with cling, as it is now in edge. I bisected it down to 1de5177 being the one introduced the problem.

Question: How will you distribute this?

Do you plan to publish on Google Play, fDroid, Amazon App store?

I'd really like to see it show up in places where it is easier to install (for instance I have a device that can only use the Play store and side loading is prohibited). Thanks for picking this up!

Update ReadMe

There should be an updated readme. The current one is not very useful, to put it nicely.

The new readme should include:

  • Some introductory sentences with a short statement, that this is a fork of DSub
  • A list of features
  • A few nice screenshots
  • once we have them: links to release page and app stores

Third party maven repositories is against Fdroid inclusion

Regarding publication in Fdroid: the application requires libraries from third party maven repo http://4thline.org/m2. Third party maven repositories is against Fdroid inclusion policy and the maintainers made it clear to get rid of 4thline repo (https://gitlab.com/fdroid/fdroiddata/-/merge_requests/3501). The required libs (cling and cling-support) aren't on maven central. There is a supported fork of cling - jupnp (https://github.com/jupnp/jupnp) but I failed to build the app with fresh versions of fork and old versions are not available on maven central. So, that's the problem to solve.

Originally posted by @norohind in #5 (comment)

Make instrumented tests work again

Running instrumented tests fails on build stage with gradle saying

FAILURE: 
Build failed with an exception.
* What went wrong:
Execution failed for task ':app:connectedFlossDebugAndroidTest'.

In logcat it has following line in traceback

Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Lambda"

Running instrumented tests requires kotlin standard library. After adding it to dependencies, tests gets run. Though not all of them get passed.
image

I'm intending to investigate why some tests are failing and submit a PR.

The app fails to query local proxy server because of https only restriction

It appears that app tries to use some local proxy-like server (maybe ServerProxy module used exactly for this in the project) and it fails due to https only restriction (I guess regression of 4ecf202)

[04-14 14:36:02.531 6777:6813 E/ImageLoader]
Failed to download from url http://127.0.0.1:4533/share/img/<jwt token>?size=600
javax.net.ssl.SSLException: Only https connections are allowed!
	at github.daneren2005.dsub.service.RESTMusicService.getConnectionDirect(RESTMusicService.java:15)
	at github.daneren2005.dsub.service.RESTMusicService.getConnectionDirect(RESTMusicService.java:11)
	at github.daneren2005.dsub.service.RESTMusicService.getConnection(RESTMusicService.java:4)
	at github.daneren2005.dsub.service.RESTMusicService.getBitmapFromUrl(RESTMusicService.java:13)
	at github.daneren2005.dsub.service.RESTMusicService.getBitmap(RESTMusicService.java:14)
	at github.daneren2005.dsub.service.CachedMusicService.getBitmap(CachedMusicService.java:73)
	at github.daneren2005.dsub.util.ImageLoader$ViewUrlTask.doInBackground(ImageLoader.java:13)
	at github.daneren2005.dsub.util.BackgroundTask$Task.access$300(BackgroundTask.java:24)
	at github.daneren2005.dsub.util.BackgroundTask$TaskRunnable.run(BackgroundTask.java:30)
	at java.lang.Thread.run(Thread.java:923)

After couple seconds after it the app appeared to crash, it was playing in background with screen locked and for me, it just stopped playing, when I opened the app it loaded like it wasn't running in background. Beside these two exceptions (they were exactly the same and followed each other with 300 ms interval), I don't have any clue what happened to the app.

Use wake lock whenever casting

hi! thanks for the efforts here. wondering if we could get daneren2005#1151 from @brian-doherty in

and maybe see if could be applied to a situation where playback stops when locking the screen in the middle of a playlist (or at least when playing a track from the starred list) - if it's the same issue

thanks!

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.