navit
0.5.3-trunk
|
Public Member Functions | |
native void | onFeedReceived (long id, String feed) |
void | onReceive (Context context, Intent intent) |
Static Public Member Functions | |
static void | sendTraffIntent (Context context, String action, Uri data, Bundle extras, String packageName, String receiverPermission, BroadcastReceiver resultReceiver) |
Package Functions | |
NavitTraff (Context context, long cbid) | |
void | close () |
void | onFilterUpdate (String filterList) |
Private Member Functions | |
void | fetchMessages (Context context, Uri uri) |
Static Private Member Functions | |
static String | formatTraffError (int code) |
Private Attributes | |
final long | mCbid |
final Context | context |
Map< String, String > | subscriptions = new HashMap<String, String>() |
Static Private Attributes | |
static final String | ACTION_TRAFF_GET_CAPABILITIES = "org.traffxml.traff.GET_CAPABILITIES" |
static final String | ACTION_TRAFF_HEARTBEAT = "org.traffxml.traff.HEARTBEAT" |
static final String | ACTION_TRAFF_FEED = "org.traffxml.traff.FEED" |
static final String | ACTION_TRAFF_POLL = "org.traffxml.traff.POLL" |
static final String | ACTION_TRAFF_SUBSCRIBE = "org.traffxml.traff.SUBSCRIBE" |
static final String | ACTION_TRAFF_SUBSCRIPTION_CHANGE = "org.traffxml.traff.SUBSCRIPTION_CHANGE" |
static final String | ACTION_TRAFF_UNSUBSCRIBE = "org.traffxml.traff.UNSUBSCRIBE" |
static final String | COLUMN_DATA = "data" |
static final String | CONTENT_SCHEMA = "content" |
static final String[] | ERROR_STRINGS |
static final String | EXTRA_CAPABILITIES = "capabilities" |
static final String | EXTRA_FEED = "feed" |
static final String | EXTRA_FILTER_LIST = "filter_list" |
static final String | EXTRA_PACKAGE = "package" |
static final String | EXTRA_SUBSCRIPTION_ID = "subscription_id" |
static final String | MIME_TYPE_TRAFF = "vnd.android.cursor.dir/org.traffxml.message" |
static final int | RESULT_OK = -1 |
static final int | RESULT_INTERNAL_ERROR = 7 |
static final int | RESULT_INVALID = 1 |
static final int | RESULT_SUBSCRIPTION_REJECTED = 2 |
static final int | RESULT_NOT_COVERED = 3 |
static final int | RESULT_PARTIALLY_COVERED = 4 |
static final int | RESULT_SUBSCRIPTION_UNKNOWN = 5 |
static final String | TAG = "NavitTraff" |
The TraFF receiver implementation.
This class registers the broadcast receiver for TraFF feeds, polls all registered sources once on creation, receives TraFF feeds and forwards them to the traffic module for processing.
|
inlinepackage |
Creates a new
instance.
Creating a new
instance registers a broadcast receiver for TraFF broadcasts and polls all registered sources once to ensure we have messages which were received by these sources before we started up.
context | The context |
cbid | The callback identifier for the native method to call upon receiving a feed |
References org.navitproject.navit.NavitTraff.ACTION_TRAFF_FEED, org.navitproject.navit.NavitTraff.ACTION_TRAFF_GET_CAPABILITIES, org.navitproject.navit.NavitTraff.ACTION_TRAFF_POLL, org.navitproject.navit.NavitTraff.CONTENT_SCHEMA, and org.navitproject.navit.NavitTraff.MIME_TYPE_TRAFF.
|
inlinepackage |
|
inlineprivate |
Fetches messages from a content provider.
context | The context to use for the content resolver |
uri | The content provider URI |
References org.navitproject.navit.NavitTraff.COLUMN_DATA, org.navitproject.navit.NavitTraff.mCbid, org.navitproject.navit.NavitTraff.onFeedReceived(), and org.navitproject.navit.NavitTraff.TAG.
Referenced by org.navitproject.navit.NavitTraff.onReceive().
|
inlinestaticprivate |
References org.navitproject.navit.NavitTraff.ERROR_STRINGS.
Referenced by org.navitproject.navit.NavitTraff.onReceive().
native void org.navitproject.navit.NavitTraff.onFeedReceived | ( | long | id, |
String | feed | ||
) |
Forwards a newly received TraFF feed to the traffic module for processing.
This is called when a TraFF feed is received.
id | The identifier for the native callback implementation |
feed | The TraFF feed |
Referenced by org.navitproject.navit.NavitTraff.fetchMessages(), and org.navitproject.navit.NavitTraff.onReceive().
|
inlinepackage |
References org.navitproject.navit.NavitTraff.ACTION_TRAFF_GET_CAPABILITIES, org.navitproject.navit.NavitTraff.ACTION_TRAFF_SUBSCRIBE, org.navitproject.navit.NavitTraff.ACTION_TRAFF_SUBSCRIPTION_CHANGE, org.navitproject.navit.NavitTraff.EXTRA_FILTER_LIST, org.navitproject.navit.NavitTraff.EXTRA_PACKAGE, org.navitproject.navit.NavitTraff.EXTRA_SUBSCRIPTION_ID, org.navitproject.navit.NavitTraff.sendTraffIntent(), org.navitproject.navit.NavitTraff.subscriptions, and org.navitproject.navit.NavitTraff.TAG.
|
inline |
References org.navitproject.navit.NavitTraff.ACTION_TRAFF_FEED, org.navitproject.navit.NavitTraff.ACTION_TRAFF_HEARTBEAT, org.navitproject.navit.NavitTraff.ACTION_TRAFF_SUBSCRIBE, org.navitproject.navit.NavitTraff.ACTION_TRAFF_SUBSCRIPTION_CHANGE, org.navitproject.navit.NavitTraff.ACTION_TRAFF_UNSUBSCRIBE, data, org.navitproject.navit.NavitTraff.EXTRA_FEED, org.navitproject.navit.NavitTraff.EXTRA_PACKAGE, org.navitproject.navit.NavitTraff.EXTRA_SUBSCRIPTION_ID, org.navitproject.navit.NavitTraff.fetchMessages(), org.navitproject.navit.NavitTraff.formatTraffError(), org.navitproject.navit.NavitTraff.mCbid, org.navitproject.navit.NavitTraff.onFeedReceived(), org.navitproject.navit.NavitTraff.RESULT_OK, org.navitproject.navit.NavitTraff.sendTraffIntent(), org.navitproject.navit.NavitTraff.subscriptions, and org.navitproject.navit.NavitTraff.TAG.
|
inlinestatic |
Sends a TraFF intent to a source. This encapsulates most of the low-level Android handling.
If the recipient specified in
declares multiple receivers for the intent in its manifest, a separate intent will be delivered to each of them. The intent will not be delivered to receivers registered at runtime.
All intents are sent as explicit ordered broadcasts. This means two things:
Any app which declares a matching receiver in its manifest will be woken up to process the intent. This works even with certain Android 7 builds which restrict intent delivery to apps which are not currently running.
It is safe for the recipient to unconditionally set result data. If the recipient does not set result data, the result will have a result code of RESULT_INTERNAL_ERROR, no data and no extras.
context | The context |
action | The intent action. |
data | The intent data (for TraFF, this is the content provider URI), or null |
extras | The extras for the intent |
packageName | The package name for the recipient, or null to deliver the intent to all matching receivers |
receiverPermission | A permission which the recipient must hold, or null if not required |
resultReceiver | A BroadcastReceiver which will receive the result for the intent |
References data, and org.navitproject.navit.NavitTraff.RESULT_INTERNAL_ERROR.
Referenced by org.navitproject.navit.NavitTraff.close(), org.navitproject.navit.NavitTraff.onFilterUpdate(), and org.navitproject.navit.NavitTraff.onReceive().
|
staticprivate |
|
staticprivate |
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.onReceive().
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.NavitTraff().
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.fetchMessages().
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.NavitTraff().
|
private |
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.formatTraffError().
|
staticprivate |
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.onReceive().
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.onFilterUpdate().
|
staticprivate |
|
staticprivate |
|
private |
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.NavitTraff().
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.sendTraffIntent().
|
staticprivate |
|
staticprivate |
|
staticprivate |
Referenced by org.navitproject.navit.NavitTraff.onReceive().
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
Active subscriptions (key is the subscription ID, value is the package ID).
Referenced by org.navitproject.navit.NavitTraff.close(), org.navitproject.navit.NavitTraff.onFilterUpdate(), and org.navitproject.navit.NavitTraff.onReceive().
|
staticprivate |