yuliskov / SmartTube

SmartTube - an advanced player for set-top boxes and tvs running Android OS
https://www.patreon.com/smarttube
Other
20.04k stars 1.08k forks source link

Release on F-Droid #471

Open alexanderadam opened 3 years ago

alexanderadam commented 3 years ago

I was searching for SmartTubeNext on F-Droid but I was unable to find it. IMHO the license should be fine but I don't know about the dependencies.

It would be great if you could make SmartTubeNext available on F-Droid.

PS: Thank you for creating SmartTubeNext :pray: PPS: If you are considering to publish SmartTubeNext on F-Droid, you probably might be interested the FAQ and maybe this guide PPPS: I'm not an Android developer or related to F-Droid. So I don't know about technical limitations in case there are some.

IzzySoft commented 3 years ago

Some showstoppers there. Here's the report from one of the library scanners:

Libraries detected:
-------------------
* Android Support v4 (/android/support/v4): Development Framework
* Arch (/androidx/arch): Utility
* AppCompat (/androidx/appcompat): Utility
* Browser (/androidx/browser): Utility
* Androidx Core (/androidx/core): Utility
* Documentfile (/androidx/documentfile): UI Component
* Exifinterface (/androidx/exifinterface): Utility
* Leanback (/androidx/leanback): Utility
* androidx.legacy (/androidx/legacy): Utility
* Lifecycle (/androidx/lifecycle): Utility
* Loader (/androidx/loader): Utility
* Media (/androidx/media): Utility
* Preference (/androidx/preference): Utility
* Print (/androidx/print): Utility
* Room (/androidx/room): Utility
* Sqlite (/androidx/sqlite): Utility
* Vectordrawable (/androidx/vectordrawable): UI Component
* WorkManager (/androidx/work): Utility
* Glide (/com/bumptech/glide): Utility
* Crashlytics (/com/crashlytics): Mobile Analytics Tracking
* Firebase Data Transport (/com/google/android/datatransport): Utility NonFreeNet
* ExoPlayer (/com/google/android/exoplayer2): Utility
* Google Mobile Services (/com/google/android/gms): Development Framework NonFreeDep
* Google Core Libraries for Java 6+ (/com/google/common): Utility
* Firebase (/com/google/firebase): Utility NonFreeNet,NonFreeDep
* Firebase Analytics (/com/google/firebase/analytics): Mobile Analytics Tracking
* Google Gson (/com/google/gson): Utility
* Disk LRU Cache (/com/jakewharton/disklrucache): Utility
* Jayway JsonPath (/com/jayway/jsonpath): Utility
* OkHttp (/com/squareup/okhttp): Utility
* Dagger (/dagger): Utility
* RxJava (/io/reactivex): Utility
* JavaX Dependency Injection (/javax/inject): Utility
* json-smart-v2 (/net/minidev/json): Utility
* OkHttp okio Framework (/okio): Utility
* Apache Commons (/org/apache/commons): Development Framework
* ASM (/org/objectweb/asm): Utility
* Reactive Streams (/org/reactivestreams): Utility
* Simple Logging Facade for Java (/org/slf4j): Utility
* dnsjava (/org/xbill/DNS): Utility
* Retrofit (/retrofit2): Utility

Offending libs:
---------------
* Crashlytics (/com/crashlytics): Tracking
* Firebase Data Transport (/com/google/android/datatransport): NonFreeNet
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* Firebase (/com/google/firebase): NonFreeNet,NonFreeDep
* Firebase Analytics (/com/google/firebase/analytics): Tracking

5 offenders.

The 5 offenders are not permitted at F-Droid (and before you ask: I wouldn't take it into my repo either unless at least Crashlytics and Firebase Analytics are removed; 5 non-free libraries is a bit much for free/libre software).

theScrabi commented 3 years ago

Sounds like this needs a post patched version to be releasable on fdroid.

theScrabi commented 3 years ago

Ah no. Apparently you have to implement some parts yourself in order to be able to compile this, as not the whole source code of the app is publicly available: https://github.com/yuliskov/SmartTubeNext/issues/622

theScrabi commented 3 years ago

Try this branch. It compiles, but does not run propperly: https://github.com/theScrabi/SmartTubeNext/tree/fdroid

DraconicNEO commented 3 years ago

Sounds like this needs a post patched version to be releasable on fdroid.

Also Fdroid doesn't have official Support for Android TV (Leanback) which is too bad.

theScrabi commented 3 years ago

That does not matter. You can still install apps from adb or use a different fdroid client ;)

DraconicNEO commented 3 years ago

That does not matter. You can still install apps from adb or use a different fdroid client ;)

Although if it were put on Fdroid I imagine a lot of Mobile (Phone & Tablet) users would download it then complain that it doesn't work correctly, without understanding that it's for TV devices. This is because Fdroid is targeted towards mobile users more so than TV users.

theScrabi commented 3 years ago

