diff options
author | Philip P. Moltmann <moltmann@google.com> | 2018-04-16 13:43:37 -0700 |
---|---|---|
committer | Philip P. Moltmann <moltmann@google.com> | 2018-04-17 10:15:59 -0700 |
commit | c18178a93d7467466ba9b3619e4f25581dc89c56 (patch) | |
tree | 1c17e2659ebee01c7109c23ff99a07d9c917ad3f /packages/PrintRecommendationService | |
parent | 575fc02edf86b5394c2385fa6c0567a29042d347 (diff) |
Enable multi-cast while resolving nsd services
Test: Before taimen never resolved nsd servives. How it resolved nsd
services reliably when built in print service and print service
recommendation service used NsdService
Fixes: 75316187
Change-Id: I02f83fc2ea624174e61ddf0d61fdaed005b741eb
Diffstat (limited to 'packages/PrintRecommendationService')
-rw-r--r-- | packages/PrintRecommendationService/AndroidManifest.xml | 5 | ||||
-rw-r--r-- | packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java | 17 |
2 files changed, 20 insertions, 2 deletions
diff --git a/packages/PrintRecommendationService/AndroidManifest.xml b/packages/PrintRecommendationService/AndroidManifest.xml index 2e9342c9354a..750b9fb7e52f 100644 --- a/packages/PrintRecommendationService/AndroidManifest.xml +++ b/packages/PrintRecommendationService/AndroidManifest.xml @@ -18,12 +18,13 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.printservice.recommendation" - android:versionCode="2" - android:versionName="1.1.0"> + android:versionCode="3" + android:versionName="1.2.0"> <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="25" /> + <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <application diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java index 128ed5085529..9ae31989eeb2 100644 --- a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java +++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/RecommendationServiceImpl.java @@ -17,6 +17,7 @@ package com.android.printservice.recommendation; import android.content.res.Configuration; +import android.net.wifi.WifiManager; import android.printservice.PrintService; import android.printservice.recommendation.RecommendationInfo; import android.printservice.recommendation.RecommendationService; @@ -47,8 +48,20 @@ public class RecommendationServiceImpl extends RecommendationService /** All registered plugins */ private ArrayList<RemotePrintServicePlugin> mPlugins; + /** Lock to keep multi-cast enabled */ + private WifiManager.MulticastLock mMultiCastLock; + @Override public void onConnected() { + WifiManager wifiManager = getSystemService(WifiManager.class); + if (wifiManager != null) { + if (mMultiCastLock == null) { + mMultiCastLock = wifiManager.createMulticastLock(LOG_TAG); + } + + mMultiCastLock.acquire(); + } + mPlugins = new ArrayList<>(); try { @@ -125,6 +138,10 @@ public class RecommendationServiceImpl extends RecommendationService Log.e(LOG_TAG, "Could not stop plugin", e); } } + + if (mMultiCastLock != null) { + mMultiCastLock.release(); + } } @Override |