Skip to content

Commit c4c1cbe

Browse files
committed
Add storage listeners
1 parent 13cb287 commit c4c1cbe

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

sjfirebase/jinterface/storage.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
from jnius import PythonJavaClass, java_method
2+
3+
__all__ = ("OnProgressListener", "OnPausedListener")
4+
5+
6+
class OnProgressListener(PythonJavaClass):
7+
__javainterfaces__ = ["com/google/firebase/storage/OnProgressListener"]
8+
__javacontext__ = "app"
9+
10+
def __init__(self, on_progress):
11+
self.on_progress = on_progress
12+
13+
@java_method("(Ljava/lang/Object;)V")
14+
def onProgress(self, snapshot):
15+
self.on_progress(snapshot)
16+
17+
18+
class OnPausedListener(PythonJavaClass):
19+
__javainterfaces__ = ["com/google/firebase/storage/OnPausedListener"]
20+
__javacontext__ = "app"
21+
22+
def __init__(self, on_paused):
23+
self.on_paused = on_paused
24+
25+
@java_method("(Ljava/lang/Object;)V")
26+
def onPaused(self, snapshot):
27+
self.on_paused(snapshot)
28+
29+
30+
class StreamDownloadTaskStreamProcessor(PythonJavaClass):
31+
__javainterfaces__ = ["com/google/firebase/storage/StreamDownloadTask$StreamProcessor"]
32+
__javacontext__ = "app"
33+
34+
def __init__(self, do_in_background):
35+
self.do_in_background = do_in_background
36+
37+
@java_method("(Lcom/google/firebase/storage/StreamDownloadTask$TaskSnapshot;"
38+
"java/io/InputStream;)V")
39+
def doInBackground(self, state, stream):
40+
self.do_in_background(state, stream)

0 commit comments

Comments
 (0)