diff --git a/app/fdroid/release/app-fdroid-release-1.6.9.1-fix-share.apk b/app/fdroid/release/app-fdroid-release-1.6.9.1-fix-share.apk new file mode 100644 index 000000000..9390759db Binary files /dev/null and b/app/fdroid/release/app-fdroid-release-1.6.9.1-fix-share.apk differ diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostActionAsyncTask.java b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostActionAsyncTask.java index 8873c8fd0..062388028 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostActionAsyncTask.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostActionAsyncTask.java @@ -93,7 +93,19 @@ public class PostActionAsyncTask extends AsyncTask { else api = new API(contextReference.get()); if( remoteStatus != null){ - Results search = api.search(remoteStatus.getReblog()!=null?remoteStatus.getReblog().getUri():remoteStatus.getUri()); + String uri; + if( remoteStatus.getReblog() != null){ + if( remoteStatus.getReblog().getUri().startsWith("http")) + uri = remoteStatus.getReblog().getUri(); + else + uri = remoteStatus.getReblog().getUrl(); + }else { + if( remoteStatus.getUri().startsWith("http")) + uri = remoteStatus.getUri(); + else + uri = remoteStatus.getUrl(); + } + Results search = api.search(uri); if( search != null){ List remoteStatuses = search.getStatuses(); if( remoteStatuses != null && remoteStatuses.size() > 0 ){ diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveRemoteDataAsyncTask.java b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveRemoteDataAsyncTask.java index ec4d9190d..23806c04b 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveRemoteDataAsyncTask.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveRemoteDataAsyncTask.java @@ -16,9 +16,7 @@ package fr.gouv.etalab.mastodon.asynctasks; import android.content.Context; import android.os.AsyncTask; - import java.lang.ref.WeakReference; - import fr.gouv.etalab.mastodon.client.API; import fr.gouv.etalab.mastodon.client.Entities.Results; import fr.gouv.etalab.mastodon.interfaces.OnRetrieveRemoteAccountInterface; diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java index a9a3cb978..1d9766237 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java @@ -1111,8 +1111,10 @@ public class API { results = parseResultsResponse(new JSONObject(response)); } catch (HttpsConnection.HttpsConnectionException e) { setError(e.getStatusCode(), e); + e.printStackTrace(); }catch (Exception e) { setDefaultError(); + e.printStackTrace(); } return results; } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index be3ee4972..88e8cd333 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -15,7 +15,6 @@ package fr.gouv.etalab.mastodon.drawers; * see . */ import android.annotation.SuppressLint; -import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Typeface; import android.os.Handler; @@ -1162,10 +1161,18 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.shared_via)); String url; - if( status.getReblog() != null) - url = status.getReblog().getUri(); - else - url = status.getUri(); + + if( status.getReblog() != null) { + if( status.getReblog().getUri().startsWith("http")) + url = status.getReblog().getUri(); + else + url = status.getReblog().getUrl(); + }else { + if( status.getUri().startsWith("http")) + url = status.getUri(); + else + url = status.getUrl(); + } sendIntent.putExtra(Intent.EXTRA_TEXT, url); sendIntent.setType("text/plain"); context.startActivity(Intent.createChooser(sendIntent, context.getString(R.string.share_with))); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/CrossActions.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/CrossActions.java index 88b49090d..ce3ed23ee 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/CrossActions.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/CrossActions.java @@ -222,8 +222,21 @@ public class CrossActions { @Override protected Void doInBackground(Void... voids) { + API api = new API(contextReference.get(), account.getInstance(), account.getToken()); - Results search = api.search(status.getReblog()!=null?status.getReblog().getUri():status.getUri()); + String uri; + if(status.getReblog() != null ){ + if( status.getReblog().getUri().startsWith("http")) + uri = status.getReblog().getUri(); + else + uri = status.getReblog().getUrl(); + }else { + if( status.getUri().startsWith("http")) + uri = status.getUri(); + else + uri = status.getUrl(); + } + Results search = api.search(uri); if( search != null){ remoteStatuses = search.getStatuses(); }