discord-jadx/app/src/main/java/androidx/work/impl/utils/WakeLocks.java

42 lines
1.5 KiB
Java

package androidx.work.impl.utils;
import android.content.Context;
import android.os.PowerManager;
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import androidx.work.Logger;
import c.d.b.a.a;
import java.util.HashMap;
import java.util.WeakHashMap;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP})
public class WakeLocks {
private static final String TAG = Logger.tagWithPrefix("WakeLocks");
private static final WeakHashMap<PowerManager.WakeLock, String> sWakeLocks = new WeakHashMap<>();
private WakeLocks() {
}
public static void checkWakeLocks() {
HashMap hashMap = new HashMap();
WeakHashMap<PowerManager.WakeLock, String> weakHashMap = sWakeLocks;
synchronized (weakHashMap) {
hashMap.putAll(weakHashMap);
}
for (PowerManager.WakeLock wakeLock : hashMap.keySet()) {
if (wakeLock != null && wakeLock.isHeld()) {
Logger.get().warning(TAG, String.format("WakeLock held for %s", hashMap.get(wakeLock)), new Throwable[0]);
}
}
}
public static PowerManager.WakeLock newWakeLock(@NonNull Context context, @NonNull String str) {
String s2 = a.s("WorkManager: ", str);
PowerManager.WakeLock newWakeLock = ((PowerManager) context.getApplicationContext().getSystemService("power")).newWakeLock(1, s2);
WeakHashMap<PowerManager.WakeLock, String> weakHashMap = sWakeLocks;
synchronized (weakHashMap) {
weakHashMap.put(newWakeLock, s2);
}
return newWakeLock;
}
}