Changeset 7164059


Ignore:
Timestamp:
Dec 16, 2017 4:12:34 PM (2 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
be004cd
Parents:
0430323
Message:

SusiMail?: Show result after server check (ticket #2087)

Location:
apps/susimail/src/src/i2p/susi
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • apps/susimail/src/src/i2p/susi/util/Folder.java

    r0430323 r7164059  
    219219         */
    220220        public boolean addElement(O element) {
    221                 return addElements(Collections.singletonList(element));
     221                return addElements(Collections.singletonList(element)) > 0;
    222222        }
    223223       
     
    227227         *
    228228         * @param elems to add
    229          * @return true if any were added
     229         * @return number added
    230230         */
    231231        @SuppressWarnings("unchecked")
    232         public synchronized boolean addElements(List<O> elems) {
    233                 boolean shouldUpdate = false;
     232        public synchronized int addElements(List<O> elems) {
     233                int added = 0;
    234234                if (elements != null) {
    235235                        // delay copy until required
     
    246246                                        if (list == null) {
    247247                                                list = new ArrayList<O>(Arrays.asList(elements));
    248                                                 shouldUpdate = true;
    249248                                        }
    250249                                        list.add(e);
    251250                                }
    252251                        }
    253                         if (shouldUpdate) {
     252                        if (list != null) {
     253                                added = list.size() - elements.length;
    254254                                setElements((O[]) list.toArray(new Object[list.size()]));
    255255                        }
    256256                } else if (!elems.isEmpty()) {
    257                         setElements((O[]) (elems.toArray(new Object[elems.size()])));
    258                         shouldUpdate = true;
    259                 }
    260                 return shouldUpdate;
     257                        added = elems.size();
     258                        setElements((O[]) (elems.toArray(new Object[added])));
     259                }
     260                return added;
    261261        }
    262262       
  • apps/susimail/src/src/i2p/susi/webmail/WebMail.java

    r0430323 r7164059  
    12361236                                return State.AUTH;
    12371237                        }
    1238                         // TODO how to do a "No new mail" message?
    12391238                        mailbox.refresh();
    1240                         sessionObject.error += mailbox.lastError();
     1239                        String error = mailbox.lastError();
     1240                        sessionObject.error += error;
    12411241                        sessionObject.mailCache.getMail(MailCache.FetchMode.HEADER);
    12421242                        // get through cache so we have the disk-only ones too
    12431243                        String[] uidls = sessionObject.mailCache.getUIDLs();
    1244                         if (uidls != null)
    1245                                 sessionObject.folder.addElements(Arrays.asList(uidls));
     1244                        int added = sessionObject.folder.addElements(Arrays.asList(uidls));
     1245                        if (added > 0)
     1246                                sessionObject.info += ngettext("{0} new message", "{0} new messages", added);
     1247                        else if (error.length() <= 0)
     1248                                sessionObject.info += _t("No new messages");
    12461249                        sessionObject.pageChanged = true;
    12471250                }
     
    18871890                                // get through cache so we have the disk-only ones too
    18881891                                String[] uidls = sessionObject.mailCache.getUIDLs();
    1889                                 if (folder.addElements(Arrays.asList(uidls))) {
     1892                                if (folder.addElements(Arrays.asList(uidls)) > 0) {
    18901893                                        // we added elements, so it got sorted
    18911894                                } else {
Note: See TracChangeset for help on using the changeset viewer.