The store would indeed just gain an item. We didn’t really plan out implementing more advanced features such as refunds/exchanges because of the time constraint, but its really interesting to think about how we would’ve.
Bitcoin is indeed cryptographically secured through the ownership of the wallet’s private key. If the key or its generated mnemonic is lost, then ownership of the coins those keys secure are lost as well. You can read more about private keys here. The best way to secure your Bitcoins is in a private wallet where you’ve backed up the private key/mnemonic.
Unfortunately, because Bitcoin is still in its infant stages, changes like these happen and are unpredictable.
If you’re not transacting with the Bitcoins you have backed up (i.e. they’re just sitting there), then SegWit is not as necessary for you. But if you are, you should definitely consider the switch.
The single Activity and no Fragment approach is a very interesting one that I haven’t heard of before. Could you provide some more insight/resources on how you accomplished handling all the different states in the app with this architecture?