fixed detection admin for kick button

This commit is contained in:
gdlbo
2023-05-12 19:50:48 +03:00
parent 3d61780240
commit d4b457b01d
@@ -3,9 +3,11 @@ package com.vk.im.ui.components.common;
import com.vk.core.extensions.CollectionExt;
import com.vk.im.engine.ImConfig;
import com.vk.im.engine.ImEngine;
import com.vk.im.engine.models.Member;
import com.vk.im.engine.models.dialogs.Dialog;
import com.vk.im.engine.models.messages.Msg;
import com.vk.im.engine.utils.MsgPermissionHelper;
import ru.vtosters.lite.utils.AccountManagerUtils;
import java.util.ArrayList;
import java.util.Collection;
@@ -35,11 +37,21 @@ public final class MsgActionHelper {
CollectionExt.a(arrayList, MsgAction.TRANSLATE, true);
CollectionExt.a(arrayList, MsgAction.READTO, true);
boolean isAdmin;
boolean isAdmin = false;
try {
isAdmin = aVar.a().z1().t1().contains(aVar.b().j().b()) && !aVar.a().z1().K1(); // get admin list and check if it has you | is you kicked
} catch (Exception e) {
isAdmin = false;
if (aVar.a().z1().L0().t1() == AccountManagerUtils.getUserId()) { // is owner
isAdmin = true;
} else if (!aVar.a().z1().K1()) { // is you not kicked
for (Member admins : aVar.a().z1().t1()) { // admin list
if (admins.t1() == AccountManagerUtils.getUserId()) {
isAdmin = true;
break;
}
}
}
} catch (Exception ignored) {
}
CollectionExt.a(arrayList, MsgAction.KICK, isAdmin);