I am trying to set a OnClickListener
to a image in a loop. If the params platform is "android" then use market app, instead of default browswer. Is there a better solution to my exception handling or eliminatingsome of the if-else
?
private void setupListener(ImageView image, final String platform,
final String urlLink) {
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (platform.equalsIgnoreCase(PLATFORM_ANDROID)) {
// open with market app
String packageName = extractPackageName(urlLink);
if (packageName != null) {
try {
Intent market = new Intent(Intent.ACTION_VIEW);
market.setData(Uri.parse("market://details?id="
+ packageName));
activity.startActivity(market);
} catch (Exception e) {
e.printStackTrace();
startInBroswer(urlLink);
}
} else {
startInBroswer(urlLink);
}
} else {
// open with default broswer.
startInBroswer(urlLink);
}
}
});
}
private void startInBroswer(String urlLink) {
Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(urlLink));
activity.startActivity(browser);
}