mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-06 12:00:17 +02:00
NPE fix
git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1282 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
This commit is contained in:
parent
df4601c51c
commit
aabb5c1db9
4 changed files with 86 additions and 38 deletions
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue