Skip to content

Commit 8f55e31

Browse files
committed
Update task
1 parent 62a14b8 commit 8f55e31

1 file changed

Lines changed: 59 additions & 0 deletions

File tree

sjfirebase/jinterface/task.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
from jnius import PythonJavaClass, java_method
2+
3+
__all__ = ("OnCompleteListener", "OnCanceledListener", "OnFailureListener", "OnSuccessListener")
4+
5+
6+
class OnCompleteListener(PythonJavaClass):
7+
__javainterfaces__ = ["com/google/android/gms/tasks/OnCompleteListener"]
8+
__javacontext__ = "app"
9+
10+
def __init__(self, callback):
11+
super().__init__()
12+
self.callback = callback
13+
14+
@java_method('(Lcom/google/android/gms/tasks/Task;)V')
15+
def onComplete(self, task):
16+
self.callback(task)
17+
18+
19+
class OnCanceledListener(PythonJavaClass):
20+
__javainterfaces__ = ["com/google/android/gms/tasks/OnCanceledListener"]
21+
__javacontext__ = "app"
22+
23+
def __init__(self, callback):
24+
super().__init__()
25+
self.callback = callback
26+
27+
@java_method('()V')
28+
def onCanceled(self):
29+
self.callback()
30+
31+
32+
class OnFailureListener(PythonJavaClass):
33+
__javainterfaces__ = ["com/google/android/gms/tasks/OnFailureListener"]
34+
__javacontext__ = "app"
35+
36+
def __init__(self, callback):
37+
super().__init__()
38+
self.callback = callback
39+
40+
@java_method('(Ljava.lang.Exception;)V')
41+
def onFailure(self, e):
42+
self.callback(e)
43+
44+
45+
class OnSuccessListener(PythonJavaClass):
46+
__javainterfaces__ = ["com/google/android/gms/tasks/OnSuccessListener"]
47+
__javacontext__ = "app"
48+
49+
def __init__(self, callback, args=False):
50+
super().__init__()
51+
self._args = args
52+
self.callback = callback
53+
54+
@java_method('(Ljava/lang/Object;)V')
55+
def onSuccess(self, obj):
56+
if self._args:
57+
self.callback(obj)
58+
else:
59+
self.callback()

0 commit comments

Comments
 (0)