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

library code unification (in progress)

This commit is contained in:
Nikolay Pultsin 2011-07-14 13:47:24 +01:00
parent c2f7e1605e
commit b85870b5c1
4 changed files with 31 additions and 23 deletions

View file

@ -328,28 +328,39 @@ abstract class BaseActivity extends ListActivity implements View.OnCreateContext
} }
public void run() { public void run() {
if (myTree.getOpeningStatus() == LibraryTree.Status.WAIT_FOR_OPEN) { switch (myTree.getOpeningStatus()) {
UIUtil.runWithMessage( case WAIT_FOR_OPEN:
BaseActivity.this, myTree.getOpeningStatusMessage(), case ALWAYS_RELOAD_BEFORE_OPENING:
new Runnable() { final String messageKey = myTree.getOpeningStatusMessage();
public void run() { if (messageKey != null) {
myTree.waitForOpening(); UIUtil.runWithMessage(
} BaseActivity.this, messageKey,
}, new Runnable() {
new Runnable() { public void run() {
public void run() { myTree.waitForOpening();
openTree(); }
} },
new Runnable() {
public void run() {
openTree();
}
}
);
} else {
myTree.waitForOpening();
openTree();
} }
); break;
} else { default:
openTree(); openTree();
break;
} }
} }
protected void openTree() { protected void openTree() {
switch (myTree.getOpeningStatus()) { switch (myTree.getOpeningStatus()) {
case READY_TO_OPEN: case READY_TO_OPEN:
case ALWAYS_RELOAD_BEFORE_OPENING:
startActivityForResult( startActivityForResult(
new Intent(BaseActivity.this, myActivityClass) new Intent(BaseActivity.this, myActivityClass)
.putExtra(SELECTED_BOOK_PATH_KEY, mySelectedBookPath) .putExtra(SELECTED_BOOK_PATH_KEY, mySelectedBookPath)

View file

@ -34,12 +34,8 @@ public final class FileManager extends BaseActivity {
super.onCreate(icicle); super.onCreate(icicle);
final ListAdapter adapter = new ListAdapter(this, new ArrayList<FBTree>()); final ListAdapter adapter = new ListAdapter(this, new ArrayList<FBTree>());
adapter.addAll(myCurrentTree.subTrees());
if (myCurrentTree instanceof FileTree) { setSelection(getListAdapter().getFirstSelectedItemIndex());
startUpdate();
} else {
adapter.addAll(myCurrentTree.subTrees());
}
getListView().setTextFilterEnabled(true); getListView().setTextFilterEnabled(true);
} }

View file

@ -114,12 +114,12 @@ public class FileTree extends LibraryTree {
if (!myFile.isReadable()) { if (!myFile.isReadable()) {
return Status.CANNOT_OPEN; return Status.CANNOT_OPEN;
} }
return Status.READY_TO_OPEN; return Status.ALWAYS_RELOAD_BEFORE_OPENING;
} }
@Override @Override
public String getOpeningStatusMessage() { public String getOpeningStatusMessage() {
return "permissionDenied"; return getOpeningStatus() == Status.CANNOT_OPEN ? "permissionDenied" : null;
} }
@Override @Override

View file

@ -27,6 +27,7 @@ public abstract class LibraryTree extends FBTree {
public static enum Status { public static enum Status {
READY_TO_OPEN, READY_TO_OPEN,
WAIT_FOR_OPEN, WAIT_FOR_OPEN,
ALWAYS_RELOAD_BEFORE_OPENING,
CANNOT_OPEN CANNOT_OPEN
}; };