INNER CODE UNIT · Java
AlertDispatcher
GrapheneOS/AttestationServer · src/main/java/app/attestation/server/AlertDispatcher.java:23
class AlertDispatcher implements Runnable {
private static final String EMAIL_DISPLAY_NAME = "Attestation Service";
private static final long WAIT_MS = 60 * 1000;
private static final int TIMEOUT_MS = 30 * 1000;
private static final long ALERT_THROTTLE_MS = 24 * 60 * 60 * 1000;
// Split displayed fingerprint into groups of 4 characters
private static final int FINGERPRINT_SPLIT_INTERVAL = 4;
private static final Logger logger = Logger.getLogger(AlertDispatcher.class.getName());
private record Account(long userId, String username, int alertDelay) {}
@Override
public void run() {
final SQLiteConnection conn;
try {
conn = AttestationServer.open(AttestationServer.ATTESTATION_DATABASE);