View Single Post
Old 01-17-2012, 05:05 AM   #1
rastik
Connoisseur
rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.
 
Posts: 65
Karma: 4662
Join Date: Feb 2011
Location: CZ
Device: Kindle Touch 3G, Kindle Keyboard
Periodicals can be deleted on Kindle Touch

When I moved to KT I found out that reading periodicals is not as comfortable as on K3. When I side-load such a document, I can read it as expected, except for broken section/articles list. But if I send such a document via whispersync, KT does not detect it as a periodical. It goes somewhere in the middle. I managed to live with that, but for one problem - such a document cannot be deleted via GUI as long as it is present in archived items. Long press on the document does not do anything, it's therefore not possible to move it collection or delete it.
In log I get:
Code:
cvm[1328]: E GestureDispatcher:ExceptionCaught::Error in actionPerformed
cvm[1328]: java.util.MissingResourceException: Can't find resource for bundle com.amazon.kindle.apps.util.resources.AreasResources, key remove.label
cvm[1328]:     at java.util.ResourceBundle.getObject(Compiled Method)(Unknown Source)
cvm[1328]:     at java.util.ResourceBundle.getString(Compiled Method)(Unknown Source)
cvm[1328]:     at com.amazon.kindle.apps.util.detailview.DefaultDetailViewFactory.getActions(vtc:873)
cvm[1328]:     at com.amazon.kindle.apps.util.detailview.DefaultDetailViewFactory.getDetails(vtc:1471)
cvm[1328]:     at com.amazon.ebook.booklet.periodicals.impl.detail.PeriodicalsDetailViewFactory.getDetails(yid:1471)
cvm[1328]:     at com.amazon.kindle.restricted.device.impl.ApplicationRegistryImpl.getDetailViewDialog(igb:577)
cvm[1328]:     at com.amazon.kindle.home.action.OpenDetailsAction.actionPerformed(zbc:694)
The problem is that the code tries to find string "remove.label" in com.amazon.kindle.apps.util.resources.UtilResource s. And it's not there
Code:
        if(QueryUtils.hasArchivedCopy(a, D))
        {
            if((a = (Action)a.get("Remove")) != null)
            {
                a.putValue("Name", a.getString("remove.label"));
                a.add(a);
            }
        } else
        if((a = (Action)a.get("Delete")) != null)
        {
            a.putValue("Name", a.getString("delete.document.label"));
            a.add(a);
        }
So, I tried to edit DefaultDetailViewFactory.class in /opt/amazon/ebook/lib/app_utilities.jar with ClassEditor and changed remove.label to delete.document.label. After bind-mounting new jar it works.
I'd like to upload it for others to try (and possibly use), but it would probably violate copyright rights. Do you know how can I do that?
rastik is offline   Reply With Quote