From c71fa6add57704f4b0d28c8486395a502aecf8be Mon Sep 17 00:00:00 2001 From: Cristian Luis Duarte Date: Thu, 19 Apr 2018 11:47:11 -0300 Subject: [PATCH] Android - Use images in domains list --- android/app/build.gradle | 1 + .../highfidelity/hifiinterface/HifiUtils.java | 18 ++++++++++++++++++ .../provider/UserStoryDomainProvider.java | 6 ++++-- .../hifiinterface/view/DomainAdapter.java | 8 +++++++- .../app/src/main/res/layout/domain_view.xml | 1 + 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index fb0f43130c..b2b3bcd772 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -107,6 +107,7 @@ dependencies { compile 'com.squareup.retrofit2:retrofit:2.4.0' compile 'com.squareup.retrofit2:converter-gson:2.4.0' + implementation 'com.squareup.picasso:picasso:2.71828' implementation fileTree(include: ['*.jar'], dir: 'libs') } diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java b/android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java index c26a935b1f..368862bc49 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java @@ -9,6 +9,8 @@ import java.net.URISyntaxException; public class HifiUtils { + public static final String BASE_URL = "https://metaverse.highfidelity.com"; + private static HifiUtils instance; private HifiUtils() { @@ -37,6 +39,22 @@ public class HifiUtils { return urlString; } + public String absoluteHifiAssetUrl(String urlString) { + urlString = urlString.trim(); + if (!urlString.isEmpty()) { + URI uri; + try { + uri = new URI(urlString); + } catch (URISyntaxException e) { + return urlString; + } + if (uri.getScheme() == null || uri.getScheme().isEmpty()) { + urlString = BASE_URL + urlString; + } + } + return urlString; + } + public native String getCurrentAddress(); public native String protocolVersionSignature(); diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java b/android/app/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java index 0e2c190a14..6b1452ed34 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java @@ -9,6 +9,7 @@ import java.util.List; import java.util.function.BinaryOperator; import java.util.function.Consumer; +import io.highfidelity.hifiinterface.HifiUtils; import io.highfidelity.hifiinterface.view.DomainAdapter; import retrofit2.Call; import retrofit2.Response; @@ -216,10 +217,11 @@ public class UserStoryDomainProvider implements DomainProvider { DomainAdapter.Domain toDomain() { // TODO Proper url creation (it can or can't have hifi // TODO Or use host value from api? + String absoluteThumbnailUrl = HifiUtils.getInstance().absoluteHifiAssetUrl(thumbnail_url); DomainAdapter.Domain domain = new DomainAdapter.Domain( place_name, - "hifi://" + place_name + "/" + path, - thumbnail_url + HifiUtils.getInstance().sanitizeHifiUrl(place_name) + "/" + path, + absoluteThumbnailUrl ); return domain; } diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/view/DomainAdapter.java b/android/app/src/main/java/io/highfidelity/hifiinterface/view/DomainAdapter.java index 13e757db94..6ea7db076a 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/view/DomainAdapter.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/view/DomainAdapter.java @@ -1,6 +1,7 @@ package io.highfidelity.hifiinterface.view; import android.content.Context; +import android.net.Uri; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; @@ -9,6 +10,8 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import com.squareup.picasso.Picasso; + import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -119,7 +122,10 @@ public class DomainAdapter extends RecyclerView.Adapter