1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-04 18:29:23 +02:00

more methods in IBookCollection

This commit is contained in:
Nikolay Pultsin 2013-01-11 06:36:45 +04:00
parent a72943e2dd
commit 40b4953f83
4 changed files with 36 additions and 2 deletions

View file

@ -50,6 +50,28 @@ public class BookCollectionShadow implements IBookCollection, ServiceConnection
myContext.unbindService(this);
}
public synchronized int size() {
if (myInterface == null) {
return 0;
}
try {
return myInterface.size();
} catch (RemoteException e) {
return 0;
}
}
public synchronized Book getRecentBook(int index) {
if (myInterface == null) {
return null;
}
try {
return SerializerUtil.deserializeBook(myInterface.recentBook(index));
} catch (RemoteException e) {
return null;
}
}
public synchronized Book getBookById(long id) {
if (myInterface == null) {
return null;
@ -72,7 +94,7 @@ public class BookCollectionShadow implements IBookCollection, ServiceConnection
}
}
public void saveBookmark(Bookmark bookmark) {
public synchronized void saveBookmark(Bookmark bookmark) {
if (myInterface != null) {
try {
bookmark.update(SerializerUtil.deserializeBookmark(
@ -83,7 +105,7 @@ public class BookCollectionShadow implements IBookCollection, ServiceConnection
}
}
public void deleteBookmark(Bookmark bookmark) {
public synchronized void deleteBookmark(Bookmark bookmark) {
if (myInterface != null) {
try {
myInterface.deleteBookmark(SerializerUtil.serialize(bookmark));

View file

@ -7,7 +7,9 @@ package org.geometerplus.android.fbreader.libraryService;
import java.util.List;
interface LibraryInterface {
int size();
String bookById(in long id);
String recentBook(in int index);
List<String> allBookmarks();
String saveBookmark(in String bookmark);

View file

@ -69,6 +69,14 @@ public class LibraryService extends Service {
myCollection.startBuild();
}
public int size() {
return myCollection.size();
}
public String recentBook(int index) {
return SerializerUtil.serialize(myCollection.getRecentBook(index));
}
public String bookById(long id) {
return SerializerUtil.serialize(myCollection.getBookById(id));
}

View file

@ -22,7 +22,9 @@ package org.geometerplus.fbreader.library;
import java.util.List;
public interface IBookCollection {
int size();
Book getBookById(long id);
Book getRecentBook(int index);
List<Bookmark> allBookmarks();
void saveBookmark(Bookmark bookmark);