mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-03 17:59:33 +02:00
more API methods
This commit is contained in:
parent
f366a86441
commit
6175f96a8f
7 changed files with 94 additions and 50 deletions
1
TODO.1.5
1
TODO.1.5
|
@ -5,6 +5,7 @@ litres: author photos
|
|||
|
||||
1.5.*:
|
||||
|
||||
* Advanced settings plugin does not run
|
||||
* Autogeneration for ApiMethods & ApiImplementations
|
||||
* Footnotes on the same page
|
||||
* Chinese books (mail from Eric)
|
||||
|
|
|
@ -63,11 +63,15 @@ public interface Api {
|
|||
String getKeyAction(int key, boolean longPress) throws ApiException;
|
||||
void setKeyAction(int key, boolean longPress, String action) throws ApiException;
|
||||
|
||||
List<String> listTapZones() throws ApiException;
|
||||
String getCurrentTapZone() throws ApiException;
|
||||
int getTapZoneHeight(String name) throws ApiException;
|
||||
int getTapZoneWidth(String name) throws ApiException;
|
||||
List<String> listZoneMaps() throws ApiException;
|
||||
String getZoneMap() throws ApiException;
|
||||
void setZoneMap(String name) throws ApiException;
|
||||
int getZoneMapHeight(String name) throws ApiException;
|
||||
int getZoneMapWidth(String name) throws ApiException;
|
||||
void createZoneMap(String name, int width, int height) throws ApiException;
|
||||
boolean isZoneMapCustom(String name) throws ApiException;
|
||||
void deleteZoneMap(String name) throws ApiException;
|
||||
|
||||
String getTapZoneAction(String name, int h, int v, boolean singleTap) throws ApiException;
|
||||
void createTapZone(String name, int width, int height) throws ApiException;
|
||||
void setTapZoneAction(String name, int h, int v, boolean singleTap, String action) throws ApiException;
|
||||
}
|
||||
|
|
|
@ -342,20 +342,40 @@ public class ApiClientImplementation implements ServiceConnection, Api, ApiMetho
|
|||
return requestStringList(LIST_ACTION_NAMES, envelope(actions));
|
||||
}
|
||||
|
||||
public List<String> listTapZones() throws ApiException {
|
||||
return requestStringList(LIST_TAPZONES, EMPTY_PARAMETERS);
|
||||
public List<String> listZoneMaps() throws ApiException {
|
||||
return requestStringList(LIST_ZONEMAPS, EMPTY_PARAMETERS);
|
||||
}
|
||||
|
||||
public String getCurrentTapZone() throws ApiException {
|
||||
return requestString(GET_CURRENT_TAPZONE, EMPTY_PARAMETERS);
|
||||
public String getZoneMap() throws ApiException {
|
||||
return requestString(GET_ZONEMAP, EMPTY_PARAMETERS);
|
||||
}
|
||||
|
||||
public int getTapZoneHeight(String name) throws ApiException {
|
||||
return requestInt(GET_TAPZONE_HEIGHT, envelope(name));
|
||||
public void setZoneMap(String name) throws ApiException {
|
||||
request(SET_ZONEMAP, envelope(name));
|
||||
}
|
||||
|
||||
public int getTapZoneWidth(String name) throws ApiException {
|
||||
return requestInt(GET_TAPZONE_WIDTH, envelope(name));
|
||||
public int getZoneMapHeight(String name) throws ApiException {
|
||||
return requestInt(GET_ZONEMAP_HEIGHT, envelope(name));
|
||||
}
|
||||
|
||||
public int getZoneMapWidth(String name) throws ApiException {
|
||||
return requestInt(GET_ZONEMAP_WIDTH, envelope(name));
|
||||
}
|
||||
|
||||
public void createZoneMap(String name, int width, int height) throws ApiException {
|
||||
request(CREATE_ZONEMAP, new ApiObject[] {
|
||||
ApiObject.envelope(name),
|
||||
ApiObject.envelope(width),
|
||||
ApiObject.envelope(height)
|
||||
});
|
||||
}
|
||||
|
||||
public boolean isZoneMapCustom(String name) throws ApiException {
|
||||
return requestBoolean(IS_ZONEMAP_CUSTOM, envelope(name));
|
||||
}
|
||||
|
||||
public void deleteZoneMap(String name) throws ApiException {
|
||||
request(DELETE_ZONEMAP, envelope(name));
|
||||
}
|
||||
|
||||
public String getTapZoneAction(String name, int h, int v, boolean singleTap) throws ApiException {
|
||||
|
@ -367,14 +387,6 @@ public class ApiClientImplementation implements ServiceConnection, Api, ApiMetho
|
|||
});
|
||||
}
|
||||
|
||||
public void createTapZone(String name, int width, int height) throws ApiException {
|
||||
request(CREATE_TAPZONE, new ApiObject[] {
|
||||
ApiObject.envelope(name),
|
||||
ApiObject.envelope(width),
|
||||
ApiObject.envelope(height)
|
||||
});
|
||||
}
|
||||
|
||||
public void setTapZoneAction(String name, int h, int v, boolean singleTap, String action) throws ApiException {
|
||||
request(SET_TAPZONE_ACTION, new ApiObject[] {
|
||||
ApiObject.envelope(name),
|
||||
|
|
|
@ -53,11 +53,15 @@ interface ApiMethods {
|
|||
int GET_KEY_ACTION = 911;
|
||||
int SET_KEY_ACTION = 912;
|
||||
|
||||
int LIST_TAPZONES = 921;
|
||||
int GET_CURRENT_TAPZONE = 922;
|
||||
int GET_TAPZONE_HEIGHT = 923;
|
||||
int GET_TAPZONE_WIDTH = 924;
|
||||
int GET_TAPZONE_ACTION = 925;
|
||||
int CREATE_TAPZONE = 926;
|
||||
int SET_TAPZONE_ACTION = 927;
|
||||
int LIST_ZONEMAPS = 921;
|
||||
int GET_ZONEMAP = 922;
|
||||
int SET_ZONEMAP = 923;
|
||||
int GET_ZONEMAP_HEIGHT = 924;
|
||||
int GET_ZONEMAP_WIDTH = 925;
|
||||
int CREATE_ZONEMAP = 926;
|
||||
int IS_ZONEMAP_CUSTOM = 927;
|
||||
int DELETE_ZONEMAP = 928;
|
||||
|
||||
int GET_TAPZONE_ACTION = 931;
|
||||
int SET_TAPZONE_ACTION = 932;
|
||||
}
|
||||
|
|
|
@ -143,8 +143,15 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
|||
((ApiObject.String)parameters[2]).Value
|
||||
);
|
||||
return ApiObject.Void.Instance;
|
||||
case GET_CURRENT_TAPZONE:
|
||||
return ApiObject.envelope(getCurrentTapZone());
|
||||
case GET_ZONEMAP:
|
||||
return ApiObject.envelope(getZoneMap());
|
||||
case SET_ZONEMAP:
|
||||
setZoneMap(((ApiObject.String)parameters[0]).Value);
|
||||
return ApiObject.Void.Instance;
|
||||
case GET_ZONEMAP_HEIGHT:
|
||||
return ApiObject.envelope(getZoneMapHeight(((ApiObject.String)parameters[0]).Value));
|
||||
case GET_ZONEMAP_WIDTH:
|
||||
return ApiObject.envelope(getZoneMapWidth(((ApiObject.String)parameters[0]).Value));
|
||||
case GET_TAPZONE_ACTION:
|
||||
return ApiObject.envelope(getTapZoneAction(
|
||||
((ApiObject.String)parameters[0]).Value,
|
||||
|
@ -152,10 +159,6 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
|||
((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,
|
||||
|
@ -165,13 +168,20 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
|||
((ApiObject.String)parameters[4]).Value
|
||||
);
|
||||
return ApiObject.Void.Instance;
|
||||
case CREATE_TAPZONE:
|
||||
createTapZone(
|
||||
case CREATE_ZONEMAP:
|
||||
createZoneMap(
|
||||
((ApiObject.String)parameters[0]).Value,
|
||||
((ApiObject.Integer)parameters[1]).Value,
|
||||
((ApiObject.Integer)parameters[2]).Value
|
||||
);
|
||||
return ApiObject.Void.Instance;
|
||||
case IS_ZONEMAP_CUSTOM:
|
||||
return ApiObject.envelope(isZoneMapCustom(
|
||||
((ApiObject.String)parameters[0]).Value
|
||||
));
|
||||
case DELETE_ZONEMAP:
|
||||
deleteZoneMap(((ApiObject.String)parameters[0]).Value);
|
||||
return ApiObject.Void.Instance;
|
||||
default:
|
||||
return unsupportedMethodError(method);
|
||||
}
|
||||
|
@ -201,8 +211,8 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
|||
}
|
||||
return ApiObject.envelope(listActionNames(actions));
|
||||
}
|
||||
case LIST_TAPZONES:
|
||||
return ApiObject.envelope(listTapZones());
|
||||
case LIST_ZONEMAPS:
|
||||
return ApiObject.envelope(listZoneMaps());
|
||||
default:
|
||||
return Collections.<ApiObject>singletonList(unsupportedMethodError(method));
|
||||
}
|
||||
|
@ -412,32 +422,45 @@ public class ApiServerImplementation extends ApiInterface.Stub implements Api, A
|
|||
// TODO: implement
|
||||
}
|
||||
|
||||
public List<String> listTapZones() {
|
||||
public List<String> listZoneMaps() {
|
||||
return TapZoneMap.zoneMapNames();
|
||||
}
|
||||
|
||||
public String getCurrentTapZone() {
|
||||
return ScrollingPreferences.Instance().TapZonesSchemeOption.getValue();
|
||||
public String getZoneMap() {
|
||||
return ScrollingPreferences.Instance().TapZoneMapOption.getValue();
|
||||
}
|
||||
|
||||
public int getTapZoneHeight(String name) {
|
||||
public void setZoneMap(String name) {
|
||||
ScrollingPreferences.Instance().TapZoneMapOption.setValue(name);
|
||||
}
|
||||
|
||||
public int getZoneMapHeight(String name) {
|
||||
return TapZoneMap.zoneMap(name).getHeight();
|
||||
}
|
||||
|
||||
public int getTapZoneWidth(String name) {
|
||||
public int getZoneMapWidth(String name) {
|
||||
return TapZoneMap.zoneMap(name).getWidth();
|
||||
}
|
||||
|
||||
public void createZoneMap(String name, int width, int height) {
|
||||
TapZoneMap.createZoneMap(name, width, height);
|
||||
}
|
||||
|
||||
public boolean isZoneMapCustom(String name) throws ApiException {
|
||||
// TODO: implement
|
||||
return false;
|
||||
}
|
||||
|
||||
public void deleteZoneMap(String name) throws ApiException {
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
public String getTapZoneAction(String name, int h, int v, boolean singleTap) {
|
||||
return TapZoneMap.zoneMap(name).getActionByZone(
|
||||
h, v, singleTap ? TapZoneMap.Tap.singleNotDoubleTap : TapZoneMap.Tap.doubleTap
|
||||
);
|
||||
}
|
||||
|
||||
public void createTapZone(String name, int width, int height) {
|
||||
TapZoneMap.createZoneMap(name, width, height);
|
||||
}
|
||||
|
||||
public void setTapZoneAction(String name, int h, int v, boolean singleTap, String action) {
|
||||
TapZoneMap.zoneMap(name).setActionForZone(h, v, singleTap, action);
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ public final class FBView extends ZLTextView {
|
|||
|
||||
private TapZoneMap getZoneMap() {
|
||||
final ScrollingPreferences prefs = ScrollingPreferences.Instance();
|
||||
String id = prefs.TapZonesSchemeOption.getValue();
|
||||
String id = prefs.TapZoneMapOption.getValue();
|
||||
if ("".equals(id)) {
|
||||
id = ScrollingPreferences.Instance().HorizontalOption.getValue() ? "right_to_left" : "up";
|
||||
}
|
||||
|
|
|
@ -42,8 +42,8 @@ public class ScrollingPreferences {
|
|||
|
||||
public final ZLBooleanOption HorizontalOption =
|
||||
new ZLBooleanOption("Scrolling", "Horizontal", true);
|
||||
public final ZLStringOption TapZonesSchemeOption =
|
||||
new ZLStringOption("Scrolling", "TapZonesScheme", "");
|
||||
public final ZLStringOption TapZoneMapOption =
|
||||
new ZLStringOption("Scrolling", "TapZoneMap", "");
|
||||
|
||||
private ScrollingPreferences() {
|
||||
ourInstance = this;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue