+++ /dev/null
-/*********************************************************************
- *
- * File : $Source$
- *
- * Purpose : Part of the StatWidget, the thread that manages the
- * timing of the swatch of color.
- *
- * Copyright : Written by and Copyright (C) 2003 the SourceForge
- * Privoxy team. http://www.privoxy.org/
- *
- * Based on the Internet Junkbuster originally written
- * by and Copyright (C) 1997 Anonymous Coders and
- * Junkbusters Corporation. http://www.junkbusters.com
- *
- * This program is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General
- * Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will
- * be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU General Public
- * License for more details.
- *
- * The GNU General Public License should be included with
- * this file. If not, you can view it at
- * http://www.gnu.org/copyleft/gpl.html
- * or write to the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * Revisions :
- * $Log$
- *********************************************************************/
-
-package org.privoxy.activityconsole;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * The thread that manages the timing of the swatch of color of the StatWidget.
- * @author Last Modified By: $Author$
- * @version $Rev$-$Date$$State$
- */
-public class StatWidgetThread extends Thread
-{
- private static final String
- COPYRIGHT = org.privoxy.activityconsole.Copyright.COPYRIGHT;
-
- int _statusDurationMillis = 0;
- Date _nextUpdate = null;
- StatWidget _parent = null;
-
- public StatWidgetThread(StatWidget parent, int statusDurationMillis)
- {
- _parent = parent;
- _statusDurationMillis = statusDurationMillis;
- }
-
- public final void run()
- {
- boolean snooze = false;
- int sleepFor;
-
- while (1==1)
- {
- /* Check once before we wait at all, just in case... */
- if (_nextUpdate != null)
- snooze = checkTimer();
- if (snooze == true)
- sleepFor = _statusDurationMillis;
- else
- sleepFor = 540000 + (int)(Math.random() * 60000); /* Sit around for 10 minutes plus or minus a minute */
- try
- {
- sleep(sleepFor);
- if (_nextUpdate != null)
- snooze = checkTimer();
- }
- catch (Throwable t2)
- {
- pulse();
- snooze = true;
- }
- }
- }
-
- public void pulse()
- {
- _nextUpdate = new Date(new Date().getTime() + _statusDurationMillis);
- }
-
- public boolean checkTimer()
- {
- boolean returnVal = true;
- Date now = new Date();
- if (now.after(_nextUpdate))
- {
- _parent.timerPop();
- _nextUpdate = null;
- returnVal = false;
- }
- return returnVal;
- }
-}