// Created by plusminus on 00:17:35 - 07.07.2008 package org.androad.ui.util; import org.androad.util.constants.Constants; import org.osmdroid.util.GeoPoint; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.location.Location; import android.net.Uri; import android.widget.Toast; public class Util implements Constants{ // =========================================================== // Final Fields // =========================================================== private static final String URLBASE_MARKET_SEARCH_PACKAGENAME = "http://market.android.com/search?q=pname:"; // =========================================================== // Fields // =========================================================== // =========================================================== // Constructors // =========================================================== // =========================================================== // Getter & Setter // =========================================================== // =========================================================== // Methods from SuperClass/Interfaces // =========================================================== // =========================================================== // Methods // =========================================================== public static void startUnknownActivity(final Context ctx, final String pAction, final String pMarketPackageName){ startUnknownActivity(ctx, new Intent(pAction), pMarketPackageName); } public static void startUnknownActivity(final Context ctx, final Intent pIntent, final String pMarketPackageName){ try{ ctx.startActivity(pIntent); }catch(final ActivityNotFoundException anfe){ final Intent marketIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(URLBASE_MARKET_SEARCH_PACKAGENAME + pMarketPackageName)); ctx.startActivity(marketIntent); } } public static void sendExceptionEmail(final Context ctx, final String pBody) { openEmail(ctx, pBody, "AndRoad-Exception (v" + org.androad.util.Util.getVersionName(ctx) + ")", new String[]{"support@andnav.org"}); Toast.makeText(ctx, "Please describe your bug!", Toast.LENGTH_LONG).show(); } public static void openEmail(final Context ctx, final String pBody, final String pSubject, final String[] pReceivers) { final Intent mailIntent = new Intent(android.content.Intent.ACTION_SEND); mailIntent.setType("plain/text"); if(pReceivers != null && pReceivers.length > 0) { mailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, pReceivers); } if(pSubject != null) { mailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, pSubject); } if(pBody != null) { mailIntent.putExtra(android.content.Intent.EXTRA_TEXT, pBody); } ctx.startActivity(Intent.createChooser(mailIntent, "Select Mail Client")); } public static GeoPoint locationToGeoPoint(final Location aLoc){ return new GeoPoint((int)(aLoc.getLatitude() * 1E6), (int)(aLoc.getLongitude() * 1E6)); } // =========================================================== // Inner and Anonymous Classes // =========================================================== }