jerrellmardis / amphitheatre Goto Github PK
View Code? Open in Web Editor NEWAmphitheatre is an Android TV app that connects with network shares, organizes and serves videos to any Android capable media player app.
License: Apache License 2.0
Amphitheatre is an Android TV app that connects with network shares, organizes and serves videos to any Android capable media player app.
License: Apache License 2.0
This category would include recommended movies and tv shows based on the user's watch history. For instance, if a user watched the first episode of Breaking Bad, this section would include the 2nd episode of Breaking Bad. Another scenario would be if the user watched a few Action movies then this would include Action movies or genres that are relevant to the user's most recent watch history.
The TheTVDB has a wider range of available shows so we should probably use that instead.
If you have one movie( one of the supported files ) in your samba shared folder, app fails to update the library when you add a source.
To produce this, add a source with a shared folder that has only one supported file in it. See a toast message show up saying it failed to update the library. I have attached the Exception thrown as well and a sample directory structure
Public
`-- Eat
`-- Eat\ Pray\ Love.mkv
Exception:
08-08 09:11:03.475: W/System.err(3001): java.lang.IllegalArgumentException: Size must be greater than 0
08-08 09:11:03.475: W/System.err(3001): at org.apache.commons.collections4.ListUtils.partition(ListUtils.java:659)
08-08 09:11:03.475: W/System.err(3001): at com.jerrellmardis.amphitheatre.task.GetFilesTask.onPostExecute(GetFilesTask.java:77)
08-08 09:11:03.475: W/System.err(3001): at com.jerrellmardis.amphitheatre.task.GetFilesTask.onPostExecute(GetFilesTask.java:37)
08-08 09:11:03.475: W/System.err(3001): at android.os.AsyncTask.finish(AsyncTask.java:632)
08-08 09:11:03.475: W/System.err(3001): at android.os.AsyncTask.access$600(AsyncTask.java:177)
08-08 09:11:03.475: W/System.err(3001): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
08-08 09:11:03.475: W/System.err(3001): at android.os.Handler.dispatchMessage(Handler.java:102)
08-08 09:11:03.475: W/System.err(3001): at android.os.Looper.loop(Looper.java:135)
08-08 09:11:03.475: W/System.err(3001): at android.app.ActivityThread.main(ActivityThread.java:5070)
08-08 09:11:03.475: W/System.err(3001): at java.lang.reflect.Method.invoke(Native Method)
08-08 09:11:03.476: W/System.err(3001): at java.lang.reflect.Method.invoke(Method.java:372)
08-08 09:11:03.476: W/System.err(3001): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
08-08 09:11:03.476: W/System.err(3001): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
When files.size()
is 1 this files.size() / maxPoolSize;
calculation returns 0 and it seems ListUtils.partition
expects a value greater than 0 for the partitionSize
Navigate to an item, background changes, navigate back to the menu (and elsewhere)
This was a frustrating issue that came up while debugging.
VideoUtils.isVideoFile
works fine if the extension is lowercase, like .mov
or .vob
. When the extension is capitalized, like .VOB
for some reason, the method returns false. This is obviously incorrect.
Below is the fixed method
public static boolean isVideoFile(String s) {
String[] fileTypes = new String[]{".3gp", ".aaf.", "mp4", ".ts", ".webm", ".m4v", ".mkv", ".divx", ".xvid", ".rec", ".avi", ".flv", ".f4v", ".moi", ".mpeg", ".mpg", /*".mts", ".m2ts",*/ ".ogv", ".rm", ".rmvb", ".mov", ".wmv", /*".iso",*/ ".vob", ".ifo", ".wtv", ".pyv", ".ogm", /*".img"*/};
int count = fileTypes.length;
for (int i = 0; i < count; i++)
if (s.toLowerCase().endsWith(fileTypes[i]))
return true;
return false;
}
To keep things open, I plan to switch the license from Apache v2 to GPLv3. Any concerns by anyone?
The app should keep track of what shows and/or movies the user has watched.
Currently, the two TV shows with the most recent show airing and the movie with the most recent release date are recommended to the user. This is not ideal. The recommendation logic should also take into consideration whether or not a user has watched the video being recommended, a video's ratings and the user's recent "taste" in videos. For instance, if a user has recently watched a bunch of action movies then Amphitheatre should recommend more action movies.
What is the format and what is supported?
Thanks.
Let's say I have a computer with multiple drives. I only want to share one. The rest should remain inaccessible. For simplicity, I just want to add the whole IP as a source. If I do that, the app breaks.
There's a line in VideoUtils.getFilesFromDir
that creates the error.
Collections.addAll(smbFiles, file.listFiles());
If the directory cannot be accessed, file.listFiles()
creates an exception and breaks the whole app.
I'm currently working on a fix that will catch inaccessible directories but still allow accessible directories to be accessed.
After adding a share you should immediately be taken to the main screen with the synchronizing task displayed somewhere secondary (off to a corner). As data comes in, the UI should update to display it.
This changes the pipeline a bit. Right now everything is done in batches. This would require pushing files through the pipeline of discovery, API lookup, and persisted into the DB individually. While likely overall slower, the incremental nature and being able to immediately play with the UI will make that moot.
A quick user story: After entering my share credentials the following happens:
Some basic progress indicator in the screen corner etc. would be super helpful.
Love your work!
I haven't dug into the code yet, but I get OOMs when trying to synchronize my entire share.
art I Background sticky concurrent mark sweep GC freed 195119(9MB) AllocSpace objects, 0(0B) LOS objects, 230% free,
49MB/62MB, paused 1.020ms total 113.741ms
I Background partial concurrent mark sweep GC freed 90603(4MB) AllocSpace objects, 0(0B) LOS objects, 217% free,
52MB/64MB, paused 1.538ms total 134.108ms
I Background sticky concurrent mark sweep GC freed 200995(10MB) AllocSpace objects, 0(0B) LOS objects, 185% free
, 58MB/72MB, paused 1.338ms total 115.945ms
I Background partial concurrent mark sweep GC freed 77301(4MB) AllocSpace objects, 0(0B) LOS objects, 174% free,
62MB/74MB, paused 807us total 147.639ms
I Background sticky concurrent mark sweep GC freed 198383(10MB) AllocSpace objects, 0(0B) LOS objects, 151% free
, 68MB/82MB, paused 2.206ms total 104.410ms
I Background partial concurrent mark sweep GC freed 79094(4MB) AllocSpace objects, 0(0B) LOS objects, 142% free,
72MB/84MB, paused 2.457ms total 172.552ms
I Background sticky concurrent mark sweep GC freed 195057(10MB) AllocSpace objects, 0(0B) LOS objects, 123% free
, 77MB/92MB, paused 2.084ms total 107.538ms
I Background partial concurrent mark sweep GC freed 70351(3MB) AllocSpace objects, 0(0B) LOS objects, 116% free,
82MB/94MB, paused 3.815ms total 183.320ms
I Background sticky concurrent mark sweep GC freed 190415(12MB) AllocSpace objects, 0(0B) LOS objects, 104% free
, 85MB/102MB, paused 526us total 117.485ms
I Background partial concurrent mark sweep GC freed 195634(9MB) AllocSpace objects, 0(0B) LOS objects, 106% free
, 83MB/102MB, paused 568us total 227.757ms
I Background sticky concurrent mark sweep GC freed 201690(14MB) AllocSpace objects, 0(0B) LOS objects, 102% free
, 85MB/104MB, paused 1.420ms total 139.381ms
I Background partial concurrent mark sweep GC freed 192194(9MB) AllocSpace objects, 0(0B) LOS objects, 104% free
, 83MB/104MB, paused 937us total 212.435ms
am_on_paused_called I [0,com.jerrellmardis.amphitheatre.activity.MainActivity]
am_on_resume_called I [0,com.jerrellmardis.amphitheatre.activity.MainActivity]
art I Background sticky concurrent mark sweep GC freed 200359(14MB) AllocSpace objects, 0(0B) LOS objects, 102% free
, 85MB/104MB, paused 646us total 105.745ms
InputConnectionWrapper W getTextAfterCursor on inactive InputConnection
W getTextAfterCursor on inactive InputConnection
art I Background partial concurrent mark sweep GC freed 1095509(71MB) AllocSpace objects, 0(0B) LOS objects, 163% fr
ee, 22MB/104MB, paused 1.233ms total 138.371ms
InputEventReceiver W Attempted to finish an input event but the input event receiver has already been disposed.
art I Background sticky concurrent mark sweep GC freed 187981(10MB) AllocSpace objects, 0(0B) LOS objects, 143% free
, 42MB/104MB, paused 1.111ms total 120.673ms
I Background partial concurrent mark sweep GC freed 97437(5MB) AllocSpace objects, 0(0B) LOS objects, 141% free,
44MB/104MB, paused 1.469ms total 117.344ms
I Background sticky concurrent mark sweep GC freed 182008(10MB) AllocSpace objects, 0(0B) LOS objects, 135% free
, 50MB/104MB, paused 593us total 108.854ms
I Background partial concurrent mark sweep GC freed 101172(5MB) AllocSpace objects, 0(0B) LOS objects, 133% free
, 53MB/104MB, paused 1.841ms total 142.650ms
I Background sticky concurrent mark sweep GC freed 190111(10MB) AllocSpace objects, 0(0B) LOS objects, 127% free
, 58MB/104MB, paused 2.895ms total 116.073ms
I Background partial concurrent mark sweep GC freed 96564(5MB) AllocSpace objects, 0(0B) LOS objects, 125% free,
61MB/104MB, paused 1.355ms total 148.287ms
I Background sticky concurrent mark sweep GC freed 185972(10MB) AllocSpace objects, 0(0B) LOS objects, 120% free
, 67MB/104MB, paused 1.243ms total 118.253ms
I Background partial concurrent mark sweep GC freed 100304(5MB) AllocSpace objects, 0(0B) LOS objects, 117% free
, 69MB/104MB, paused 3.862ms total 170.293ms
I Background sticky concurrent mark sweep GC freed 189253(10MB) AllocSpace objects, 0(0B) LOS objects, 111% free
, 75MB/104MB, paused 1.399ms total 127.903ms
I Background partial concurrent mark sweep GC freed 99218(5MB) AllocSpace objects, 0(0B) LOS objects, 109% free,
78MB/104MB, paused 1.223ms total 191.643ms
I Background sticky concurrent mark sweep GC freed 181007(9MB) AllocSpace objects, 0(0B) LOS objects, 103% free,
84MB/104MB, paused 1.818ms total 131.777ms
I Background partial concurrent mark sweep GC freed 96548(5MB) AllocSpace objects, 0(0B) LOS objects, 101% free,
86MB/104MB, paused 879us total 209.361ms
I Background sticky concurrent mark sweep GC freed 185298(10MB) AllocSpace objects, 0(0B) LOS objects, 94% free,
91MB/106MB, paused 2.418ms total 113.988ms
I Background partial concurrent mark sweep GC freed 100558(5MB) AllocSpace objects, 0(0B) LOS objects, 91% free,
94MB/106MB, paused 1.675ms total 230.332ms
I Background sticky concurrent mark sweep GC freed 188504(10MB) AllocSpace objects, 0(0B) LOS objects, 80% free,
100MB/114MB, paused 1.880ms total 122.054ms
I Background partial concurrent mark sweep GC freed 107936(5MB) AllocSpace objects, 0(0B) LOS objects, 76% free,
103MB/116MB, paused 879us total 262.056ms
I Background sticky concurrent mark sweep GC freed 186559(10MB) AllocSpace objects, 0(0B) LOS objects, 67% free,
108MB/124MB, paused 867us total 115.307ms
I Background partial concurrent mark sweep GC freed 91443(4MB) AllocSpace objects, 0(0B) LOS objects, 64% free,
112MB/124MB, paused 2.678ms total 281.785ms
I Background sticky concurrent mark sweep GC freed 175120(9MB) AllocSpace objects, 0(0B) LOS objects, 55% free,
118MB/132MB, paused 1.643ms total 120.786ms
I Background partial concurrent mark sweep GC freed 93671(5MB) AllocSpace objects, 0(0B) LOS objects, 52% free,
122MB/134MB, paused 1.059ms total 295.718ms
I Background sticky concurrent mark sweep GC freed 185456(10MB) AllocSpace objects, 0(0B) LOS objects, 45% free,
127MB/142MB, paused 2.133ms total 112.523ms
I Background partial concurrent mark sweep GC freed 97019(5MB) AllocSpace objects, 0(0B) LOS objects, 41% free,
131MB/144MB, paused 1.314ms total 325.673ms
I Background sticky concurrent mark sweep GC freed 188392(10MB) AllocSpace objects, 0(0B) LOS objects, 35% free,
137MB/152MB, paused 2.996ms total 126.991ms
I Background sticky concurrent mark sweep GC freed 94204(5MB) AllocSpace objects, 0(0B) LOS objects, 33% free, 1
40MB/152MB, paused 2.017ms total 102.979ms
I Background partial concurrent mark sweep GC freed 91484(4MB) AllocSpace objects, 0(0B) LOS objects, 32% free,
141MB/154MB, paused 1.309ms total 313.886ms
I Background sticky concurrent mark sweep GC freed 188304(10MB) AllocSpace objects, 0(0B) LOS objects, 27% free,
146MB/162MB, paused 4.229ms total 108.989ms
I Background partial concurrent mark sweep GC freed 102126(5MB) AllocSpace objects, 0(0B) LOS objects, 24% free,
151MB/164MB, paused 3.073ms total 368.522ms
I Background sticky concurrent mark sweep GC freed 184152(10MB) AllocSpace objects, 0(0B) LOS objects, 20% free,
156MB/172MB, paused 4.328ms total 123.676ms
I Background partial concurrent mark sweep GC freed 99666(5MB) AllocSpace objects, 0(0B) LOS objects, 17% free,
160MB/174MB, paused 5.450ms total 372.174ms
I Background sticky concurrent mark sweep GC freed 173147(9MB) AllocSpace objects, 0(0B) LOS objects, 13% free,
167MB/182MB, paused 1.045ms total 131.391ms
I Background partial concurrent mark sweep GC freed 83301(5MB) AllocSpace objects, 0(0B) LOS objects, 11% free,
170MB/184MB, paused 6.164ms total 393.221ms
I Background sticky concurrent mark sweep GC freed 188841(10MB) AllocSpace objects, 0(0B) LOS objects, 8% free,
176MB/192MB, paused 2.607ms total 129.883ms
I Clamp target GC heap from 197MB to 192MB
I Background partial concurrent mark sweep GC freed 96029(5MB) AllocSpace objects, 0(0B) LOS objects, 5% free, 1
81MB/194MB, paused 7.016ms total 446.845ms
I Background sticky concurrent mark sweep GC freed 121110(6MB) AllocSpace objects, 0(0B) LOS objects, 3% free, 1
85MB/198MB, paused 3.463ms total 100.827ms
I Clamp target GC heap from 204MB to 192MB
I Background partial concurrent mark sweep GC freed 61308(3MB) AllocSpace objects, 0(0B) LOS objects, 1% free, 1
88MB/198MB, paused 1.442ms total 399.028ms
I WaitForGcToComplete blocked for 260.400583ms for cause Alloc
I Clamp target GC heap from 206MB to 192MB
I Background partial concurrent mark sweep GC freed 33268(1875KB) AllocSpace objects, 0(0B) LOS objects, 0% free
, 190MB/200MB, paused 3.170ms total 391.827ms
I WaitForGcToComplete blocked for 271.096749ms for cause Alloc
I Clamp target GC heap from 206MB to 192MB
I Background partial concurrent mark sweep GC freed 20601(1149KB) AllocSpace objects, 0(0B) LOS objects, 0% free
, 190MB/200MB, paused 2.608ms total 392.369ms
I WaitForGcToComplete blocked for 296.943167ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 13054(736KB) AllocSpace objects, 0(0B) LOS objects, 0% free,
191MB/200MB, paused 1.596ms total 410.612ms
I WaitForGcToComplete blocked for 129.988417ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 8279(465KB) AllocSpace objects, 0(0B) LOS objects, 0% free,
191MB/200MB, paused 2.848ms total 372.988ms
I WaitForGcToComplete blocked for 313.172ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 5918(339KB) AllocSpace objects, 0(0B) LOS objects, 0% free,
191MB/200MB, paused 1.264ms total 366.894ms
I WaitForGcToComplete blocked for 328.605583ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 3772(213KB) AllocSpace objects, 0(0B) LOS objects, 0% free,
191MB/200MB, paused 1.079ms total 352.816ms
I WaitForGcToComplete blocked for 345.053750ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 2514(146KB) AllocSpace objects, 0(0B) LOS objects, 0% free,
191MB/200MB, paused 2.685ms total 369.069ms
I WaitForGcToComplete blocked for 354.663667ms for cause Alloc
I Background sticky concurrent mark sweep GC freed 1675(88KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 19
1MB/200MB, paused 6.716ms total 26.941ms
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 1389(87KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 1
91MB/200MB, paused 2.603ms total 372.877ms
I WaitForGcToComplete blocked for 355.135916ms for cause Alloc
I WaitForGcToComplete blocked for 13.564167ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 1042(54KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 1
91MB/200MB, paused 1.888ms total 355.220ms
I WaitForGcToComplete blocked for 348.897084ms for cause Alloc
I WaitForGcToComplete blocked for 13.220750ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 429(22KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 19
1MB/200MB, paused 1.525ms total 350.681ms
I WaitForGcToComplete blocked for 345.495167ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 491(35KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 19
1MB/200MB, paused 761us total 358.355ms
I WaitForGcToComplete blocked for 351.185917ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 355(19KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 19
1MB/200MB, paused 1.391ms total 360.887ms
I WaitForGcToComplete blocked for 356.534334ms for cause Alloc
I WaitForGcToComplete blocked for 11.179083ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 231(11KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 19
1MB/200MB, paused 1.403ms total 359.712ms
I WaitForGcToComplete blocked for 358.263249ms for cause Alloc
I WaitForGcToComplete blocked for 14.522500ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 94(5KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200
MB, paused 875us total 364.991ms
I WaitForGcToComplete blocked for 365.552167ms for cause Background
I WaitForGcToComplete blocked for 13.421750ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 43(2144B) AllocSpace objects, 0(0B) LOS objects, 0% free, 19
1MB/200MB, paused 833us total 363.024ms
I WaitForGcToComplete blocked for 362.263333ms for cause Alloc
I WaitForGcToComplete blocked for 17.425167ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 21(880B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191
MB/200MB, paused 748us total 345.078ms
I WaitForGcToComplete blocked for 345.705334ms for cause Alloc
I Alloc sticky concurrent mark sweep GC freed 5(336B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 1.392ms total 16.908ms
I WaitForGcToComplete blocked for 16.947833ms for cause Background
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 11(800B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191
MB/200MB, paused 1.206ms total 350.917ms
I WaitForGcToComplete blocked for 349.705417ms for cause Alloc
I WaitForGcToComplete blocked for 6.271083ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 9(304B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191M
B/200MB, paused 769us total 362.719ms
I WaitForGcToComplete blocked for 363.050250ms for cause Alloc
I Alloc sticky concurrent mark sweep GC freed 1(32B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB
, paused 1.215ms total 8.829ms
I WaitForGcToComplete blocked for 9.051750ms for cause Background
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 9(304B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200
MB, paused 1.598ms total 349.239ms
I WaitForGcToComplete blocked for 6.863917ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 1.482ms total 345.494ms
I WaitForGcToComplete blocked for 345.718084ms for cause Alloc
I WaitForGcToComplete blocked for 345.803833ms for cause Background
I WaitForGcToComplete blocked for 11.533917ms for cause Alloc
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 1.381ms total 10.303ms
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 6(12KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paus
ed 1.591ms total 360.025ms
I WaitForGcToComplete blocked for 15.152500ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 100(5KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/20
0MB, paused 1.618ms total 350.577ms
I WaitForGcToComplete blocked for 350.001084ms for cause Background
I WaitForGcToComplete blocked for 14.571583ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 44(2400B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/2
00MB, paused 1.389ms total 350.564ms
I WaitForGcToComplete blocked for 350.047333ms for cause Background
I WaitForGcToComplete blocked for 14.522667ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 26(1328B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/2
00MB, paused 1.616ms total 335.535ms
I WaitForGcToComplete blocked for 335.795667ms for cause Background
I WaitForGcToComplete blocked for 9.686583ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 6(192B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200
MB, paused 1.304ms total 350.064ms
I WaitForGcToComplete blocked for 350.675834ms for cause Background
I WaitForGcToComplete blocked for 9.704416ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 7(464B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191M
B/200MB, paused 726us total 362.576ms
I WaitForGcToComplete blocked for 363.036667ms for cause Alloc
I WaitForGcToComplete blocked for 363.268084ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 1.241ms total 360.112ms
I WaitForGcToComplete blocked for 359.032667ms for cause Background
I WaitForGcToComplete blocked for 14.627500ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 8(464B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200
MB, paused 744us total 339.958ms
I WaitForGcToComplete blocked for 338.451833ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 743us total 348.802ms
I Alloc sticky concurrent mark sweep GC freed 3(112B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 715us total 11.886ms
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 6(192B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200
MB, paused 755us total 355.978ms
I WaitForGcToComplete blocked for 715.789584ms for cause Background
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB
/200MB, paused 1.532ms total 381.857ms
I WaitForGcToComplete blocked for 382.044500ms for cause Alloc
I WaitForGcToComplete blocked for 391.464334ms for cause Alloc
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 1.240ms total 9.625ms
I WaitForGcToComplete blocked for 9.075833ms for cause Background
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB
/200MB, paused 1.646ms total 357.263ms
I WaitForGcToComplete blocked for 357.835499ms for cause Alloc
I WaitForGcToComplete blocked for 356.711750ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 1.236ms total 380.687ms
I WaitForGcToComplete blocked for 379.932833ms for cause Background
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB
/200MB, paused 765us total 365.231ms
I WaitForGcToComplete blocked for 365.586416ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB
, paused 765us total 365.108ms
I WaitForGcToComplete blocked for 739.955750ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 5(128B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paus
ed 756us total 365.780ms
I WaitForGcToComplete blocked for 365.185416ms for cause Background
I WaitForGcToComplete blocked for 8.713667ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 4(144B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200
MB, paused 1.477ms total 364.418ms
I WaitForGcToComplete blocked for 364.781167ms for cause Alloc
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 1.434ms total 11.496ms
I WaitForGcToComplete blocked for 11.915501ms for cause Background
I WaitForGcToComplete blocked for 12.009ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 1(64B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 756us total 358.665ms
I WaitForGcToComplete blocked for 359.305166ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB
, paused 768us total 365.765ms
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 1(32B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, pause
d 1.410ms total 377.932ms
I WaitForGcToComplete blocked for 739.218083ms for cause Background
I WaitForGcToComplete blocked for 9.915750ms for cause Alloc
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 741us total 8.932ms
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB
, paused 1.636ms total 365.446ms
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
774us total 372.651ms
I Forcing collection of SoftReferences for 36B allocation
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
1.529ms total 377.069ms
E Throwing OutOfMemoryError "Failed to allocate a 36 byte allocation with 19 free bytes"
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 1.963ms total 12.886ms
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB
, paused 1.671ms total 366.654ms
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
1.856ms total 370.393ms
I Forcing collection of SoftReferences for 28B allocation
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
1.518ms total 375.820ms
I WaitForGcToComplete blocked for 3.001006082s for cause Alloc
E Throwing OutOfMemoryError "Failed to allocate a 28 byte allocation with 19 free bytes" (recursive case)
E "FinalizerDaemon" daemon prio=5 tid=8 Runnable
E | group="system" sCount=0 dsCount=0 obj=0x786bc0e0 self=0xb838e300
E | sysTid=11983 nice=0 cgrp=apps sched=0/0 handle=0xb838e718
E | state=R schedstat=( 0 0 0 ) utm=658 stm=109 core=0 HZ=100
E | stack=0x9dd3c000-0x9dd40000 stackSize=1040KB
E at java.lang.ref.FinalizerReference.add(FinalizerReference.java:54)
E at com.android.internal.os.BinderInternal$GcWatcher.finalize(BinderInternal.java:40)
E at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:190)
E at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:173)
E at java.lang.Thread.run(Thread.java:818)
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 1.454ms total 14.381ms
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 4(112B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200
MB, paused 1.680ms total 376.196ms
I WaitForGcToComplete blocked for 11.926250ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 2(80B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200M
B, paused 791us total 375.003ms
I WaitForGcToComplete blocked for 375.364333ms for cause Background
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 1(32B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB
/200MB, paused 1.635ms total 377.509ms
I WaitForGcToComplete blocked for 380.087167ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 4(192B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191M
B/200MB, paused 1.281ms total 348.114ms
I WaitForGcToComplete blocked for 346.291417ms for cause Alloc
I WaitForGcToComplete blocked for 7.232001ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB
, paused 749us total 347.568ms
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 1.658ms total 11.904ms
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
1.799ms total 353.925ms
I Forcing collection of SoftReferences for 100B allocation
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
1.345ms total 358.897ms
E Throwing OutOfMemoryError "Failed to allocate a 100 byte allocation with 99 free bytes"
I WaitForGcToComplete blocked for 7.340417ms for cause Alloc
I Clamp target GC heap from 207MB to 192MB
I Background partial concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/
200MB, paused 1.625ms total 358.422ms
I WaitForGcToComplete blocked for 356.807250ms for cause Alloc
I Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB,
paused 1.285ms total 9.285ms
I Clamp target GC heap from 207MB to 192MB
I Alloc partial concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB
, paused 1.456ms total 358.866ms
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
1.299ms total 362.479ms
I Forcing collection of SoftReferences for 130B allocation
I Clamp target GC heap from 207MB to 192MB
I Alloc concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 191MB/200MB, paused
760us total 375.879ms
E Throwing OutOfMemoryError "Failed to allocate a 130 byte allocation with 67 free bytes" (recursive case)
E "AsyncTask #2" prio=5 tid=17 Runnable
E | group="main" sCount=0 dsCount=0 obj=0x78d4c080 self=0xb849c6d8
E | sysTid=12171 nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0xb849ca50
E | state=R schedstat=( 0 0 0 ) utm=9267 stm=2815 core=2 HZ=100
E | stack=0x9b833000-0x9b837000 stackSize=1040KB
E at jcifs.smb.SmbFile.getUncPath0(SmbFile.java:1140)
E at jcifs.smb.SmbFile.<init>(SmbFile.java:617)
E at jcifs.smb.SmbFile.<init>(SmbFile.java:603)
E at jcifs.smb.SmbFile.<init>(SmbFile.java:624)
E at jcifs.smb.SmbFile.doFindFirstNext(SmbFile.java:2018)
E at jcifs.smb.SmbFile.doEnum(SmbFile.java:1745)
E at jcifs.smb.SmbFile.listFiles(SmbFile.java:1722)
E at jcifs.smb.SmbFile.listFiles(SmbFile.java:1655)
E at com.jerrellmardis.amphitheatre.util.VideoUtils.getFilesFromDir(VideoUtils.java:212)
E at com.jerrellmardis.amphitheatre.util.VideoUtils.getFilesFromDir(VideoUtils.java:218)
E at com.jerrellmardis.amphitheatre.util.VideoUtils.getFilesFromDir(VideoUtils.java:218)
E at com.jerrellmardis.amphitheatre.task.GetFilesTask.getFiles(GetFilesTask.java:105)
E at com.jerrellmardis.amphitheatre.task.GetFilesTask.doInBackground(GetFilesTask.java:65)
E at com.jerrellmardis.amphitheatre.task.GetFilesTask.doInBackground(GetFilesTask.java:35)
E at android.os.AsyncTask$2.call(AsyncTask.java:288)
E at java.util.concurrent.FutureTask.run(FutureTask.java:237)
E at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
E at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E at java.lang.Thread.run(Thread.java:818)
I WaitForGcToComplete blocked for 5.785917ms for cause Alloc
I Alloc partial concurrent mark sweep GC freed 2416362(174MB) AllocSpace objects, 0(0B) LOS objects, 87% free, 1
7MB/200MB, paused 721us total 369.963ms
AndroidRuntime E FATAL EXCEPTION: AsyncTask #2
E Process: com.jerrellmardis.amphitheatre, PID: 11965
E java.lang.RuntimeException: An error occured while executing doInBackground()
E at android.os.AsyncTask$3.done(AsyncTask.java:300)
E at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
E at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
E at java.util.concurrent.FutureTask.run(FutureTask.java:242)
E at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
E at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E at java.lang.Thread.run(Thread.java:818)
E Caused by: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stac
k available
am_on_paused_called I [0,com.jerrellmardis.amphitheatre.activity.MainActivity]
Process I Sending signal. PID: 11965 SIG: 9
The newInstance() method sets a callback on the Fragment which is shouldn't.
I don't think the current share discovery implementation is the best for the "10ft environment". Currently, it lists all the users share folders in a Spinner, excludes top-level share folders and does not allow the user to input their credentials before it attempts to auto-discover shares.
Suggestions to improve the experience
Thoughts?
/cc @rharter @JakeWharton
I have a pretty large hard drive full of media that I'm connecting using SMB. After about 10 minutes of traversing, the app crashed with the attached exception.
It seems like the problem is keeping all the files stored in the variables at the top of the VideoUtils.getFilesFromDir
method.
Currently working on a new method of traversing library to be memory safe
List<SmbFile> results
Set<SmbFile> seen
Deque<SmbFile> queue
06-08 00:45:24.891 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ Throwing
OutOfMemoryError "Failed to allocate a 28 byte allocation with 0 free bytes and 3GB until OOM"
(recursive case)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ "AsyncTask #4"
prio=5 tid=26 Runnable
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ | group="main"
sCount=0 dsCount=0 obj=0x132188e0 self=0xb8b4f478
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ | sysTid=13915
nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0xb8b4f850
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ | state=R schedstat=
( 0 0 0 ) utm=8300 stm=2760 core=1 HZ=100
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ | stack=0xa132c000-
0xa132e000 stackSize=1036KB
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ | held mutexes=
"mutator lock"(shared held)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
java.lang.String.replace(String.java:1195)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
jcifs.smb.SmbFile.getUncPath0(SmbFile.java:1198)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at jcifs.smb.SmbFile.
<init>(SmbFile.java:617)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at jcifs.smb.SmbFile.
<init>(SmbFile.java:603)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at jcifs.smb.SmbFile.
<init>(SmbFile.java:624)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
jcifs.smb.SmbFile.doFindFirstNext(SmbFile.java:2018)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
jcifs.smb.SmbFile.doEnum(SmbFile.java:1745)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
jcifs.smb.SmbFile.listFiles(SmbFile.java:1722)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
jcifs.smb.SmbFile.listFiles(SmbFile.java:1655)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
com.jerrellmardis.amphitheatre.util.VideoUtils.getFilesFromDir(VideoUtils.java:311)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
com.jerrellmardis.amphitheatre.task.DownloadTaskHelper.getFiles(DownloadTaskHelper.java:62)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
com.jerrellmardis.amphitheatre.task.GetFilesTask.doInBackground(GetFilesTask.java:82)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
com.jerrellmardis.amphitheatre.task.GetFilesTask.doInBackground(GetFilesTask.java:42)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
android.os.AsyncTask$2.call(AsyncTask.java:288)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
java.util.concurrent.FutureTask.run(FutureTask.java:237)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ at
java.lang.Thread.run(Thread.java:818)
06-08 00:45:24.893 13780-13915/com.jerrellmardis.amphitheatre.dev E/art﹕ [ 06-08 00:45:25.108
13780:13799 I/art ]
Alloc partial concurrent mark sweep GC freed 2229092(163MB) AllocSpace objects, 0(0B) LOS
objects, 36% free, 28MB/44MB, paused 749us total 217.836ms
06-08 00:45:25.110 13780-13806/com.jerrellmardis.amphitheatre.dev I/art﹕
WaitForGcToComplete blocked for 219.665ms for cause Background
06-08 00:45:25.111 13780-13915/com.jerrellmardis.amphitheatre.dev I/art﹕
WaitForGcToComplete blocked for 214.654ms for cause Alloc
06-08 00:45:25.138 13780-13915/com.jerrellmardis.amphitheatre.dev E/AndroidRuntime﹕ FATAL
EXCEPTION: AsyncTask #4
Process: com.jerrellmardis.amphitheatre.dev, PID: 13780
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw
OutOfMemoryError; no stack available
06-08 00:45:25.142 476-1776/? W/ActivityManager﹕ Force finishing activity
com.jerrellmardis.amphitheatre.dev/com.jerrellmardis.amphitheatre.activity.BrowseActivity
06-08 00:45:25.152 13780-13915/com.jerrellmardis.amphitheatre.dev I/Process﹕ Sending signal.
PID: 13780 SIG: 9
06-08 00:45:25.245 476-1776/? I/WindowState﹕ WIN DEATH: Window{a3b71c9 u0
com.jerrellmardis.amphitheatre.dev/com.jerrellmardis.amphitheatre.activity.BrowseActivity}
06-08 00:45:25.354 476-492/? I/ActivityManager﹕ Process com.jerrellmardis.amphitheatre.dev
(pid 13780) has died
I noticed on the verticalgridview, if the posters title has different number of lines on the same row, the screen seems to jump around/recenter on the new height. Is there way to lock it into position for a row so it's not a jittery?
Awesome app by the way!
It takes too long to download TV show and movie content.
More categories are needed in order to help users with large libraries better navigate through their content. Similar to the Google Play Movies app on Android TV Amphitheatre should provide categories for the following: Popular Movies, Popular TV Shows, New Movie Releases, Recommended for You, Movies by Year, TV Genres, Movies Genres and more.
For now this issue should remain a discussion thread until the necessary categories are determined. The decision made here will affect the UI and UX greatly and I want to make sure the UI remains as simple as possible.
Thoughts?
I'm not sure how it's done, but my Boxee Box can automatically discover my exposed Samba shares on the network.
This comes from DownloadTaskHelper.java
video.setOverview(movie.getOverview());
video.setName(movie.getTitle());
**video.setIsMatched(true);
video.setMovie(movie);
Shouldnt it be false when creating and setting it to true when actually the video's streaming starts?
System.err W java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
W at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
W at java.util.ArrayList.get(ArrayList.java:308)
W at com.jerrellmardis.amphitheatre.task.DownloadMovieInfoTask.doInBackground(DownloadMovieInfoTask.java:107
)
W at com.jerrellmardis.amphitheatre.task.DownloadMovieInfoTask.doInBackground(DownloadMovieInfoTask.java:38)
W at android.os.AsyncTask$2.call(AsyncTask.java:288)
W at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W at java.lang.Thread.run(Thread.java:818)
Once the app starts looking for network shares it crashes.
08-10 11:11:00.290 29388-29837/com.jerrellmardis.amphitheatre.dev E/NetworkSearchTask﹕ Failed to search network for shares.
jcifs.smb.SmbException: Failed to connect to server
java.net.UnknownHostException: ..__MSBROWSE__.<01>
at jcifs.netbios.NbtAddress.doNameQuery(NbtAddress.java:317)
at jcifs.netbios.NbtAddress.getByName(NbtAddress.java:422)
at jcifs.netbios.NbtAddress.getByName(NbtAddress.java:403)
at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:853)
at jcifs.smb.SmbFile.connect(SmbFile.java:954)
at jcifs.smb.SmbFile.connect0(SmbFile.java:883)
at jcifs.smb.SmbFile.doNetServerEnum(SmbFile.java:1921)
at jcifs.smb.SmbFile.doEnum(SmbFile.java:1741)
at jcifs.smb.SmbFile.listFiles(SmbFile.java:1722)
at jcifs.smb.SmbFile.listFiles(SmbFile.java:1655)
at com.jerrellmardis.amphitheatre.task.NetworkSearchTask.doInBackground(NetworkSearchTask.java:35)
at com.jerrellmardis.amphitheatre.task.NetworkSearchTask.doInBackground(NetworkSearchTask.java:16)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
at jcifs.smb.SmbFile.connect0(SmbFile.java:885)
at jcifs.smb.SmbFile.doNetServerEnum(SmbFile.java:1921)
at jcifs.smb.SmbFile.doEnum(SmbFile.java:1741)
at jcifs.smb.SmbFile.listFiles(SmbFile.java:1722)
at jcifs.smb.SmbFile.listFiles(SmbFile.java:1655)
at com.jerrellmardis.amphitheatre.task.NetworkSearchTask.doInBackground(NetworkSearchTask.java:35)
at com.jerrellmardis.amphitheatre.task.NetworkSearchTask.doInBackground(NetworkSearchTask.java:16)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
08-10 11:11:00.323 29388-29388/com.jerrellmardis.amphitheatre.dev E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.jerrellmardis.amphitheatre.dev, PID: 29388
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object[] java.util.Collection.toArray()' on a null object reference
at java.util.ArrayList.addAll(ArrayList.java:188)
at android.widget.ArrayAdapter.addAll(ArrayAdapter.java:195)
at com.jerrellmardis.amphitheatre.fragment.AddSourceDialogFragment.onSharesFound(AddSourceDialogFragment.java:162)
at com.jerrellmardis.amphitheatre.task.NetworkSearchTask.onPostExecute(NetworkSearchTask.java:98)
at com.jerrellmardis.amphitheatre.task.NetworkSearchTask.onPostExecute(NetworkSearchTask.java:16)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5070)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
A user should be able to search for their content from the Android TV launcher screen.
Actually I got interested in this project but there are many bugs.. so if someone can continue this project it would be nice..
Add an extra action if trailer is available for Movie or Tv Show. Trailers information can be acquired from TMDB as well. Two options:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.