Giter Site home page Giter Site logo

sschueller / peertube-android Goto Github PK

View Code? Open in Web Editor NEW
336.0 23.0 52.0 7.76 MB

Thorium, a PeerTube Android Client

Home Page: https://github.com/Chocobozzz/PeerTube

License: GNU Affero General Public License v3.0

Java 42.99% Dockerfile 0.61% Python 0.58% Ruby 0.47% Shell 1.25% Kotlin 54.11%
peertube

peertube-android's Introduction

Thorium, an Android PeerTube Client

Screenshots

Description

PeerTube is a federated video streaming platform that is community-owned and ad-free, with no vendor lock-in. This client allows you to watch and browse videos on a server of your choice in the PeerTube network.

This client comes preconfigured with one PeerTube server managed by the application creator - not the PeerTube project itself, which lists more on http://instances.joinpeertube.org/ - to allow you to have a taste of what the client is capable of. Choose your server to tune your experience!

Please note this app is in beta and is still missing a lot of features.

Download

Releases

Release Tags are automatically built and deployed to the play store but not released to production right away. To use the latest tagged release download it from github or fdroid (~1 day delay).

Reproducible Builds

Reproducible builds currently does not work.

Help Translate

Features

  • Recent Videos
  • Trending Videos
  • Endless scrolling
  • Pull to refresh
  • Very Basic Torrent playback
  • Change Server
  • Search
  • Themes / Dark mode
  • Background playback
  • NSFW Filter option
  • Authentication / Login
  • Like/dislike video
  • Video speed selection
  • Video quality selection
  • Server selection
  • Video overlay play and draggable video window

Coming soon

  • Video Playback via WebRTC
  • Comment videos
  • Report Videos
  • User / Channel Overview Page
  • Unit Tests
  • Lots more...

Contribution

Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.

For your commits please follow: https://www.conventionalcommits.org

Donate

Donate using Liberapay

Bitcoin: 1LoTXo728HzYTtyfbkaf5ewSRvu8ABTDPm

peertube-android's People

Contributors

ahangarha avatar boffire avatar can202 avatar comradekingu avatar danialbehzadi avatar dhk2 avatar digiwizkid avatar ferhadnecef avatar freeboub avatar gunchleoc avatar ihorhordiichuk avatar kosharskyi avatar laralem avatar lishoujun avatar oymate avatar poslovitch avatar pwplayer avatar rex07 avatar rezaalmanda avatar s8321414 avatar santossi avatar semantic-release-bot avatar sr093906 avatar sschueller avatar starfang208 avatar trebmuh avatar ujdhesa avatar vistaus avatar voltar13 avatar weblate avatar

Stargazers

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

Watchers

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

peertube-android's Issues

F-Droid

Hello!

This would be a great app to have on F-Droid!

Option to hide NSFW content

It would be great if the client had an option to hide videos with NSFW content, which is enabled by default.

Server selection

When first opening the app it should connect to a server which needs to be determined somehow.

  • Auto select from a list?
  • Auto discover via some service?
  • Ability to change when registering or login in.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Authentication mechanisms

In order to access more advanced features such as comments we need a way to get an authentication token and be able to use it.

  • Login Activity and View
  • Mechanism to store a authentication and refresh token
  • Enable API calls to use authentication token.
  • Detect expired, invalid token on API requests
  • Deal with token refreshing

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

App Kill with running notification Issue

If the App is killed, there is a notification active and it is clicked there is a Fatal Error. The app needs to be able to restart from a notification or the notification needs to be killed when the app is killed.

Crash on opening video page

PeerTube v1.0.6 from F-Droid on a Nokia 6.1 running Android v9 (Pie).

Tapping on any video seems to crash the app.

Logs -

