package com.thebluealliance.androidclient.listeners; import com.thebluealliance.androidclient.helpers.AnalyticsHelper; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.net.Uri; import android.view.View; import android.widget.Toast; import java.util.List; import javax.inject.Inject; public class SocialClickListener implements View.OnClickListener { private Context mContext; private String mModelKey; @Inject public SocialClickListener(Context context) { mContext = context; } public void setModelKey(String modelKey) { mModelKey = modelKey; } @Override public void onClick(View view) { PackageManager manager = mContext.getPackageManager(); if (view.getTag() != null) { String uri = view.getTag().toString(); //social button was clicked. Track the call AnalyticsHelper.sendSocialUpdate(mContext, uri, mModelKey); Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri)); List<ResolveInfo> handlers = manager.queryIntentActivities(i, 0); if (!handlers.isEmpty()) { // There is an application to handle this intent intent mContext.startActivity(i); } else { // No application can handle this intent Toast.makeText(mContext, "No app can handle that request", Toast.LENGTH_SHORT) .show(); } } } }