78 lines
3 KiB
Java
78 lines
3 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;
|
|
}
|
|
}
|
|
}
|
|
}
|