12-18 01:02:00.528 I/ActivityManager(1259): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10300000 cmp=net.schueller.peertube/.activity.VideoListActivity (has extras)} from uid 10098
12-18 01:02:00.536 D/ActivityTrigger(1259): activityStartTrigger: Activity is Triggerred in full screen ApplicationInfo{b841f2e net.schueller.peertube}
12-18 01:02:00.536 E/ActivityTrigger(1259): activityStartTrigger: not whiteListednet.schueller.peertube/net.schueller.peertube.activity.VideoListActivity/106
12-18 01:02:00.539 D/ActivityTrigger(1259): activityResumeTrigger: The activity in ApplicationInfo{b841f2e net.schueller.peertube} is now in focus and seems to be in full-screen mode
12-18 01:02:00.539 E/ActivityTrigger(1259): activityResumeTrigger: not whiteListednet.schueller.peertube/net.schueller.peertube.activity.VideoListActivity/106
12-18 01:02:00.551 D/ActivityTrigger(1259): activityResumeTrigger: The activity in ApplicationInfo{b841f2e net.schueller.peertube} is now in focus and seems to be in full-screen mode
12-18 01:02:00.551 E/ActivityTrigger(1259): activityResumeTrigger: not whiteListednet.schueller.peertube/net.schueller.peertube.activity.VideoListActivity/106
12-18 01:02:00.555 D/ActivityManager(1259): Package [net.schueller.peertube] have process
12-18 01:02:00.558 I/PhoneWindow(1259): isAPPNeedChangeSBColor pkgName: net.schueller.peertube needKeep: false
12-18 01:02:00.559 I/PhoneWindow(1259): isAPPNeedChange pkgName: net.schueller.peertube needKeep: false
12-18 01:02:00.575 I/ActivityManager(1259): Start proc 21749:net.schueller.peertube/u0a22 for activity net.schueller.peertube/.activity.VideoListActivity
12-18 01:02:00.576 D/ActivityManager(1259): handleProcessStartedLocked mDoneFinishBooting && app.pid != 0 ---> notifyProcessStart, app.processName = net.schueller.peertube, app.info = ApplicationInfo{b841f2e net.schueller.peertube}, app.hostingType = activity, getHostingName() = ComponentInfo{net.schueller.peertube/net.schueller.peertube.activity.VideoListActivity}, getIntentFlag() = 0, getIsPackageRunning() = true, app = ProcessRecord{2e58c08 21749:net.schueller.peertube/u0a22}, getExtraData() = Bundle[{ACTIVITY_TASK_AFFINITY=net.schueller.peertube, ACTIVITY_INTENT=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10300000 cmp=net.schueller.peertube/.activity.VideoListActivity (has extras) }, CALLER_PACKAGE=com.android.launcher3, ACTIVITY_INFO=ActivityInfo{44d1663 net.schueller.peertube.activity.VideoListActivity}}]
12-18 01:02:00.576 V/ActivityManager(1259): notifyProcessStart: net.schueller.peertube for: activity from: com.android.launcher3 packageName: net.schueller.peertube className: net.schueller.peertube.activity.VideoListActivity
12-18 01:02:00.622 I/[PowerSavingAppG3]BackgroundCleanService(3817): pid: 21749, calleeApp: net.schueller.peertube
12-18 01:02:00.623 I/[PowerSavingAppG3]ProcessMonitorService(3817): pid: 21749, calleeApp: net.schueller.peertube
12-18 01:02:00.626 I/[PowerSavingAppG3]BackgroundCleanService(3817): net.schueller.peertube add to mTopApList.
12-18 01:02:00.625 I/[PowerSavingAppG3]ProcessMonitorService(3817): net.schueller.peertube add to mTopApList.
12-18 01:02:00.712 I/PhoneWindow(21749): isAPPNeedChangeSBColor pkgName: net.schueller.peertube needKeep: false
12-18 01:02:00.714 I/PhoneWindow(21749): isAPPNeedChange pkgName: net.schueller.peertube needKeep: false
12-18 01:02:00.766 D/[PowerSavingAppG3]ProcessMonitorService(3817): topApps = [com.pluscubed.matloglibre, com.fastaccess.github.libre, net.schueller.peertube]
12-18 01:02:00.880 D/[PowerSavingAppG3]ProcessMonitorService(3817): calleePackageName = net.schueller.peertube,callerPacageName = com.android.launcher3,hostingType = activity,screenOn = true,cmp = net.schueller.peertube.activity.VideoListActivity,cat = {android.intent.category.LAUNCHER},action = android.intent.action.MAIN,isExceptionalActivitiy = false
12-18 01:02:00.884 D/[PowerSavingAppG3]ProcessMonitorService(3817): Ignore package net.schueller.peertube,component = net.schueller.peertube.activity.VideoListActivity
12-18 01:02:01.034 I/ActivityManager(1259): Displayed net.schueller.peertube/.activity.VideoListActivity: +479ms
12-18 01:02:01.199 W/SurfaceFlinger(763): Attempting to set client state on removed layer: Splash Screen net.schueller.peertube#0
12-18 01:02:01.200 W/SurfaceFlinger(763): Attempting to destroy on removed layer: Splash Screen net.schueller.peertube#0
12-18 01:02:03.398 I/ActivityManager(1259): START u0 {cmp=net.schueller.peertube/.activity.VideoPlayActivity (has extras)} from uid 10022
12-18 01:02:03.409 D/ActivityTrigger(1259): activityStartTrigger: Activity is Triggerred in full screen ApplicationInfo{b841f2e net.schueller.peertube}
12-18 01:02:03.409 E/ActivityTrigger(1259): activityStartTrigger: not whiteListednet.schueller.peertube/net.schueller.peertube.activity.VideoPlayActivity/106
12-18 01:02:03.411 D/ActivityTrigger(1259): activityResumeTrigger: The activity in ApplicationInfo{b841f2e net.schueller.peertube} is now in focus and seems to be in full-screen mode
12-18 01:02:03.411 E/ActivityTrigger(1259): activityResumeTrigger: not whiteListednet.schueller.peertube/net.schueller.peertube.activity.VideoPlayActivity/106
12-18 01:02:03.428 D/ActivityTrigger(1259): activityResumeTrigger: The activity in ApplicationInfo{b841f2e net.schueller.peertube} is now in focus and seems to be in full-screen mode
12-18 01:02:03.428 E/ActivityTrigger(1259): activityResumeTrigger: not whiteListednet.schueller.peertube/net.schueller.peertube.activity.VideoPlayActivity/106
12-18 01:02:03.454 I/PhoneWindow(21749): isAPPNeedChangeSBColor pkgName: net.schueller.peertube needKeep: false
12-18 01:02:03.456 I/PhoneWindow(21749): isAPPNeedChange pkgName: net.schueller.peertube needKeep: false
12-18 01:02:03.636 I/ActivityManager(1259): Displayed net.schueller.peertube/.activity.VideoPlayActivity: +195ms
12-18 01:02:03.905 E/AndroidRuntime(21749): Process: net.schueller.peertube, PID: 21749
12-18 01:02:03.905 E/AndroidRuntime(21749): java.lang.RuntimeException: Unable to start service net.schueller.peertube.service.VideoPlayerService@5cb92ba with Intent { cmp=net.schueller.peertube/.service.VideoPlayerService }: java.lang.SecurityException: Permission Denial: startForeground from pid=21749, uid=10022 requires android.permission.FOREGROUND_SERVICE
12-18 01:02:03.905 E/AndroidRuntime(21749): 	at net.schueller.peertube.service.VideoPlayerService$2.onNotificationStarted(VideoPlayerService.java:170)
12-18 01:02:03.905 E/AndroidRuntime(21749): 	at net.schueller.peertube.service.VideoPlayerService.playVideo(VideoPlayerService.java:183)
12-18 01:02:03.905 E/AndroidRuntime(21749): 	at net.schueller.peertube.service.VideoPlayerService.onStartCommand(VideoPlayerService.java:91)
12-18 01:02:03.908 W/ActivityManager(1259):   Force finishing activity net.schueller.peertube/.activity.VideoPlayActivity
12-18 01:02:03.917 W/ActivityManager(1259):   Force finishing activity net.schueller.peertube/.activity.VideoListActivity
12-18 01:02:03.926 I/ActivityManager(1259): Showing crash dialog for package net.schueller.peertube u0
12-18 01:02:04.366 I/StabilityMonitor(21832): [ParserUtility] key word : net.schueller.peertube
12-18 01:02:04.369 I/StabilityMonitor(21832): [APRReport] exceptionItem  tag:data_app_crash packageName:net.schueller.peertube versionCode:106 versionName:1.0.6
12-18 01:02:04.412 W/ActivityManager(1259): Activity pause timeout for ActivityRecord{fd88550 u0 net.schueller.peertube/.activity.VideoPlayActivity t20190 f}
12-18 01:02:04.426 E/STBIntentService(21832): send error message:data_app_crash;1545075123933(pkgName:net.schueller.peertube;version:1.0.6;versionCode:106) to BBS for ANR/FC/TOMB_STONE...
12-18 01:02:04.435 E/STBMonitorQueue(21832): restore data:/data/system/dropbox/[email protected];106;1.0.6;net.schueller.peertube into regularQue queue...
12-18 01:02:04.435 E/STBMonitorQueue(21832): restore data:/data/system/dropbox/[email protected];106;1.0.6;net.schueller.peertube into regularQue queue...
12-18 01:02:04.435 E/STBMonitorQueue(21832): restore data:/data/system/dropbox/[email protected];106;1.0.6;net.schueller.peertube into regularQue queue...
12-18 01:02:04.435 E/STBMonitorQueue(21832): restore data:/data/system/dropbox/[email protected];106;1.0.6;net.schueller.peertube into regularQue queue...
12-18 01:02:04.435 E/STBMonitorQueue(21832): restore data:/data/system/dropbox/[email protected];106;1.0.6;net.schueller.peertube into regularQue queue...
12-18 01:02:04.436 E/STBMonitorQueue(21832): restore data:/data/system/dropbox/[email protected];106;1.0.6;net.schueller.peertube into regularQue queue...
12-18 01:02:04.465 D/[PowerSavingAppG3]ProcessMonitorService(3817): topApps = [net.schueller.peertube, com.pluscubed.matloglibre, com.fastaccess.github.libre]
12-18 01:02:04.617 D/[PowerSavingAppG3]ProcessMonitorService(3817): topApps = [net.schueller.peertube, com.pluscubed.matloglibre, com.fastaccess.github.libre]
12-18 01:02:05.578 W/MediaCodec(21749): writeStatsLog:net.schueller.peertube
12-18 01:02:05.626 I/[PowerSavingAppG3]ProcessMonitorService(3817): original mTopApList = [com.fastaccess.github.libre, com.pluscubed.matloglibre, net.schueller.peertube]
12-18 01:02:05.627 I/[PowerSavingAppG3]ProcessMonitorService(3817): keep mTopApList = [com.fastaccess.github.libre, com.pluscubed.matloglibre, net.schueller.peertube]
12-18 01:02:05.663 W/ActivityManager(1259):   Force finishing activity net.schueller.peertube/.activity.VideoPlayActivity
12-18 01:02:05.664 W/ActivityManager(1259):   Force finishing activity net.schueller.peertube/.activity.VideoListActivity
12-18 01:02:05.676 W/SurfaceFlinger(763): Attempting to destroy on removed layer: a37ae68 net.schueller.peertube/net.schueller.peertube.activity.VideoPlayActivity#0
12-18 01:02:05.716 I/ActivityManager(1259): Killing 21749:net.schueller.peertube/u0a22 (adj 0): crash
12-18 01:02:05.717 W/ActivityManager(1259): Bringing down service while still waiting for start foreground: ServiceRecord{1c6f75a u0 net.schueller.peertube/.service.VideoPlayerService}
12-18 01:02:05.726 W/SurfaceFlinger(763): Attempting to destroy on removed layer: 4db0852 net.schueller.peertube/net.schueller.peertube.activity.VideoListActivity#0
12-18 01:02:10.778 D/[PowerSavingAppG3]ProcessMonitorService(3817): topApps = [com.pluscubed.matloglibre, net.schueller.peertube, com.fastaccess.github.libre]
12-18 01:02:14.103 I/[PowerSavingAppG3]ProcessMonitorService(3817): original mTopApList = [com.fastaccess.github.libre, net.schueller.peertube, com.pluscubed.matloglibre]
12-18 01:02:14.103 I/[PowerSavingAppG3]ProcessMonitorService(3817): keep mTopApList = [com.fastaccess.github.libre, net.schueller.peertube, com.pluscubed.matloglibre]
12-18 01:02:20.738 D/[PowerSavingAppG3]ProcessMonitorService(3817): topApps = [com.pluscubed.matloglibre, net.schueller.peertube, com.fastaccess.github.libre]
12-18 01:02:30.757 D/[PowerSavingAppG3]ProcessMonitorService(3817): topApps = [com.pluscubed.matloglibre, net.schueller.peertube, com.fastaccess.github.libre]

