Something went wrong while setting issue due date.
Swap crashes on 2.2.2 because it assumes Android 2.3
Reported via ACRA.
Android Version: 2.2.2 F-Droid Version: 0.98.1
The below stacktrace shows that swap doesn't work on Android 2.2.2 devices because of a field PackageInfo.firstInstallTime
which is only introduced in API 9 (Android 2.3).
I haven't looked at the code, but I suspect that it is probably not particularly important if this field is not included in the swap index that is built.
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1102)
Caused by: java.lang.NoSuchFieldError: android.content.pm.PackageInfo.firstInstallTime
at org.fdroid.fdroid.data.App.<init>(App.java:262)
at org.fdroid.fdroid.localrepo.LocalRepoManager.addApp(LocalRepoManager.java:263)
at org.fdroid.fdroid.views.swap.SwapWorkflowActivity$PrepareSwapRepo.doInBackground(SwapWorkflowActivity.java:694)
at org.fdroid.fdroid.views.swap.SwapWorkflowActivity$PrepareSwapRepo.doInBackground(SwapWorkflowActivity.java:645)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 4 more
java.lang.NoSuchFieldError: android.content.pm.PackageInfo.firstInstallTime
at org.fdroid.fdroid.data.App.<init>(App.java:262)
at org.fdroid.fdroid.localrepo.LocalRepoManager.addApp(LocalRepoManager.java:263)
at org.fdroid.fdroid.views.swap.SwapWorkflowActivity$PrepareSwapRepo.doInBackground(SwapWorkflowActivity.java:694)
at org.fdroid.fdroid.views.swap.SwapWorkflowActivity$PrepareSwapRepo.doInBackground(SwapWorkflowActivity.java:645)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1102)