diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java index fde4953f1..89a3f8349 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java @@ -125,13 +125,6 @@ public abstract class AbstractTrackActivity extends AbstractActivity implements public static void configureSearchWidget(Activity activity, final MenuItem menuItem, final TrackController trackController) { SearchManager searchManager = (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menuItem.getActionView(); - - if (searchView == null) { - //TODO This is a workaround and needs to be fixed; looks like a configuration issue. - Log.d(AbstractTrackActivity.class.getCanonicalName(), "Search is not yet implemented."); - return; - } - searchView.setSearchableInfo(searchManager.getSearchableInfo(activity.getComponentName())); searchView.setQueryRefinementEnabled(true); searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() { diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java index 23c7db38e..52a7ff87d 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java @@ -173,7 +173,6 @@ public class SearchListActivity extends AbstractTrackActivity implements DeleteM // UI elements private ListView listView; - private MenuItem searchMenuItem; @Override protected void onCreate(Bundle savedInstanceState) { @@ -275,8 +274,7 @@ public class SearchListActivity extends AbstractTrackActivity implements DeleteM @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.search_list, menu); - searchMenuItem = menu.findItem(R.id.search_list_search); - AbstractTrackActivity.configureSearchWidget(this, searchMenuItem, null); + menu.findItem(R.id.search_list_search).setVisible(false); return super.onCreateOptionsMenu(menu); } @@ -309,7 +307,7 @@ public class SearchListActivity extends AbstractTrackActivity implements DeleteM @Override public boolean onKeyUp(int keyCode, KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_SEARCH && searchMenuItem != null) { + if (keyCode == KeyEvent.KEYCODE_SEARCH) { return true; } return super.onKeyUp(keyCode, event); diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java index 1a4fb11d2..08d1f0946 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -56,6 +56,7 @@ import androidx.core.content.FileProvider; import androidx.viewpager.widget.ViewPager; import android.util.Log; +import android.view.ActionProvider; import android.view.Menu; import android.view.MenuItem; import android.view.View; diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackListActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackListActivity.java index 96ae74133..73849e4da 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackListActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackListActivity.java @@ -43,6 +43,7 @@ import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; +import android.widget.SearchView; import android.widget.Toast; import androidx.annotation.NonNull; @@ -444,6 +445,11 @@ public class TrackListActivity extends AbstractTrackActivity implements FileType boolean isGpsStarted = TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(this); boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; updateMenuItems(isGpsStarted, isRecording); + + View searchView = searchMenuItem.getActionView(); + if (searchView != null && searchView instanceof SearchView) { + ((SearchView) searchView).setQuery("", false); + } return super.onPrepareOptionsMenu(menu); } @@ -451,9 +457,6 @@ public class TrackListActivity extends AbstractTrackActivity implements FileType public boolean onOptionsItemSelected(MenuItem item) { Intent intent; switch (item.getItemId()) { - case R.id.track_list_search: - // TODO ? - return false; case R.id.track_list_start_gps: LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { @@ -472,8 +475,7 @@ public class TrackListActivity extends AbstractTrackActivity implements FileType trackRecordingServiceConnection.startAndBind(); bindChangedCallback.run(); } else { - ITrackRecordingService trackRecordingService = trackRecordingServiceConnection - .getServiceIfBound(); + ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound(); if (trackRecordingService != null) { try { trackRecordingService.stopGps(); diff --git a/myTracks/src/main/res/menu/marker_list.xml b/myTracks/src/main/res/menu/marker_list.xml index 79487d142..b94a7089c 100644 --- a/myTracks/src/main/res/menu/marker_list.xml +++ b/myTracks/src/main/res/menu/marker_list.xml @@ -24,6 +24,6 @@ limitations under the License. android:id="@+id/marker_list_search" android:icon="@drawable/ic_menu_search" android:title="@string/menu_search" - app:actionViewClass="androidx.appcompat.widget.SearchView" + android:actionViewClass="android.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" /> \ No newline at end of file diff --git a/myTracks/src/main/res/menu/search_list.xml b/myTracks/src/main/res/menu/search_list.xml index eb067a82d..d77269b31 100644 --- a/myTracks/src/main/res/menu/search_list.xml +++ b/myTracks/src/main/res/menu/search_list.xml @@ -19,6 +19,6 @@ limitations under the License. android:id="@+id/search_list_search" android:icon="@drawable/ic_menu_search" android:title="@string/menu_search" - app:actionViewClass="androidx.appcompat.widget.SearchView" + android:actionViewClass="android.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" /> \ No newline at end of file diff --git a/myTracks/src/main/res/menu/track_list.xml b/myTracks/src/main/res/menu/track_list.xml index 87e65a7c6..15d4f7d9d 100644 --- a/myTracks/src/main/res/menu/track_list.xml +++ b/myTracks/src/main/res/menu/track_list.xml @@ -19,8 +19,8 @@ limitations under the License. android:id="@+id/track_list_search" android:icon="@drawable/ic_menu_search" android:title="@string/menu_search" - app:actionViewClass="androidx.appcompat.widget.SearchView" - app:showAsAction="always" /> + android:actionViewClass="android.widget.SearchView" + android:showAsAction="always" />