Background color of playing video.

I'd like to suggest an option to choose background color of playing video!( I mean background - the place where video is playing and scaled to the borders of screen)
Before last build it was was only black, but now white with nornal mode and grey with dark mode.
I whould suggest a bunch of grey scale with black and white as well.( slider scale from white to black(?))
Many thanks in advance.

Improve Video Playback

Currently video plays via WebTorrent only which is slow. There are also some player issues (rotating device) but those are player related.

From what I understand if we were to use WebRTC video could start playing right away.

I could use some help with this as I am not very familiar with WebRTC especially on Android.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Themes / Darkmode

App should be themeable and support Android Pie system wide dark mode.

add a language filter

I only speak Chinese and English,now there are too many other language video, on the web client I can filter them, but now on android client still cannt.

I want to add a language filter below setting->nsfw
Is this position OK,or you have other plan to put all useful Filters .
I am looking for your opinion.

Fullscreen Video

Firstly - great work so far on the app. I'm finding it to be moving at a good pace.

My question/request is to ask if full screen video has been implemented as yet? If not, then I'd like to request it as a future. It's the only thing stopping me from switching my kids to a self hosted instance.

Contrary to other requests I've read, the lack of more advanced configuration options is actually a bonus in my case, as it means my kids candidate damage the configuration as simply as other options out there.

