From c46c9ef1e63b5617838997ec9e4461b22738dca1 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Wed, 3 May 2023 10:55:30 -0300
Subject: [PATCH] Add AndroidWakeLockManagerFactory

---
 .../AndroidWakeLockManagerFactory.java        | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 lib/src/main/java/org/briarproject/android/dontkillmelib/wakelock/AndroidWakeLockManagerFactory.java

diff --git a/lib/src/main/java/org/briarproject/android/dontkillmelib/wakelock/AndroidWakeLockManagerFactory.java b/lib/src/main/java/org/briarproject/android/dontkillmelib/wakelock/AndroidWakeLockManagerFactory.java
new file mode 100644
index 0000000..72ea6c3
--- /dev/null
+++ b/lib/src/main/java/org/briarproject/android/dontkillmelib/wakelock/AndroidWakeLockManagerFactory.java
@@ -0,0 +1,26 @@
+package org.briarproject.android.dontkillmelib.wakelock;
+
+import android.app.Application;
+
+import org.briarproject.nullsafety.NotNullByDefault;
+
+import java.util.concurrent.RejectedExecutionHandler;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+@NotNullByDefault
+public class AndroidWakeLockManagerFactory {
+
+    public static AndroidWakeLockManager createAndroidWakeLockManager(Application app) {
+        RejectedExecutionHandler policy = new ThreadPoolExecutor.DiscardPolicy();
+        ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(1, policy);
+        return new AndroidWakeLockManagerImpl(app, executorService);
+    }
+
+    public static AndroidWakeLockManager createAndroidWakeLockManager(Application app,
+                                                                      ScheduledExecutorService executorService) {
+        return new AndroidWakeLockManagerImpl(app, executorService);
+    }
+
+}
-- 
GitLab