// Path: src/com/dexode/util/log/Logger.java
// public class Logger {
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void d(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.d(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void i(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.i(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void w(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.w(text, args);
// 		}
// 	}
// 
// 	public static void e(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.e(text, args);
// 		}
// 	}
// 
// 	public static void e(final Exception exception, @Nullable final String text) {
// 		if (_log != null) {
// 			_log.e(exception, text);
// 		}
// 	}
// 
// 	public static void e(final Exception exception) {
// 		if (_log != null) {
// 			_log.e(exception, null);
// 		}
// 	}
// 
// 
// 	public static void setLog(Log log) {
// 		_log = log;
// 	}
// 
// 	@Nullable
// 	private static Log _log;
// 
// 	public interface Log {
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void d(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void i(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void w(final String text, Object... args);
// 
// 		public void e(final String text, Object... args);
// 
// 		public void e(final Exception exception, @Nullable final String text);
// 	}
// }


import com.dexode.util.log.Logger;
import java.io.IOException;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okio.Buffer;
package okhttp3.interceptor;




/**
 * Created by Dawid Drozd aka Gelldur on 25.01.16.
 */
public class LogInterceptor implements Interceptor {
	private static final String F_BREAK = " %n";
	private static final String F_URL = " %s";
	private static final String F_TIME = " in %.1fms";
	private static final String F_HEADERS = "%s";
	private static final String F_RESPONSE = F_BREAK + "Response: %d";
	private static final String F_BODY = "body: %s";

	private static final String F_BREAKER = F_BREAK + "-------------------------------------------" + F_BREAK;
	private static final String F_REQUEST_WITHOUT_BODY = F_URL + F_TIME + F_BREAK + F_HEADERS;
	private static final String F_RESPONSE_WITHOUT_BODY = F_RESPONSE + F_BREAK + F_HEADERS + F_BREAKER;
	private static final String F_REQUEST_WITH_BODY = F_URL + F_TIME + F_BREAK + F_HEADERS + F_BODY + F_BREAK;
	private static final String F_RESPONSE_WITH_BODY = F_RESPONSE + F_BREAK + F_HEADERS + F_BODY + F_BREAK + F_BREAKER;

	@Override
	public Response intercept(Chain chain) throws IOException {
		Request request = chain.request();

		long t1 = System.nanoTime();
		Response response = chain.proceed(request);
		long t2 = System.nanoTime();

		MediaType contentType = null;
		String bodyString = null;
		if (response.body() != null) {
			contentType = response.body().contentType();
			bodyString = response.body().string();
		}

		double time = (t2 - t1) / 1e6d;

// Path: src/com/dexode/util/log/Logger.java
// public class Logger {
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void d(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.d(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void i(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.i(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void w(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.w(text, args);
// 		}
// 	}
// 
// 	public static void e(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.e(text, args);
// 		}
// 	}
// 
// 	public static void e(final Exception exception, @Nullable final String text) {
// 		if (_log != null) {
// 			_log.e(exception, text);
// 		}
// 	}
// 
// 	public static void e(final Exception exception) {
// 		if (_log != null) {
// 			_log.e(exception, null);
// 		}
// 	}
// 
// 
// 	public static void setLog(Log log) {
// 		_log = log;
// 	}
// 
// 	@Nullable
// 	private static Log _log;
// 
// 	public interface Log {
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void d(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void i(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void w(final String text, Object... args);
// 
// 		public void e(final String text, Object... args);
// 
// 		public void e(final Exception exception, @Nullable final String text);
// 	}
// }


// Path: src/okhttp3/interceptor/LogInterceptor.java
import com.dexode.util.log.Logger;
import java.io.IOException;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okio.Buffer;

package okhttp3.interceptor;




/**
 * Created by Dawid Drozd aka Gelldur on 25.01.16.
 */
public class LogInterceptor implements Interceptor {
	private static final String F_BREAK = " %n";
	private static final String F_URL = " %s";
	private static final String F_TIME = " in %.1fms";
	private static final String F_HEADERS = "%s";
	private static final String F_RESPONSE = F_BREAK + "Response: %d";
	private static final String F_BODY = "body: %s";

	private static final String F_BREAKER = F_BREAK + "-------------------------------------------" + F_BREAK;
	private static final String F_REQUEST_WITHOUT_BODY = F_URL + F_TIME + F_BREAK + F_HEADERS;
	private static final String F_RESPONSE_WITHOUT_BODY = F_RESPONSE + F_BREAK + F_HEADERS + F_BREAKER;
	private static final String F_REQUEST_WITH_BODY = F_URL + F_TIME + F_BREAK + F_HEADERS + F_BODY + F_BREAK;
	private static final String F_RESPONSE_WITH_BODY = F_RESPONSE + F_BREAK + F_HEADERS + F_BODY + F_BREAK + F_BREAKER;

	@Override
	public Response intercept(Chain chain) throws IOException {
		Request request = chain.request();

		long t1 = System.nanoTime();
		Response response = chain.proceed(request);
		long t2 = System.nanoTime();

		MediaType contentType = null;
		String bodyString = null;
		if (response.body() != null) {
			contentType = response.body().contentType();
			bodyString = response.body().string();
		}

		double time = (t2 - t1) / 1e6d;

		Logger.i(