As a side note, adding an optional custom pin number to the settings screen would also be very nice 😊👍

Thanks for the great work!

Android 5 support, please!

There're tons of android 5 mobile phone and android 5 mods of it.
Please add support of android 5!
Or if would be easier, as dominant of it, imho minimal support of android 5.1 would be enough!
Many thanks in advance!

after a net error the list activity crash by AndroidRuntime: FATAL

In player Activity
failed to connect to tube.4aem.com/165.227.5.95 (port 443) from /192.168.1.4 (port 46724) after 10000ms
then back to list Activity
java.lang.RuntimeException: Unable to stop service

`
2018-12-31 13:48:47.523 13973-13973/net.schueller.peertube V/VideoPlayActivity: click: 77de5919-2ea4-4aa9-85bc-c35601bf56fa
2018-12-31 13:48:57.549 13973-13973/net.schueller.peertube E/VideoPlayActivity: failed to connect to tube.4aem.com/165.227.5.95 (port 443) from /192.168.1.4 (port 46724) after 10000ms
java.net.SocketTimeoutException: failed to connect to tube.4aem.com/165.227.5.95 (port 443) from /192.168.1.4 (port 46724) after 10000ms
at net.schueller.peertube.activity.VideoPlayActivity$3.onFailure(VideoPlayActivity.java:370)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$2.run(ExecutorCallAdapterFactory.java:80)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
2018-12-31 13:48:57.598 13973-13973/net.schueller.peertube I/Toast: Show toast from OpPackageName:net.schueller.peertube, PackageName:net.schueller.peertube
2018-12-31 13:48:58.623 13973-13973/net.schueller.peertube V/VideoPlayActivity: onPause()...
2018-12-31 13:49:00.975 13973-13973/net.schueller.peertube V/VideoPlayActivity: onResume()...
2018-12-31 13:49:34.242 13973-13973/net.schueller.peertube V/VideoPlayActivity: onPause()...
2018-12-31 13:49:34.681 13973-13973/net.schueller.peertube V/VideoPlayActivity: onStop()...
2018-12-31 13:49:34.695 13973-13973/net.schueller.peertube V/VideoPlayerService: onDestroy...
2018-12-31 13:49:34.695 13973-13973/net.schueller.peertube D/AndroidRuntime: Shutting down VM
2018-12-31 13:49:34.697 13973-13973/net.schueller.peertube E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.schueller.peertube, PID: 13973
java.lang.RuntimeException: Unable to stop service net.schueller.peertube.service.VideoPlayerService@49e67e7: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.exoplayer2.ui.PlayerNotificationManager.setPlayer(com.google.android.exoplayer2.Player)' on a null object reference
at android.app.ActivityThread.handleStopService(ActivityThread.java:3757)
at android.app.ActivityThread.access$1800(ActivityThread.java:200)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1709)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.exoplayer2.ui.PlayerNotificationManager.setPlayer(com.google.android.exoplayer2.Player)' on a null object reference
at net.schueller.peertube.service.VideoPlayerService.onDestroy(VideoPlayerService.java:122)
at android.app.ActivityThread.handleStopService(ActivityThread.java:3733)
at android.app.ActivityThread.access$1800(ActivityThread.java:200) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1709) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:193) 
at android.app.ActivityThread.main(ActivityThread.java:6806) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 
2018-12-31 13:49:34.720 13973-13973/net.schueller.peertube I/Process: Sending signal. PID: 13973 SIG: 9

`

