* @author dswitkin@google.com (Daniel Switkin)
*/
public final class URIResultHandler extends ResultHandler {
+
private static final int[] buttons = {
R.string.button_open_browser,
R.string.button_share_by_email,
- R.string.button_share_by_sms
+ R.string.button_share_by_sms,
+ R.string.button_search_book_contents,
};
public URIResultHandler(Activity activity, ParsedResult result) {
@Override
public int getButtonCount() {
- return buttons.length;
+ return isGoogleBooksURI() ? buttons.length : buttons.length - 1;
}
@Override
@Override
public void handleButtonPress(int index) {
- URIParsedResult uriResult = (URIParsedResult) result;
+ URIParsedResult uriResult = (URIParsedResult) getResult();
+ String uri = uriResult.getURI();
switch (index) {
case 0:
- openURL(uriResult.getURI());
+ openURL(uri);
break;
case 1:
- shareByEmail(uriResult.getURI());
+ shareByEmail(uri);
break;
case 2:
- shareBySMS(uriResult.getURI());
+ shareBySMS(uri);
+ break;
+ case 3:
+ searchBookContents(uri);
break;
}
}
public int getDisplayTitle() {
return R.string.result_uri;
}
+
+ private boolean isGoogleBooksURI() {
+ return ((URIParsedResult) getResult()).getURI().startsWith("http://google.com/books?id=");
+ }
+
}