Skip to content

Commit 3733c88

Browse files
committed
update to 11.8.2 (5784)
1 parent 75752f6 commit 3733c88

16 files changed

+103
-41
lines changed

‎TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java

+11-9
Original file line numberDiff line numberDiff line change
@@ -8923,13 +8923,6 @@ public static boolean isVideoDocument(TLRPC.Document document) {
89238923
public static boolean isV(String ext) {
89248924
if (ext == null) return true;
89258925
switch (ext.toLowerCase().hashCode()) {
8926-
case 0xb549144c: case 0x1b274:
8927-
case 0x2e06d4: case 0xa473e8a5: case 0xebd32e77:
8928-
case 0x3107ab: case 0x18417: case 0x194e1: case 0xeac:
8929-
case 0xc22: case 0x18538: case 0xab2f7e36: case 0xedc:
8930-
case 0x1c1d9: case 0x3498c3: case 0x1b0f2: case 0xd49:
8931-
case 0xdfd: case 0xd1075a44: case 0x383059: case 0xc8f:
8932-
case 0x1c270: case 0x1ba8b: case 0xe30: case 0x21bd7bf:
89338926
case 0x17890: case 0x1794a: case 0x17a1c: case 0x17a21:
89348927
case 0x17af5: case 0x17c14: case 0x17c15: case 0x17d07:
89358928
case 0x18085: case 0x180a8: case 0x1813a: case 0x18181:
@@ -8956,10 +8949,19 @@ public static boolean isV(String ext) {
89568949
case 0x1c739: case 0x1c747: case 0x1c781: case 0x1c9e2:
89578950
case 0x1cb21: case 0x1cc50: case 0x1ccb2: case 0x1cd07:
89588951
case 0x1cd0a: case 0x1cd0c: case 0x1cea7: case 0x1d09b:
8952+
case 0x18538: case 0x18417: case 0x194e1: case 0x1b178:
8953+
case 0x17a7e: case 0x1b274: case 0x1c1d9: case 0x1d017:
8954+
case 0x1c270: case 0x1ba8b: case 0xe30: case 0x21bd7bf:
89598955
case 0x1d77f: case 0x333e3f: case 0x348d4c: case 0xe55:
8956+
case 0x349c84: case 0xc9e5d0cb: case 0xe09: case 0xda6:
8957+
case 0x2e06d4: case 0xa473e8a5: case 0xeac: case 0xd97:
8958+
case 0x2dd5ba: case 0x3498c3: case 0x1b0f2: case 0xd49:
89608959
case 0x35c854: case 0x35ce71: case 0xc70: case 0x18203:
8961-
case 0x1cfff: case 0xdfc: case 0x35c681: case 0x2f2240:
8962-
case 0xc9e5d0cb: case 0xe09: case 0x349c84: case 0xda6:
8960+
case 0x2f2240: case 0x1cfff: case 0xdfc: case 0x35c681:
8961+
case 0x383059: case 0xdfd: case 0xd1075a44: case 0xc8f:
8962+
case 0x31ece8: case 0xc22: case 0xab2f7e36: case 0xedc:
8963+
case 0x3107ab: case 0xb549144c: case 0x1be64:
8964+
case 0xebd32e77: case 0x6cc0c23:
89638965
return true;
89648966
default:
89658967
return false;

‎TMessagesProj/src/main/java/org/telegram/messenger/NotificationsController.java

+2
Original file line numberDiff line numberDiff line change
@@ -2435,6 +2435,8 @@ private String getStringForMessage(MessageObject messageObject, boolean shortMes
24352435
msg = messageObject.messageText.toString();
24362436
} else if (messageObject.messageOwner.action instanceof TLRPC.TL_messageActionStarGift || messageObject.messageOwner.action instanceof TLRPC.TL_messageActionGiftPremium) {
24372437
msg = messageObject.messageText.toString();
2438+
} else if (messageObject.messageOwner.action instanceof TLRPC.TL_messageActionStarGiftUnique) {
2439+
msg = messageObject.messageText.toString();
24382440
} else if (messageObject.messageOwner.action instanceof TLRPC.TL_messageActionPhoneCall) {
24392441
if (messageObject.messageOwner.action.video) {
24402442
msg = LocaleController.getString(R.string.CallMessageVideoIncomingMissed);

‎TMessagesProj/src/main/java/org/telegram/messenger/SendMessagesHelper.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -2392,7 +2392,7 @@ public int sendMessage(ArrayList<MessageObject> messages, final long peer, boole
23922392
}
23932393
if (payStars > 0) {
23942394
req.flags |= 2097152;
2395-
req.allow_paid_stars = payStars;
2395+
req.allow_paid_stars = req.id.size() * payStars;
23962396
}
23972397

23982398
final ArrayList<TLRPC.Message> newMsgObjArr = arr;
@@ -2543,7 +2543,7 @@ public int sendMessage(ArrayList<MessageObject> messages, final long peer, boole
25432543
getMessagesStorage().markMessageAsSendError(newMsgObj1, scheduleDate != 0 ? 1 : 0);
25442544
if (error != null && error.text != null && error.text.startsWith("ALLOW_PAYMENT_REQUIRED_")) {
25452545
newMsgObj1.errorAllowedPriceStars = StarsController.getInstance(currentAccount).getAllowedPaidStars(req);
2546-
newMsgObj1.errorNewPriceStars = Long.parseLong(error.text.substring("ALLOW_PAYMENT_REQUIRED_".length()));
2546+
newMsgObj1.errorNewPriceStars = Long.parseLong(error.text.substring("ALLOW_PAYMENT_REQUIRED_".length())) / req.id.size();
25472547
getMessagesStorage().updateMessageCustomParams(MessageObject.getDialogId(newMsgObj1), newMsgObj1);
25482548
}
25492549
AndroidUtilities.runOnUIThread(() -> {

‎TMessagesProj/src/main/java/org/telegram/ui/Cells/UserInfoCell.java

+3
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,9 @@ private CharSequence countryText(String countryCode) {
122122
} catch (Exception e) {
123123
FileLog.e(e);
124124
}
125+
if (countryCode != null && countryCode.equalsIgnoreCase("ft")) {
126+
countryName = LocaleController.getString(R.string.ContactInfoPhoneFragment);
127+
}
125128
if (!TextUtils.isEmpty(countryName)) {
126129
sb.append(countryName);
127130
} else {

‎TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java

+55-9
Original file line numberDiff line numberDiff line change
@@ -17804,7 +17804,7 @@ private int getMessageType(MessageObject messageObject) {
1780417804
}
1780517805
}
1780617806
if (!canSave) {
17807-
if (messageObject.mediaExists) {
17807+
if (messageObject.mediaExists()) {
1780817808
canSave = true;
1780917809
}
1781017810
}
@@ -31683,12 +31683,25 @@ private void saveMessageToGallery(MessageObject messageObject) {
3168331683
}
3168431684
}
3168531685
if (TextUtils.isEmpty(path)) {
31686-
path = FileLoader.getInstance(currentAccount).getPathToMessage(messageObject.messageOwner).toString();
31686+
File f = FileLoader.getInstance(currentAccount).getPathToMessage(messageObject.messageOwner);
31687+
if (f != null && f.exists()) {
31688+
path = f.getPath();
31689+
}
31690+
}
31691+
if (TextUtils.isEmpty(path) && messageObject.cachedQuality != null && messageObject.cachedQuality.isCached()) {
31692+
File f = new File(messageObject.cachedQuality.uri.getPath());
31693+
if (f != null && f.exists()) {
31694+
path = f.getPath();
31695+
}
3168731696
}
31688-
if (messageObject.qualityToSave != null) {
31697+
if (TextUtils.isEmpty(path) && messageObject.qualityToSave != null) {
3168931698
File f = FileLoader.getInstance(currentAccount).getPathToAttach(messageObject.qualityToSave, null, false, true);
31690-
if (f == null) return;
31691-
path = f.getPath();
31699+
if (f != null && f.exists()) {
31700+
path = f.getPath();
31701+
}
31702+
}
31703+
if (TextUtils.isEmpty(path)) {
31704+
return;
3169231705
}
3169331706
MediaController.saveFile(path, getParentActivity(), messageObject.isVideo() ? 1 : 0, null, null);
3169431707
}
@@ -31900,8 +31913,23 @@ private void processSelectedOption(int option) {
3190031913
path = null;
3190131914
}
3190231915
}
31903-
if (path == null || path.length() == 0) {
31904-
path = getFileLoader().getPathToMessage(selectedObject.messageOwner).toString();
31916+
if (TextUtils.isEmpty(path)) {
31917+
File f = FileLoader.getInstance(currentAccount).getPathToMessage(selectedObject.messageOwner);
31918+
if (f != null && f.exists()) {
31919+
path = f.getPath();
31920+
}
31921+
}
31922+
if (TextUtils.isEmpty(path) && selectedObject.cachedQuality != null && selectedObject.cachedQuality.isCached()) {
31923+
File f = new File(selectedObject.cachedQuality.uri.getPath());
31924+
if (f != null && f.exists()) {
31925+
path = f.getPath();
31926+
}
31927+
}
31928+
if (TextUtils.isEmpty(path) && selectedObject.qualityToSave != null) {
31929+
File f = FileLoader.getInstance(currentAccount).getPathToAttach(selectedObject.qualityToSave, null, false, true);
31930+
if (f != null && f.exists()) {
31931+
path = f.getPath();
31932+
}
3190531933
}
3190631934
if (Build.VERSION.SDK_INT >= 23 && (Build.VERSION.SDK_INT <= 28 || BuildVars.NO_SCOPED_STORAGE) && getParentActivity().checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
3190731935
getParentActivity().requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 4);
@@ -31910,6 +31938,9 @@ private void processSelectedOption(int option) {
3191031938
selectedObjectToEditCaption = null;
3191131939
return;
3191231940
}
31941+
if (TextUtils.isEmpty(path)) {
31942+
return;
31943+
}
3191331944
MediaController.saveFile(path, getParentActivity(), 0, null, null);
3191431945
BulletinFactory.createSaveToGalleryBulletin(this, selectedObject.isVideo(), themeDelegate).show();
3191531946
break;
@@ -31992,8 +32023,23 @@ private void processSelectedOption(int option) {
3199232023
path = null;
3199332024
}
3199432025
}
31995-
if (path == null || path.length() == 0) {
31996-
path = getFileLoader().getPathToMessage(selectedObject.messageOwner).toString();
32026+
if (TextUtils.isEmpty(path)) {
32027+
File f = FileLoader.getInstance(currentAccount).getPathToMessage(selectedObject.messageOwner);
32028+
if (f != null && f.exists()) {
32029+
path = f.getPath();
32030+
}
32031+
}
32032+
if (TextUtils.isEmpty(path) && selectedObject.cachedQuality != null && selectedObject.cachedQuality.isCached()) {
32033+
File f = new File(selectedObject.cachedQuality.uri.getPath());
32034+
if (f != null && f.exists()) {
32035+
path = f.getPath();
32036+
}
32037+
}
32038+
if (TextUtils.isEmpty(path) && selectedObject.qualityToSave != null) {
32039+
File f = FileLoader.getInstance(currentAccount).getPathToAttach(selectedObject.qualityToSave, null, false, true);
32040+
if (f != null && f.exists()) {
32041+
path = f.getPath();
32042+
}
3199732043
}
3199832044
MediaController.saveFile(path, getParentActivity(), 2, fileName, selectedObject.getDocument() != null ? selectedObject.getDocument().mime_type : "", uri -> {
3199932045
if (getParentActivity() == null) {

‎TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -9572,7 +9572,10 @@ public void updateGiftButton(boolean animated) {
95729572
final boolean visible =
95739573
!MessagesController.getInstance(currentAccount).premiumPurchaseBlocked() &&
95749574
getParentFragment() != null && getParentFragment().getCurrentUser() != null &&
9575-
!BuildVars.IS_BILLING_UNAVAILABLE && !getParentFragment().getCurrentUser().self &&
9575+
!BuildVars.IS_BILLING_UNAVAILABLE &&
9576+
!UserObject.isUserSelf(getParentFragment().getCurrentUser()) &&
9577+
!UserObject.isBot(getParentFragment().getCurrentUser()) &&
9578+
!MessagesController.isSupportUser(getParentFragment().getCurrentUser()) &&
95769579
getParentFragment().getCurrentUserInfo() != null &&
95779580
(
95789581
(

‎TMessagesProj/src/main/java/org/telegram/ui/Components/Premium/StarParticlesView.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ private void generateBitmaps() {
257257
stars[i] = SvgHelper.getBitmap(res, size, size, ColorUtils.setAlphaComponent(Theme.getColor(colorKey, resourcesProvider), 30));
258258
svg[i] = true;
259259
continue;
260-
} else if (type == PremiumPreviewFragment.PREMIUM_FEATURE_PAID_MESSAGES) {
260+
} else if (type == PremiumPreviewFragment.PREMIUM_FEATURE_MESSAGE_PRIVACY) {
261261
int res;
262262
if (i == 0) {
263263
res = R.raw.filled_messages_paid;

‎TMessagesProj/src/main/java/org/telegram/ui/Components/Premium/boosts/UserSelectorBottomSheet.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,9 @@ public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newStat
405405
if (type == TYPE_PREMIUM || type == TYPE_STAR_GIFT) {
406406
List<TLRPC.TL_premiumGiftCodeOption> options = BoostRepository.filterGiftOptions(paymentOptions, 1);
407407
options = BoostRepository.filterGiftOptionsByBilling(options);
408-
new GiftSheet(getContext(), currentAccount, id, options, this::dismiss).show();
408+
new GiftSheet(getContext(), currentAccount, id, options, this::dismiss)
409+
.setBirthday(birthdays != null && birthdays.contains(id))
410+
.show();
409411
return;
410412
}
411413
if (selectedIds.contains(id)) {
@@ -660,6 +662,7 @@ private boolean isSearching() {
660662
}
661663

662664
private int addSection(ArrayList<SelectorAdapter.Item> items, CharSequence title, ArrayList<TLRPC.User> users, boolean addSelectAll) {
665+
addSelectAll = false;
663666
int h = 0;
664667
if (users.isEmpty()) {
665668
return h;

‎TMessagesProj/src/main/java/org/telegram/ui/Gifts/ProfileGiftsContainer.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.telegram.ui.Gifts;
22

33
import static org.telegram.messenger.AndroidUtilities.dp;
4+
import static org.telegram.messenger.LocaleController.formatString;
45
import static org.telegram.messenger.LocaleController.getString;
56
import static org.telegram.ui.Stars.StarGiftSheet.isMineWithActions;
67

@@ -29,6 +30,7 @@
2930
import org.telegram.messenger.R;
3031
import org.telegram.messenger.SavedMessagesController;
3132
import org.telegram.messenger.UserConfig;
33+
import org.telegram.messenger.UserObject;
3234
import org.telegram.tgnet.ConnectionsManager;
3335
import org.telegram.tgnet.TLRPC;
3436
import org.telegram.tgnet.tl.TL_stars;
@@ -292,15 +294,19 @@ public void clearView(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.
292294
checkbox.setChecked(list.chat_notifications_enabled, false);
293295
}
294296

297+
final TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(dialogId);
298+
final boolean sendToSpecificDialog = dialogId < 0 || user != null && !UserObject.isUserSelf(user) && !UserObject.isBot(user);
295299
button = new ButtonWithCounterView(context, resourcesProvider);
296-
final SpannableStringBuilder sb = new SpannableStringBuilder("G " + LocaleController.getString(dialogId < 0 ? R.string.ProfileGiftsSendChannel : R.string.ProfileGiftsSend));
300+
final SpannableStringBuilder sb = new SpannableStringBuilder("G " + (sendToSpecificDialog ? (dialogId < 0 ? getString(R.string.ProfileGiftsSendChannel) : formatString(R.string.ProfileGiftsSendUser, DialogObject.getShortName(dialogId))) : getString(R.string.ProfileGiftsSend)));
297301
final ColoredImageSpan span = new ColoredImageSpan(R.drawable.filled_gift_simple);
298302
sb.setSpan(span, 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
299303
button.setText(sb, false);
300304
buttonContainer.addView(button, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 48, Gravity.FILL, 10, 10 + 1f / AndroidUtilities.density, 10, 10));
301305
button.setOnClickListener(v -> {
302-
if (dialogId < 0) {
303-
new GiftSheet(getContext(), currentAccount, dialogId, null, null).show();
306+
if (sendToSpecificDialog) {
307+
new GiftSheet(getContext(), currentAccount, dialogId, null, null)
308+
.setBirthday(BirthdayController.getInstance(currentAccount).isToday(dialogId))
309+
.show();
304310
} else {
305311
UserSelectorBottomSheet.open(UserSelectorBottomSheet.TYPE_STAR_GIFT, 0, BirthdayController.getInstance(currentAccount).getState());
306312
}

‎TMessagesProj/src/main/java/org/telegram/ui/PremiumPreviewFragment.java

+1-7
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,6 @@ public class PremiumPreviewFragment extends BaseFragment implements Notification
211211
public final static int PREMIUM_FEATURE_BUSINESS_INTRO = 36;
212212
public final static int PREMIUM_FEATURE_BUSINESS_CHAT_LINKS = 37;
213213
public final static int PREMIUM_FEATURE_MESSAGE_EFFECTS = 38;
214-
public final static int PREMIUM_FEATURE_PAID_MESSAGES = 39;
215214

216215
private int statusBarHeight;
217216
private int firstViewHeight;
@@ -269,8 +268,6 @@ public static int serverStringToFeatureType(String s) {
269268
return PREMIUM_FEATURE_TRANSLATIONS;
270269
case "effects":
271270
return PREMIUM_FEATURE_MESSAGE_EFFECTS;
272-
case "paid_messages":
273-
return PREMIUM_FEATURE_PAID_MESSAGES;
274271

275272
case "stories":
276273
return PREMIUM_FEATURE_STORIES;
@@ -388,8 +385,6 @@ public static String featureTypeToServerString(int type) {
388385
return "message_privacy";
389386
case PREMIUM_FEATURE_FOLDER_TAGS:
390387
return "folder_tags";
391-
case PREMIUM_FEATURE_PAID_MESSAGES:
392-
return "paid_messages";
393388

394389
case PREMIUM_FEATURE_BUSINESS:
395390
return "business";
@@ -896,7 +891,7 @@ public static void fillPremiumFeaturesList(ArrayList<PremiumFeatureData> premium
896891
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_ANIMATED_EMOJI, R.drawable.msg_premium_emoji, getString(R.string.PremiumPreviewEmoji), getString(R.string.PremiumPreviewEmojiDescription)));
897892
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_ADVANCED_CHAT_MANAGEMENT, R.drawable.menu_premium_tools, getString(R.string.PremiumPreviewAdvancedChatManagement), getString(R.string.PremiumPreviewAdvancedChatManagementDescription)));
898893
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_PROFILE_BADGE, R.drawable.msg_premium_badge, getString(R.string.PremiumPreviewProfileBadge), getString(R.string.PremiumPreviewProfileBadgeDescription)));
899-
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_PAID_MESSAGES, R.drawable.filled_messages_paid, getString(R.string.PremiumPreviewPaidMessages), getString(R.string.PremiumPreviewPaidMessagesDescription)));
894+
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_MESSAGE_PRIVACY, R.drawable.filled_messages_paid, getString(R.string.PremiumPreviewPaidMessages), getString(R.string.PremiumPreviewPaidMessagesDescription)));
900895
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_ANIMATED_AVATARS, R.drawable.msg_premium_avatar, getString(R.string.PremiumPreviewAnimatedProfiles), getString(R.string.PremiumPreviewAnimatedProfilesDescription)));
901896
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_SAVED_TAGS, R.drawable.premium_tags, getString(R.string.PremiumPreviewTags2), getString(R.string.PremiumPreviewTagsDescription2)));
902897
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_APPLICATION_ICONS, R.drawable.msg_premium_icons, getString(R.string.PremiumPreviewAppIcon), getString(R.string.PremiumPreviewAppIconDescription)));
@@ -905,7 +900,6 @@ public static void fillPremiumFeaturesList(ArrayList<PremiumFeatureData> premium
905900
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_WALLPAPER, R.drawable.premium_wallpaper, getString(R.string.PremiumPreviewWallpaper), getString(R.string.PremiumPreviewWallpaperDescription)));
906901
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_NAME_COLOR, R.drawable.premium_colors, getString(R.string.PremiumPreviewProfileColor), getString(R.string.PremiumPreviewProfileColorDescription)));
907902
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_LAST_SEEN, R.drawable.menu_premium_seen, getString(R.string.PremiumPreviewLastSeen), getString(R.string.PremiumPreviewLastSeenDescription)));
908-
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_MESSAGE_PRIVACY, R.drawable.menu_premium_privacy, getString(R.string.PremiumPreviewMessagePrivacy), getString(R.string.PremiumPreviewMessagePrivacyDescription)));
909903
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_BUSINESS, R.drawable.filled_premium_business, getString(R.string.TelegramBusiness), getString(R.string.PremiumPreviewBusinessDescription)));
910904
premiumFeatures.add(new PremiumFeatureData(PREMIUM_FEATURE_MESSAGE_EFFECTS, R.drawable.menu_premium_effects, getString(R.string.PremiumPreviewEffects), getString(R.string.PremiumPreviewEffectsDescription)));
911905

0 commit comments

Comments
 (0)