Include elapsed realtime (nanos) of the event in the radio state change notifications.

Bug: 13247811
Change-Id: I3454aa159a68b9087b4762df947b41965b5a3941
This commit is contained in:
Ashish Sharma
2014-03-12 18:42:23 -07:00
parent 22b42d6a84
commit 601fba91e3
2 changed files with 9 additions and 3 deletions

View File

@@ -175,6 +175,11 @@ public class ConnectivityManager {
* {@hide} * {@hide}
*/ */
public static final String EXTRA_IS_ACTIVE = "isActive"; public static final String EXTRA_IS_ACTIVE = "isActive";
/**
* The lookup key for a long that contains the timestamp (nanos) of the radio state change.
* {@hide}
*/
public static final String EXTRA_REALTIME_NS = "tsNanos";
/** /**
* Broadcast Action: The setting for background data usage has changed * Broadcast Action: The setting for background data usage has changed

View File

@@ -1183,9 +1183,9 @@ public class ConnectivityService extends IConnectivityManager.Stub {
private INetworkManagementEventObserver mDataActivityObserver = new BaseNetworkObserver() { private INetworkManagementEventObserver mDataActivityObserver = new BaseNetworkObserver() {
@Override @Override
public void interfaceClassDataActivityChanged(String label, boolean active) { public void interfaceClassDataActivityChanged(String label, boolean active, long tsNanos) {
int deviceType = Integer.parseInt(label); int deviceType = Integer.parseInt(label);
sendDataActivityBroadcast(deviceType, active); sendDataActivityBroadcast(deviceType, active, tsNanos);
} }
}; };
@@ -2169,10 +2169,11 @@ public class ConnectivityService extends IConnectivityManager.Stub {
sendStickyBroadcastDelayed(makeGeneralIntent(info, bcastType), delayMs); sendStickyBroadcastDelayed(makeGeneralIntent(info, bcastType), delayMs);
} }
private void sendDataActivityBroadcast(int deviceType, boolean active) { private void sendDataActivityBroadcast(int deviceType, boolean active, long tsNanos) {
Intent intent = new Intent(ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE); Intent intent = new Intent(ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE);
intent.putExtra(ConnectivityManager.EXTRA_DEVICE_TYPE, deviceType); intent.putExtra(ConnectivityManager.EXTRA_DEVICE_TYPE, deviceType);
intent.putExtra(ConnectivityManager.EXTRA_IS_ACTIVE, active); intent.putExtra(ConnectivityManager.EXTRA_IS_ACTIVE, active);
intent.putExtra(ConnectivityManager.EXTRA_REALTIME_NS, tsNanos);
final long ident = Binder.clearCallingIdentity(); final long ident = Binder.clearCallingIdentity();
try { try {
mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL,