Fix job running after first flash not doing anything

We weren't actually writing the first boot time when the device first
booted. Instead, we wrote it when the job was first run and no apps were
unused because PermissionController thought we just were just flashed.
This fixes it by preloading the boot time in the boot receiver.

Bug: 188934515
Test: adb shell cmd jobscheduler run -u 0 -f com.google.android.permissioncontroller 2
Change-Id: I4b2c69179cd01e1a505fd330c9bb8062d84d2780
diff --git a/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt b/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt
index 1be7e8f..219e517 100644
--- a/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt
+++ b/PermissionController/src/com/android/permissioncontroller/hibernation/HibernationPolicy.kt
@@ -152,6 +152,9 @@
                     "and threshold ${getUnusedThresholdMs()}ms")
         }
 
+        // Write first boot time if first boot
+        context.firstBootTime
+
         val userManager = context.getSystemService(UserManager::class.java)!!
         // If this user is a profile, then its hibernation/auto-revoke will be handled by the
         // primary user