Skip to content

Commit b4dbcd1

Browse files
committed
update to 10.2.0 (4056)
1 parent fea5ca9 commit b4dbcd1

File tree

469 files changed

+40328
-12735
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

469 files changed

+40328
-12735
lines changed

TMessagesProj/jni/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ target_include_directories(breakpad PUBLIC
435435
#voip
436436
include(${CMAKE_HOME_DIRECTORY}/voip/CMakeLists.txt)
437437

438-
set(NATIVE_LIB "tmessages.46")
438+
set(NATIVE_LIB "tmessages.47")
439439

440440
#tmessages
441441
add_library(${NATIVE_LIB} SHARED

TMessagesProj/jni/TgNetWrapper.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,10 @@ void setUserId(JNIEnv *env, jclass c, jint instanceNum, int64_t id) {
202202
ConnectionsManager::getInstance(instanceNum).setUserId(id);
203203
}
204204

205+
void setUserPremium(JNIEnv *env, jclass c, jint instanceNum, bool premium) {
206+
ConnectionsManager::getInstance(instanceNum).setUserPremium(premium);
207+
}
208+
205209
void switchBackend(JNIEnv *env, jclass c, jint instanceNum, jboolean restart) {
206210
ConnectionsManager::getInstance(instanceNum).switchBackend(restart);
207211
}
@@ -384,7 +388,7 @@ void setSystemLangCode(JNIEnv *env, jclass c, jint instanceNum, jstring langCode
384388
}
385389
}
386390

387-
void init(JNIEnv *env, jclass c, jint instanceNum, jint version, jint layer, jint apiId, jstring deviceModel, jstring systemVersion, jstring appVersion, jstring langCode, jstring systemLangCode, jstring configPath, jstring logPath, jstring regId, jstring cFingerprint, jstring installerId, jstring packageId, jint timezoneOffset, jlong userId, jboolean enablePushConnection, jboolean hasNetwork, jint networkType, jint performanceClass) {
391+
void init(JNIEnv *env, jclass c, jint instanceNum, jint version, jint layer, jint apiId, jstring deviceModel, jstring systemVersion, jstring appVersion, jstring langCode, jstring systemLangCode, jstring configPath, jstring logPath, jstring regId, jstring cFingerprint, jstring installerId, jstring packageId, jint timezoneOffset, jlong userId, jboolean userPremium, jboolean enablePushConnection, jboolean hasNetwork, jint networkType, jint performanceClass) {
388392
const char *deviceModelStr = env->GetStringUTFChars(deviceModel, 0);
389393
const char *systemVersionStr = env->GetStringUTFChars(systemVersion, 0);
390394
const char *appVersionStr = env->GetStringUTFChars(appVersion, 0);
@@ -397,7 +401,7 @@ void init(JNIEnv *env, jclass c, jint instanceNum, jint version, jint layer, jin
397401
const char *installerIdStr = env->GetStringUTFChars(installerId, 0);
398402
const char *packageIdStr = env->GetStringUTFChars(packageId, 0);
399403

400-
ConnectionsManager::getInstance(instanceNum).init((uint32_t) version, layer, apiId, std::string(deviceModelStr), std::string(systemVersionStr), std::string(appVersionStr), std::string(langCodeStr), std::string(systemLangCodeStr), std::string(configPathStr), std::string(logPathStr), std::string(regIdStr), std::string(cFingerprintStr), std::string(installerIdStr), std::string(packageIdStr), timezoneOffset, userId, true, enablePushConnection, hasNetwork, networkType, performanceClass);
404+
ConnectionsManager::getInstance(instanceNum).init((uint32_t) version, layer, apiId, std::string(deviceModelStr), std::string(systemVersionStr), std::string(appVersionStr), std::string(langCodeStr), std::string(systemLangCodeStr), std::string(configPathStr), std::string(logPathStr), std::string(regIdStr), std::string(cFingerprintStr), std::string(installerIdStr), std::string(packageIdStr), timezoneOffset, userId, userPremium, true, enablePushConnection, hasNetwork, networkType, performanceClass);
401405

402406
if (deviceModelStr != 0) {
403407
env->ReleaseStringUTFChars(deviceModel, deviceModelStr);
@@ -457,7 +461,7 @@ static JNINativeMethod ConnectionsManagerMethods[] = {
457461
{"native_setProxySettings", "(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", (void *) setProxySettings},
458462
{"native_getConnectionState", "(I)I", (void *) getConnectionState},
459463
{"native_setUserId", "(IJ)V", (void *) setUserId},
460-
{"native_init", "(IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IJZZII)V", (void *) init},
464+
{"native_init", "(IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IJZZZII)V", (void *) init},
461465
{"native_setLangCode", "(ILjava/lang/String;)V", (void *) setLangCode},
462466
{"native_setRegId", "(ILjava/lang/String;)V", (void *) setRegId},
463467
{"native_setSystemLangCode", "(ILjava/lang/String;)V", (void *) setSystemLangCode},

TMessagesProj/jni/tgnet/ApiScheme.cpp

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -483,19 +483,19 @@ void TL_user::readParams(NativeByteBuffer *stream, int32_t instanceNum, bool &er
483483
lang_code = stream->readString(&error);
484484
}
485485
if ((flags & 1073741824) != 0) {
486-
uint32_t magic = stream->readUint32(&error);
487-
if (magic == 0x2de11aae) {
486+
emojiStatusMagic = stream->readUint32(&error);
487+
if (emojiStatusMagic == 0x2de11aae) {
488488
// emojiStatusEmpty
489-
} else if (magic == 0x929b619d) {
489+
} else if (emojiStatusMagic == 0x929b619d) {
490490
// emojiStatus
491-
int64_t document_id = stream->readInt64(&error);
492-
} else if (magic == 0xfa30a8c7) {
491+
emojiStatusDocumentId = stream->readInt64(&error);
492+
} else if (emojiStatusMagic == 0xfa30a8c7) {
493493
// emojiStatusUntil
494-
int64_t document_id = stream->readInt64(&error);
495-
int until = stream->readInt32(&error);
494+
emojiStatusDocumentId = stream->readInt64(&error);
495+
emojiStatusUntil = stream->readInt32(&error);
496496
} else {
497497
error = true;
498-
if (LOGS_ENABLED) DEBUG_FATAL("wrong EmojiStatus magic, got %x", magic);
498+
if (LOGS_ENABLED) DEBUG_FATAL("wrong EmojiStatus magic, got %x", emojiStatusMagic);
499499
return;
500500
}
501501
}
@@ -518,6 +518,12 @@ void TL_user::readParams(NativeByteBuffer *stream, int32_t instanceNum, bool &er
518518
if ((flags2 & 32) != 0) {
519519
stories_max_id = stream->readInt32(&error);
520520
}
521+
if ((flags2 & 128) != 0) {
522+
color = stream->readInt32(&error);
523+
}
524+
if ((flags2 & 64) != 0) {
525+
background_emoji_id = stream->readInt64(&error);
526+
}
521527
}
522528

523529
void TL_user::serializeToStream(NativeByteBuffer *stream) {
@@ -563,6 +569,34 @@ void TL_user::serializeToStream(NativeByteBuffer *stream) {
563569
if ((flags & 4194304) != 0) {
564570
stream->writeString(lang_code);
565571
}
572+
if ((flags & 1073741824) != 0) {
573+
stream->writeInt32(emojiStatusMagic);
574+
if (emojiStatusMagic == 0x929b619d) {
575+
// emojiStatus
576+
stream->writeInt64(emojiStatusDocumentId);
577+
} else if (emojiStatusMagic == 0xfa30a8c7) {
578+
// emojiStatusUntil
579+
stream->writeInt64(emojiStatusDocumentId);
580+
stream->writeInt32(emojiStatusUntil);
581+
}
582+
}
583+
if ((flags2 & 1) != 0) {
584+
stream->writeInt32(0x1cb5c415);
585+
int32_t count = (int32_t) usernames.size();
586+
stream->writeInt32(count);
587+
for (int a = 0; a < count; a++) {
588+
usernames[a]->serializeToStream(stream);
589+
}
590+
}
591+
if ((flags2 & 32) != 0) {
592+
stream->writeInt32(stories_max_id);
593+
}
594+
if ((flags2 & 128) != 0) {
595+
stream->writeInt32(color);
596+
}
597+
if ((flags2 & 64) != 0) {
598+
stream->writeInt64(background_emoji_id);
599+
}
566600
}
567601

568602
InputPeer *InputPeer::TLdeserialize(NativeByteBuffer *stream, uint32_t constructor, int32_t instanceNum, bool &error) {

TMessagesProj/jni/tgnet/ApiScheme.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,11 @@ class User : public TLObject {
336336
std::string lang_code;
337337
std::vector<std::unique_ptr<TL_username>> usernames;
338338
int32_t stories_max_id;
339+
int32_t emojiStatusMagic;
340+
int64_t emojiStatusDocumentId;
341+
int32_t emojiStatusUntil;
342+
int32_t color;
343+
int64_t background_emoji_id;
339344

340345
static User *TLdeserialize(NativeByteBuffer *stream, uint32_t constructor, int32_t instanceNum, bool &error);
341346
};
@@ -352,7 +357,7 @@ class TL_userEmpty : public User {
352357
class TL_user : public User {
353358

354359
public:
355-
static const uint32_t constructor = 0xabb5f120;
360+
static const uint32_t constructor = 0xeb602f25;
356361

357362
void readParams(NativeByteBuffer *stream, int32_t instanceNum, bool &error);
358363
void serializeToStream(NativeByteBuffer *stream);

0 commit comments

Comments
 (0)