Skip to content
This repository was archived by the owner on Dec 9, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions android/android.iml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@
<orderEntry type="library" name="com.google.code.gson:gson:2.3" level="project" />
<orderEntry type="library" name="com.jakewharton:disklrucache:2.0.2" level="project" />
<orderEntry type="library" name="com.google.guava:guava:18.0" level="project" />
<orderEntry type="library" name="memorizing-trust-manager-0.9" level="project" />
</component>
</module>
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
package mediabrowser.apiinteraction.android;

import mediabrowser.apiinteraction.android.images.ImageCacheManager;
import mediabrowser.apiinteraction.http.HttpRequest;
import mediabrowser.apiinteraction.http.IAsyncHttpClient;
import mediabrowser.apiinteraction.Response;
import mediabrowser.model.logging.ILogger;
import android.content.Context;
import com.android.volley.*;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.squareup.okhttp.OkHttpClient;
import de.duenndns.ssl.MemorizingTrustManager;
import mediabrowser.apiinteraction.Response;
import mediabrowser.apiinteraction.android.images.ImageCacheManager;
import mediabrowser.apiinteraction.http.HttpRequest;
import mediabrowser.apiinteraction.http.IAsyncHttpClient;
import mediabrowser.model.logging.ILogger;

import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.X509TrustManager;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;

public class VolleyHttpClient implements IAsyncHttpClient {

Expand Down Expand Up @@ -41,10 +51,30 @@ public RequestQueue getRequestQueue() {
// lazy initialize the request queue, the queue instance will be
// created when it is accessed for the first time
if (mRequestQueue == null) {

mRequestQueue = Volley.newRequestQueue(context, new OkHttpStack());
//mRequestQueue = Volley.newRequestQueue(context, new HttpClientStack(new DefaultHttpClient()));
//mRequestQueue = Volley.newRequestQueue(context);
// register MemorizingTrustManager for HTTPS
try {
SSLContext sc;
sc = SSLContext.getInstance("TLS");
MemorizingTrustManager mtm = new MemorizingTrustManager(context);
sc.init(null, new X509TrustManager[]{mtm}, new java.security.SecureRandom());

HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(
mtm.wrapHostnameVerifier(HttpsURLConnection.getDefaultHostnameVerifier()));

OkHttpClient okClient = new OkHttpClient();
okClient.setSslSocketFactory(sc.getSocketFactory());
OkHttpStack okStack = new OkHttpStack(okClient);

mRequestQueue = Volley.newRequestQueue(context, okStack);
//mRequestQueue = Volley.newRequestQueue(context, new HttpClientStack(new DefaultHttpClient()));
//mRequestQueue = Volley.newRequestQueue(context);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
mRequestQueue = Volley.newRequestQueue(context, new OkHttpStack());
} catch (KeyManagementException e) {
e.printStackTrace();
}
}

return mRequestQueue;
Expand Down Expand Up @@ -86,14 +116,12 @@ public void cancelPendingRequests(Object tag) {
}
}

public void Send(final HttpRequest request, final Response<String> response)
{
public void Send(final HttpRequest request, final Response<String> response) {
int method = Request.Method.GET;

if (request.getMethod() == "POST"){
if (request.getMethod() == "POST") {
method = Request.Method.POST;
}
else if (request.getMethod() == "DELETE"){
} else if (request.getMethod() == "DELETE") {
method = Request.Method.DELETE;
}

Expand Down
Binary file added lib/memorizing-trust-manager-0.9.jar
Binary file not shown.