discord-jadx/app/src/main/java/com/discord/rtcconnection/LowMemoryDetector.java

79 lines
3.0 KiB
Java

package com.discord.rtcconnection;
import android.content.ComponentCallbacks2;
import android.content.res.Configuration;
import com.discord.rtcconnection.enums.TrimMemoryLevel;
import com.discord.utilities.logging.Logger;
import com.discord.utilities.logging.LoggingProvider;
import d0.z.d.m;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean;
import kotlin.jvm.internal.DefaultConstructorMarker;
/* compiled from: LowMemoryDetector.kt */
public final class LowMemoryDetector implements ComponentCallbacks2 {
public static final a i = new a(null);
public final AtomicBoolean j = new AtomicBoolean(false);
/* compiled from: LowMemoryDetector.kt */
public static final class a {
public a(DefaultConstructorMarker defaultConstructorMarker) {
}
}
@Override // android.content.ComponentCallbacks
public void onConfigurationChanged(Configuration configuration) {
m.checkNotNullParameter(configuration, "newConfig");
}
@Override // android.content.ComponentCallbacks
public void onLowMemory() {
this.j.set(true);
if (this.j.get()) {
Logger.i$default(LoggingProvider.INSTANCE.get(), "LowMemoryDetector", "Normal memory", null, 4, null);
} else {
Logger.w$default(LoggingProvider.INSTANCE.get(), "LowMemoryDetector", "Low memory", null, 4, null);
}
}
@Override // android.content.ComponentCallbacks2
public void onTrimMemory(int i2) {
TrimMemoryLevel trimMemoryLevel;
Objects.requireNonNull(TrimMemoryLevel.Companion);
TrimMemoryLevel[] values = TrimMemoryLevel.values();
int i3 = 0;
while (true) {
if (i3 >= 7) {
trimMemoryLevel = null;
break;
}
trimMemoryLevel = values[i3];
if (trimMemoryLevel.getValue() == i2) {
break;
}
i3++;
}
if (trimMemoryLevel != null) {
Logger.i$default(LoggingProvider.INSTANCE.get(), "LowMemoryDetector", "Memory trim level: " + trimMemoryLevel, null, 4, null);
switch (trimMemoryLevel.ordinal()) {
case 0:
case 1:
Logger.i$default(LoggingProvider.INSTANCE.get(), "LowMemoryDetector", "ignoring low priority oom messages.", null, 4, null);
return;
case 2:
case 3:
Logger.i$default(LoggingProvider.INSTANCE.get(), "LowMemoryDetector", "ignoring medium priority oom messages.", null, 4, null);
return;
case 4:
case 5:
onLowMemory();
return;
case 6:
Logger.i$default(LoggingProvider.INSTANCE.get(), "LowMemoryDetector", "UI is hidden because the app is in the background.", null, 4, null);
return;
default:
return;
}
}
}
}