diff --git a/src/org/geometerplus/android/fbreader/network/AddCustomCatalogItemTree.java b/src/org/geometerplus/android/fbreader/network/AddCustomCatalogItemTree.java index 5a22fe7e4..77b7d0018 100644 --- a/src/org/geometerplus/android/fbreader/network/AddCustomCatalogItemTree.java +++ b/src/org/geometerplus/android/fbreader/network/AddCustomCatalogItemTree.java @@ -29,8 +29,8 @@ import org.geometerplus.fbreader.network.NetworkTree; import org.geometerplus.android.fbreader.tree.ZLAndroidTree; public class AddCustomCatalogItemTree extends NetworkTree implements ZLAndroidTree { - public AddCustomCatalogItemTree() { - super(1); + public AddCustomCatalogItemTree(NetworkTree parent) { + super(parent); } @Override diff --git a/src/org/geometerplus/android/fbreader/network/NetworkBookInfoActivity.java b/src/org/geometerplus/android/fbreader/network/NetworkBookInfoActivity.java index 6cd908970..cea518a1f 100644 --- a/src/org/geometerplus/android/fbreader/network/NetworkBookInfoActivity.java +++ b/src/org/geometerplus/android/fbreader/network/NetworkBookInfoActivity.java @@ -99,7 +99,7 @@ public class NetworkBookInfoActivity extends Activity implements NetworkView.Eve @Override public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) { - new RefillAccountActions().buildContextMenu(this, menu, new RefillAccountTree(myBook.Link)); + new RefillAccountActions().buildContextMenu(this, menu, myBook.Link); } @Override diff --git a/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java b/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java index 69af7232a..2a819f841 100644 --- a/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java +++ b/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java @@ -103,7 +103,7 @@ public class NetworkLibraryActivity extends NetworkBaseActivity { private void prepareView() { if (myTree == null) { - myTree = NetworkLibrary.Instance().getTree(); + myTree = NetworkLibrary.Instance().getRootTree(); setListAdapter(new LibraryAdapter()); getListView().invalidateViews(); } diff --git a/src/org/geometerplus/android/fbreader/network/NetworkView.java b/src/org/geometerplus/android/fbreader/network/NetworkView.java index 9c41f24f3..2930b2e0c 100644 --- a/src/org/geometerplus/android/fbreader/network/NetworkView.java +++ b/src/org/geometerplus/android/fbreader/network/NetworkView.java @@ -69,6 +69,10 @@ class NetworkView { myActions.add(new AddCustomCatalogItemActions()); myActions.trimToSize(); + final NetworkTree root = library.getRootTree(); + mySearchItem = new SearchItemTree(root); + myAddCustomCatalogItem = new AddCustomCatalogItemTree(root); + myInitialized = true; } @@ -313,8 +317,8 @@ class NetworkView { * Special view items item */ - private final SearchItemTree mySearchItem = new SearchItemTree(); - private final AddCustomCatalogItemTree myAddCustomCatalogItem = new AddCustomCatalogItemTree(); + private SearchItemTree mySearchItem; + private AddCustomCatalogItemTree myAddCustomCatalogItem; public SearchItemTree getSearchItemTree() { return mySearchItem; diff --git a/src/org/geometerplus/android/fbreader/network/RefillAccountActions.java b/src/org/geometerplus/android/fbreader/network/RefillAccountActions.java index 6107f3bc3..fbb1f8799 100644 --- a/src/org/geometerplus/android/fbreader/network/RefillAccountActions.java +++ b/src/org/geometerplus/android/fbreader/network/RefillAccountActions.java @@ -41,9 +41,12 @@ class RefillAccountActions extends NetworkTreeActions { @Override public void buildContextMenu(Activity activity, ContextMenu menu, NetworkTree tree) { + buildContextMenu(activity, menu, ((RefillAccountTree)tree).Link); + } + + public void buildContextMenu(Activity activity, ContextMenu menu, INetworkLink link) { menu.setHeaderTitle(getTitleValue("refillTitle")); - final INetworkLink link = ((RefillAccountTree)tree).Link; if (Util.isSmsAccountRefillingSupported(activity, link)) { addMenuItem(menu, REFILL_VIA_SMS_ITEM_ID, "refillViaSms"); } diff --git a/src/org/geometerplus/android/fbreader/network/RefillAccountTree.java b/src/org/geometerplus/android/fbreader/network/RefillAccountTree.java index 4cb9791f2..4f132ac9c 100644 --- a/src/org/geometerplus/android/fbreader/network/RefillAccountTree.java +++ b/src/org/geometerplus/android/fbreader/network/RefillAccountTree.java @@ -36,15 +36,10 @@ class RefillAccountTree extends NetworkTree implements ZLAndroidTree { public final INetworkLink Link; public RefillAccountTree(NetworkCatalogTree parentTree) { - super(parentTree.Level + 1); + super(parentTree); Link = parentTree.Item.Link; } - public RefillAccountTree(INetworkLink link) { - super(1); - Link = link; - } - @Override public String getName() { return ZLResource.resource("networkView").getResource("refillTitle").getValue(); diff --git a/src/org/geometerplus/android/fbreader/network/SearchItemTree.java b/src/org/geometerplus/android/fbreader/network/SearchItemTree.java index 379664ca9..dc0347eca 100644 --- a/src/org/geometerplus/android/fbreader/network/SearchItemTree.java +++ b/src/org/geometerplus/android/fbreader/network/SearchItemTree.java @@ -34,11 +34,10 @@ import org.geometerplus.zlibrary.ui.android.R; import org.geometerplus.android.fbreader.tree.ZLAndroidTree; public class SearchItemTree extends NetworkTree implements ZLAndroidTree { - private SearchResult myResult; - public SearchItemTree() { - super(1); + public SearchItemTree(NetworkTree parent) { + super(parent); } @Override diff --git a/src/org/geometerplus/fbreader/network/NetworkLibrary.java b/src/org/geometerplus/fbreader/network/NetworkLibrary.java index 0b14619ca..cd5329790 100644 --- a/src/org/geometerplus/fbreader/network/NetworkLibrary.java +++ b/src/org/geometerplus/fbreader/network/NetworkLibrary.java @@ -413,11 +413,10 @@ public class NetworkLibrary { } } - public NetworkTree getTree() { + public NetworkTree getRootTree() { return myRootTree; } - public void simpleSearch(String pattern, final NetworkOperationData.OnNewItemListener listener) throws ZLNetworkException { LinkedList requestList = new LinkedList(); LinkedList dataList = new LinkedList(); diff --git a/src/org/geometerplus/fbreader/network/NetworkTree.java b/src/org/geometerplus/fbreader/network/NetworkTree.java index 2697ed2f2..6e7b28637 100644 --- a/src/org/geometerplus/fbreader/network/NetworkTree.java +++ b/src/org/geometerplus/fbreader/network/NetworkTree.java @@ -94,10 +94,6 @@ public abstract class NetworkTree extends FBTree { } } - protected NetworkTree(int level) { - super(level); - } - protected NetworkTree() { super(); } diff --git a/src/org/geometerplus/fbreader/tree/FBTree.java b/src/org/geometerplus/fbreader/tree/FBTree.java index 743b394dc..0cf94b8d9 100644 --- a/src/org/geometerplus/fbreader/tree/FBTree.java +++ b/src/org/geometerplus/fbreader/tree/FBTree.java @@ -29,10 +29,6 @@ public abstract class FBTree extends ZLTree implements Comparable> implements Iterable { public final int Level; private ArrayList mySubTrees; - protected ZLTree(int level) { - this(level, null, 0); - } - protected ZLTree() { this(null); }