From c18178a93d7467466ba9b3619e4f25581dc89c56 Mon Sep 17 00:00:00 2001 From: "Philip P. Moltmann" Date: Mon, 16 Apr 2018 13:43:37 -0700 Subject: [PATCH] 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 --- .../AndroidManifest.xml | 5 +++-- .../RecommendationServiceImpl.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/PrintRecommendationService/AndroidManifest.xml b/packages/PrintRecommendationService/AndroidManifest.xml index 2e9342c9354a6..750b9fb7e52f5 100644 --- a/packages/PrintRecommendationService/AndroidManifest.xml +++ b/packages/PrintRecommendationService/AndroidManifest.xml @@ -18,12 +18,13 @@ --> + android:versionCode="3" + android:versionName="1.2.0"> + 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