diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 3e4c0a86f..d6bed874c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -77,7 +77,7 @@ - + diff --git a/AndroidManifest.xml.pattern b/AndroidManifest.xml.pattern index 8a9fa5bf7..ec8668f21 100644 --- a/AndroidManifest.xml.pattern +++ b/AndroidManifest.xml.pattern @@ -77,7 +77,7 @@ - + diff --git a/src/org/geometerplus/android/fbreader/ShowLibraryAction.java b/src/org/geometerplus/android/fbreader/ShowLibraryAction.java index e037822fe..1472bfeb1 100644 --- a/src/org/geometerplus/android/fbreader/ShowLibraryAction.java +++ b/src/org/geometerplus/android/fbreader/ShowLibraryAction.java @@ -27,7 +27,7 @@ import org.geometerplus.fbreader.fbreader.FBAction; import org.geometerplus.fbreader.fbreader.FBReaderApp; import org.geometerplus.fbreader.bookmodel.BookModel; -import org.geometerplus.android.fbreader.library.LibraryBaseActivity; +import org.geometerplus.android.fbreader.library.LibraryTopLevelActivity; class ShowLibraryAction extends FBAction { private final FBReader myBaseActivity; @@ -39,9 +39,9 @@ class ShowLibraryAction extends FBAction { public void run() { final BookModel model = Reader.Model; - Intent intent = new Intent(myBaseActivity.getApplicationContext(), LibraryBaseActivity.class); + Intent intent = new Intent(myBaseActivity.getApplicationContext(), LibraryTopLevelActivity.class); if (model != null && model.Book != null) { - //intent.putExtra(LibraryBaseActivity.CURRENT_BOOK_PATH_KEY, model.Book.File.getPath()); + //intent.putExtra(LibraryTopLevelActivity.CURRENT_BOOK_PATH_KEY, model.Book.File.getPath()); } myBaseActivity.startActivity(intent); } diff --git a/src/org/geometerplus/android/fbreader/library/LibraryBaseActivity.java b/src/org/geometerplus/android/fbreader/library/LibraryBaseActivity.java index 264d0fdd9..cc49aca5d 100644 --- a/src/org/geometerplus/android/fbreader/library/LibraryBaseActivity.java +++ b/src/org/geometerplus/android/fbreader/library/LibraryBaseActivity.java @@ -19,7 +19,7 @@ package org.geometerplus.android.fbreader.library; -import java.util.ArrayList; +import java.util.List; import android.app.ListActivity; import android.os.Bundle; @@ -33,27 +33,22 @@ import org.geometerplus.fbreader.tree.FBTree; import org.geometerplus.zlibrary.ui.android.R; public class LibraryBaseActivity extends ListActivity { - private final ZLResource myResource = ZLResource.resource("libraryView"); + protected final ZLResource myResource = ZLResource.resource("libraryView"); @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - setListAdapter(new LibraryAdapter()); } @Override public void onListItemClick(ListView listView, View view, int position, long rowId) { } - private final class LibraryAdapter extends BaseAdapter { - private final ArrayList myItems = new ArrayList(); + protected final class LibraryAdapter extends BaseAdapter { + private final List myItems; - public LibraryAdapter() { - myItems.add(new TopLevelTree(myResource.getResource("searchResults"))); - myItems.add(new TopLevelTree(myResource.getResource("recent"))); - myItems.add(new TopLevelTree(myResource.getResource("byAuthor"))); - myItems.add(new TopLevelTree(myResource.getResource("byTag"))); - myItems.add(new TopLevelTree(myResource.getResource("fileTree"))); + public LibraryAdapter(List items) { + myItems = items; } @Override @@ -71,9 +66,6 @@ public class LibraryBaseActivity extends ListActivity { return position; } - //private ZLImage myFBReaderIcon = - // ZLAndroidLibrary.Instance().createImage(R.drawable.fbreader); - private int myCoverWidth = -1; private int myCoverHeight = -1; @@ -109,9 +101,6 @@ public class LibraryBaseActivity extends ListActivity { private void setupCover(final ImageView coverView, FBTree tree, int width, int height) { Bitmap coverBitmap = null; ZLImage cover = tree.getCover(); - if (cover == null) { - cover = myFBReaderIcon; - } if (cover != null) { ZLAndroidImageData data = null; final ZLAndroidImageManager mgr = (ZLAndroidImageManager) ZLAndroidImageManager.Instance(); @@ -123,26 +112,8 @@ public class LibraryBaseActivity extends ListActivity { if (coverBitmap != null) { coverView.setImageBitmap(coverBitmap); } else { - coverView.setImageDrawable(null); + coverView.setImageResource(R.drawable.fbreader); } } */ } - -class TopLevelTree extends FBTree { - private final ZLResource myResource; - - public TopLevelTree(ZLResource resource) { - myResource = resource; - } - - @Override - public String getName() { - return myResource.getValue(); - } - - @Override - public String getSummary() { - return myResource.getResource("summary").getValue(); - } -} diff --git a/src/org/geometerplus/android/fbreader/library/LibraryTopLevelActivity.java b/src/org/geometerplus/android/fbreader/library/LibraryTopLevelActivity.java new file mode 100644 index 000000000..25f7d5b6c --- /dev/null +++ b/src/org/geometerplus/android/fbreader/library/LibraryTopLevelActivity.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2010 Geometer Plus + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +package org.geometerplus.android.fbreader.library; + +import java.util.ArrayList; + +import android.os.Bundle; + +import org.geometerplus.zlibrary.core.resources.ZLResource; + +import org.geometerplus.fbreader.tree.FBTree; + +public class LibraryTopLevelActivity extends LibraryBaseActivity { + @Override + public void onCreate(Bundle icicle) { + super.onCreate(icicle); + final ArrayList items = new ArrayList(); + items.add(new TopLevelTree(myResource.getResource("searchResults"))); + items.add(new TopLevelTree(myResource.getResource("recent"))); + items.add(new TopLevelTree(myResource.getResource("byAuthor"))); + items.add(new TopLevelTree(myResource.getResource("byTag"))); + items.add(new TopLevelTree(myResource.getResource("fileTree"))); + setListAdapter(new LibraryAdapter(items)); + } +} + +class TopLevelTree extends FBTree { + private final ZLResource myResource; + + public TopLevelTree(ZLResource resource) { + myResource = resource; + } + + @Override + public String getName() { + return myResource.getValue(); + } + + @Override + public String getSummary() { + return myResource.getResource("summary").getValue(); + } +}