Thread based Timer : Time « Date Type « Android






Thread based Timer

  
/*
 * Copyright (C) 2005 Luca Veltri - University of Parma - Italy
 * 
 * This file is part of MjSip (http://www.mjsip.org)
 * 
 * MjSip 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.
 * 
 * MjSip 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.
 * 
 * You should have received a copy of the GNU General Public License
 * along with MjSip; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * 
 * Author(s):
 * Luca Veltri (luca.veltri@unipr.it)
 */

//package org.zoolu.tools;
/** Listen for an InnerTimer */
interface InnerTimerListener {
  /** When the Timeout fires */
  void onInnerTimeout();
}
/**
 * Class InnerTimerST implements a single-thread timer. The same thread is used
 * for all instances of class InnerTimerST.
 */
class InnerTimerST extends java.util.TimerTask {
  static java.util.Timer single_timer = new java.util.Timer(true);

  // long timeout;
  InnerTimerListener listener;

  public InnerTimerST(long timeout, InnerTimerListener listener) { // this.timeout=timeout;
    this.listener = listener;
    single_timer.schedule(this, timeout);
  }

  public void run() {
    if (listener != null) {
      listener.onInnerTimeout();
      listener = null;
    }
  }
}

/** Class InnerTimer implements a separated-thread timer */
class InnerTimer extends Thread {
  long timeout;
  InnerTimerListener listener;

  public InnerTimer(long timeout, InnerTimerListener listener) {
    this.timeout = timeout;
    this.listener = listener;
    start();
  }

  public void run() {
    if (listener != null) {
      try {
        Thread.sleep(timeout);
        listener.onInnerTimeout();
      } catch (Exception e) {

        e.printStackTrace();
      }
      listener = null;
    }
  }
}

   
    
  








Related examples in the same category

1.Timer task
2.Using Timer to do repeat task
3.Get Time String From Milliseconds
4.Returns the current time since 1970, UTC, in seconds.
5.Returns the current time since 1970, UTC, in milliseconds.
6.Converts time from a long to a string in a format set by the user in the phone's settings.
7.Returns the current time since 1970, local time zone, in milliseconds.
8.time From Local Millis
9.Given a number, round up to the nearest power of ten times 1, 2, or 5. The argument must be strictly positive.
10.Create Timestamp
11.Timestamp to Local time in long
12.Timestamp to UTC
13.Get Current Time
14.Get Elapsed Time Minutes Seconds String
15.Get Time String
16.Get Moscow Time
17.Returns the time represented by the time String.
18.Utils for calculating sleep time
19.int To String Time Format
20.millis To Seconds To Time Str
21.Convert time in seconds to a string in 00:00:00
22.remaining Time To Human Readable Form
23.Get a readable string displaying the time
24.Return the time in ms into format MM:SS
25.Get Time Difference
26.TimeSpan class
27.Calculate how many days the first time is expired than second time.
28.Checks if the first parameter is after the second parameter in time.
29.Checks if the first parameter is before the second parameter in time.
30.GMT (UTC) Time Converter