'Favorites' for better management

Should be some media list where may be manage all your media.
But I would suggest do it via 'Favorites' section (in bottom line menues) with Favorites 'folders veiw' structure!
(Folders view structure may slide in/out from right or left border of sceen by touching or swiping it)
So in that Favorites each position may be highlighted like 'seeding', 'downloaded'(downloaded or just was checked for integrity) or 'downloading'.
So manage would be great thrue that Favorites feature imo!


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Project planning

Create issues and project boards for you planning tasks to let us know the project progress.

Fix Crash on Motorola Moto E

Motorola Moto E (4), Android 7.1

java.lang.RuntimeException: 
  at android.app.ActivityThread.handleServiceArgs (ActivityThread.java:3461)
  at android.app.ActivityThread.-wrap21 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1662)
  at android.os.Handler.dispatchMessage (Handler.java:110)
  at android.os.Looper.loop (Looper.java:203)
  at android.app.ActivityThread.main (ActivityThread.java:6339)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1084)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:945)
Caused by: java.lang.NullPointerException: 
  at android.net.Uri$StringUri.<init> (Uri.java:489)
  at android.net.Uri$StringUri.<init> (Uri.java)
  at android.net.Uri.parse (Uri.java:451)
  at net.schueller.peertube.service.VideoPlayerService.playVideo (VideoPlayerService.java:138)
  at net.schueller.peertube.service.VideoPlayerService.onStartCommand (VideoPlayerService.java:109)
  at android.app.ActivityThread.handleServiceArgs (ActivityThread.java:3444)

Maintain a changelog

Please add a changelog to the project so that users on F-Droid etc can see what's new.

permanent notification

i need to kill (long back) the app every time i close it, as it draws permanent notification

a fatal in my logcat

I an on the way to work ,I will reedit this issue later.

FATAL EXCEPTION: main
Process: net.schueller.peertube, PID: 3908
java.lang.RuntimeException: Unable to start service net.schueller.peertube.service.VideoPlayerService@f6fc70d with Intent { cmp=net.schueller.peertube/.service.VideoPlayerService }: java.lang.NullPointerException: uriString
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3722)
at android.app.ActivityThread.access$1700(ActivityThread.java:200)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1704)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.NullPointerException: uriString
at android.net.Uri$StringUri.(Uri.java:490)
at android.net.Uri$StringUri.(Uri.java:480)
at android.net.Uri.parse(Uri.java:452)
at net.schueller.peertube.service.VideoPlayerService.playVideo(VideoPlayerService.java:175)
at net.schueller.peertube.service.VideoPlayerService.onStartCommand(VideoPlayerService.java:140)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3700)
... 8 more

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.