mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 10:49:24 +02:00
API implementation (in progress)
This commit is contained in:
parent
45dfb63382
commit
1e2aaf281d
5 changed files with 89 additions and 31 deletions
|
@ -67,6 +67,6 @@ public interface Api {
|
||||||
int getTapZoneHeight(String name) throws ApiException;
|
int getTapZoneHeight(String name) throws ApiException;
|
||||||
int getTapZoneWidth(String name) throws ApiException;
|
int getTapZoneWidth(String name) throws ApiException;
|
||||||
String getTapZoneAction(String name, int v, int h, boolean longPress) throws ApiException;
|
String getTapZoneAction(String name, int v, int h, boolean longPress) throws ApiException;
|
||||||
boolean createTapZone(String name, int height, int width) throws ApiException;
|
void createTapZone(String name, int height, int width) throws ApiException;
|
||||||
void setTapZoneAction(String name, int v, int h, boolean longPress, String action) throws ApiException;
|
void setTapZoneAction(String name, int v, int h, boolean longPress, String action) throws ApiException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,6 +181,10 @@ public class ApiClientImplementation implements ServiceConnection, Api, ApiMetho
|
||||||
return new ApiObject[] { ApiObject.envelope(value) };
|
return new ApiObject[] { ApiObject.envelope(value) };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ApiObject[] envelope(long value) {
|
||||||
|
return new ApiObject[] { ApiObject.envelope(value) };
|
||||||
|
}
|
||||||
|
|
||||||
private static ApiObject[] envelope(List<String> value) {
|
private static ApiObject[] envelope(List<String> value) {
|
||||||
final ApiObject[] objects = new ApiObject[value.size()];
|
final ApiObject[] objects = new ApiObject[value.size()];
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
@ -197,11 +201,11 @@ public class ApiClientImplementation implements ServiceConnection, Api, ApiMetho
|
||||||
|
|
||||||
// preferences information
|
// preferences information
|
||||||
public List<String> getOptionGroups() throws ApiException {
|
public List<String> getOptionGroups() throws ApiException {
|
||||||
return requestStringList(GET_OPTION_GROUPS, EMPTY_PARAMETERS);
|
return requestStringList(LIST_OPTION_GROUPS, EMPTY_PARAMETERS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getOptionNames(String group) throws ApiException {
|
public List<String> getOptionNames(String group) throws ApiException {
|
||||||
return requestStringList(GET_OPTION_NAMES, envelope(group));
|
return requestStringList(LIST_OPTION_NAMES, envelope(group));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getOptionValue(String group, String name) throws ApiException {
|
public String getOptionValue(String group, String name) throws ApiException {
|
||||||
|
@ -227,7 +231,7 @@ public class ApiClientImplementation implements ServiceConnection, Api, ApiMetho
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getBookTags() throws ApiException {
|
public List<String> getBookTags() throws ApiException {
|
||||||
return requestStringList(GET_BOOK_TAGS, EMPTY_PARAMETERS);
|
return requestStringList(LIST_BOOK_TAGS, EMPTY_PARAMETERS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getBookFilePath() throws ApiException {
|
public String getBookFilePath() throws ApiException {
|
||||||
|
@ -247,31 +251,31 @@ public class ApiClientImplementation implements ServiceConnection, Api, ApiMetho
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getBookLanguage(long id) throws ApiException {
|
public String getBookLanguage(long id) throws ApiException {
|
||||||
return requestString(GET_BOOK_LANGUAGE, EMPTY_PARAMETERS);
|
return requestString(GET_BOOK_LANGUAGE, envelope(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getBookTitle(long id) throws ApiException {
|
public String getBookTitle(long id) throws ApiException {
|
||||||
return requestString(GET_BOOK_TITLE, EMPTY_PARAMETERS);
|
return requestString(GET_BOOK_TITLE, envelope(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getBookTags(long id) throws ApiException {
|
public List<String> getBookTags(long id) throws ApiException {
|
||||||
return requestStringList(GET_BOOK_TAGS, EMPTY_PARAMETERS);
|
return requestStringList(LIST_BOOK_TAGS, envelope(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getBookFilePath(long id) throws ApiException {
|
public String getBookFilePath(long id) throws ApiException {
|
||||||
return requestString(GET_BOOK_FILE_PATH, EMPTY_PARAMETERS);
|
return requestString(GET_BOOK_FILE_PATH, envelope(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getBookHash(long id) throws ApiException {
|
public String getBookHash(long id) throws ApiException {
|
||||||
return requestString(GET_BOOK_HASH, EMPTY_PARAMETERS);
|
return requestString(GET_BOOK_HASH, envelope(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getBookUniqueId(long id) throws ApiException {
|
public String getBookUniqueId(long id) throws ApiException {
|
||||||
return requestString(GET_BOOK_UNIQUE_ID, EMPTY_PARAMETERS);
|
return requestString(GET_BOOK_UNIQUE_ID, envelope(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getBookLastTurningTime(long id) throws ApiException {
|
public Date getBookLastTurningTime(long id) throws ApiException {
|
||||||
return requestDate(GET_BOOK_LAST_TURNING_TIME, EMPTY_PARAMETERS);
|
return requestDate(GET_BOOK_LAST_TURNING_TIME, envelope(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public TextPosition getPageStart() throws ApiException {
|
public TextPosition getPageStart() throws ApiException {
|
||||||
|
@ -359,8 +363,8 @@ public class ApiClientImplementation implements ServiceConnection, Api, ApiMetho
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean createTapZone(String name, int height, int width) throws ApiException {
|
public void createTapZone(String name, int height, int width) throws ApiException {
|
||||||
return requestBoolean(CREATE_TAPZONE, new ApiObject[] {
|
request(CREATE_TAPZONE, new ApiObject[] {
|
||||||
ApiObject.envelope(name),
|
ApiObject.envelope(name),
|
||||||
ApiObject.envelope(height),
|
ApiObject.envelope(height),
|
||||||
ApiObject.envelope(width)
|
ApiObject.envelope(width)
|
||||||
|
|
|
@ -15,16 +15,16 @@ interface ApiMethods {
|
||||||
// bookmarks information
|
// bookmarks information
|
||||||
|
|
||||||
// preferences
|
// preferences
|
||||||
int GET_OPTION_GROUPS = 401;
|
int LIST_OPTION_GROUPS = 401;
|
||||||
int GET_OPTION_NAMES = 402;
|
int LIST_OPTION_NAMES = 402;
|
||||||
int GET_OPTION_VALUE = 403;
|
int GET_OPTION_VALUE = 403;
|
||||||
int SET_OPTION_VALUE = 404;
|
int SET_OPTION_VALUE = 404;
|
||||||
|
|
||||||
// book information
|
// book information
|
||||||
int GET_BOOK_LANGUAGE = 501;
|
int GET_BOOK_LANGUAGE = 501;
|
||||||
int GET_BOOK_TITLE = 502;
|
int GET_BOOK_TITLE = 502;
|
||||||
int GET_BOOK_AUTHORS = 503;
|
int LIST_BOOK_AUTHORS = 503;
|
||||||
int GET_BOOK_TAGS = 504;
|
int LIST_BOOK_TAGS = 504;
|
||||||
int GET_BOOK_FILE_PATH = 505;
|
int GET_BOOK_FILE_PATH = 505;
|
||||||
int GET_BOOK_HASH = 506;
|
int GET_BOOK_HASH = 506;
|
||||||
int GET_BOOK_UNIQUE_ID = 507;
|
int GET_BOOK_UNIQUE_ID = 507;
|
||||||
|
|
|
@ -152,6 +152,10 @@ public abstract class ApiObject implements Parcelable {
|
||||||
return new Integer(value);
|
return new Integer(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static ApiObject envelope(long value) {
|
||||||
|
return new Long(value);
|
||||||
|
}
|
||||||
|
|
||||||
static ApiObject envelope(boolean value) {
|
static ApiObject envelope(boolean value) {
|
||||||
return new Boolean(value);
|
return new Boolean(value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,6 +131,45 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
||||||
case CLEAR_HIGHLIGHTING:
|
case CLEAR_HIGHLIGHTING:
|
||||||
clearHighlighting();
|
clearHighlighting();
|
||||||
return ApiObject.Void.Instance;
|
return ApiObject.Void.Instance;
|
||||||
|
case GET_KEY_ACTION:
|
||||||
|
return ApiObject.envelope(getKeyAction(
|
||||||
|
((ApiObject.Integer)parameters[0]).Value,
|
||||||
|
((ApiObject.Boolean)parameters[1]).Value
|
||||||
|
));
|
||||||
|
case SET_KEY_ACTION:
|
||||||
|
setKeyAction(
|
||||||
|
((ApiObject.Integer)parameters[0]).Value,
|
||||||
|
((ApiObject.Boolean)parameters[1]).Value,
|
||||||
|
((ApiObject.String)parameters[2]).Value
|
||||||
|
);
|
||||||
|
return ApiObject.Void.Instance;
|
||||||
|
case GET_TAPZONE_ACTION:
|
||||||
|
return ApiObject.envelope(getTapZoneAction(
|
||||||
|
((ApiObject.String)parameters[0]).Value,
|
||||||
|
((ApiObject.Integer)parameters[1]).Value,
|
||||||
|
((ApiObject.Integer)parameters[2]).Value,
|
||||||
|
((ApiObject.Boolean)parameters[3]).Value
|
||||||
|
));
|
||||||
|
case GET_TAPZONE_HEIGHT:
|
||||||
|
return ApiObject.envelope(getTapZoneHeight(((ApiObject.String)parameters[0]).Value));
|
||||||
|
case GET_TAPZONE_WIDTH:
|
||||||
|
return ApiObject.envelope(getTapZoneWidth(((ApiObject.String)parameters[0]).Value));
|
||||||
|
case SET_TAPZONE_ACTION:
|
||||||
|
setTapZoneAction(
|
||||||
|
((ApiObject.String)parameters[0]).Value,
|
||||||
|
((ApiObject.Integer)parameters[1]).Value,
|
||||||
|
((ApiObject.Integer)parameters[2]).Value,
|
||||||
|
((ApiObject.Boolean)parameters[3]).Value,
|
||||||
|
((ApiObject.String)parameters[4]).Value
|
||||||
|
);
|
||||||
|
return ApiObject.Void.Instance;
|
||||||
|
case CREATE_TAPZONE:
|
||||||
|
createTapZone(
|
||||||
|
((ApiObject.String)parameters[0]).Value,
|
||||||
|
((ApiObject.Integer)parameters[1]).Value,
|
||||||
|
((ApiObject.Integer)parameters[2]).Value
|
||||||
|
);
|
||||||
|
return ApiObject.Void.Instance;
|
||||||
default:
|
default:
|
||||||
return unsupportedMethodError(method);
|
return unsupportedMethodError(method);
|
||||||
}
|
}
|
||||||
|
@ -142,14 +181,26 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
||||||
public List<ApiObject> requestList(int method, ApiObject[] parameters) {
|
public List<ApiObject> requestList(int method, ApiObject[] parameters) {
|
||||||
try {
|
try {
|
||||||
switch (method) {
|
switch (method) {
|
||||||
case GET_OPTION_GROUPS:
|
case LIST_OPTION_GROUPS:
|
||||||
return ApiObject.envelope(getOptionGroups());
|
return ApiObject.envelope(getOptionGroups());
|
||||||
case GET_OPTION_NAMES:
|
case LIST_OPTION_NAMES:
|
||||||
return ApiObject.envelope(getOptionNames(
|
return ApiObject.envelope(getOptionNames(
|
||||||
((ApiObject.String)parameters[0]).Value
|
((ApiObject.String)parameters[0]).Value
|
||||||
));
|
));
|
||||||
case GET_BOOK_TAGS:
|
case LIST_BOOK_TAGS:
|
||||||
return ApiObject.envelope(getBookTags());
|
return ApiObject.envelope(getBookTags());
|
||||||
|
case LIST_ACTIONS:
|
||||||
|
return ApiObject.envelope(listActions());
|
||||||
|
case LIST_ACTION_NAMES:
|
||||||
|
{
|
||||||
|
final ArrayList<String> actions = new ArrayList<String>(parameters.length);
|
||||||
|
for (ApiObject o : parameters) {
|
||||||
|
actions.add(((ApiObject.String)o).Value);
|
||||||
|
}
|
||||||
|
return ApiObject.envelope(listActionNames(actions));
|
||||||
|
}
|
||||||
|
case LIST_TAPZONES:
|
||||||
|
return ApiObject.envelope(listTapZones());
|
||||||
default:
|
default:
|
||||||
return Collections.<ApiObject>singletonList(unsupportedMethodError(method));
|
return Collections.<ApiObject>singletonList(unsupportedMethodError(method));
|
||||||
}
|
}
|
||||||
|
@ -340,51 +391,50 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
||||||
}
|
}
|
||||||
|
|
||||||
// action control
|
// action control
|
||||||
public List<String> listActions() throws ApiException {
|
public List<String> listActions() {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> listActionNames(List<String> actions) throws ApiException {
|
public List<String> listActionNames(List<String> actions) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getKeyAction(int key, boolean longPress) throws ApiException {
|
public String getKeyAction(int key, boolean longPress) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setKeyAction(int key, boolean longPress, String action) throws ApiException {
|
public void setKeyAction(int key, boolean longPress, String action) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> listTapZones() throws ApiException {
|
public List<String> listTapZones() {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTapZoneHeight(String name) throws ApiException {
|
public int getTapZoneHeight(String name) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTapZoneWidth(String name) throws ApiException {
|
public int getTapZoneWidth(String name) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTapZoneAction(String name, int v, int h, boolean longPress) throws ApiException {
|
public String getTapZoneAction(String name, int v, int h, boolean longPress) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean createTapZone(String name, int height, int width) throws ApiException {
|
public void createTapZone(String name, int height, int width) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTapZoneAction(String name, int v, int h, boolean longPress, String action) throws ApiException {
|
public void setTapZoneAction(String name, int v, int h, boolean longPress, String action) {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue