summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author yoshiki iguchi <yoshiki@google.com> 2019-05-22 11:32:46 +0900
committer Yoshiki Iguchi <yoshiki@google.com> 2019-05-22 03:23:54 +0000
commit4465f55d925810a7659041f099c21c1fb1457ddf (patch)
tree0a5df49882bd5294c6b293ecbbd9186aa47f6b79
parent0f097d0dfa6157a23f1b680fda1a7311efeeb349 (diff)
Don't fire 'changed' event if printer list is not updated
The printer list is tried to be updated when the network is changed but the 'changed' event was fired even if the printer list is not changed at all. This CL suppresses events if the list is not changed. Bug: 132840441 Test: run 'cts-tradefed run commandAndExit cts-dev --module CtsPrintTestCases --test android.print.cts. PrintDocumentAdapterContractTest#unexpectedLayoutCancel' 30 times Change-Id: I9236e56ea9e19e37be29d6a1d0015ee0b2676460
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java b/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java
index 5be0176cf4cc..c5138c533cd0 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java
@@ -232,6 +232,11 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>>
// Add the new printers, i.e. what is left.
printers.addAll(discoveredPrinters.values());
+ // Do nothing if the printer list is not changed.
+ if (Objects.equals(mPrinters, printers)) {
+ return;
+ }
+
// Update the list of printers.
mPrinters.clear();
mPrinters.addAll(printers);