summaryrefslogtreecommitdiff
path: root/service/java/com/android/server/deviceconfig/UnattendedRebootManagerInjector.java
diff options
context:
space:
mode:
Diffstat (limited to 'service/java/com/android/server/deviceconfig/UnattendedRebootManagerInjector.java')
-rw-r--r--service/java/com/android/server/deviceconfig/UnattendedRebootManagerInjector.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/service/java/com/android/server/deviceconfig/UnattendedRebootManagerInjector.java b/service/java/com/android/server/deviceconfig/UnattendedRebootManagerInjector.java
new file mode 100644
index 0000000..5ca3e1e
--- /dev/null
+++ b/service/java/com/android/server/deviceconfig/UnattendedRebootManagerInjector.java
@@ -0,0 +1,50 @@
+package com.android.server.deviceconfig;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.Context;
+import android.content.IntentSender;
+import android.os.RecoverySystem;
+
+import java.io.IOException;
+import java.time.ZoneId;
+
+/**
+ * Dependency injectors for {@link com.android.server.deviceconfig.UnattendedRebootManager} to
+ * enable unit testing.
+ */
+interface UnattendedRebootManagerInjector {
+
+ /** Time injectors. */
+ long now();
+
+ ZoneId zoneId();
+
+ long elapsedRealtime();
+
+ /** Reboot time injectors. */
+ int getRebootStartTime();
+
+ int getRebootEndTime();
+
+ int getRebootFrequency();
+
+ /** Reboot Alarm injector. */
+ void setRebootAlarm(Context context, long rebootTimeMillis);
+
+ /** Connectivity injector. */
+ void triggerRebootOnNetworkAvailable(Context context);
+
+ /** {@link RecoverySystem} methods injectors. */
+ int rebootAndApply(@NonNull Context context, @NonNull String reason, boolean slotSwitch)
+ throws IOException;
+
+ void prepareForUnattendedUpdate(
+ @NonNull Context context, @NonNull String updateToken, @Nullable IntentSender intentSender)
+ throws IOException;
+
+ boolean isPreparedForUnattendedUpdate(@NonNull Context context) throws IOException;
+
+ /** Regular reboot injector. */
+ void regularReboot(Context context);
+}