diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml
index f575a4318..34fbb187e 100755
--- a/MyTracks/AndroidManifest.xml
+++ b/MyTracks/AndroidManifest.xml
@@ -158,8 +158,7 @@ limitations under the License.
+ android:name="com.google.android.apps.mytracks.MarkerEditActivity" />
+ android:name="com.google.android.apps.mytracks.TrackEditActivity" />
diff --git a/MyTracks/res/xml/search.xml b/MyTracks/res/xml/search.xml
index 46ce021ed..a4dfcbda5 100644
--- a/MyTracks/res/xml/search.xml
+++ b/MyTracks/res/xml/search.xml
@@ -1,11 +1,13 @@
\ No newline at end of file
+ android:hint="@string/search_hint"
+ android:imeOptions="actionSearch"
+ android:includeInGlobalSearch="true"
+ android:label="@string/my_tracks_app_name"
+ android:queryAfterZeroResults="true"
+ android:searchSettingsDescription="@string/search_global_description"
+ android:searchSuggestAuthority="com.google.android.maps.mytracks.search"
+ android:searchSuggestSelection=" ? "
+ android:searchSuggestThreshold="1"
+ android:voicePromptText="@string/search_voice_prompt"
+ android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" />
diff --git a/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java
index d5d960567..25a9d9c9f 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java
@@ -190,7 +190,6 @@ public class SearchListActivity extends AbstractMyTracksActivity {
@Override
public void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
setIntent(intent);
handleIntent(intent);
}
@@ -270,6 +269,8 @@ public class SearchListActivity extends AbstractMyTracksActivity {
.putExtra(TrackEditActivity.EXTRA_TRACK_ID, trackId);
}
startActivity(intent);
+ // Close the search result since its content can change after edit.
+ finish();
return true;
case R.id.list_context_menu_delete:
if (markerId != null) {
diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java
index 54ecbdf7e..3c25dcedf 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java
@@ -161,7 +161,6 @@ public class TrackDetailActivity extends AbstractMyTracksActivity
@Override
public void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
setIntent(intent);
handleIntent(intent);
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneMarkerDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneMarkerDialogFragment.java
index d1f503b62..f21d25d74 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneMarkerDialogFragment.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneMarkerDialogFragment.java
@@ -61,6 +61,8 @@ public class DeleteOneMarkerDialogFragment extends DialogFragment {
Intent intent = IntentUtils.newIntent(getActivity(), MarkerListActivity.class)
.putExtra(MarkerListActivity.EXTRA_TRACK_ID, getArguments().getLong(KEY_TRACK_ID));
startActivity(intent);
+ // Close the activity since its content can change after delete.
+ getActivity().finish();
}
});
}
diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneTrackDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneTrackDialogFragment.java
index 58630656e..fef67d9ce 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneTrackDialogFragment.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/DeleteOneTrackDialogFragment.java
@@ -57,6 +57,8 @@ public class DeleteOneTrackDialogFragment extends DialogFragment {
.deleteTrack(getArguments().getLong(KEY_TRACK_ID));
Intent intent = IntentUtils.newIntent(getActivity(), TrackListActivity.class);
startActivity(intent);
+ // Close the activity since its content can change after delete.
+ getActivity().finish();
}
});
}
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 90996ae28..71d61cd2b 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java
@@ -86,6 +86,7 @@ public class Api11Adapter extends Api10Adapter {
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
+ mode.finish();
return contextualActionModeCallback.onClick(item.getItemId(), position, id);
}
});
@@ -100,10 +101,35 @@ public class Api11Adapter extends Api10Adapter {
};
@Override
- public void configureSearchWidget(Activity activity, MenuItem menuItem) {
+ public void configureSearchWidget(Activity activity, final MenuItem menuItem) {
SearchManager searchManager = (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menuItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(activity.getComponentName()));
+ searchView.setQueryRefinementEnabled(true);
+ searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ menuItem.collapseActionView();
+ return false;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText) {
+ return false;
+ }
+ });
+ searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() {
+ @Override
+ public boolean onSuggestionSelect(int position) {
+ return false;
+ }
+
+ @Override
+ public boolean onSuggestionClick(int position) {
+ menuItem.collapseActionView();
+ return false;
+ }
+ });
}
@Override