From ddeb209d515181e821b1fac70f075db0353ea79c Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Thu, 28 May 2020 03:22:20 +0100 Subject: [PATCH] fix publish release time and crash bug on publish form --- .../browser/adapter/InlineChannelSpinnerAdapter.java | 2 +- .../io/lbry/browser/tasks/claim/PublishClaimTask.java | 8 ++++++++ .../io/lbry/browser/ui/publish/PublishFormFragment.java | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/lbry/browser/adapter/InlineChannelSpinnerAdapter.java b/app/src/main/java/io/lbry/browser/adapter/InlineChannelSpinnerAdapter.java index 9924a67a..e3713b58 100644 --- a/app/src/main/java/io/lbry/browser/adapter/InlineChannelSpinnerAdapter.java +++ b/app/src/main/java/io/lbry/browser/adapter/InlineChannelSpinnerAdapter.java @@ -44,7 +44,7 @@ public class InlineChannelSpinnerAdapter extends ArrayAdapter { public int getItemPosition(Claim item) { for (int i = 0; i < channels.size(); i++) { Claim channel = channels.get(i); - if (item.getClaimId().equalsIgnoreCase(channel.getClaimId())) { + if (item.getClaimId() != null && item.getClaimId().equalsIgnoreCase(channel.getClaimId())) { return i; } } diff --git a/app/src/main/java/io/lbry/browser/tasks/claim/PublishClaimTask.java b/app/src/main/java/io/lbry/browser/tasks/claim/PublishClaimTask.java index 418f114b..d5e59397 100644 --- a/app/src/main/java/io/lbry/browser/tasks/claim/PublishClaimTask.java +++ b/app/src/main/java/io/lbry/browser/tasks/claim/PublishClaimTask.java @@ -73,6 +73,14 @@ public class PublishClaimTask extends AsyncTask { options.put("license_url", metadata.getLicenseUrl()); } + if (metadata.getReleaseTime() > 0) { + options.put("release_time", metadata.getReleaseTime()); + } else if (claim.getTimestamp() > 0) { + options.put("release_time", claim.getTimestamp()); + } else { + options.put("release_time", Double.valueOf(Math.floor(System.currentTimeMillis() / 1000.0)).intValue()); + } + Claim claimResult = null; try { JSONObject result = (JSONObject) Lbry.genericApiCall(Lbry.METHOD_PUBLISH, options); diff --git a/app/src/main/java/io/lbry/browser/ui/publish/PublishFormFragment.java b/app/src/main/java/io/lbry/browser/ui/publish/PublishFormFragment.java index a8cb1580..f67776d4 100644 --- a/app/src/main/java/io/lbry/browser/ui/publish/PublishFormFragment.java +++ b/app/src/main/java/io/lbry/browser/ui/publish/PublishFormFragment.java @@ -1038,6 +1038,15 @@ public class PublishFormFragment extends BaseFragment implements metadata.setLicenseUrl(selectedLicense.getUrl()); } + // set release time from current claim (on edit) + if (currentClaim != null) { + Claim.StreamMetadata currentMetadata = (Claim.StreamMetadata) currentClaim.getValue(); + metadata.setReleaseTime(currentMetadata.getReleaseTime()); + if (metadata.getReleaseTime() == 0) { + metadata.setReleaseTime(currentClaim.getTimestamp()); + } + } + claim.setValueType(Claim.TYPE_STREAM); claim.setValue(metadata);