summaryrefslogtreecommitdiff
path: root/packages/PrintSpooler/src
diff options
context:
space:
mode:
authoryoshiki iguchi <yoshiki@google.com>2019-05-22 11:32:46 +0900
committerYoshiki Iguchi <yoshiki@google.com>2019-05-22 03:23:54 +0000
commit4465f55d925810a7659041f099c21c1fb1457ddf (patch)
tree0a5df49882bd5294c6b293ecbbd9186aa47f6b79 /packages/PrintSpooler/src
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
Diffstat (limited to 'packages/PrintSpooler/src')
-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);