From ba17b37e50930bcec1638d44890e785c0dabbd2b Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Fri, 22 Jun 2012 13:08:08 -0700 Subject: [PATCH] After MapFragment is created, update the menu so satellite versus map is shown correctly. --- .../apps/mytracks/fragments/MapFragment.java | 2 ++ .../apps/mytracks/util/Api11Adapter.java | 5 +++++ .../android/apps/mytracks/util/Api7Adapter.java | 5 +++++ .../android/apps/mytracks/util/ApiAdapter.java | 17 ++++++++++++----- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/MapFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/MapFragment.java index 5ce7b4a28..81333b9ed 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/MapFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/MapFragment.java @@ -27,6 +27,7 @@ import com.google.android.apps.mytracks.content.TrackDataHub.ListenerDataType; import com.google.android.apps.mytracks.content.TrackDataListener; import com.google.android.apps.mytracks.content.Waypoint; import com.google.android.apps.mytracks.stats.TripStatistics; +import com.google.android.apps.mytracks.util.ApiAdapterFactory; import com.google.android.apps.mytracks.util.GeoRect; import com.google.android.apps.mytracks.util.LocationUtils; import com.google.android.maps.GeoPoint; @@ -120,6 +121,7 @@ public class MapFragment extends Fragment }); messageTextView = (TextView) mapViewContainer.findViewById(R.id.map_message); + ApiAdapterFactory.getApiAdapter().invalidMenu(getActivity()); return mapViewContainer; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java index ba382b93a..0720eec4c 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java @@ -114,4 +114,9 @@ public class Api11Adapter extends Api10Adapter { public void addAllToArrayAdapter(ArrayAdapter arrayAdapter, List items) { arrayAdapter.addAll(items); } + + @Override + public void invalidMenu(Activity activity) { + activity.invalidateOptionsMenu(); + } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java index a5f34293f..e69b9cc68 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api7Adapter.java @@ -146,6 +146,11 @@ public class Api7Adapter implements ApiAdapter { } } + @Override + public void invalidMenu(Activity activity) { + // Do nothing + } + @Override public boolean handleSearchKey(MenuItem menuItem) { // Return false and allow the framework to handle the search key. diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java index fffd000e8..b24bf6b8a 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java @@ -149,7 +149,7 @@ public interface ApiAdapter { /** * Configures the search widget. - * + *

* Due to changes in API level 11. * * @param activity the activity @@ -159,7 +159,7 @@ public interface ApiAdapter { /** * Handles the search menu selection. Returns true if handled. - * + *

* Due to changes in API level 11. * * @param activity the activity @@ -168,17 +168,24 @@ public interface ApiAdapter { /** * Adds all items to an array adapter. - * + *

* Due to changes in API level 11. - *s + * * @param arrayAdapter the array adapter * @param items list of items */ public void addAllToArrayAdapter(ArrayAdapter arrayAdapter, List items); + /** + * Invalidates the menu. + *

+ * Due to changes in API level 11. + */ + public void invalidMenu(Activity activity); + /** * Handles the search key press. Returns true if handled. - * + *

* Due to changes in API level 14. * * @param menu the search menu