SingleActivityFactory


public abstract class SingleActivityFactory<T extends Activity> implements InterceptingActivityFactory


Abstract implementation of InterceptingActivityFactory which allows to intercept only one activity at a time. Child classes are responsible for creating activity object.

Summary

Public fields

final Class<T>

Public constructors

SingleActivityFactory(Class<T> activityClassToIntercept)

Public methods

final Activity
create(ClassLoader classLoader, String className, Intent intent)

This method can be used to provide activity instance while intercepting activity creation for a particular activity in response to a given intent.

final Class<T>

This method can be used to get the Class of activity being instantiated by this factory.

final boolean
shouldIntercept(
    ClassLoader classLoader,
    String className,
    Intent intent
)

This method can be used to know whether activity instance creation should be intercepted or not for a particular activity in response to a given intent.

Protected methods

abstract T
create(Intent intent)

This method needs to be implemented by child class to create activity object for the given intent that specified the activity class being instantiated.

Public fields

activityClassToIntercept

public final Class<T> activityClassToIntercept

Public constructors

SingleActivityFactory

public SingleActivityFactory(Class<T> activityClassToIntercept)

Public methods

create

public final Activity create(ClassLoader classLoader, String className, Intent intent)

This method can be used to provide activity instance while intercepting activity creation for a particular activity in response to a given intent.

Parameters
ClassLoader classLoader

The ClassLoader with which to instantiate the object

String className

The name of the class implementing the Activity object

Intent intent

The Intent object that specified the activity class being instantiated.

Returns
Activity

The newly instantiated Activity object.

getActivityClassToIntercept

public final Class<T> getActivityClassToIntercept()

This method can be used to get the Class of activity being instantiated by this factory.

Returns
Class<T>

Class of the activity object being instantiated

shouldIntercept

public final boolean shouldIntercept(
    ClassLoader classLoader,
    String className,
    Intent intent
)

This method can be used to know whether activity instance creation should be intercepted or not for a particular activity in response to a given intent.

Parameters
ClassLoader classLoader

The ClassLoader with which to instantiate the object

String className

The name of the class implementing the Activity object

Intent intent

The Intent object that specified the activity class being instantiated.

Returns
boolean

true if activity with className should be intercepted, otherwise false.

Protected methods

create

protected abstract T create(Intent intent)

This method needs to be implemented by child class to create activity object for the given intent that specified the activity class being instantiated.

Parameters
Intent intent

The Intent object that specified the activity class being instantiated.

Returns
T

The newly instantiated Activity object.