Piwigo / Piwigo-Android

Piwigo Native Android App
GNU General Public License v3.0
140 stars 43 forks source link

SDK version < 21 (pre Lollipop) not supported #185

Closed ramack closed 4 years ago

ramack commented 4 years ago

received via ACRA crash report email:

APP_VERSION_NAME=1.0.2
ANDROID_VERSION=4.4.4
STACK_TRACE=java.lang.ExceptionInInitializerError
    at okhttp3.internal.platform.Platform$Companion.findPlatform(Platform.kt:211)
    at okhttp3.internal.platform.Platform$Companion.access$findPlatform(Platform.kt:179)
    at okhttp3.internal.platform.Platform.<clinit>(Platform.kt:180)
    at okhttp3.OkHttpClient.<init>(OkHttpClient.kt:219)
    at okhttp3.OkHttpClient$Builder.build(OkHttpClient.kt:955)
    at org.piwigo.io.RestServiceFactory.buildOkHttpClient(RestServiceFactory.java:80)
    at org.piwigo.io.RestServiceFactory.createForUrl(RestServiceFactory.java:50)
    at org.piwigo.io.repository.UserRepository.login(UserRepository.java:52)
    at org.piwigo.ui.login.LoginViewModel.testConnection(LoginViewModel.java:124)
    at org.piwigo.ui.login.LoginViewModel.lambda$onLoginClick$0$LoginViewModel(LoginViewModel.java:112)
    at org.piwigo.ui.login.-$$Lambda$LoginViewModel$aUrhbc-Az2qHasSLzvhjaTczlw0.processFinish(lambda)
    at org.piwigo.helper.URLHelper.onPostExecute(URLHelper.java:57)
    at org.piwigo.helper.URLHelper.onPostExecute(URLHelper.java:14)
    at android.os.AsyncTask.finish(AsyncTask.java:632)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5426)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 19
    at okhttp3.internal.platform.AndroidPlatform.<clinit>(AndroidPlatform.kt:232)
    ... 24 more

So as it turns out, one of the dependencies we use (okhttp) depends on Android 5 (or later). That's why I propose to follow this, even if it cuts a few percent of potential users. Lollipop is out for ~5 years and even with the good will to support old devices we should care more about a few more important features for the majority of users instead of investing too much time in supporting old stuff.