aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Android_Studio/Tango.Web/src/main/java
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2017-12-03 10:29:17 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2017-12-03 10:29:17 +0200
commit05c7e42a8ce55a21c94338febad593bfbf638655 (patch)
tree5465475f3565da1b724f4cd9bfcc0eb3b67fd167 /Software/Android_Studio/Tango.Web/src/main/java
parent3a70d596ada24ad6f92f729d564ab29c3e249f06 (diff)
downloadTango-05c7e42a8ce55a21c94338febad593bfbf638655.tar.gz
Tango-05c7e42a8ce55a21c94338febad593bfbf638655.zip
MERGE
Diffstat (limited to 'Software/Android_Studio/Tango.Web/src/main/java')
-rw-r--r--Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/APIFactory.java39
-rw-r--r--Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/ISynchronizationAPI.java20
2 files changed, 59 insertions, 0 deletions
diff --git a/Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/APIFactory.java b/Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/APIFactory.java
new file mode 100644
index 000000000..d244a99c8
--- /dev/null
+++ b/Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/APIFactory.java
@@ -0,0 +1,39 @@
+package com.twine.tango.web;
+
+import java.util.concurrent.TimeUnit;
+
+import okhttp3.OkHttpClient;
+import retrofit2.Retrofit;
+import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+import retrofit2.converter.protobuf.ProtoConverterFactory;
+
+
+public class APIFactory
+{
+ private String base_url;
+
+ public APIFactory(String base_url)
+ {
+ this.base_url = base_url;
+ }
+
+ public ISynchronizationAPI getSynchronizationAPI()
+ {
+ return createAPI(ISynchronizationAPI.class, 60);
+ }
+
+ private <T> T createAPI(Class<?> cls, int timeout)
+ {
+ Retrofit retrofit = new Retrofit.Builder()
+ .baseUrl(base_url)
+ .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .addConverterFactory(ProtoConverterFactory.create())
+ .client(new OkHttpClient.Builder()
+ .readTimeout(timeout, TimeUnit.SECONDS)
+ .writeTimeout(timeout, TimeUnit.SECONDS)
+ .build())
+ .build();
+
+ return (T) retrofit.create(cls);
+ }
+}
diff --git a/Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/ISynchronizationAPI.java b/Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/ISynchronizationAPI.java
new file mode 100644
index 000000000..3a3d34c3a
--- /dev/null
+++ b/Software/Android_Studio/Tango.Web/src/main/java/com/twine/tango/web/ISynchronizationAPI.java
@@ -0,0 +1,20 @@
+package com.twine.tango.web;
+
+import com.twine.tango.pmr.stubs.CalculateRequestOuterClass.CalculateRequest;
+import com.twine.tango.pmr.stubs.CalculateResponseOuterClass.CalculateResponse;
+import com.twine.tango.pmr.synchronization.SynchronizeDBRequestOuterClass.SynchronizeDBRequest;
+import com.twine.tango.pmr.synchronization.SynchronizeDBResponseOuterClass.SynchronizeDBResponse;
+
+import io.reactivex.Observable;
+import retrofit2.http.Body;
+import retrofit2.http.POST;
+
+/**
+ * Created by Roy on 11/30/2017.
+ */
+
+public interface ISynchronizationAPI
+{
+ @POST("Synchronization/Synchronize")
+ Observable<SynchronizeDBResponse> synchronize(@Body SynchronizeDBRequest request);
+}