42 lines
2.1 KiB
Java
42 lines
2.1 KiB
Java
package com.discord.utilities;
|
|
|
|
import com.discord.api.channel.Channel;
|
|
import com.discord.api.channel.ChannelUtils;
|
|
import com.discord.api.permission.Permission;
|
|
import com.discord.api.permission.PermissionOverwrite;
|
|
import d0.o;
|
|
import d0.z.d.m;
|
|
import kotlin.Pair;
|
|
/* compiled from: PermissionOverwriteUtils.kt */
|
|
public final class PermissionOverwriteUtilsKt {
|
|
public static final boolean allows(PermissionOverwrite permissionOverwrite, long j) {
|
|
m.checkNotNullParameter(permissionOverwrite, "$this$allows");
|
|
return (j & permissionOverwrite.c()) != 0;
|
|
}
|
|
|
|
public static final Pair<Long, Long> computeAllowDenyUpdateBits(PermissionOverwrite permissionOverwrite, long j, boolean z2) {
|
|
long j2 = 0;
|
|
long c = permissionOverwrite != null ? permissionOverwrite.c() : 0;
|
|
if (permissionOverwrite != null) {
|
|
j2 = permissionOverwrite.d();
|
|
}
|
|
return z2 ? o.to(Long.valueOf(c | j), Long.valueOf((~j) & j2)) : o.to(Long.valueOf(c & (~j)), Long.valueOf(j | j2));
|
|
}
|
|
|
|
public static final boolean denies(PermissionOverwrite permissionOverwrite, long j) {
|
|
m.checkNotNullParameter(permissionOverwrite, "$this$denies");
|
|
return (j & permissionOverwrite.d()) != 0;
|
|
}
|
|
|
|
public static final boolean deniesAccessTo(PermissionOverwrite permissionOverwrite, Channel channel) {
|
|
m.checkNotNullParameter(permissionOverwrite, "$this$deniesAccessTo");
|
|
m.checkNotNullParameter(channel, "channel");
|
|
return denies(permissionOverwrite, Permission.VIEW_CHANNEL) || (ChannelUtils.t(channel) && denies(permissionOverwrite, Permission.CONNECT));
|
|
}
|
|
|
|
public static final boolean grantsAccessTo(PermissionOverwrite permissionOverwrite, Channel channel) {
|
|
m.checkNotNullParameter(permissionOverwrite, "$this$grantsAccessTo");
|
|
m.checkNotNullParameter(channel, "channel");
|
|
return !deniesAccessTo(permissionOverwrite, channel) && ((ChannelUtils.r(channel) && allows(permissionOverwrite, Permission.VIEW_CHANNEL)) || (ChannelUtils.t(channel) && allows(permissionOverwrite, Permission.CONNECT)));
|
|
}
|
|
}
|