bitcoinj/bitcoinj — pull request #269 by schildbach (2014-11-08 09:13:36+00:00)
Title: When reading wallets, catch another possible data inconsistency...

...and throw UnreadableWalletException.

FWIW, here is the exception that kept the wallet from loading:

E/AndroidRuntime( 5367): Caused by: java.lang.IllegalStateException
E/AndroidRuntime( 5367):	at com.google.common.base.Preconditions.checkState(Preconditions.java:161)
E/AndroidRuntime( 5367):	at org.bitcoinj.wallet.DeterministicKeyChain.fromProtobuf(DeterministicKeyChain.java:773)
E/AndroidRuntime( 5367):	at org.bitcoinj.wallet.KeyChainGroup.fromProtobufUnencrypted(KeyChainGroup.java:735)
E/AndroidRuntime( 5367):	at org.bitcoinj.store.WalletProtobufSerializer.readWallet(WalletProtobufSerializer.java:422)
E/AndroidRuntime( 5367):	at org.bitcoinj.store.WalletProtobufSerializer.readWallet(WalletProtobufSerializer.java:389)
E/AndroidRuntime( 5367):	at de.schildbach.wallet.WalletApplication.loadWalletFromProtobuf(WalletApplication.java:248)
E/AndroidRuntime( 5367):	at de.schildbach.wallet.WalletApplication.onCreate(WalletApplication.java:132)