mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 02:39:23 +02:00
code simplification
This commit is contained in:
parent
6c38d394f5
commit
bfcbee56dd
6 changed files with 36 additions and 47 deletions
|
@ -68,11 +68,6 @@ public class LibraryActivity extends BaseActivity implements MenuItem.OnMenuItem
|
||||||
startService(new Intent(getApplicationContext(), InitializationService.class));
|
startService(new Intent(getApplicationContext(), InitializationService.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
final FBTree.Key key = (FBTree.Key)getIntent().getSerializableExtra(TREE_KEY_KEY);
|
|
||||||
setCurrentTree(getTreeByKey(key));
|
|
||||||
|
|
||||||
setTitle(getCurrentTree().getTreeTitle());
|
|
||||||
|
|
||||||
final String selectedBookPath = getIntent().getStringExtra(SELECTED_BOOK_PATH_KEY);
|
final String selectedBookPath = getIntent().getStringExtra(SELECTED_BOOK_PATH_KEY);
|
||||||
mySelectedBook = null;
|
mySelectedBook = null;
|
||||||
if (selectedBookPath != null) {
|
if (selectedBookPath != null) {
|
||||||
|
@ -82,8 +77,9 @@ public class LibraryActivity extends BaseActivity implements MenuItem.OnMenuItem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final ListAdapter adapter = new LibraryListAdapter(this, getCurrentTree().subTrees());
|
final ListAdapter adapter = new LibraryListAdapter(this);
|
||||||
setSelection(adapter.getIndex(adapter.getFirstSelectedItem()));
|
init(getIntent());
|
||||||
|
|
||||||
getListView().setTextFilterEnabled(true);
|
getListView().setTextFilterEnabled(true);
|
||||||
|
|
||||||
getListView().setOnCreateContextMenuListener(this);
|
getListView().setOnCreateContextMenuListener(this);
|
||||||
|
|
|
@ -33,15 +33,14 @@ import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageData;
|
||||||
import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageManager;
|
import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageManager;
|
||||||
import org.geometerplus.zlibrary.ui.android.R;
|
import org.geometerplus.zlibrary.ui.android.R;
|
||||||
|
|
||||||
import org.geometerplus.fbreader.tree.FBTree;
|
|
||||||
import org.geometerplus.fbreader.library.*;
|
import org.geometerplus.fbreader.library.*;
|
||||||
|
|
||||||
import org.geometerplus.android.fbreader.tree.BaseActivity;
|
import org.geometerplus.android.fbreader.tree.BaseActivity;
|
||||||
import org.geometerplus.android.fbreader.tree.ListAdapter;
|
import org.geometerplus.android.fbreader.tree.ListAdapter;
|
||||||
|
|
||||||
class LibraryListAdapter extends ListAdapter {
|
class LibraryListAdapter extends ListAdapter {
|
||||||
LibraryListAdapter(BaseActivity activity, List<FBTree> items) {
|
LibraryListAdapter(BaseActivity activity) {
|
||||||
super(activity, items);
|
super(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Bitmap getCoverBitmap(ZLImage cover) {
|
private Bitmap getCoverBitmap(ZLImage cover) {
|
||||||
|
@ -88,18 +87,18 @@ class LibraryListAdapter extends ListAdapter {
|
||||||
return coverView;
|
return coverView;
|
||||||
}
|
}
|
||||||
|
|
||||||
private View createView(View convertView, ViewGroup parent, FBTree item) {
|
private View createView(View convertView, ViewGroup parent, LibraryTree tree) {
|
||||||
final View view = (convertView != null) ? convertView :
|
final View view = (convertView != null) ? convertView :
|
||||||
LayoutInflater.from(parent.getContext()).inflate(R.layout.library_tree_item, parent, false);
|
LayoutInflater.from(parent.getContext()).inflate(R.layout.library_tree_item, parent, false);
|
||||||
|
|
||||||
((TextView)view.findViewById(R.id.library_tree_item_name)).setText(item.getName());
|
((TextView)view.findViewById(R.id.library_tree_item_name)).setText(tree.getName());
|
||||||
((TextView)view.findViewById(R.id.library_tree_item_childrenlist)).setText(item.getSecondString());
|
((TextView)view.findViewById(R.id.library_tree_item_childrenlist)).setText(tree.getSecondString());
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getView(int position, View convertView, final ViewGroup parent) {
|
public View getView(int position, View convertView, final ViewGroup parent) {
|
||||||
final FBTree tree = getItem(position);
|
final LibraryTree tree = (LibraryTree)getItem(position);
|
||||||
final View view = createView(convertView, parent, tree);
|
final View view = createView(convertView, parent, tree);
|
||||||
if (getActivity().isTreeSelected(tree)) {
|
if (getActivity().isTreeSelected(tree)) {
|
||||||
view.setBackgroundColor(0xff555555);
|
view.setBackgroundColor(0xff555555);
|
||||||
|
@ -118,8 +117,8 @@ class LibraryListAdapter extends ListAdapter {
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getCoverResourceId(FBTree tree) {
|
private int getCoverResourceId(LibraryTree tree) {
|
||||||
if (((LibraryTree)tree).getBook() != null) {
|
if (tree.getBook() != null) {
|
||||||
return R.drawable.ic_list_library_book;
|
return R.drawable.ic_list_library_book;
|
||||||
} else if (tree instanceof FirstLevelTree) {
|
} else if (tree instanceof FirstLevelTree) {
|
||||||
final String id = tree.getUniqueKey().Id;
|
final String id = tree.getUniqueKey().Id;
|
||||||
|
|
|
@ -66,12 +66,6 @@ public class NetworkBaseActivity extends BaseActivity implements NetworkView.Eve
|
||||||
|
|
||||||
private volatile boolean myInProgress;
|
private volatile boolean myInProgress;
|
||||||
|
|
||||||
@Override
|
|
||||||
protected FBTree getTreeByKey(FBTree.Key key) {
|
|
||||||
final NetworkLibrary library = NetworkLibrary.Instance();
|
|
||||||
return key != null ? library.getTreeByKey(key) : library.getRootTree();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
|
@ -89,13 +83,8 @@ public class NetworkBaseActivity extends BaseActivity implements NetworkView.Eve
|
||||||
BIND_AUTO_CREATE
|
BIND_AUTO_CREATE
|
||||||
);
|
);
|
||||||
|
|
||||||
NetworkTree tree = Util.getTreeFromIntent(getIntent());
|
setListAdapter(new NetworkLibraryAdapter(this));
|
||||||
if (tree == null) {
|
init(getIntent());
|
||||||
tree = NetworkLibrary.Instance().getRootTree();
|
|
||||||
}
|
|
||||||
setCurrentTree(tree);
|
|
||||||
setListAdapter(new NetworkLibraryAdapter(this, tree.subTrees()));
|
|
||||||
setTitle(tree.getTreeTitle());
|
|
||||||
|
|
||||||
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
||||||
|
|
||||||
|
@ -104,6 +93,12 @@ public class NetworkBaseActivity extends BaseActivity implements NetworkView.Eve
|
||||||
setProgressBarIndeterminateVisibility(myInProgress);
|
setProgressBarIndeterminateVisibility(myInProgress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected FBTree getTreeByKey(FBTree.Key key) {
|
||||||
|
final NetworkLibrary library = NetworkLibrary.Instance();
|
||||||
|
return key != null ? library.getTreeByKey(key) : library.getRootTree();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
|
|
|
@ -34,15 +34,14 @@ import org.geometerplus.zlibrary.core.image.ZLLoadableImage;
|
||||||
import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageManager;
|
import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageManager;
|
||||||
import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageData;
|
import org.geometerplus.zlibrary.ui.android.image.ZLAndroidImageData;
|
||||||
|
|
||||||
import org.geometerplus.fbreader.tree.FBTree;
|
|
||||||
import org.geometerplus.fbreader.network.NetworkTree;
|
import org.geometerplus.fbreader.network.NetworkTree;
|
||||||
import org.geometerplus.fbreader.network.tree.*;
|
import org.geometerplus.fbreader.network.tree.*;
|
||||||
|
|
||||||
import org.geometerplus.android.fbreader.tree.ListAdapter;
|
import org.geometerplus.android.fbreader.tree.ListAdapter;
|
||||||
|
|
||||||
class NetworkLibraryAdapter extends ListAdapter {
|
class NetworkLibraryAdapter extends ListAdapter {
|
||||||
NetworkLibraryAdapter(NetworkBaseActivity activity, List<FBTree> items) {
|
NetworkLibraryAdapter(NetworkBaseActivity activity) {
|
||||||
super(activity, items);
|
super(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int myCoverWidth = -1;
|
private int myCoverWidth = -1;
|
||||||
|
|
|
@ -52,10 +52,6 @@ public abstract class BaseActivity extends ListActivity {
|
||||||
return myCurrentTree;
|
return myCurrentTree;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setCurrentTree(FBTree tree) {
|
|
||||||
myCurrentTree = tree;
|
|
||||||
}
|
|
||||||
|
|
||||||
public abstract boolean isTreeSelected(FBTree tree);
|
public abstract boolean isTreeSelected(FBTree tree);
|
||||||
|
|
||||||
protected boolean OLD_STYLE_FLAG = false;
|
protected boolean OLD_STYLE_FLAG = false;
|
||||||
|
@ -113,20 +109,24 @@ public abstract class BaseActivity extends ListActivity {
|
||||||
@Override
|
@Override
|
||||||
protected void onNewIntent(Intent intent) {
|
protected void onNewIntent(Intent intent) {
|
||||||
if (OPEN_TREE_ACTION.equals(intent.getAction())) {
|
if (OPEN_TREE_ACTION.equals(intent.getAction())) {
|
||||||
final FBTree.Key key = (FBTree.Key)intent.getSerializableExtra(TREE_KEY_KEY);
|
init(intent);
|
||||||
final FBTree.Key selectedKey = (FBTree.Key)intent.getSerializableExtra(SELECTED_TREE_KEY_KEY);
|
|
||||||
myCurrentTree = getTreeByKey(key);
|
|
||||||
final ListAdapter adapter = getListAdapter();
|
|
||||||
adapter.replaceAll(myCurrentTree.subTrees());
|
|
||||||
setTitle(myCurrentTree.getTreeTitle());
|
|
||||||
final FBTree selectedTree =
|
|
||||||
selectedKey != null ? getTreeByKey(selectedKey) : adapter.getFirstSelectedItem();
|
|
||||||
setSelection(adapter.getIndex(selectedTree));
|
|
||||||
} else {
|
} else {
|
||||||
super.onNewIntent(intent);
|
super.onNewIntent(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void init(Intent intent) {
|
||||||
|
final FBTree.Key key = (FBTree.Key)intent.getSerializableExtra(TREE_KEY_KEY);
|
||||||
|
final FBTree.Key selectedKey = (FBTree.Key)intent.getSerializableExtra(SELECTED_TREE_KEY_KEY);
|
||||||
|
myCurrentTree = getTreeByKey(key);
|
||||||
|
final ListAdapter adapter = getListAdapter();
|
||||||
|
adapter.replaceAll(myCurrentTree.subTrees());
|
||||||
|
setTitle(myCurrentTree.getTreeTitle());
|
||||||
|
final FBTree selectedTree =
|
||||||
|
selectedKey != null ? getTreeByKey(selectedKey) : adapter.getFirstSelectedItem();
|
||||||
|
setSelection(adapter.getIndex(selectedTree));
|
||||||
|
}
|
||||||
|
|
||||||
private void openTreeInternal(FBTree tree, FBTree treeToSelect) {
|
private void openTreeInternal(FBTree tree, FBTree treeToSelect) {
|
||||||
switch (tree.getOpeningStatus()) {
|
switch (tree.getOpeningStatus()) {
|
||||||
case READY_TO_OPEN:
|
case READY_TO_OPEN:
|
||||||
|
|
|
@ -29,9 +29,9 @@ public abstract class ListAdapter extends BaseAdapter {
|
||||||
private final BaseActivity myActivity;
|
private final BaseActivity myActivity;
|
||||||
private final List<FBTree> myItems;
|
private final List<FBTree> myItems;
|
||||||
|
|
||||||
protected ListAdapter(BaseActivity activity, List<FBTree> items) {
|
protected ListAdapter(BaseActivity activity) {
|
||||||
myActivity = activity;
|
myActivity = activity;
|
||||||
myItems = Collections.synchronizedList(new ArrayList<FBTree>(items));
|
myItems = Collections.synchronizedList(new ArrayList<FBTree>());
|
||||||
activity.setListAdapter(this);
|
activity.setListAdapter(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue