From 6f48640a139a70729b4635955e493cf568d89db5 Mon Sep 17 00:00:00 2001 From: Christophe Beyls Date: Thu, 5 Feb 2015 00:32:43 +0100 Subject: [PATCH] Removed restriction to only use Google Maps for directions if installed, allowing to use third-party apps or a browser. --- .../fosdem/fragments/MapFragment.java | 31 ++++++------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/be/digitalia/fosdem/fragments/MapFragment.java b/app/src/main/java/be/digitalia/fosdem/fragments/MapFragment.java index 098e96d..f6f7943 100644 --- a/app/src/main/java/be/digitalia/fosdem/fragments/MapFragment.java +++ b/app/src/main/java/be/digitalia/fosdem/fragments/MapFragment.java @@ -1,11 +1,6 @@ package be.digitalia.fosdem.fragments; -import java.util.List; -import java.util.Locale; - import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -15,6 +10,9 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; + +import java.util.Locale; + import be.digitalia.fosdem.R; public class MapFragment extends Fragment { @@ -22,7 +20,6 @@ public class MapFragment extends Fragment { private static final double DESTINATION_LATITUDE = 50.812375; private static final double DESTINATION_LONGITUDE = 4.380734; private static final String DESTINATION_NAME = "ULB"; - private static final String GOOGLE_MAPS_PACKAGE_NAME = "com.google.android.apps.maps"; @Override public void onCreate(Bundle savedInstanceState) { @@ -43,31 +40,21 @@ public class MapFragment extends Fragment { @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { - case R.id.directions: - launchDirections(); - return true; + case R.id.directions: + launchDirections(); + return true; } return false; } private void launchDirections() { // Build intent to start Google Maps directions - String uri = String.format(Locale.US, "http://maps.google.com/maps?f=d&daddr=%1$f,%2$f(%3$s)&dirflg=r", DESTINATION_LATITUDE, DESTINATION_LONGITUDE, - DESTINATION_NAME); + String uri = String.format(Locale.US, + "http://maps.google.com/maps?f=d&daddr=%1$f,%2$f(%3$s)&dirflg=r", + DESTINATION_LATITUDE, DESTINATION_LONGITUDE, DESTINATION_NAME); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); - // If Google Maps app is found, don't allow to choose other apps to handle this intent - List resolveInfos = getActivity().getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); - if (resolveInfos != null) { - for (ResolveInfo info : resolveInfos) { - if (GOOGLE_MAPS_PACKAGE_NAME.equals(info.activityInfo.packageName)) { - intent.setPackage(GOOGLE_MAPS_PACKAGE_NAME); - break; - } - } - } - startActivity(intent); } }