mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 19:42:17 +02:00
repackaging
This commit is contained in:
parent
fdb1cc0aac
commit
c25aa5f984
4 changed files with 30 additions and 32 deletions
|
@ -142,7 +142,7 @@
|
|||
<action android:name="android.fbreader.action.CONFIG_SERVICE"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service android:name="org.geometerplus.android.fbreader.synchroniser.SynchroniserService" android:launchMode="singleTask" android:process=":synchroniser" android:exported="false"/>
|
||||
<service android:name="org.geometerplus.android.fbreader.sync.SyncService" android:launchMode="singleTask" android:process=":synchroniser" android:exported="false"/>
|
||||
<activity android:name="org.geometerplus.android.fbreader.library.BookInfoActivity" android:theme="@style/FBReader.Activity" android:process=":library" android:configChanges="orientation|keyboardHidden|screenSize">
|
||||
<intent-filter>
|
||||
<action android:name="android.fbreader.action.BOOK_INFO"/>
|
||||
|
|
|
@ -142,7 +142,7 @@
|
|||
<action android:name="android.fbreader.action.CONFIG_SERVICE"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service android:name="org.geometerplus.android.fbreader.synchroniser.SynchroniserService" android:launchMode="singleTask" android:process=":synchroniser" android:exported="false"/>
|
||||
<service android:name="org.geometerplus.android.fbreader.sync.SyncService" android:launchMode="singleTask" android:process=":synchroniser" android:exported="false"/>
|
||||
<activity android:name="org.geometerplus.android.fbreader.library.BookInfoActivity" android:theme="@style/FBReader.Activity" android:process=":library" android:configChanges="orientation|keyboardHidden|screenSize">
|
||||
<intent-filter>
|
||||
<action android:name="android.fbreader.action.BOOK_INFO"/>
|
||||
|
|
|
@ -58,7 +58,7 @@ import org.geometerplus.android.fbreader.api.*;
|
|||
import org.geometerplus.android.fbreader.httpd.DataService;
|
||||
import org.geometerplus.android.fbreader.library.BookInfoActivity;
|
||||
import org.geometerplus.android.fbreader.libraryService.BookCollectionShadow;
|
||||
import org.geometerplus.android.fbreader.synchroniser.SynchroniserService;
|
||||
import org.geometerplus.android.fbreader.sync.SyncService;
|
||||
import org.geometerplus.android.fbreader.tips.TipsActivity;
|
||||
|
||||
import org.geometerplus.android.util.*;
|
||||
|
@ -95,15 +95,13 @@ public final class FBReader extends Activity implements ZLApplicationWindow {
|
|||
private String myMenuLanguage;
|
||||
|
||||
final DataService.Connection DataConnection = new DataService.Connection();
|
||||
private final ServiceConnection mySynchroniserConnection = new ServiceConnection() {
|
||||
private final ServiceConnection mySyncConnection = new ServiceConnection() {
|
||||
@Override
|
||||
public void onServiceConnected(ComponentName componentName, IBinder binder) {
|
||||
System.err.println("SynchroniserService CONNECTED");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceDisconnected(ComponentName componentName) {
|
||||
System.err.println("SynchroniserService DISCONNECTED");
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -462,9 +460,9 @@ public final class FBReader extends Activity implements ZLApplicationWindow {
|
|||
super.onResume();
|
||||
|
||||
bindService(
|
||||
new Intent(this, SynchroniserService.class),
|
||||
mySynchroniserConnection,
|
||||
SynchroniserService.BIND_AUTO_CREATE
|
||||
new Intent(this, SyncService.class),
|
||||
mySyncConnection,
|
||||
SyncService.BIND_AUTO_CREATE
|
||||
);
|
||||
|
||||
myStartTimer = true;
|
||||
|
@ -511,7 +509,7 @@ public final class FBReader extends Activity implements ZLApplicationWindow {
|
|||
setButtonLight(true);
|
||||
}
|
||||
myFBReaderApp.onWindowClosing();
|
||||
unbindService(mySynchroniserConnection);
|
||||
unbindService(mySyncConnection);
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
package org.geometerplus.android.fbreader.synchroniser;
|
||||
package org.geometerplus.android.fbreader.sync;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
@ -39,8 +39,8 @@ import org.geometerplus.fbreader.fbreader.options.SyncOptions;
|
|||
import org.geometerplus.android.fbreader.libraryService.BookCollectionShadow;
|
||||
import org.geometerplus.android.fbreader.network.auth.ServiceNetworkContext;
|
||||
|
||||
public class SynchroniserService extends Service implements IBookCollection.Listener, Runnable {
|
||||
enum SyncStatus {
|
||||
public class SyncService extends Service implements IBookCollection.Listener, Runnable {
|
||||
private enum Status {
|
||||
AlreadyUploaded(Book.SYNCHRONIZED_LABEL),
|
||||
Uploaded(Book.SYNCHRONIZED_LABEL),
|
||||
ToBeDeleted(Book.SYNC_DELETED_LABEL),
|
||||
|
@ -59,7 +59,7 @@ public class SynchroniserService extends Service implements IBookCollection.List
|
|||
|
||||
public final String Label;
|
||||
|
||||
SyncStatus(String label) {
|
||||
Status(String label) {
|
||||
Label = label;
|
||||
}
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ public class SynchroniserService extends Service implements IBookCollection.List
|
|||
}
|
||||
final long start = System.currentTimeMillis();
|
||||
int count = 0;
|
||||
final Map<SyncStatus,Integer> statusCounts = new HashMap<SyncStatus,Integer>();
|
||||
final Map<Status,Integer> statusCounts = new HashMap<Status,Integer>();
|
||||
try {
|
||||
clearHashTables();
|
||||
for (BookQuery q = new BookQuery(new Filter.Empty(), 20);; q = q.next()) {
|
||||
|
@ -199,9 +199,9 @@ public class SynchroniserService extends Service implements IBookCollection.List
|
|||
}
|
||||
myProcessed.add(book);
|
||||
++count;
|
||||
final SyncStatus status = uploadBookToServer(book);
|
||||
final Status status = uploadBookToServer(book);
|
||||
if (status.Label != null) {
|
||||
for (String label : SyncStatus.AllLabels) {
|
||||
for (String label : Status.AllLabels) {
|
||||
if (status.Label.equals(label)) {
|
||||
book.addLabel(label);
|
||||
} else {
|
||||
|
@ -216,7 +216,7 @@ public class SynchroniserService extends Service implements IBookCollection.List
|
|||
} finally {
|
||||
System.err.println("SYNCHRONIZATION FINISHED IN " + (System.currentTimeMillis() - start) + "msecs");
|
||||
System.err.println("TOTAL BOOKS PROCESSED: " + count);
|
||||
for (SyncStatus value : SyncStatus.values()) {
|
||||
for (Status value : Status.values()) {
|
||||
System.err.println("STATUS " + value + ": " + statusCounts.get(value));
|
||||
}
|
||||
ourSynchronizationThread = null;
|
||||
|
@ -282,29 +282,29 @@ public class SynchroniserService extends Service implements IBookCollection.List
|
|||
}
|
||||
}
|
||||
|
||||
private SyncStatus uploadBookToServer(Book book) {
|
||||
private Status uploadBookToServer(Book book) {
|
||||
try {
|
||||
return uploadBookToServerInternal(book);
|
||||
} catch (SyncronizationDisabledException e) {
|
||||
return SyncStatus.SyncronizationDisabled;
|
||||
return Status.SyncronizationDisabled;
|
||||
}
|
||||
}
|
||||
|
||||
private SyncStatus uploadBookToServerInternal(Book book) {
|
||||
private Status uploadBookToServerInternal(Book book) {
|
||||
final File file = book.File.getPhysicalFile().javaFile();
|
||||
if (file.length() > 20 * 1024 * 1024) {
|
||||
return SyncStatus.Failure;
|
||||
return Status.Failure;
|
||||
}
|
||||
final String hash = myCollection.getHash(book);
|
||||
final boolean force = book.labels().contains(Book.SYNC_TOSYNC_LABEL);
|
||||
if (hash == null) {
|
||||
return SyncStatus.HashNotComputed;
|
||||
return Status.HashNotComputed;
|
||||
} else if (myActualHashesFromServer.contains(hash)) {
|
||||
return SyncStatus.AlreadyUploaded;
|
||||
return Status.AlreadyUploaded;
|
||||
} else if (!force && myDeletedHashesFromServer.contains(hash)) {
|
||||
return SyncStatus.ToBeDeleted;
|
||||
return Status.ToBeDeleted;
|
||||
} else if (!force && book.labels().contains(Book.SYNC_FAILURE_LABEL)) {
|
||||
return SyncStatus.FailedPreviuousTime;
|
||||
return Status.FailedPreviuousTime;
|
||||
}
|
||||
|
||||
initHashTables();
|
||||
|
@ -321,7 +321,7 @@ public class SynchroniserService extends Service implements IBookCollection.List
|
|||
myNetworkContext.perform(verificationRequest);
|
||||
} catch (ZLNetworkException e) {
|
||||
e.printStackTrace();
|
||||
return SyncStatus.ServerError;
|
||||
return Status.ServerError;
|
||||
}
|
||||
final String csrfToken = myNetworkContext.getCookieValue(SyncOptions.DOMAIN, "csrftoken");
|
||||
try {
|
||||
|
@ -332,24 +332,24 @@ public class SynchroniserService extends Service implements IBookCollection.List
|
|||
uploadRequest.addHeader("Referer", verificationRequest.getURL());
|
||||
uploadRequest.addHeader("X-CSRFToken", csrfToken);
|
||||
myNetworkContext.perform(uploadRequest);
|
||||
return uploadRequest.Success ? SyncStatus.Uploaded : SyncStatus.Failure;
|
||||
return uploadRequest.Success ? Status.Uploaded : Status.Failure;
|
||||
} catch (ZLNetworkException e) {
|
||||
e.printStackTrace();
|
||||
return SyncStatus.ServerError;
|
||||
return Status.ServerError;
|
||||
}
|
||||
} else {
|
||||
final List<String> hashes = (List<String>)result.get("hashes");
|
||||
if ("found".equals(status)) {
|
||||
myActualHashesFromServer.addAll(hashes);
|
||||
return SyncStatus.AlreadyUploaded;
|
||||
return Status.AlreadyUploaded;
|
||||
} else /* if ("deleted".equals(status)) */ {
|
||||
myDeletedHashesFromServer.addAll(hashes);
|
||||
return SyncStatus.ToBeDeleted;
|
||||
return Status.ToBeDeleted;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.err.println("UNEXPECTED RESPONSE: " + result);
|
||||
return SyncStatus.ServerError;
|
||||
return Status.ServerError;
|
||||
}
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue