From 9a8e7b11e55c2e28bd5ce61eda1664149bc4a108 Mon Sep 17 00:00:00 2001 From: orignal Date: Wed, 13 Jul 2016 10:09:22 -0400 Subject: [PATCH] detect network status at android --- Transports.cpp | 2 +- Transports.h | 5 ++++- android/jni/i2pd_android.cpp | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Transports.cpp b/Transports.cpp index 1efbfb2f..2d572aef 100644 --- a/Transports.cpp +++ b/Transports.cpp @@ -93,7 +93,7 @@ namespace transport Transports transports; Transports::Transports (): - m_IsRunning (false), m_Thread (nullptr), m_Work (m_Service), m_PeerCleanupTimer (m_Service), + m_IsOnline (true), m_IsRunning (false), m_Thread (nullptr), m_Work (m_Service), m_PeerCleanupTimer (m_Service), m_NTCPServer (nullptr), m_SSUServer (nullptr), m_DHKeysPairSupplier (5), // 5 pre-generated keys m_TotalSentBytes(0), m_TotalReceivedBytes(0), m_InBandwidth (0), m_OutBandwidth (0), m_LastInBandwidthUpdateBytes (0), m_LastOutBandwidthUpdateBytes (0), m_LastBandwidthUpdateTime (0) diff --git a/Transports.h b/Transports.h index 2902e052..708c55e2 100644 --- a/Transports.h +++ b/Transports.h @@ -80,6 +80,9 @@ namespace transport bool IsBoundNTCP() const { return m_NTCPServer != nullptr; } bool IsBoundSSU() const { return m_SSUServer != nullptr; } + bool IsOnline() const { return m_IsOnline; }; + void SetOnline (bool online) { m_IsOnline = online; }; + boost::asio::io_service& GetService () { return m_Service; }; std::shared_ptr GetNextDHKeysPair (); void ReuseDHKeysPair (std::shared_ptr pair); @@ -133,7 +136,7 @@ namespace transport private: - bool m_IsRunning; + bool m_IsOnline, m_IsRunning; std::thread * m_Thread; boost::asio::io_service m_Service; boost::asio::io_service::work m_Work; diff --git a/android/jni/i2pd_android.cpp b/android/jni/i2pd_android.cpp index 40b50345..201b668e 100755 --- a/android/jni/i2pd_android.cpp +++ b/android/jni/i2pd_android.cpp @@ -4,6 +4,7 @@ #include "org_purplei2p_i2pd_I2PD_JNI.h" #include "DaemonAndroid.h" #include "../../RouterContext.h" +#include "../../Transports.h" JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getABICompiledWith (JNIEnv * env, jclass clazz) { @@ -58,6 +59,8 @@ JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_stopAcceptingTunnels } JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_onNetworkStateChanged - (JNIEnv * env, jclass clazz, jboolean isConnected) { + (JNIEnv * env, jclass clazz, jboolean isConnected) +{ bool isConnectedBool = (bool) isConnected; + i2p::transport::transports.SetOnline (isConnectedBool); }