1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 02:39:23 +02:00

SearchItemTree has been moved to a platform-independent code (search doesn't work at the momemnt)

This commit is contained in:
Nikolay Pultsin 2011-03-02 18:19:27 +00:00
parent ebe98a6a63
commit e562a54a29
7 changed files with 15 additions and 40 deletions

View file

@ -39,11 +39,9 @@ import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageData;
import org.geometerplus.fbreader.network.NetworkTree; import org.geometerplus.fbreader.network.NetworkTree;
import org.geometerplus.fbreader.network.tree.NetworkBookTree; import org.geometerplus.fbreader.network.tree.NetworkBookTree;
import org.geometerplus.fbreader.network.tree.AddCustomCatalogItemTree; import org.geometerplus.fbreader.network.tree.AddCustomCatalogItemTree;
import org.geometerplus.fbreader.network.tree.SearchItemTree;
import org.geometerplus.android.fbreader.tree.ZLAndroidTree;
abstract class NetworkBaseActivity extends ListActivity implements NetworkView.EventListener { abstract class NetworkBaseActivity extends ListActivity implements NetworkView.EventListener {
protected final ZLResource myResource = ZLResource.resource("networkView"); protected final ZLResource myResource = ZLResource.resource("networkView");
public BookDownloaderServiceConnection Connection; public BookDownloaderServiceConnection Connection;
@ -110,8 +108,8 @@ abstract class NetworkBaseActivity extends ListActivity implements NetworkView.E
coverView.setImageResource(R.drawable.ic_list_plus); coverView.setImageResource(R.drawable.ic_list_plus);
return; return;
} }
if (tree instanceof ZLAndroidTree) { if (tree instanceof SearchItemTree) {
coverView.setImageResource(((ZLAndroidTree)tree).getCoverResourceId()); coverView.setImageResource(R.drawable.ic_list_searchresult);
return; return;
} }

View file

@ -226,17 +226,11 @@ public class NetworkLibraryActivity extends NetworkBaseActivity {
if (!NetworkView.Instance().isInitialized()) { if (!NetworkView.Instance().isInitialized()) {
return 0; return 0;
} }
return myTree.subTrees().size() + 1; // subtrees + <search item> return myTree.subTrees().size();
} }
public final NetworkTree getItem(int position) { public final NetworkTree getItem(int position) {
final int size = myTree.subTrees().size(); return (NetworkTree)myTree.subTrees().get(position);
if (position == 0) {
return NetworkView.Instance().getSearchItemTree();
} else if (position > 0 && position <= size) {
return (NetworkTree)myTree.subTrees().get(position - 1);
}
return null;
} }
public final long getItemId(int position) { public final long getItemId(int position) {

View file

@ -32,6 +32,7 @@ import org.geometerplus.zlibrary.core.resources.ZLResource;
import org.geometerplus.zlibrary.core.network.ZLNetworkException; import org.geometerplus.zlibrary.core.network.ZLNetworkException;
import org.geometerplus.fbreader.network.*; import org.geometerplus.fbreader.network.*;
import org.geometerplus.fbreader.network.tree.SearchItemTree;
public class NetworkSearchActivity extends Activity { public class NetworkSearchActivity extends Activity {
@ -54,7 +55,6 @@ public class NetworkSearchActivity extends Activity {
} }
private class SearchHandler extends ItemsLoadingHandler { private class SearchHandler extends ItemsLoadingHandler {
private final SearchItemTree myTree; private final SearchItemTree myTree;
public SearchHandler(SearchItemTree tree) { public SearchHandler(SearchItemTree tree) {
@ -152,6 +152,7 @@ public class NetworkSearchActivity extends Activity {
final String summary = ZLResource.resource("networkView").getResource("searchResults").getValue().replace("%s", pattern); final String summary = ZLResource.resource("networkView").getResource("searchResults").getValue().replace("%s", pattern);
final SearchResult result = new SearchResult(summary); final SearchResult result = new SearchResult(summary);
/*
final SearchItemTree tree = NetworkView.Instance().getSearchItemTree(); final SearchItemTree tree = NetworkView.Instance().getSearchItemTree();
tree.setSearchResult(result); tree.setSearchResult(result);
@ -164,5 +165,6 @@ public class NetworkSearchActivity extends Activity {
new SearchRunnable(handler, pattern) new SearchRunnable(handler, pattern)
); );
NetworkView.Instance().openTree(this, tree); NetworkView.Instance().openTree(this, tree);
*/
} }
} }

View file

@ -69,9 +69,6 @@ class NetworkView {
myActions.add(new AddCustomCatalogItemActions()); myActions.add(new AddCustomCatalogItemActions());
myActions.trimToSize(); myActions.trimToSize();
final NetworkTree root = library.getRootTree();
mySearchItem = new SearchItemTree(root);
myInitialized = true; myInitialized = true;
} }
@ -290,14 +287,4 @@ class NetworkView {
public NetworkCatalogActivity getOpenedActivity(NetworkTree.Key key) { public NetworkCatalogActivity getOpenedActivity(NetworkTree.Key key) {
return myOpenedActivities.get(key); return myOpenedActivities.get(key);
} }
/*
* Special view items item
*/
private SearchItemTree mySearchItem;
public SearchItemTree getSearchItemTree() {
return mySearchItem;
}
} }

View file

@ -25,6 +25,7 @@ import android.view.ContextMenu;
import org.geometerplus.fbreader.network.NetworkTree; import org.geometerplus.fbreader.network.NetworkTree;
import org.geometerplus.fbreader.network.SearchResult; import org.geometerplus.fbreader.network.SearchResult;
import org.geometerplus.fbreader.network.tree.SearchItemTree;
class SearchItemActions extends NetworkTreeActions { class SearchItemActions extends NetworkTreeActions {

View file

@ -364,6 +364,7 @@ public class NetworkLibrary {
tree.removeSelf(); tree.removeSelf();
} }
new AddCustomCatalogItemTree(myRootTree); new AddCustomCatalogItemTree(myRootTree);
new SearchItemTree(myRootTree, 0);
} }
private void updateVisibility() { private void updateVisibility() {

View file

@ -17,7 +17,7 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
package org.geometerplus.android.fbreader.network; package org.geometerplus.fbreader.network.tree;
import java.util.Set; import java.util.Set;
import java.util.LinkedList; import java.util.LinkedList;
@ -29,15 +29,11 @@ import org.geometerplus.fbreader.tree.FBTree;
import org.geometerplus.fbreader.network.*; import org.geometerplus.fbreader.network.*;
import org.geometerplus.fbreader.network.tree.NetworkAuthorTree; import org.geometerplus.fbreader.network.tree.NetworkAuthorTree;
import org.geometerplus.zlibrary.ui.android.R; public class SearchItemTree extends NetworkTree {
import org.geometerplus.android.fbreader.tree.ZLAndroidTree;
public class SearchItemTree extends NetworkTree implements ZLAndroidTree {
private SearchResult myResult; private SearchResult myResult;
public SearchItemTree(NetworkTree parent) { public SearchItemTree(NetworkTree parent, int position) {
super(parent); super(parent, position);
} }
@Override @Override
@ -50,10 +46,6 @@ public class SearchItemTree extends NetworkTree implements ZLAndroidTree {
return ZLResource.resource("networkView").getResource("searchSummary").getValue(); return ZLResource.resource("networkView").getResource("searchSummary").getValue();
} }
public int getCoverResourceId() {
return R.drawable.ic_list_searchresult;
}
public void setSearchResult(SearchResult result) { public void setSearchResult(SearchResult result) {
myResult = result; myResult = result;
clear(); clear();