Browse Source

Add transaction details

connman
adityapk00 6 years ago
parent
commit
97fb9efbf0
  1. 38
      app/src/main/AndroidManifest.xml
  2. 8
      app/src/main/java/com/adityapk/zcash/zqwandroid/DataModel.kt
  3. 9
      app/src/main/java/com/adityapk/zcash/zqwandroid/MainActivity.kt
  4. 7
      app/src/main/java/com/adityapk/zcash/zqwandroid/TransactionItemFragment.kt
  5. 19
      app/src/main/java/com/adityapk/zcash/zqwandroid/TxDetailsActivity.kt
  6. 26
      app/src/main/res/layout/activity_tx_details.xml
  7. 109
      app/src/main/res/layout/content_tx_details.xml
  8. 1
      app/src/main/res/values/strings.xml

38
app/src/main/AndroidManifest.xml

@ -2,20 +2,30 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.adityapk.zcash.zqwandroid">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<activity
android:name="com.adityapk.zcash.zqwandroid.MainActivity"
android:screenOrientation="portrait"
android:name=".TxDetailsActivity"
android:label="@string/title_activity_tx_details"
android:parentActivityName=".MainActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.adityapk.zcash.zqwandroid.MainActivity"/>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@ -24,30 +34,30 @@
</intent-filter>
</activity>
<activity
android:name="com.adityapk.zcash.zqwandroid.ScrollingActivity"
android:screenOrientation="portrait"
android:name=".ScrollingActivity"
android:label="@string/title_activity_scrolling"
android:parentActivityName="com.adityapk.zcash.zqwandroid.MainActivity"
android:parentActivityName=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.adityapk.zcash.zqwandroid.MainActivity"/>
</activity>
<activity
android:name="com.adityapk.zcash.zqwandroid.ReceiveActivity"
android:screenOrientation="portrait"
android:name=".ReceiveActivity"
android:label="@string/title_activity_receive"
android:parentActivityName="com.adityapk.zcash.zqwandroid.MainActivity"
android:parentActivityName=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.adityapk.zcash.zqwandroid.MainActivity"/>
</activity>
<activity
android:name="com.adityapk.zcash.zqwandroid.SendActivity"
android:screenOrientation="portrait"
android:name=".SendActivity"
android:label="@string/title_activity_send"
android:parentActivityName="com.adityapk.zcash.zqwandroid.MainActivity"
android:parentActivityName=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"

8
app/src/main/java/com/adityapk/zcash/zqwandroid/DataModel.kt

@ -6,7 +6,8 @@ import com.beust.klaxon.Parser
object DataModel {
class MainResponse(val balance: Double, val saplingAddress: String, val zecprice: Double)
class TransactionItem(val type: String, val datetime: Long, val amount: String)
class TransactionItem(val type: String, val datetime: Long, val amount: String, val memo: String,
val addr: String, val txid: String)
var mainResponseData : MainResponse? = null
var transactions : List<TransactionItem> ?= null
@ -20,7 +21,10 @@ object DataModel {
TransactionItem(
tx.string("type") ?: "",
tx.long("datetime") ?: 0,
tx.string("amount") ?: "0")
tx.string("amount") ?: "0",
tx.string("memo") ?: "",
tx.string("address") ?: "",
tx.string("txid") ?: "")
}
}
}

9
app/src/main/java/com/adityapk/zcash/zqwandroid/MainActivity.kt

