1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-06 12:00:17 +02:00
git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1282 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
This commit is contained in:
Vasiliy Bout 2010-04-25 09:57:06 +00:00
parent df4601c51c
commit aabb5c1db9
4 changed files with 86 additions and 38 deletions

View file

@ -60,7 +60,9 @@ class AuthenticationDialog {
myLink = link;
myErrorMessage = null;
myOnSuccessRunnable = onSuccessRunnable;
NetworkLibraryActivity.Instance.getTopLevelActivity().showDialog(NetworkLibraryActivity.DIALOG_AUTHENTICATION);
if (NetworkLibraryActivity.Instance != null) {
NetworkLibraryActivity.Instance.getTopLevelActivity().showDialog(NetworkLibraryActivity.DIALOG_AUTHENTICATION);
}
}
public Dialog createDialog(final Activity activity) {

View file

@ -194,13 +194,18 @@ class NetworkBookActions extends NetworkTreeActions {
doBuyInBrowser(book);
return true;
case SHOW_BOOK_ACTIVITY_ITEM_ID:
NetworkLibraryActivity.Instance.showBookInfoActivity(book);
if (NetworkLibraryActivity.Instance != null) {
NetworkLibraryActivity.Instance.showBookInfoActivity(book);
}
return true;
}
return false;
}
private static void doDownloadBook(final NetworkBookItem book, boolean demo) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
int resolvedType = demo ? BookReference.Type.DOWNLOAD_DEMO : BookReference.Type.DOWNLOAD_FULL;
BookReference ref = book.reference(resolvedType);
if (ref != null) {
@ -223,6 +228,9 @@ class NetworkBookActions extends NetworkTreeActions {
}
private static void doReadBook(final NetworkBookItem book, boolean demo) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
String local = null;
if (!demo) {
local = book.localCopyFileName();
@ -244,6 +252,9 @@ class NetworkBookActions extends NetworkTreeActions {
}
private static void tryToDeleteBook(final NetworkBookItem book, final boolean demo) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
final ZLResource dialogResource = ZLResource.resource("dialog");
final ZLResource buttonResource = dialogResource.getResource("button");
final ZLResource boxResource = dialogResource.getResource("deleteBookBox");
@ -265,7 +276,9 @@ class NetworkBookActions extends NetworkTreeActions {
}
}
}
NetworkLibraryActivity.Instance.fireOnModelChanged();
if (NetworkLibraryActivity.Instance != null) {
NetworkLibraryActivity.Instance.fireOnModelChanged();
}
}
})
.setNegativeButton(buttonResource.getResource("no").getValue(), null)
@ -277,6 +290,9 @@ class NetworkBookActions extends NetworkTreeActions {
if (mgr == null) {
return;
}
if (NetworkLibraryActivity.Instance == null) {
return;
}
/*if (!NetworkOperationRunnable::tryConnect()) {
return;
}*/
@ -287,50 +303,58 @@ class NetworkBookActions extends NetworkTreeActions {
final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
if (which == DialogInterface.BUTTON_NEGATIVE) {
return;
}
if (!mgr.needPurchase(book)) {
return;
}
final boolean downloadBook = which == DialogInterface.BUTTON_NEUTRAL;
if (mgr.needPurchase(book)) {
final Handler handler = new Handler() {
public void handleMessage(Message message) {
String err = (String) message.obj;
if (err != null) {
final ZLResource boxResource = dialogResource.getResource("networkError");
new AlertDialog.Builder(NetworkLibraryActivity.Instance.getTopLevelActivity())
.setTitle(boxResource.getResource("title").getValue())
.setMessage(err)
.setIcon(0)
.setPositiveButton(buttonResource.getResource("ok").getValue(), null)
.create().show();
} else if (downloadBook) {
doDownloadBook(book, false);
}
if (mgr.isAuthorised(true).Status == ZLBoolean3.B3_FALSE) {
final NetworkLibrary library = NetworkLibrary.Instance();
library.invalidateAccountDependents();
library.synchronize();
}
if (NetworkLibraryActivity.Instance != null) {
NetworkLibraryActivity.Instance.getAdapter().resetTree();
NetworkLibraryActivity.Instance.fireOnModelChanged();
}
final Handler handler = new Handler() {
public void handleMessage(Message message) {
String err = (String) message.obj;
if (err != null) {
final ZLResource boxResource = dialogResource.getResource("networkError");
new AlertDialog.Builder(NetworkLibraryActivity.Instance.getTopLevelActivity())
.setTitle(boxResource.getResource("title").getValue())
.setMessage(err)
.setIcon(0)
.setPositiveButton(buttonResource.getResource("ok").getValue(), null)
.create().show();
} else if (downloadBook) {
doDownloadBook(book, false);
}
}; // end Handler
final Runnable runnable = new Runnable() {
public void run() {
String err = mgr.purchaseBook(book);
handler.sendMessage(handler.obtainMessage(0, err));
if (mgr.isAuthorised(true).Status == ZLBoolean3.B3_FALSE) {
final NetworkLibrary library = NetworkLibrary.Instance();
library.invalidateAccountDependents();
library.synchronize();
}
}; // end Runnable
((ZLAndroidDialogManager)ZLAndroidDialogManager.Instance()).wait("purchaseBook", runnable, NetworkLibraryActivity.Instance.getTopLevelActivity());
} // end if
if (NetworkLibraryActivity.Instance != null) {
NetworkLibraryActivity.Instance.getAdapter().resetTree();
NetworkLibraryActivity.Instance.fireOnModelChanged();
}
}
}; // end Handler
final Runnable runnable = new Runnable() {
public void run() {
String err = mgr.purchaseBook(book);
handler.sendMessage(handler.obtainMessage(0, err));
}
}; // end Runnable
((ZLAndroidDialogManager)ZLAndroidDialogManager.Instance()).wait("purchaseBook", runnable, NetworkLibraryActivity.Instance.getTopLevelActivity());
} // end onClick
}; // end listener
final Runnable buyRunnable = new Runnable() {
public void run() {
if (NetworkLibraryActivity.Instance == null) {
return;
}
if (!mgr.needPurchase(book)) {
// TODO: make dialog
return;
}
final ZLResource boxResource = dialogResource.getResource("purchaseConfirmBox");
@ -354,6 +378,9 @@ class NetworkBookActions extends NetworkTreeActions {
}
private static void doBuyInBrowser(final NetworkBookItem book) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
BookReference reference = book.reference(BookReference.Type.BUY_IN_BROWSER);
if (reference != null) {
NetworkLibraryActivity.Instance.openInBrowser(reference.URL);

View file

@ -53,6 +53,11 @@ public class NetworkBookInfoActivity extends Activity implements NetworkLibraryA
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (NetworkLibraryActivity.Instance == null) {
finish();
return;
}
myBook = NetworkLibraryActivity.Instance.getBookItem();
if (myBook == null) {
finish();
@ -149,7 +154,8 @@ public class NetworkBookInfoActivity extends Activity implements NetworkLibraryA
final ZLAndroidImageManager mgr = (ZLAndroidImageManager) ZLAndroidImageManager.Instance();
if (cover instanceof NetworkImage) {
final NetworkImage img = (NetworkImage) cover;
if (NetworkLibraryActivity.Instance.isCoverLoading(img.Url)) {
if (NetworkLibraryActivity.Instance != null
&& NetworkLibraryActivity.Instance.isCoverLoading(img.Url)) {
NetworkLibraryActivity.Instance.setOnCoverSyncRunnable(img.Url, new Runnable() {
public void run() {
img.synchronizeFast();

View file

@ -139,7 +139,9 @@ class NetworkCatalogActions extends NetworkTreeActions {
doExpandCatalog((NetworkCatalogTree)tree);
return true;
case OPEN_IN_BROWSER_ITEM_ID:
NetworkLibraryActivity.Instance.openInBrowser(((NetworkCatalogTree)tree).Item.URLByType.get(NetworkCatalogItem.URL_HTML_PAGE));
if (NetworkLibraryActivity.Instance != null) {
NetworkLibraryActivity.Instance.openInBrowser(((NetworkCatalogTree)tree).Item.URLByType.get(NetworkCatalogItem.URL_HTML_PAGE));
}
return true;
case RELOAD_ITEM_ID:
doReloadCatalog((NetworkCatalogTree)tree);
@ -154,7 +156,9 @@ class NetworkCatalogActions extends NetworkTreeActions {
doSignOut((NetworkCatalogTree)tree);
return true;
case REFILL_ACCOUNT_ITEM_ID:
NetworkLibraryActivity.Instance.openInBrowser(((NetworkCatalogTree)tree).Item.Link.authenticationManager().refillAccountLink());
if (NetworkLibraryActivity.Instance != null) {
NetworkLibraryActivity.Instance.openInBrowser(((NetworkCatalogTree)tree).Item.Link.authenticationManager().refillAccountLink());
}
return true;
/*case DBG_UNLOAD_CATALOG_ITEM_ID: {
final NetworkCatalogTree catalogTree = (NetworkCatalogTree) tree;
@ -307,6 +311,9 @@ class NetworkCatalogActions extends NetworkTreeActions {
}
public void doExpandCatalog(final NetworkCatalogTree tree) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
if (tree.hasChildren()) {
NetworkLibraryActivity.Instance.getAdapter().expandOrCollapseTree(tree);
return;
@ -326,6 +333,9 @@ class NetworkCatalogActions extends NetworkTreeActions {
}
public void doReloadCatalog(final NetworkCatalogTree tree) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
if (!startProcessingTree(tree)) {
return;
}
@ -384,6 +394,9 @@ class NetworkCatalogActions extends NetworkTreeActions {
}*/
private void doSignOut(NetworkCatalogTree tree) {
if (NetworkLibraryActivity.Instance == null) {
return;
}
final Handler handler = new Handler() {
public void handleMessage(Message message) {
final NetworkLibrary library = NetworkLibrary.Instance();