Deprecate ContextUtils.getApplicationContext.
Allows passing in the application context to NetworkMonitor in startMonitoring. The audio code will refactored once it is moved under sdk/android. Bug: webrtc:8937 Change-Id: I50c917a845fc4f711899a97d34c04813cc68b68c Reviewed-on: https://webrtc-review.googlesource.com/58091 Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22231}
This commit is contained in:
committed by
Commit Bot
parent
d2ed0a4c9e
commit
9ddc14daca
@ -145,8 +145,11 @@ std::string NetworkInformation::ToString() const {
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
AndroidNetworkMonitor::AndroidNetworkMonitor(JNIEnv* env)
|
||||
AndroidNetworkMonitor::AndroidNetworkMonitor(
|
||||
JNIEnv* env,
|
||||
const JavaRef<jobject>& j_application_context)
|
||||
: android_sdk_int_(Java_NetworkMonitor_androidSdkInt(env)),
|
||||
j_application_context_(env, j_application_context),
|
||||
j_network_monitor_(env, Java_NetworkMonitor_getInstance(env)) {}
|
||||
|
||||
AndroidNetworkMonitor::~AndroidNetworkMonitor() = default;
|
||||
@ -164,8 +167,8 @@ void AndroidNetworkMonitor::Start() {
|
||||
worker_thread()->socketserver()->set_network_binder(this);
|
||||
|
||||
JNIEnv* env = AttachCurrentThreadIfNeeded();
|
||||
Java_NetworkMonitor_startMonitoring(env, j_network_monitor_,
|
||||
jlongFromPointer(this));
|
||||
Java_NetworkMonitor_startMonitoring(
|
||||
env, j_network_monitor_, j_application_context_, jlongFromPointer(this));
|
||||
}
|
||||
|
||||
void AndroidNetworkMonitor::Stop() {
|
||||
@ -350,9 +353,20 @@ rtc::AdapterType AndroidNetworkMonitor::GetAdapterType(
|
||||
return type;
|
||||
}
|
||||
|
||||
AndroidNetworkMonitorFactory::AndroidNetworkMonitorFactory()
|
||||
: j_application_context_(nullptr) {}
|
||||
|
||||
AndroidNetworkMonitorFactory::AndroidNetworkMonitorFactory(
|
||||
JNIEnv* env,
|
||||
const JavaRef<jobject>& j_application_context)
|
||||
: j_application_context_(env, j_application_context) {}
|
||||
|
||||
AndroidNetworkMonitorFactory::~AndroidNetworkMonitorFactory() = default;
|
||||
|
||||
rtc::NetworkMonitorInterface*
|
||||
AndroidNetworkMonitorFactory::CreateNetworkMonitor() {
|
||||
return new AndroidNetworkMonitor(AttachCurrentThreadIfNeeded());
|
||||
return new AndroidNetworkMonitor(AttachCurrentThreadIfNeeded(),
|
||||
j_application_context_);
|
||||
}
|
||||
|
||||
void AndroidNetworkMonitor::NotifyConnectionTypeChanged(
|
||||
|
||||
@ -55,7 +55,8 @@ struct NetworkInformation {
|
||||
class AndroidNetworkMonitor : public rtc::NetworkMonitorBase,
|
||||
public rtc::NetworkBinderInterface {
|
||||
public:
|
||||
explicit AndroidNetworkMonitor(JNIEnv* env);
|
||||
explicit AndroidNetworkMonitor(JNIEnv* env,
|
||||
const JavaRef<jobject>& j_application_context);
|
||||
~AndroidNetworkMonitor() override;
|
||||
|
||||
// TODO(sakal): Remove once down stream dependencies have been updated.
|
||||
@ -90,6 +91,7 @@ class AndroidNetworkMonitor : public rtc::NetworkMonitorBase,
|
||||
void OnNetworkDisconnected_w(NetworkHandle network_handle);
|
||||
|
||||
const int android_sdk_int_;
|
||||
ScopedJavaGlobalRef<jobject> j_application_context_;
|
||||
ScopedJavaGlobalRef<jobject> j_network_monitor_;
|
||||
rtc::ThreadChecker thread_checker_;
|
||||
bool started_ = false;
|
||||
@ -100,9 +102,18 @@ class AndroidNetworkMonitor : public rtc::NetworkMonitorBase,
|
||||
|
||||
class AndroidNetworkMonitorFactory : public rtc::NetworkMonitorFactory {
|
||||
public:
|
||||
AndroidNetworkMonitorFactory() {}
|
||||
// Deprecated. Pass in application context to this class.
|
||||
AndroidNetworkMonitorFactory();
|
||||
|
||||
AndroidNetworkMonitorFactory(JNIEnv* env,
|
||||
const JavaRef<jobject>& j_application_context);
|
||||
|
||||
~AndroidNetworkMonitorFactory() override;
|
||||
|
||||
rtc::NetworkMonitorInterface* CreateNetworkMonitor() override;
|
||||
|
||||
private:
|
||||
ScopedJavaGlobalRef<jobject> j_application_context_;
|
||||
};
|
||||
|
||||
} // namespace jni
|
||||
|
||||
Reference in New Issue
Block a user