Commit Graph

84 Commits

Author SHA1 Message Date
Vyacheslav
dd77e4628f Strong typed API for synchronous TDLib method execution in Java interface
`Client.execute` in Java interface is now strongly typed: returned TDLib object type depends on the return type defined in the corresponding Function class.

When TDLib error is occurred, method now throws `Client.ExecutionError`.

This change adds compile-time protection against return type change and allows using this pattern:

```
try {
  TdApi.SpecificReturnType result = Client.execute(function);
  // work with strongly typed resultl without casting and type checks
} catch (Client.ExecutionError error) {
  // Handle error
}
```
2023-10-26 13:15:37 +03:00
levlam
8a6f68f3a2 Find only JVM component of JNI in CMake 3.24+ by @cavallium. 2023-09-06 11:51:47 +03:00
levlam
db5d5da09b Update Java example to the latest TDLib version. 2023-08-16 00:44:12 +03:00
levlam
a7f8ff6eef Fix Java interface with SplitSource. 2023-08-07 01:47:43 +03:00
levlam
c62c84665a Update sendMessage usages in tests and examples. 2023-06-12 15:30:07 +03:00
levlam
36a45607f2 Use lazy initialization for Java class identifiers to avoid global reference table overflow on some Android 4 devices. 2023-04-26 17:15:53 +03:00
levlam
419a28125b Remove finalizer from Java Client. 2023-04-26 16:15:44 +03:00
levlam
903d994799 Improve punctuation. 2023-01-02 15:38:04 +03:00
levlam
cf1984844b Update copyright year. 2023-01-01 00:28:08 +03:00
levlam
4d5625a06f Explicitly load tdjni in Client.java and TdApi.java. 2022-09-08 14:27:07 +03:00
levlam
612afe63fe Update Java example. 2022-09-08 13:47:16 +03:00
levlam
f6a2ecdded Inline tdlibParameters in setTdlibParameters. 2022-09-07 22:19:08 +03:00
levlam
287cceb162 Remove separate authorizationStateWaitEncryptionKey. 2022-09-07 21:27:23 +03:00
levlam
376476481c Restore Java example compatibility with Java 1.8. 2022-07-21 20:44:22 +03:00
levlam
327babb851 Fix Java example for old Java versions. 2022-07-15 13:58:04 +03:00
levlam
1dec0e203c Add Java example of fatal error handler. 2022-07-08 18:44:09 +03:00
levlam
9a58bc03ab Fix Java example formatting. 2022-07-08 16:12:31 +03:00
levlam
d94a750685 Remove deprecated for more than 3 years Log.java from example. 2022-07-08 15:08:50 +03:00
levlam
89aaf648fc Add Client.setLogMessageHandler to Java example. 2022-07-08 15:01:38 +03:00
levlam
8edd406dea Explicitly specify charset for javadoc. 2022-06-16 16:12:51 +03:00
levlam
3edf14b64e Explicitly specify encoding for javac and javadoc. 2022-06-04 23:22:01 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
26d2ee649d Add some missing new lines at the end of files. 2021-12-27 14:03:50 +03:00
levlam
4eaae33068 Improve Java example README. 2021-12-19 18:10:59 +03:00
levlam
059fe9911e Documentation improvements. 2021-12-17 16:28:14 +03:00
levlam
1e49f6dc13 Use auto as variable type if it is initialized with a cast. 2021-10-20 01:27:02 +03:00
levlam
41c391f140 Update layer to 133. 2021-09-03 12:27:59 +03:00
levlam
0ec10947d5 Fix some misprints. 2021-09-06 13:58:40 +03:00
levlam
438ae78e8a Enable some CMake policies in Java example. 2021-09-01 19:25:00 +03:00
levlam
b002c2d4a8 Use loadChats instead of getChats in examples. 2021-08-10 18:09:51 +03:00
levlam
9ad1b3b49a Use set_log_message_callback in Java example. 2021-05-18 16:36:11 +03:00
levlam
f37f9a78c1 Fix chat list printing in Java example. 2021-01-18 14:07:06 +03:00
levlam
52c1da0a70 Update copyright year. 2021-01-01 15:57:46 +03:00
levlam
5eea5b7501 Rename create_client to create_client_id. 2020-11-15 01:13:11 +03:00
levlam
66af1a439a Use getOptions as first request. 2020-11-14 23:00:05 +03:00
levlam
f5dadbb1e5 Automatically install dependent DLLs on Windows. 2020-11-12 17:32:48 +03:00
levlam
5ce7448f7a Send a dummy request to initialize client. 2020-11-12 16:53:51 +03:00
levlam
358c0f2249 Add clientCount in Java example.
GitOrigin-RevId: 7b7dfcf77de1ab1db55dd42642b59f5b039943cb
2020-10-13 15:39:17 +03:00
levlam
919848f0fe Use ClientManager for Java example interface implementation.
GitOrigin-RevId: 4280b6407a1c1a18bf2a6e952f6761847b69cb83
2020-10-11 21:28:33 +03:00
levlam
78b19d949f Fix on_fatal_error in Java example.
GitOrigin-RevId: 09b6463518e391a70918685205236ffa59a9a121
2020-10-11 14:20:26 +03:00
levlam
29cd47f01a Fix Client close waiting in Java example.
GitOrigin-RevId: e5fa246b26b6477da4b3e3ec7444aa5e3e6c7bb2
2020-10-11 11:13:30 +03:00
levlam
b204ad4ee1 Store default exception handlers as static map in Java example.
GitOrigin-RevId: 5745859a70250d104a21edad473b655967060609
2020-10-05 21:31:27 +03:00
levlam
da55a34afc Remove ability to change update handler after client creation.
GitOrigin-RevId: 917737a440afaeb99f8a8ca809cda2d267bb4b02
2020-10-05 20:18:59 +03:00
levlam
5f605d2dd2 Fix spelling of "update handler".
GitOrigin-RevId: 2137852d967606e909e82396b4103817b1b39386
2020-10-05 20:13:15 +03:00
levlam
c72d18bcd3 Java example: store update handlers separately.
GitOrigin-RevId: dc035dc72756db604731ae7549b172ba54b5d78e
2020-10-05 18:58:38 +03:00
levlam
c9c19f3399 Add TdApi.UpdateChatIsBlocked handling in Java example.
GitOrigin-RevId: 95ddae8fe77e29bac6cd3846f78c42a4290b7b8f
2020-10-05 16:41:52 +03:00
levlam
62d7423bc3 Fix TdApi.LogStreamFile usage in examples.
GitOrigin-RevId: 25af774fee360bd1071ef911d78e50a25b78372a
2020-10-03 22:05:55 +03:00
LionZXY
e104766de3
Fix java example build (#1225) 2020-10-03 22:01:29 +03:00
levlam
25676d7ff0 Allow to specify message_thread_id in sendMessage/sendMessageAlbum/sendInlineQueryResult.
GitOrigin-RevId: b9d3545b42355c04afe305f05c0366b0bf3095b0
2020-09-23 01:52:16 +03:00
levlam
bfa807fa41 Remove explicitly required Java version, because CMake fails to handle it correctly.
GitOrigin-RevId: 1501a532311feafdf43a6812efea7ca4308c7b30
2020-08-28 16:00:55 +03:00