@ -24,7 +24,6 @@ class MainActivity : AppCompatActivity(), TransactionItemFragment.OnFragmentInte
}
private inner class EchoWebSocketListener : WebSocketListener() {
private val NORMAL_CLOSURE_STATUS = 1000
private val TAG = "MainActivity";
@ -91,14 +90,6 @@ class MainActivity : AppCompatActivity(), TransactionItemFragment.OnFragmentInte
updateUI()
}
override fun onPause() {
super.onPause()
}
override fun onResume() {
super.onResume()
}
private fun makeAPICalls() {
val request = Request.Builder().url("ws://10.0.2.2:8237").build()
val listener = EchoWebSocketListener()

7
app/src/main/java/com/adityapk/zcash/zqwandroid/TransactionItemFragment.kt

@ -2,6 +2,7 @@ package com.adityapk.zcash.zqwandroid
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.support.constraint.ConstraintLayout
@ -32,6 +33,7 @@ private const val ARG_PARAM2 = "param2"
*
*/
class TransactionItemFragment : Fragment() {
// TODO: Rename and change types of parameters
private var param2: String? = null
private var tx: DataModel.TransactionItem? = null
@ -53,6 +55,11 @@ class TransactionItemFragment : Fragment() {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_transaction_item, container, false)
view.findViewById<ConstraintLayout>(R.id.outlineLayout).setOnClickListener { v ->
val intent = Intent(activity, TxDetailsActivity::class.java)
startActivity(intent)
}
val txt = view.findViewById<TextView>(R.id.txdate)
txt.text = DateFormat.getDateInstance().format(Date((tx?.datetime ?: 0 )* 1000))

19
app/src/main/java/com/adityapk/zcash/zqwandroid/TxDetailsActivity.kt

@ -0,0 +1,19 @@
package com.adityapk.zcash.zqwandroid
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.v7.app.AppCompatActivity;
import kotlinx.android.synthetic.main.activity_tx_details.*
class TxDetailsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_tx_details)
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
}
}

26
app/src/main/res/layout/activity_tx_details.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".TxDetailsActivity">
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_tx_details"/>
</android.support.design.widget.CoordinatorLayout>

109
app/src/main/res/layout/content_tx_details.xml

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_tx_details"
tools:context=".TxDetailsActivity">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="38dp" app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="16dp" android:id="@+id/constraintLayout"
>
<ImageView
android:layout_width="10dp"
android:layout_height="0dp" app:srcCompat="@color/colorPrimary" android:id="@+id/imageView5"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp"/>
<TextView
android:text="Send"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/textView3"
android:layout_marginStart="16dp" app:layout_constraintStart_toEndOf="@+id/imageView5"
android:textSize="24sp" app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="16dp" android:layout_marginTop="16dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="324dp"/>
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_marginTop="24dp"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout" android:id="@+id/constraintLayout2"
android:background="@color/light_grey" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginStart="8dp" android:layout_marginEnd="8dp"
>
<TextView
android:text="From / To"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/textView5"
app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="8dp"
app:layout_constraintTop_toTopOf="parent" android:layout_marginTop="8dp"/>
<TextView
android:text="Address"
android:layout_width="0dp"
android:layout_height="wrap_content" android:id="@+id/textView6"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView5"
android:layout_marginTop="8dp" android:layout_marginStart="8dp" android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp"
android:textAlignment="center"/>
<TextView
android:text="ZEC 2.12345678"
android:layout_width="0dp"
android:layout_height="wrap_content" android:id="@+id/textView12"
app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="8dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/textView6" android:textSize="24sp"
android:textAlignment="center"/>
<TextView
android:text="$ 45.23"
android:layout_width="0dp"
android:layout_height="wrap_content" android:id="@+id/textView13"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/textView12" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" android:textSize="18sp" android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="8dp"/>
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_marginTop="24dp"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout2"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp"
android:id="@+id/constraintLayout3">
<TextView
android:text="Memo"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/textView14"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"
android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/editText2"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/editText2"
app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="8dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/textView14" app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp" android:minLines="2" android:inputType="none"/>
</android.support.constraint.ConstraintLayout>
<Button
android:text="View on Block Explorer"
android:layout_width="0dp"
android:layout_height="wrap_content" android:id="@+id/button"
android:layout_marginTop="24dp"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout3" app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" app:layout_constraintVertical_bias="0.0"
android:background="@color/colorAccent" android:textColor="@android:color/white"/>
</android.support.constraint.ConstraintLayout>

1
app/src/main/res/values/strings.xml

@ -96,4 +96,5 @@
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="title_activity_tx_details">TxDetailsActivity</string>
</resources>

Loading…
Cancel
Save