| File |
Line |
| sk/baka/ambient/activity/search/LibraryEngine.java |
41
|
| sk/baka/ambient/activity/search/MagnatuneEngine.java |
42
|
public final class MagnatuneEngine implements ISearchEngine {
private StaticPlaylistController controller = null;
private SearchActivity owner = null;
private int listViewId;
public boolean canSearchOffline() {
return true;
}
public void init(final SearchActivity owner, final int listViewId) {
this.owner = owner;
this.listViewId = listViewId;
}
public void passivate() {
controller = null;
}
public List<? extends Object> performSearch(String query) throws Exception {
// search as substring in the following categories: artist, album, track
// name. Use the OR operator for all words present in the query.
final StringTokenizer words = new StringTokenizer(query, " \r\t\f\n");
if (!words.hasMoreTokens()) {
// no words to search for? return empty list
return Collections.emptyList();
}
final List<String> searchFor = new ArrayList<String>();
for (; words.hasMoreTokens();) {
searchFor.add(words.nextToken());
}
// construct the criteria map
final EnumMap<CategoryEnum, List<String>> criteria = new EnumMap<CategoryEnum, List<String>>(
CategoryEnum.class);
criteria.put(CategoryEnum.Album, searchFor);
criteria.put(CategoryEnum.Artist, searchFor);
criteria.put(CategoryEnum.Title, searchFor);
|
| File |
Line |
| sk/baka/ambient/activity/search/LibraryEngine.java |
77
|
| sk/baka/ambient/activity/search/MagnatuneEngine.java |
80
|
.singletonList(TrackOriginEnum.Magnatune.toDBString()));
// retrieve the track list
final Library lib = AmbientApplication.getInstance().getLibrary();
final Cursor c = lib.getBackend().findByCriteria(criteria, true, false,
null);
final List<TrackMetadataBean> tracks = LibraryUtils.pollTracks(c);
CollectionUtils.sortByAlbumOrder(tracks);
return tracks;
}
@SuppressWarnings("unchecked")
public void update(List<? extends Object> model) {
if (controller == null) {
controller = new StaticPlaylistController(listViewId, listViewId,
owner, (List<TrackMetadataBean>) model, false);
} else {
controller.setTracks((List<TrackMetadataBean>) model);
}
}
public SearchType getType() {
return SearchType.Magnatune;
|
| File |
Line |
| sk/baka/ambient/views/gesturelist/keypad/KeypadDpadSearch.java |
44
|
| sk/baka/ambient/views/gesturelist/keypad/KeypadSearch.java |
43
|
public KeypadSearch(final GesturesListView owner) {
super(owner);
queryWindow = new ContainedPopupWindow(owner,
new ContainedPopupWindow.IPlaceable() {
public int[] getCoordinates(ContainedPopupWindow popup,
CharSequence text, TextView textView) {
final int y = owner.getHeight()
- (int) textView.getPaint().getTextSize();
final int x = (owner.getWidth() - (int) textView
.getPaint().measureText(text.toString())) / 2;
return new int[] { x, y };
}
});
}
|