/*
* Copyright 2016 Hippo Seven
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.hippo.nimingban;
/*
* Created by Hippo on 11/11/2016.
*/
import android.util.SparseArray;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public final class ImageSearch {
private ImageSearch() {}
private static final String IMAGE_SEARCH_URL_GOOGLE = "https://www.google.com/searchbyimage?image_url=";
private static final String IMAGE_SEARCH_URL_BAIDU = "https://image.baidu.com/wiseshitu?queryImageUrl=";
private static final String IMAGE_SEARCH_URL_SOGOU = "http://pic.sogou.com/ris?query=";
private static final String IMAGE_SEARCH_URL_TINEYE = "http://tineye.com/search/?url=";
private static final String IMAGE_SEARCH_URL_WHATANIME = "https://whatanime.ga/?url=";
private static final String IMAGE_SEARCH_URL_SAUCENAO = "http://saucenao.com/search.php?db=999&url=";
private static final String IMAGE_SEARCH_URL_IQDB = "http://www.iqdb.org/?url=";
private static final String IMAGE_SEARCH_URL_IQDB_3D = "http://3d.iqdb.org/?url=";
private static final SparseArray<String> mMap = new SparseArray<>();
static {
mMap.put(R.id.action_search_google, IMAGE_SEARCH_URL_GOOGLE);
mMap.put(R.id.action_search_baidu, IMAGE_SEARCH_URL_BAIDU);
mMap.put(R.id.action_search_sogou, IMAGE_SEARCH_URL_SOGOU);
mMap.put(R.id.action_search_tineye, IMAGE_SEARCH_URL_TINEYE);
mMap.put(R.id.action_search_whatanime, IMAGE_SEARCH_URL_WHATANIME);
mMap.put(R.id.action_search_saucenao, IMAGE_SEARCH_URL_SAUCENAO);
mMap.put(R.id.action_search_iqdb, IMAGE_SEARCH_URL_IQDB);
mMap.put(R.id.action_search_iqdb_3d, IMAGE_SEARCH_URL_IQDB_3D);
}
public static String getImageSearchUrl(int id, String url) {
String prefix = mMap.get(id);
if (prefix == null) {
return null;
}
try {
return prefix + URLEncoder.encode(url, "UTF-8");
} catch (UnsupportedEncodingException e) {
return null;
}
}
}