Search working in TrackDetailActivity.

This commit is contained in:
Dennis Guse
2019-07-13 12:28:41 +02:00
parent 34450aa5e7
commit a8ff1628c4
7 changed files with 14 additions and 20 deletions
@@ -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() {
@@ -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);
@@ -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;
@@ -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();
+1 -1
View File
@@ -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" />
</menu>
+1 -1
View File
@@ -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" />
</menu>
+2 -2
View File
@@ -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" />
<item
android:id="@+id/track_list_start_gps"
android:icon="@drawable/ic_menu_start_gps"