Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.
added in API level 1

TokenWatcher

public abstract class TokenWatcher
extends Object

java.lang.Object
   ↳ android.os.TokenWatcher


A TokenWatcher watches a collection of IBinders. IBinders are added to the collection by calling acquire(IBinder, String), and removed by calling release(IBinder). IBinders are also implicitly removed when they become weakly reachable. Each IBinder may be added at most once. The acquired() method is invoked by posting to the specified handler whenever the size of the watched collection becomes nonzero. The released() method is invoked on the specified handler whenever the size of the watched collection becomes zero.

Summary

Public constructors

TokenWatcher(Handler h, String tag)

Construct the TokenWatcher

Public methods

void acquire(IBinder token, String tag)

Record that this token has been acquired.

abstract void acquired()

Called when the number of active tokens goes from 0 to 1.

void cleanup(IBinder token, boolean unlink)
void dump(PrintWriter pw)
void dump()
boolean isAcquired()
void release(IBinder token)
abstract void released()

Called when the number of active tokens goes from 1 to 0.

Inherited methods

Public constructors

TokenWatcher

added in API level 1
public TokenWatcher (Handler h, 
                String tag)

Construct the TokenWatcher

Parameters
h Handler: A handler to call acquired() and released() on. If you don't care, just call it like this, although your thread will have to be a Looper thread. new TokenWatcher(new Handler())

tag String: A debugging tag for this TokenWatcher

Public methods

acquire

added in API level 1
public void acquire (IBinder token, 
                String tag)

Record that this token has been acquired. When acquire is called, and the current count is 0, the acquired method is called on the given handler. Note that the same token can only be acquired once. If this token has already been acquired, no action is taken. The first subsequent call to release(IBinder) will release this token immediately.

Parameters
token IBinder: An IBinder object.

tag String: A string used by the dump() method for debugging, to see who has references.

acquired

added in API level 1
public abstract void acquired ()

Called when the number of active tokens goes from 0 to 1.

cleanup

added in API level 1
public void cleanup (IBinder token, 
                boolean unlink)

Parameters
token IBinder

unlink boolean

dump

added in API level 16
public void dump (PrintWriter pw)

Parameters
pw PrintWriter

dump

added in API level 1
public void dump ()

isAcquired

added in API level 1
public boolean isAcquired ()

Returns
boolean

release

added in API level 1
public void release (IBinder token)

Parameters
token IBinder

released

added in API level 1
public abstract void released ()

Called when the number of active tokens goes from 1 to 0.