Index: blimp/client/app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java |
diff --git a/blimp/client/app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java b/blimp/client/app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java |
index d16cbc2703d2178dfc79b1e6ca870fb61721f499..cc7595d3c4fcb0f0c07eee785a4c76a05c41903d 100644 |
--- a/blimp/client/app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java |
+++ b/blimp/client/app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java |
@@ -49,10 +49,20 @@ public class BlimpClientSession { |
void onDisconnected(String reason); |
} |
+ public interface NetworkActivityObserver { |
+ void onPacketSent(int bytes); |
+ void onPacketReceived(int bytes); |
+ } |
+ |
private final String mAssignerUrl; |
private final List<ConnectionObserver> mObservers; |
+ private NetworkActivityObserver mDataObserver; |
private long mNativeBlimpClientSessionAndroidPtr; |
+ public void setDataObserver(NetworkActivityObserver observer) { |
+ mDataObserver = observer; |
+ } |
+ |
public BlimpClientSession(String assignerUrl) { |
mAssignerUrl = assignerUrl; |
mObservers = new ArrayList<ConnectionObserver>(); |
@@ -162,6 +172,16 @@ public class BlimpClientSession { |
return mNativeBlimpClientSessionAndroidPtr; |
} |
+ @CalledByNative |
+ private void onPacketReceived(int bytes) { |
+ mDataObserver.onPacketReceived(bytes); |
+ } |
+ |
+ @CalledByNative |
+ private void onPacketSent(int bytes) { |
+ mDataObserver.onPacketSent(bytes); |
+ } |
+ |
private native long nativeInit(String assignerUrl); |
private native void nativeConnect(long nativeBlimpClientSessionAndroid, String token); |
private native void nativeDestroy(long nativeBlimpClientSessionAndroid); |