diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml
index 8ac3474..1545559 100644
--- a/sample/src/main/AndroidManifest.xml
+++ b/sample/src/main/AndroidManifest.xml
@@ -14,10 +14,11 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
+
+ android:theme="@style/AppTheme.NoActionBar" />
diff --git a/sample/src/main/java/cy/agorise/labs/sample/CallsActivity.java b/sample/src/main/java/cy/agorise/labs/sample/CallsActivity.java
index 00e679b..14bd95c 100644
--- a/sample/src/main/java/cy/agorise/labs/sample/CallsActivity.java
+++ b/sample/src/main/java/cy/agorise/labs/sample/CallsActivity.java
@@ -27,6 +27,7 @@ public class CallsActivity extends AppCompatActivity {
private static final String RECONNECT_NODE = "reconnect_node";
private static final String TEST_BRAINKEY_DERIVATION = "test_brainkey_derivation";
+ private static final String CREATE_HTLC = "create_htlc";
@BindView(R.id.call_list)
RecyclerView mRecyclerView;
@@ -83,7 +84,8 @@ public class CallsActivity extends AppCompatActivity {
RPC.CALL_BROADCAST_TRANSACTION,
RPC.CALL_GET_TRANSACTION,
RECONNECT_NODE,
- TEST_BRAINKEY_DERIVATION
+ TEST_BRAINKEY_DERIVATION,
+ CREATE_HTLC
};
@NonNull
@@ -108,7 +110,9 @@ public class CallsActivity extends AppCompatActivity {
intent = new Intent(CallsActivity.this, RemoveNodeActivity.class);
} else if (selectedCall.equals(TEST_BRAINKEY_DERIVATION)){
intent = new Intent(CallsActivity.this, BrainkeyActivity.class);
- } else {
+ } else if (selectedCall.equals(CREATE_HTLC)){
+ intent = new Intent(CallsActivity.this, HtlcActivity.class);
+ }else {
intent = new Intent(CallsActivity.this, PerformCallActivity.class);
intent.putExtra(Constants.KEY_SELECTED_CALL, selectedCall);
}
diff --git a/sample/src/main/java/cy/agorise/labs/sample/HtlcActivity.java b/sample/src/main/java/cy/agorise/labs/sample/HtlcActivity.java
new file mode 100644
index 0000000..1c37ba4
--- /dev/null
+++ b/sample/src/main/java/cy/agorise/labs/sample/HtlcActivity.java
@@ -0,0 +1,137 @@
+package cy.agorise.labs.sample;
+
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.util.Log;
+
+import com.google.common.primitives.UnsignedLong;
+
+import org.bitcoinj.core.ECKey;
+
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.util.ArrayList;
+
+import cy.agorise.graphenej.Address;
+import cy.agorise.graphenej.Asset;
+import cy.agorise.graphenej.AssetAmount;
+import cy.agorise.graphenej.BaseOperation;
+import cy.agorise.graphenej.BlockData;
+import cy.agorise.graphenej.BrainKey;
+import cy.agorise.graphenej.HtlcHash;
+import cy.agorise.graphenej.HtlcHashType;
+import cy.agorise.graphenej.Transaction;
+import cy.agorise.graphenej.UserAccount;
+import cy.agorise.graphenej.Util;
+import cy.agorise.graphenej.api.ConnectionStatusUpdate;
+import cy.agorise.graphenej.api.android.RxBus;
+import cy.agorise.graphenej.api.calls.BroadcastTransaction;
+import cy.agorise.graphenej.api.calls.GetDynamicGlobalProperties;
+import cy.agorise.graphenej.models.DynamicGlobalProperties;
+import cy.agorise.graphenej.models.JsonRpcResponse;
+import cy.agorise.graphenej.operations.CreateHtlcOperation;
+import cy.agorise.labs.sample.fragments.CreateHtlcFragment;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Consumer;
+
+public class HtlcActivity extends ConnectedActivity implements CreateHtlcFragment.HtlcListener {
+ private String TAG = this.getClass().getName();
+ private final short PREIMAGE_LENGTH = 32;
+
+ private CreateHtlcOperation createHtlcOperation;
+ private Disposable mDisposable;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_htlc);
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mDisposable = RxBus.getBusInstance()
+ .asFlowable()
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Consumer