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 0000000000000000000000000000000000000000..72ea6c32860dd790c4c60e7a1120defbb0e041a4
--- /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);
+    }
+
+}