package com.gettingmobile.net.mobilizer;
import android.net.Uri;
import com.gettingmobile.Security.Hash;
import com.gettingmobile.io.Base64;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
final class ReadabilityUrlMobilizer implements UrlMobilizer {
private static final String API_TOKEN = "357947acad048e6d49321bfc21680bdc982225e3";
private static final String BASE_URL = "http://getting-mobile.appspot.com/api/1/Readability/mobilize/";
private static final Pattern URL_FINDER = Pattern.compile("http://getting-mobile\\.appspot\\.com/api/1/Readability/mobilize/(.*?)\\?.*");
@Override
public String mobilize(String url, boolean scaleImages) {
final StringBuilder u = new StringBuilder(BASE_URL);
u.append(Uri.encode(url)).append('?');
if (scaleImages)
u.append("scaleImages=true&");
u.append("signature=").append(Uri.encode(Base64.encode(Hash.getInstance().create(url, API_TOKEN))));
return u.toString();
}
@Override
public String unmobilize(String url) {
final Matcher m = URL_FINDER.matcher(url);
return m.matches() ? Uri.decode(m.group(1)) : url;
}
}