Analogous to the server commit that removes it on its side. If an index
includes it, we will fail silently since unrecognised tags are ignored.
SQLite doesn't allow deleting columns, so don't do a DB version bump to try to
remove it. It will be gone on new installs, and it doesn't keep current
installs from working. Tested both cases.
This avoids problems in a few corner cases:
* The description is empty (it would probably throw an exception)
* The description doens't end in newlines (as seen in #422)
For the general case that was already working, the result is the same.
Translators:
Green Lunar Hebrew
Kiril LastName Bulgarian
Laura Arjona Reina Spanish
Lu Ca Sardinian
Marc Ringel German
Mladen Pejaković Serbian
Pablo Spanish
relan Russian
riotism Chinese (Hong Kong)
Small swap fixes
These are a few fixes I found while debugging the new swap stuff. The `repo.fingerprint` commit is quite important since that is the code that provides the core of FDroid's security model.
See merge request !142
The solution is really to get rid of the Fragment and do everything in the
Activity, especially since this nullguard will probably leave things in a
not good state. But that's better than a crash, I think.
W java.lang.NullPointerException
W at org.fdroid.fdroid.views.fragments.AvailableAppsFragment$CategoryObserver.onChange(AvailableAppsFragment.java:88)
W at org.fdroid.fdroid.views.fragments.AvailableAppsFragment$CategoryObserver.onChange(AvailableAppsFragment.java:103)
W at android.database.ContentObserver.dispatchChange(ContentObserver.java:163)
W at android.database.ContentObserver$Transport.onChange(ContentObserver.java:195)
W at android.database.IContentObserver$Stub.onTransact(IContentObserver.java:60)
W at android.os.Binder.execTransact(Binder.java:404)
W at dalvik.system.NativeStart.run(Native Method)
The repo.fingerprint logic is based on null meaning that the fingerprint
has not been set. This ensures that a "" does not sneak in somehow as a
valid fingerprint.
For Strings that are meant to be displayed to humans, using the default
Locale makes sense. But this String is meant to be parsed by code, so it
should force the Locale to make sure the digits are always rendered in the
same format.
As per !140, some languages require different translations for an app being
installed and the tab name for installed apps. Namely, one is plural while the
other isn't. Separate the two.