Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1826)

Unified Diff: net/android/network_change_notifier_delegate_android.cc

Issue 2081493002: Obtain WiFi SSID on Android using Android APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/android/network_change_notifier_delegate_android.cc
diff --git a/net/android/network_change_notifier_delegate_android.cc b/net/android/network_change_notifier_delegate_android.cc
index b05e3d8b3673d38d57d545dec8ba3dda3f3ef0d0..6f31663d651b93e315e27c0785d0166fc13b7f77 100644
--- a/net/android/network_change_notifier_delegate_android.cc
+++ b/net/android/network_change_notifier_delegate_android.cc
@@ -6,6 +6,7 @@
#include "base/android/context_utils.h"
#include "base/android/jni_array.h"
+#include "base/android/jni_string.h"
#include "base/logging.h"
#include "jni/NetworkChangeNotifier_jni.h"
#include "net/android/network_change_notifier_android.h"
@@ -81,6 +82,9 @@ NetworkChangeNotifierDelegateAndroid::NetworkChangeNotifierDelegateAndroid()
ConvertConnectionType(
Java_NetworkChangeNotifier_getCurrentConnectionType(
env, java_network_change_notifier_.obj())));
+ SetCurrentSSID(base::android::ConvertJavaStringToUTF8(
+ env, Java_NetworkChangeNotifier_getCurrentWifiSSID(
+ env, java_network_change_notifier_.obj())));
SetCurrentMaxBandwidth(
Java_NetworkChangeNotifier_getCurrentMaxBandwidthInMbps(
env, java_network_change_notifier_.obj()));
@@ -151,6 +155,11 @@ void NetworkChangeNotifierDelegateAndroid::GetCurrentlyConnectedNetworks(
network_list->push_back(i.first);
}
+std::string NetworkChangeNotifierDelegateAndroid::GetCurrentWiFiSSID() const {
+ base::AutoLock auto_lock(connection_lock_);
+ return current_ssid_;
+}
+
void NetworkChangeNotifierDelegateAndroid::NotifyConnectionTypeChanged(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
@@ -160,6 +169,10 @@ void NetworkChangeNotifierDelegateAndroid::NotifyConnectionTypeChanged(
const ConnectionType actual_connection_type = ConvertConnectionType(
new_connection_type);
SetCurrentConnectionType(actual_connection_type);
+ SetCurrentSSID(base::android::ConvertJavaStringToUTF8(
+ env, Java_NetworkChangeNotifier_getCurrentWifiSSID(
+ env, java_network_change_notifier_.obj())));
+
NetworkHandle default_network = default_netid;
if (default_network != GetCurrentDefaultNetwork()) {
SetCurrentDefaultNetwork(default_network);
@@ -304,6 +317,12 @@ void NetworkChangeNotifierDelegateAndroid::SetCurrentConnectionType(
connection_type_ = new_connection_type;
}
+void NetworkChangeNotifierDelegateAndroid::SetCurrentSSID(
+ const std::string& new_ssid) {
+ base::AutoLock auto_lock(connection_lock_);
+ current_ssid_ = new_ssid;
+}
+
void NetworkChangeNotifierDelegateAndroid::SetCurrentMaxBandwidth(
double max_bandwidth) {
base::AutoLock auto_lock(connection_lock_);

Powered by Google App Engine
This is Rietveld 408576698