aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/facebook/retro')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt20
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt22
2 files changed, 37 insertions, 5 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt
index 746bf0df..f82c041c 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/FrostApi.kt
@@ -4,9 +4,9 @@ import android.content.Context
import com.facebook.stetho.okhttp3.StethoInterceptor
import com.google.gson.GsonBuilder
import com.pitchedapps.frost.BuildConfig
+import com.pitchedapps.frost.utils.L
import io.reactivex.schedulers.Schedulers
-import okhttp3.Cache
-import okhttp3.OkHttpClient
+import okhttp3.*
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
@@ -20,7 +20,7 @@ import java.io.File
*/
object FrostApi {
- internal lateinit var frostApi: IFrost
+ lateinit var frostApi: IFrost
operator fun invoke(context: Context) {
val cacheDir = File(context.cacheDir, "responses")
@@ -29,6 +29,18 @@ object FrostApi {
val client = OkHttpClient.Builder()
.addInterceptor(FrostInterceptor(context))
+ .cookieJar(object : CookieJar {
+ override fun saveFromResponse(url: HttpUrl, cookies: List<Cookie>) {
+ L.e("COOKIES")
+ L.e(url.toString())
+ cookies.forEach { c -> L.e(c.toString()) }
+ }
+
+ override fun loadForRequest(url: HttpUrl): List<Cookie> {
+ TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
+ }
+
+ })
.cache(cache)
@@ -42,7 +54,7 @@ object FrostApi {
val gson = GsonBuilder().setLenient()
val retrofit = Retrofit.Builder()
- .baseUrl("https://graph.facebook.com/")
+ .baseUrl("https://touch.facebook.com/")
.addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
.addConverterFactory(GsonConverterFactory.create(gson.create()))
.client(client.build())
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt
index 6c50fa74..b9048fe0 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/retro/IFrost.kt
@@ -1,7 +1,11 @@
package com.pitchedapps.frost.facebook.retro
import com.pitchedapps.frost.facebook.token
+import com.pitchedapps.frost.utils.L
+import okhttp3.ResponseBody
import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Query
@@ -11,6 +15,22 @@ import retrofit2.http.Query
interface IFrost {
@GET("me")
- fun me(@Query(ACCESS_TOKEN) accessToken: String? = token): Call<Me>
+ fun me(): Call<ResponseBody>
+
+}
+
+fun <T> Call<T>.enqueueFrost(success: (call: Call<T>, response: Response<T>) -> Unit) {
+ this.enqueue(object : Callback<T> {
+ override fun onFailure(call: Call<T>?, t: Throwable?) {
+ L.e("Frost enqueue error")
+ }
+
+ override fun onResponse(call: Call<T>, response: Response<T>) {
+ if (response.isSuccessful && !call.isCanceled)
+ success.invoke(call, response)
+ else
+ L.e("Frost response received but not successful")
+ }
+ })
} \ No newline at end of file