GetFromMarketDialog.java :  » App » droidcon-app » org » droidcon » droidconapp » Android Open Source

Android Open Source » App » droidcon app 
droidcon app » org » droidcon » droidconapp » GetFromMarketDialog.java
package org.droidcon.droidconapp;

import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.net.Uri;
import android.util.Log;
import android.widget.Toast;

/**
 * @version 2009-02-04
 * @author Peli
 *
 */
public class GetFromMarketDialog extends AlertDialog implements OnClickListener {
  private static final String TAG = "StartSaveActivity";

    Context mContext;
    int mMarketUri;
    int mDeveloperUri;
    
    public GetFromMarketDialog(Context context, int message, int buttontext, int market_uri, int developer_uri) {
        super(context);
        mContext = context;
        mMarketUri = market_uri;
        mDeveloperUri = developer_uri;

        //setTitle(context.getText(R.string.menu_edit_tags));
        setMessage(mContext.getText(message));
      setButton(mContext.getText(buttontext), this);
        
    }

  public void onClick(DialogInterface dialog, int which) {
      if (which == BUTTON1) {
        Uri uri = Uri.parse(mContext.getString(mMarketUri));
        
      Intent intent = new Intent(Intent.ACTION_VIEW);
      intent.setData(uri);
      
      uri= Uri.parse(mContext.getString(mDeveloperUri));
      Intent intent2 = new Intent(Intent.ACTION_VIEW);
      intent2.setData(uri);
      startSaveActivity(mContext, intent, intent2);
      }
    
  }
  
  /**
   * Start an activity but prompt a toast if activity is not found
   * (instead of crashing).
   * 
   * @param context
   * @param intent
   * @param intent2 Alternative intent to call, if the first is not reachable
   */
  public static void startSaveActivity(Context context, Intent intent, Intent intent2) {
    try {
      context.startActivity(intent);
    } catch (ActivityNotFoundException e) {
      Log.e(TAG, "Error starting activity.", e);
      try {
        context.startActivity(intent2);
      } catch (ActivityNotFoundException e2) {
        Toast.makeText(context,
            R.string.update_error,
            Toast.LENGTH_SHORT).show();
        Log.e(TAG, "Error starting second activity.", e2);
      }
    }
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.