Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
meser
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Suryono
meser
Commits
4443b63a
Commit
4443b63a
authored
Aug 27, 2020
by
Muhammad Suryono
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix history transaction
parent
ba7b49d6
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
150 additions
and
44 deletions
+150
-44
Project.xml
.idea/codeStyles/Project.xml
+0
-24
CartActivity.java
app/src/main/java/com/yono/messeripos/CartActivity.java
+0
-3
HistoryActivity.java
app/src/main/java/com/yono/messeripos/HistoryActivity.java
+65
-0
MainActivity.java
app/src/main/java/com/yono/messeripos/MainActivity.java
+1
-4
TransactionAdapter.java
.../java/com/yono/messeripos/adapter/TransactionAdapter.java
+38
-5
Utils.java
app/src/main/java/com/yono/messeripos/utils/Utils.java
+30
-0
item_history.xml
app/src/main/res/layout/item_history.xml
+16
-8
No files found.
.idea/codeStyles/Project.xml
View file @
4443b63a
<component
name=
"ProjectCodeStyleConfiguration"
>
<code_scheme
name=
"Project"
version=
"173"
>
<DBN-PSQL>
<case-options
enabled=
"true"
>
<option
name=
"KEYWORD_CASE"
value=
"lower"
/>
<option
name=
"FUNCTION_CASE"
value=
"lower"
/>
<option
name=
"PARAMETER_CASE"
value=
"lower"
/>
<option
name=
"DATATYPE_CASE"
value=
"lower"
/>
<option
name=
"OBJECT_CASE"
value=
"preserve"
/>
</case-options>
<formatting-settings
enabled=
"false"
/>
</DBN-PSQL>
<DBN-SQL>
<case-options
enabled=
"true"
>
<option
name=
"KEYWORD_CASE"
value=
"lower"
/>
<option
name=
"FUNCTION_CASE"
value=
"lower"
/>
<option
name=
"PARAMETER_CASE"
value=
"lower"
/>
<option
name=
"DATATYPE_CASE"
value=
"lower"
/>
<option
name=
"OBJECT_CASE"
value=
"preserve"
/>
</case-options>
<formatting-settings
enabled=
"false"
>
<option
name=
"STATEMENT_SPACING"
value=
"one_line"
/>
<option
name=
"CLAUSE_CHOP_DOWN"
value=
"chop_down_if_statement_long"
/>
<option
name=
"ITERATION_ELEMENTS_WRAPPING"
value=
"chop_down_if_not_single"
/>
</formatting-settings>
</DBN-SQL>
<DBN-PSQL>
<case-options
enabled=
"true"
>
<option
name=
"KEYWORD_CASE"
value=
"lower"
/>
...
...
app/src/main/java/com/yono/messeripos/CartActivity.java
View file @
4443b63a
...
...
@@ -11,7 +11,6 @@ import android.view.View;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.Button
;
import
android.widget.ListView
;
import
androidx.annotation.RequiresApi
;
import
androidx.appcompat.app.AppCompatActivity
;
...
...
@@ -27,8 +26,6 @@ import com.yono.messeripos.models.MainViewModelsCart;
import
com.yono.messeripos.models.ProductCartModels
;
import
com.yono.messeripos.response.OrdersResponse
;
import
com.google.android.material.snackbar.Snackbar
;
import
java.util.List
;
import
java.util.Objects
;
...
...
app/src/main/java/com/yono/messeripos/HistoryActivity.java
View file @
4443b63a
package
com
.
yono
.
messeripos
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.yono.messeripos.adapter.TransactionAdapter
;
import
com.yono.messeripos.models.MainViewModels
;
import
com.yono.messeripos.models.PaymentsModels
;
import
com.yono.messeripos.response.DataResponse
;
import
com.yono.messeripos.utils.Utils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
public
class
HistoryActivity
extends
AppCompatActivity
{
TransactionAdapter
transactionAdapter
;
PaymentsModels
paymentsModels
;
MainViewModels
mainViewModels
;
RecyclerView
recyclerView
;
Utils
utils
=
new
Utils
();
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_history
);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
Window
w
=
getWindow
();
w
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
,
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
);
}
MaterialToolbar
toolbars
=
findViewById
(
R
.
id
.
cAppBar
);
recyclerView
=
findViewById
(
R
.
id
.
rvHistory
);
recyclerView
.
addItemDecoration
(
utils
.
dividerItemDecoration
(
HistoryActivity
.
this
));
transactionAdapter
=
new
TransactionAdapter
();
mainViewModels
=
new
ViewModelProvider
(
this
).
get
(
MainViewModels
.
class
);
setSupportActionBar
(
toolbars
);
Objects
.
requireNonNull
(
getSupportActionBar
()).
setDisplayHomeAsUpEnabled
(
true
);
getSupportActionBar
().
setDisplayShowHomeEnabled
(
true
);
getSupportActionBar
().
setTitle
(
"All Transaction"
);
toolbars
.
setNavigationOnClickListener
(
view
->
onBackPressed
());
mainViewModels
.
getAllTransactions
().
observe
(
HistoryActivity
.
this
,
new
Observer
<
DataResponse
<
List
<
PaymentsModels
>>>()
{
@Override
public
void
onChanged
(
DataResponse
<
List
<
PaymentsModels
>>
listDataResponse
)
{
ArrayList
<
PaymentsModels
>
newData
=
new
ArrayList
<>();
newData
.
addAll
(
listDataResponse
.
getData
());
transactionAdapter
.
setTransactionAdapter
(
HistoryActivity
.
this
,
newData
);
/*
* SET RECYCLE VIEW MANAGER DISINI
* GUNAKAN LINEARLAYOUT MANAGER VERTICAL UNTUK SETTING LAYOUT MANAGER
*
* SET RECYCLEVIEW ADAPTER DENGAN TRANSACTION ADAPTER
*
* UNTUK BISA CLICK CARD VIEW NYA
* PANGGIL ADAPTERNYA KEMUDIAN .setList.....
* SILAHKAN PINDAH KE ACTIVITY SELANJUTNYA PADA ON.....
* */
}
});
}
}
\ No newline at end of file
app/src/main/java/com/yono/messeripos/MainActivity.java
View file @
4443b63a
...
...
@@ -135,10 +135,7 @@ public class MainActivity extends AppCompatActivity {
}
else
if
(
id
==
R
.
id
.
create
)
{
startActivity
(
new
Intent
(
getApplicationContext
(),
FormProductActivity
.
class
));
}
else
if
(
id
==
R
.
id
.
allTransaction
){
Log
.
i
(
"get transaction main"
,
"onMenuItemClick: "
+
utils
.
convertGson
(
mainViewModels
.
getAllTransactions
().
getValue
().
getData
()));
List
<
PaymentsModels
>
data
=
mainViewModels
.
getAllTransactions
().
getValue
().
getData
();
ArrayList
<
PaymentsModels
>
newData
=
new
ArrayList
<>();
newData
.
addAll
(
data
);
startActivity
(
new
Intent
(
getApplicationContext
(),
HistoryActivity
.
class
));
}
return
true
;
}
...
...
app/src/main/java/com/yono/messeripos/adapter/TransactionAdapter.java
View file @
4443b63a
package
com
.
yono
.
messeripos
.
adapter
;
import
android.content.Context
;
import
android.os.Build
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.RequiresApi
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.yono.messeripos.R
;
import
com.yono.messeripos.databinding.ItemHistoryBinding
;
import
com.yono.messeripos.models.PaymentsModels
;
import
com.yono.messeripos.models.ProductCartModels
;
import
com.yono.messeripos.utils.Utils
;
import
java.util.ArrayList
;
...
...
@@ -18,6 +25,16 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter.
Context
context
;
Utils
utils
=
new
Utils
();
public
interface
TransactionListener
{
void
onShowDetail
(
PaymentsModels
paymentsModels
);
}
private
TransactionListener
listener
;
public
void
setListener
(
TransactionListener
listener
)
{
this
.
listener
=
listener
;
}
public
void
setTransactionAdapter
(
Context
context
,
ArrayList
<
PaymentsModels
>
paymentsModels
){
this
.
paymentsModels
=
paymentsModels
;
this
.
context
=
context
;
...
...
@@ -27,22 +44,38 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter.
@NonNull
@Override
public
TransactionAdapter
.
MyViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
return
null
;
ItemHistoryBinding
itemHistoryBinding
=
DataBindingUtil
.
inflate
(
LayoutInflater
.
from
(
parent
.
getContext
()),
R
.
layout
.
item_history
,
parent
,
false
);
return
new
MyViewHolder
(
itemHistoryBinding
);
}
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
@Override
public
void
onBindViewHolder
(
@NonNull
TransactionAdapter
.
MyViewHolder
holder
,
int
position
)
{
holder
.
binData
(
paymentsModels
.
get
(
position
));
}
@Override
public
int
getItemCount
()
{
return
0
;
return
paymentsModels
.
size
()
;
}
public
class
MyViewHolder
extends
RecyclerView
.
ViewHolder
{
public
MyViewHolder
(
@NonNull
View
itemView
)
{
super
(
itemView
);
ItemHistoryBinding
itemHistoryBinding
;
public
MyViewHolder
(
@NonNull
ItemHistoryBinding
itemView
)
{
super
(
itemView
.
getRoot
());
this
.
itemHistoryBinding
=
itemView
;
}
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
public
void
binData
(
PaymentsModels
paymentsModels
){
itemHistoryBinding
.
setTransaction
(
paymentsModels
);
itemHistoryBinding
.
setDate
(
utils
.
convertDate
(
paymentsModels
.
getUpdatedAt
()));
itemHistoryBinding
.
cvHistory
.
setOnClickListener
(
view
->
listener
.
onShowDetail
(
paymentsModels
));
}
}
}
app/src/main/java/com/yono/messeripos/utils/Utils.java
View file @
4443b63a
package
com
.
yono
.
messeripos
.
utils
;
import
android.content.Context
;
import
android.os.Build
;
import
androidx.annotation.RequiresApi
;
import
androidx.recyclerview.widget.DividerItemDecoration
;
import
com.google.gson.Gson
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormatSymbols
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
import
java.util.Locale
;
public
class
Utils
{
public
String
convertPrice
(
String
mataUang
,
int
nilai
){
...
...
@@ -43,4 +53,24 @@ public class Utils {
String
js
=
new
Gson
().
toJson
(
object
);
return
js
;
}
public
DividerItemDecoration
dividerItemDecoration
(
Context
context
){
DividerItemDecoration
dividerItemDecoration
=
new
DividerItemDecoration
(
context
,
DividerItemDecoration
.
VERTICAL
);
return
dividerItemDecoration
;
}
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
public
String
convertDate
(
String
date
){
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
)
.
withZone
(
ZoneId
.
of
(
"UTC"
));
LocalDateTime
localDateTime
=
LocalDateTime
.
parse
(
date
,
dateTimeFormatter
);
DateTimeFormatter
localFormatter
=
DateTimeFormatter
.
ofPattern
(
"EEEE, dd MM yyyy"
,
new
Locale
(
"id"
,
"ID"
));
String
localDate
=
localDateTime
.
format
(
localFormatter
);
return
localDate
;
}
}
app/src/main/res/layout/item_history.xml
View file @
4443b63a
...
...
@@ -5,11 +5,16 @@
<data>
<variable
name=
"carts
"
name=
"transaction
"
type=
"com.yono.messeripos.models.PaymentsModels"
/>
<variable
name=
"date"
type=
"String"
/>
</data>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/cvHistory"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
tools:ignore=
"MissingConstraints"
>
...
...
@@ -26,8 +31,11 @@
android:fontFamily=
"@font/roboto"
android:textSize=
"24sp"
app:layout_constraintStart_toStartOf=
"parent"
android:textColor=
"@android:color/black"
android:textStyle=
"bold"
android:textAllCaps=
"true"
tools:text=
"@string/hint_pay"
android:text=
"@{}"
android:text=
"@{
transaction.paymentType
}"
app:layout_constraintTop_toTopOf=
"parent"
/>
<com.google.android.material.textview.MaterialTextView
...
...
@@ -37,7 +45,7 @@
android:fontFamily=
"@font/roboto"
android:textSize=
"16sp"
tools:text=
"@tools:sample/date/ddmmyy"
android:text=
"@{}"
android:text=
"@{
date
}"
app:layout_constraintStart_toStartOf=
"@id/tvPay"
app:layout_constraintTop_toBottomOf=
"@+id/tvPay"
/>
...
...
@@ -47,7 +55,7 @@
android:layout_height=
"wrap_content"
android:fontFamily=
"@font/roboto"
android:textSize=
"16sp"
android:text=
"@{}"
android:text=
"@{
transaction.orderId
}"
tools:text=
"#6821739123"
app:layout_constraintStart_toStartOf=
"@id/tvDate"
app:layout_constraintTop_toBottomOf=
"@+id/tvDate"
/>
...
...
@@ -57,8 +65,8 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"84dp"
android:backgroundTint=
"#
000
"
android:text=
"@{}"
android:backgroundTint=
"#
8555DA
"
android:text=
"@{
transaction.transactionStatus
}"
tools:text=
"@tools:sample/first_names"
android:textColor=
"#fff"
android:background=
"#C60000"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment