graphenej/sample/src/main/java/cy/agorise/labs/sample/BrainkeyActivity.java

61 lines
2.1 KiB
Java

package cy.agorise.labs.sample;
import android.os.Bundle;
import android.support.design.widget.TextInputEditText;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.StyleSpan;
import android.view.View;
import android.widget.TextView;
import java.util.Locale;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import cy.agorise.graphenej.BrainKey;
public class BrainkeyActivity extends AppCompatActivity {
private final String TAG = this.getClass().getName();
@BindView(R.id.brainkey)
TextInputEditText mBrainkeyView;
@BindView(R.id.pubkey)
TextInputEditText mDesiredPubKey;
@BindView(R.id.pubkey_display)
TextView mPubkeyDisplay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_brainkey);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ButterKnife.bind(this);
}
@OnClick(R.id.button_generate)
public void onGenerateClicked(View v){
String target = mDesiredPubKey.getText().toString();
String brainkeyText = mBrainkeyView.getText().toString();
StringBuilder builder = new StringBuilder();
for(int i = 0; i < 10; i++){
BrainKey brainKey = new BrainKey(brainkeyText, i);
builder.append(String.format(Locale.ROOT, "%d -> ", i))
.append(brainKey.getPublicAddress("BTS").toString())
.append("\n");
}
String derivationResult = builder.toString();
mPubkeyDisplay.setText(derivationResult);
if(!target.isEmpty() && derivationResult.contains(target)){
int start = derivationResult.indexOf(target);
SpannableStringBuilder sBuilder = new SpannableStringBuilder(derivationResult);
sBuilder.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), start, (start + 53), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mPubkeyDisplay.setText(sBuilder);
}
}
}