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

misc fixes

This commit is contained in:
Nikolay Pultsin 2014-08-07 13:55:16 +01:00
parent 2349fd0c77
commit 8680d0f5bb
9 changed files with 48 additions and 16 deletions

View file

@ -86,6 +86,8 @@ public class BookCollectionShadow extends AbstractBookCollection implements Serv
if (myContext != null && myInterface != null) {
try {
myContext.unregisterReceiver(myReceiver);
} catch (IllegalArgumentException e) {
// called before regisration, that's ok
} catch (Exception e) {
e.printStackTrace();
}

View file

@ -109,6 +109,12 @@ public class AddCustomCatalogActivity extends Activity {
});
}
@Override
protected void onResume() {
super.onResume();
myNetworkContext.onResume();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
myNetworkContext.onActivityResult(requestCode, resultCode, data);

View file

@ -99,6 +99,7 @@ public class NetworkBookInfoActivity extends Activity implements NetworkLibrary.
@Override
protected void onResume() {
super.onResume();
myNetworkContext.onResume();
NetworkLibrary.Instance().fireModelChangedEvent(NetworkLibrary.ChangeListener.Code.SomeCode);
}

View file

@ -128,6 +128,7 @@ public abstract class NetworkLibraryActivity extends TreeActivity<NetworkTree> i
@Override
public void onResume() {
super.onResume();
myNetworkContext.onResume();
getListView().setOnCreateContextMenuListener(this);
NetworkLibrary.Instance().fireModelChangedEvent(NetworkLibrary.ChangeListener.Code.SomeCode);
}

View file

@ -50,6 +50,10 @@ public final class ActivityNetworkContext extends AndroidNetworkContext {
return myActivity;
}
public synchronized void onResume() {
notifyAll();
}
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
boolean processed = true;
try {
@ -70,6 +74,7 @@ public final class ActivityNetworkContext extends AndroidNetworkContext {
}
break;
case NetworkLibraryActivity.REQUEST_WEB_AUTHORISATION_SCREEN:
cookieStore().reset();
break;
}
} finally {
@ -148,7 +153,7 @@ public final class ActivityNetworkContext extends AndroidNetworkContext {
synchronized (this) {
OrientationUtil.startActivityForResult(myActivity, intent, requestCode);
try {
wait(30000);
wait();
} catch (InterruptedException e) {
}
}

View file

@ -62,6 +62,12 @@ public class PreferenceActivity extends ZLPreferenceActivity {
super("Preferences");
}
@Override
protected void onResume() {
super.onResume();
myNetworkContext.onResume();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (myNetworkContext.onActivityResult(requestCode, resultCode, data)) {
@ -139,12 +145,15 @@ public class PreferenceActivity extends ZLPreferenceActivity {
return syncOptions.Enabled.getValue();
}
};
syncScreen.addPreference(new ZLBooleanPreference(
this, syncOptions.Enabled, syncScreen.Resource.getResource("enable")
syncScreen.addPreference(new ZLCheckBoxPreference(
this, syncScreen.Resource.getResource("enable")
) {
{
if (isChecked()) {
if (syncOptions.Enabled.getValue()) {
setChecked(true);
setOnSummary(SyncUtil.getAccountName(myNetworkContext));
} else {
setChecked(false);
}
}
@ -156,7 +165,9 @@ public class PreferenceActivity extends ZLPreferenceActivity {
SyncUtil.logout(myNetworkContext);
if (!isChecked()) {
syncOptions.Enabled.setValue(false);
setOnSummary(null);
syncPreferences.run();
return;
}
@ -167,7 +178,14 @@ public class PreferenceActivity extends ZLPreferenceActivity {
new JsonRequest(SyncOptions.BASE_URL + "login/test") {
@Override
public void processResponse(Object response) {
setOnSummary((String)((Map)response).get("user"));
final String account = (String)((Map)response).get("user");
syncOptions.Enabled.setValue(account != null);
runOnUiThread(new Runnable() {
public void run() {
setOnSummary(account);
syncPreferences.run();
}
});
}
}
);
@ -175,8 +193,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
e.printStackTrace();
runOnUiThread(new Runnable() {
public void run() {
forceValue(false);
syncPreferences.run();
setChecked(false);
}
});
}

View file

@ -38,9 +38,4 @@ class ZLBooleanPreference extends ZLCheckBoxPreference {
super.onClick();
myOption.setValue(isChecked());
}
protected void forceValue(boolean value) {
setChecked(value);
myOption.setValue(value);
}
}

View file

@ -249,7 +249,7 @@ public class SyncService extends Service implements IBookCollection.Listener, Ru
}
private final class UploadRequest extends ZLNetworkRequest.FileUpload {
boolean Success = false;
Status Result = Status.Failure;
UploadRequest(File file) {
super(SyncOptions.BASE_URL + "app/book.upload", file, false);
@ -261,6 +261,7 @@ public class SyncService extends Service implements IBookCollection.Listener, Ru
String id = null;
List<String> hashes = null;
String error = null;
String code = null;
try {
final List<Map> responseList = (List<Map>)response;
if (responseList.size() == 1) {
@ -268,16 +269,20 @@ public class SyncService extends Service implements IBookCollection.Listener, Ru
id = (String)resultMap.get("id");
hashes = (List<String>)resultMap.get("hashes");
error = (String)resultMap.get("error");
code = (String)resultMap.get("code");
}
} catch (Exception e) {
// ignore
}
if (error != null) {
System.err.println("UPLOAD FAILURE: " + error);
if ("ALREADY_UPLOADED".equals(code)) {
Result = Status.AlreadyUploaded;
}
} else if (id != null && hashes != null) {
System.err.println("UPLOADED SUCCESSFULLY: " + id);
myActualHashesFromServer.addAll(hashes);
Success = true;
Result = Status.Uploaded;
} else {
System.err.println("UNEXPECED RESPONSE: " + response);
}
@ -334,7 +339,7 @@ public class SyncService extends Service implements IBookCollection.Listener, Ru
uploadRequest.addHeader("Referer", verificationRequest.getURL());
uploadRequest.addHeader("X-CSRFToken", csrfToken);
myNetworkContext.perform(uploadRequest);
return uploadRequest.Success ? Status.Uploaded : Status.Failure;
return uploadRequest.Result;
} catch (ZLNetworkException e) {
e.printStackTrace();
return Status.ServerError;

View file

@ -729,7 +729,7 @@ public class BookCollection extends AbstractBookCollection {
}
String hash = myDatabase.getHash(book.getId(), file.javaFile().lastModified());
if (hash == null) {
final UID uid = BookUtil.createUid(file, "SHA-1");
final UID uid = BookUtil.createUid(book.File, "SHA-1");
if (uid == null) {
return null;
}