Unverified Commit 20ee4e03 authored by Ricki Hirner's avatar Ricki Hirner 🐑

Various improvements

* ContactsSyncManager: gracefully handle photo URLs without host name
* MainActivity: cache installer package name
* dav4android: use java.util.ServiceLoader to load DAV property factories
parent 241e1540
......@@ -264,7 +264,14 @@ public class ContactsSyncManager extends SyncManager {
@Override
public byte[] download(String url, String accepts) {
HttpUrl httpUrl = HttpUrl.parse(url);
HttpClient resourceClient = new HttpClient(log, httpClient, httpUrl.host());
String host = httpUrl.host();
if (host == null) {
log.error("External resource URL doesn't specify a host name");
return null;
}
HttpClient resourceClient = new HttpClient(log, httpClient, host);
try {
Response response = resourceClient.newCall(new Request.Builder()
.get()
......
......@@ -25,6 +25,7 @@ import at.bitfire.davdroid.Constants;
import at.bitfire.davdroid.R;
import at.bitfire.davdroid.ui.settings.SettingsActivity;
import at.bitfire.davdroid.ui.setup.AddAccountActivity;
import lombok.Getter;
public class MainActivity extends Activity {
......@@ -43,12 +44,18 @@ public class MainActivity extends Activity {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
TextView tv = (TextView)findViewById(R.id.text_store_specific);
if (installedFrom("org.fdroid.fdroid"))
setHtmlText(R.id.text_store_specific, R.string.main_fdroid_donation_html);
else if (installedFrom("com.android.vending"))
setHtmlText(R.id.text_store_specific, R.string.main_play_workaround_html);
final String installedFrom = installedFrom();
if (installedFrom != null)
switch (installedFrom) {
case "com.android.vending":
setHtmlText(R.id.text_store_specific, R.string.main_play_workaround_html);
break;
case "org.fdroid.fdroid":
setHtmlText(R.id.text_store_specific, R.string.main_fdroid_donation_html);
break;
}
setPlainText(R.id.text_welcome, R.string.main_welcome, BuildConfig.VERSION_NAME);
setHtmlText(R.id.text_what_is_davdroid, R.string.main_what_is_davdroid_html);
......@@ -120,11 +127,11 @@ public class MainActivity extends Activity {
}
private boolean installedFrom(String packageName) {
private String installedFrom() {
try {
return packageName.equals(getPackageManager().getInstallerPackageName("at.bitfire.davdroid"));
return getPackageManager().getInstallerPackageName("at.bitfire.davdroid");
} catch(IllegalArgumentException e) {
return false;
return null;
}
}
}
Subproject commit f254b6e0faf10dc74d7849b77281cffcacb7774d
Subproject commit 94b582ddea6c3e0568158fa0d177ea20dee3782a
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment