summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2016-12-13 15:28:55 +0100
committerChristian Stromme <christian.stromme@qt.io>2016-12-14 15:08:11 +0000
commit87e553b58a8b59bfafb670272a33848bc415042d (patch)
tree4106a22fdee80eb3c2377e55cec7c750760cd7e6 /src/plugins
parent1f665efa913bf55f215ceff27ebfc9f0e0769aee (diff)
Android: Fix the bearer management plugin when running as a service
Since Qt for Android now supports running as a service, we shouldn't use the activity context unconditionally, but instead query the current context from QtAndroidPrivate::context(). Change-Id: Ib793ba890fdbfc0cfe7b20115e41ff64cc73477a Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/bearer/android/jar/src/org/qtproject/qt5/android/bearer/QtNetworkReceiver.java13
-rw-r--r--src/plugins/bearer/android/src/wrappers/androidconnectivitymanager.cpp12
2 files changed, 12 insertions, 13 deletions
diff --git a/src/plugins/bearer/android/jar/src/org/qtproject/qt5/android/bearer/QtNetworkReceiver.java b/src/plugins/bearer/android/jar/src/org/qtproject/qt5/android/bearer/QtNetworkReceiver.java
index 8170188ecb..805c90548b 100644
--- a/src/plugins/bearer/android/jar/src/org/qtproject/qt5/android/bearer/QtNetworkReceiver.java
+++ b/src/plugins/bearer/android/jar/src/org/qtproject/qt5/android/bearer/QtNetworkReceiver.java
@@ -44,7 +44,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
-import android.app.Activity;
import android.net.ConnectivityManager;
public class QtNetworkReceiver
@@ -65,29 +64,29 @@ public class QtNetworkReceiver
private QtNetworkReceiver() {}
- public static void registerReceiver(final Activity activity)
+ public static void registerReceiver(final Context context)
{
synchronized (m_lock) {
if (m_broadcastReceiver == null) {
m_broadcastReceiver = new BroadcastReceiverPrivate();
IntentFilter intentFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
- activity.registerReceiver(m_broadcastReceiver, intentFilter);
+ context.registerReceiver(m_broadcastReceiver, intentFilter);
}
}
}
- public static void unregisterReceiver(final Activity activity)
+ public static void unregisterReceiver(final Context context)
{
synchronized (m_lock) {
if (m_broadcastReceiver == null)
return;
- activity.unregisterReceiver(m_broadcastReceiver);
+ context.unregisterReceiver(m_broadcastReceiver);
}
}
- public static ConnectivityManager getConnectivityManager(final Activity activity)
+ public static ConnectivityManager getConnectivityManager(final Context context)
{
- return (ConnectivityManager)activity.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
+ return (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
}
}
diff --git a/src/plugins/bearer/android/src/wrappers/androidconnectivitymanager.cpp b/src/plugins/bearer/android/src/wrappers/androidconnectivitymanager.cpp
index 3a5030d1f3..6787690246 100644
--- a/src/plugins/bearer/android/src/wrappers/androidconnectivitymanager.cpp
+++ b/src/plugins/bearer/android/src/wrappers/androidconnectivitymanager.cpp
@@ -250,15 +250,15 @@ AndroidConnectivityManager::AndroidConnectivityManager()
m_connectivityManager = QJNIObjectPrivate::callStaticObjectMethod(networkReceiverClass,
"getConnectivityManager",
- "(Landroid/app/Activity;)Landroid/net/ConnectivityManager;",
- QtAndroidPrivate::activity());
+ "(Landroid/content/Context;)Landroid/net/ConnectivityManager;",
+ QtAndroidPrivate::context());
if (!m_connectivityManager.isValid())
return;
QJNIObjectPrivate::callStaticMethod<void>(networkReceiverClass,
"registerReceiver",
- "(Landroid/app/Activity;)V",
- QtAndroidPrivate::activity());
+ "(Landroid/content/Context;)V",
+ QtAndroidPrivate::context());
}
AndroidConnectivityManager *AndroidConnectivityManager::getInstance()
@@ -272,8 +272,8 @@ AndroidConnectivityManager::~AndroidConnectivityManager()
{
QJNIObjectPrivate::callStaticMethod<void>(networkReceiverClass,
"unregisterReceiver",
- "(Landroid/app/Activity;)V",
- QtAndroidPrivate::activity());
+ "(Landroid/content/Context;)V",
+ QtAndroidPrivate::context());
}
AndroidNetworkInfo AndroidConnectivityManager::getActiveNetworkInfo() const