The fdroid client is targeted for mobile users yes, but Fdroid is primarily a repository of free/open source software, which is not and should not be bound by how you use the applications or where they will run. This satisfies the reason to add the app there.

Also there is something like an app description in fdroid so you can tell the user that it is ment for TV use ;)

IzzySoft commented 3 years ago

users would download it then complain that it doesn't work correctly, without understanding that it's for TV devices.

To mitigate that fear: what is the minimum screen size of an Android TV device? Assuming there's none for the pockets of your trousers, you could set supports-screens to omit "small" and "normal", just featuring "large" and "xlarge", so it wouldn't even offered to be installed on phones (and tablet users are few in comparison). Further, are there any features not (or rarely) supported by phones but always by TVs? That's what uses-feature is for. If you declare such a feature there, the app will only be offered to devices which can supply it.

Also there is something like an app description in fdroid so you can tell the user that it is ment for TV use ;)

And there's that :rofl: As you might argue some folks won't read that (the very same folks won't read it anywhere else then either), there are things like emphasis. So you could say as first thing Android TV only!!!11!! (using <b>Android TV only!!!11!!</b>). Those who still miss it then cannot be helped anyway…

DraconicNEO commented 3 years ago

To mitigate that fear: what is the minimum screen size of an Android TV device? Assuming there's none for the pockets of your trousers, you could set supports-screens to omit "small" and "normal", just featuring "large" and "xlarge", so it wouldn't even offered to be installed on phones (and tablet users are few in comparison). Further, are there any features not (or rarely) supported by phones but always by TVs? That's what uses-feature is for. If you declare such a feature there, the app will only be offered to devices which can supply it.

I don't know if Android TVs have a Minimum "screen size", All depends on the size of the TV (which obviously isn't known by the manufacturer). Also if you include users of MXQ and MBOX devices you can forget about those methods since it will register as a tablet or even a Phone thus you'll exclude those devices which unfortunately are the Majprity of Android TVs out there.

(I'm not saying they're good at all, I've owned on, they are lousy TV devices that need a Mouse and keyboard to be even remotely usable. You Should never buy them, get something decent).

eighthave commented 3 years ago

There is a working proof-of-concept for F-Droid on Android TV: https://gitlab.com/fdroid/fdroidclient/-/merge_requests/685

It would be great to see that work progress further. I think the cleanest development path would be to take that merge request and make a development fork. We can add that development fork to fdroiddata/f-droid.org so that people can easily use releases. Then as that gets finalized, the changes can be split out into patches and merged into fdroidclient.

Hund commented 3 years ago

It's sad to see that this client contains that account of crap and that's it's not fully open source. Do we have any forks or is the developer perhaps interested in fixing this?

I would love to see this or a similar client on F-Droid.

theScrabi commented 3 years ago

Maybe there is a small chance of getting this to work using the NewPipeExtractro. Maybe this could be possible if someone wrote a wrapper that behaves exactly like the MediaServiceCore this way the fronted of SmartTubeNext would still be usable. Some things like login and account support would have to be removed however.

DraconicNEO commented 3 years ago

Maybe there is a small chance of getting this to work using the NewPipeExtractro. Maybe this could be possible if someone wrote a wrapper that behaves exactly like the MediaServiceCore this way the fronted of SmartTubeNext would still be usable. Some things like login and account support would have to be removed however.

Not worth it, accounts are kind of a vital feature of SmartTubeNext. People want an Ad free YouTube TV client that otherwise functions the same as regular YouTube TV, not a NewPipe TV client.

krodelabestiole commented 11 months ago

Although if it were put on Fdroid I imagine a lot of Mobile (Phone & Tablet) users would download it then complain that it doesn't work correctly, without understanding that it's for TV devices. This is because Fdroid is targeted towards mobile users more so than TV users.

I think this should be a question of the past : we invented responsive design and on the same way I think any application built for android should work on any device. It's called convergence and I have no doubt it will happen eventually. Though we might not have the use for a calculator or a calendar on a TV (it might still be the case with mouse and keyboard plugged in), it makes perfect sense for both an app store and a video player, and it's absolutely doable. I guess it's mainly a matter of having the right shortcuts on a remote control. On this matter F-droid official client is still not great to use on a TV but it already works.

I wonder what's the use of this proprietary bits ? Look mostly related to Google analytics... Are they mandatory ?

bt4ibwem8 commented 10 months ago

F-droid official client is still not great to use on a TV but it already works.

Which f-droid client does work best on ATV?

KruyKaze commented 10 months ago

F-droid official client is still not great to use on a TV but it already works.

Which f-droid client does work best on ATV?

Neo store does auto updates.

Linkinsoldier commented 10 months ago

Any hope this night be solved any time soon?

ncodee commented 7 months ago

Any updates on this please?

deadmeu commented 3 weeks ago

Definitely more comfortable and trustworthy to install from F-Droid instead of manually. I would really like to see this added before I try this app.

puigru commented 1 day ago

Would love to see this as well. I'm tired of using adb to install SmartTube on new ATV devices