- First version of Transaction History views

This commit is contained in:
Javier Varona 2017-09-13 21:06:51 -04:00
parent 81da660a2e
commit 93a60e6084
6 changed files with 79 additions and 11 deletions

View file

@ -4,11 +4,22 @@ import android.arch.lifecycle.LifecycleActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import cy.agorise.crystalwallet.viewmodels.TransactionListViewModel;
import cy.agorise.crystalwallet.views.TransactionListView;
public class IntroActivity extends LifecycleActivity {
TransactionListViewModel transactionListViewModel;
TransactionListView transactionListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intro);
transactionListViewModel = new TransactionListViewModel(getApplicationContext());
transactionListView = this.findViewById(R.id.transaction_list);
transactionListView.init(transactionListViewModel);
}
}

View file

@ -32,6 +32,35 @@ public class CryptoCoinTransaction {
@ColumnInfo(name="is_confirmed")
protected boolean isConfirmed;
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
@ColumnInfo(name="from")
protected String from;
@ColumnInfo(name="to")
protected String to;
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public int getAccountId() {
return accountId;
}

View file

@ -1,12 +1,20 @@
package cy.agorise.crystalwallet.views;
import android.arch.lifecycle.LiveData;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.TextView;
import java.util.List;
import cy.agorise.crystalwallet.R;
import cy.agorise.crystalwallet.models.CryptoCoinTransaction;
/**
@ -15,9 +23,29 @@ import cy.agorise.crystalwallet.models.CryptoCoinTransaction;
public class TransactionListAdapter extends ArrayAdapter<CryptoCoinTransaction> {
//List<CryptoCoinTransaction> items;
public TransactionListAdapter(Context context, LiveData<List<CryptoCoinTransaction>> items) {
super(context, 0, items.getValue());
public TransactionListAdapter(Context context, int resource, List<CryptoCoinTransaction> items) {
super(context, resource, items);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
CryptoCoinTransaction transaction = getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.transaction_list_item, parent, false);
}
TextView tvFrom = (TextView) convertView.findViewById(R.id.fromText);
TextView tvTo = (TextView) convertView.findViewById(R.id.toText);
TextView tvAmount = (TextView) convertView.findViewById(R.id.amountText);
tvFrom.setText(transaction.getFrom());
tvTo.setText(transaction.getTo());
tvAmount.setText(transaction.getAmount());
return convertView;
}
}

View file

@ -23,19 +23,17 @@ public class TransactionListView extends RelativeLayout {
ListView listView;
ListAdapter listAdapter;
TransactionListViewModel transactionListViewModel;
public TransactionListView(Context context, AttributeSet attrs) {
super(context, attrs);
rootView = inflate(context, R.layout.transaction_list, this);
listView = rootView.findViewById(R.id.transactionListView);
}
transactionListViewModel = ViewModelProviders.of(this).get(TransactionListViewModel.class);
listAdapter = new TransactionListAdapter(context, getResources(), transactionDao.getAll());
public void init(TransactionListViewModel transactionListViewModel){
this.transactionListViewModel = transactionListViewModel;
listAdapter = new TransactionListAdapter(this.getContext(), transactionListViewModel.getTransactionList());
listView.setAdapter(listAdapter);
}

View file

@ -14,7 +14,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<cy.agorise.crystalwallet.views.TransactionListView
android:id="@+id/transaction_list"
android:layout_width="match_parent"
android:layout_height="wrap_content">

View file

@ -13,7 +13,7 @@
android:layout_alignParentStart="true"
android:layout_alignParentTop="true">
<EditText
<TextView
android:id="@+id/fromText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -21,7 +21,7 @@
android:inputType="text"
android:text="from" />
<EditText
<TextView
android:id="@+id/toText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -32,7 +32,7 @@
android:text="to"
android:textAlignment="textEnd" />
<EditText
<TextView
android:id="@+id/amountText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"