Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
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
6497aa0a
Commit
6497aa0a
authored
Aug 25, 2020
by
iman Fauzi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix input data daos
parent
e23f08f8
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
92 additions
and
20 deletions
+92
-20
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-1
FormProductActivity.java
...rc/main/java/com/yono/messeripos/FormProductActivity.java
+17
-0
LoginActivity.java
app/src/main/java/com/yono/messeripos/LoginActivity.java
+4
-2
MainActivity.java
app/src/main/java/com/yono/messeripos/MainActivity.java
+5
-7
PaymentActivity.java
app/src/main/java/com/yono/messeripos/PaymentActivity.java
+0
-1
SplashScreen.java
app/src/main/java/com/yono/messeripos/SplashScreen.java
+6
-0
ProductAdapter.java
...main/java/com/yono/messeripos/adapter/ProductAdapter.java
+30
-0
ProductCartModels.java
...in/java/com/yono/messeripos/models/ProductCartModels.java
+5
-3
ProductModels.java
...c/main/java/com/yono/messeripos/models/ProductModels.java
+5
-1
CartRepositories.java
...va/com/yono/messeripos/repositories/CartRepositories.java
+6
-2
PaymentResponse.java
...in/java/com/yono/messeripos/response/PaymentResponse.java
+3
-0
activity_cart.xml
app/src/main/res/layout/activity_cart.xml
+1
-0
activity_main.xml
app/src/main/res/layout/activity_main.xml
+0
-2
item_list.xml
app/src/main/res/layout/item_list.xml
+2
-1
styles.xml
app/src/main/res/values/styles.xml
+6
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
6497aa0a
...
...
@@ -18,7 +18,7 @@
<activity
android:name=
".CartActivity"
android:theme=
"@style/AppTheme.appbar"
/>
<activity
android:name=
".ProductActivity"
/>
<activity
android:name=
".ProductActivity"
android:theme=
"@style/AppTheme.appbar"
/>
<activity
android:name=
".SplashScreen"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
...
...
@@ -29,6 +29,7 @@
<activity
android:name=
".MainActivity"
android:theme=
"@style/AppTheme.appbar"
/>
<activity
android:name=
".FormProductActivity"
/>
<meta-data
android:name=
"preloaded_fonts"
...
...
app/src/main/java/com/yono/messeripos/FormProductActivity.java
0 → 100644
View file @
6497aa0a
package
com
.
yono
.
messeripos
;
import
android.os.Bundle
;
import
android.os.PersistableBundle
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AppCompatActivity
;
public
class
FormProductActivity
extends
AppCompatActivity
{
@Override
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
form_product
);
}
}
app/src/main/java/com/yono/messeripos/LoginActivity.java
View file @
6497aa0a
...
...
@@ -6,6 +6,7 @@ import androidx.lifecycle.ViewModelProviders;
import
android.content.Context
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.content.SharedPreferences
;
import
android.os.Bundle
;
...
...
@@ -15,6 +16,7 @@ import android.view.View;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
com.google.android.material.button.MaterialButton
;
import
com.google.android.material.snackbar.Snackbar
;
...
...
@@ -54,6 +56,7 @@ public class LoginActivity extends AppCompatActivity {
btnLogin
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
Snackbar
snackbar
=
Snackbar
.
make
(
v
,
"Oppss! Wrong Username Or Password!"
,
Snackbar
.
LENGTH_LONG
);
if
(
TextUtils
.
isEmpty
(
username
.
getText
().
toString
())
&&
TextUtils
.
isEmpty
(
password
.
getText
().
toString
())){
...
...
@@ -86,12 +89,11 @@ public class LoginActivity extends AppCompatActivity {
password
.
setEnabled
(
true
);
btnLogin
.
setEnabled
(
true
);
}
else
{
snackbar
.
show
();
progressBar
.
setVisibility
(
View
.
GONE
);
username
.
setEnabled
(
true
);
password
.
setEnabled
(
true
);
btnLogin
.
setEnabled
(
true
);
finish
();
}
}
...
...
app/src/main/java/com/yono/messeripos/MainActivity.java
View file @
6497aa0a
...
...
@@ -9,6 +9,7 @@ import android.view.MenuItem;
import
android.view.View
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.Toast
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
...
...
@@ -23,6 +24,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.button.MaterialButton
;
import
com.yono.messeripos.adapter.ProductAdapter
;
import
com.yono.messeripos.databinding.ActivityMainBinding
;
import
com.yono.messeripos.models.MainViewModels
;
...
...
@@ -44,6 +46,7 @@ public class MainActivity extends AppCompatActivity {
ActivityMainBinding
binding
;
CategoryAdapter
categoryAdapter
;
ProductAdapter
productAdapter
;
MaterialButton
addToCart
;
@Override
...
...
@@ -63,9 +66,6 @@ public class MainActivity extends AppCompatActivity {
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
);
w
.
getDecorView
().
setSystemUiVisibility
(
View
.
SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
);
w
.
setStatusBarColor
(
ContextCompat
.
getColor
(
MainActivity
.
this
,
R
.
color
.
colorWhite
));
}
toolbar
=
findViewById
(
R
.
id
.
topAppBar
);
...
...
@@ -75,6 +75,8 @@ public class MainActivity extends AppCompatActivity {
int
id
=
item
.
getItemId
();
if
(
id
==
R
.
id
.
menu_cart
)
{
startActivity
(
new
Intent
(
getApplicationContext
(),
CartActivity
.
class
));
}
else
if
(
id
==
R
.
id
.
create
)
{
startActivity
(
new
Intent
(
getApplicationContext
(),
FormProductActivity
.
class
));
}
return
true
;
}
...
...
@@ -120,9 +122,5 @@ public class MainActivity extends AppCompatActivity {
Log
.
d
(
"Get data from products"
,
"Response "
+
js
);
}
});
}
}
\ No newline at end of file
app/src/main/java/com/yono/messeripos/PaymentActivity.java
View file @
6497aa0a
...
...
@@ -19,7 +19,6 @@ import java.util.ArrayList;
public
class
PaymentActivity
extends
AppCompatActivity
{
private
ArrayList
<
PaymentResponse
>
paymentResponses
=
new
ArrayList
<>();
MaterialToolbar
toolbars
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
...
...
app/src/main/java/com/yono/messeripos/SplashScreen.java
View file @
6497aa0a
...
...
@@ -6,6 +6,8 @@ import android.content.SharedPreferences;
import
android.os.Bundle
;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.view.animation.Animation
;
import
android.view.animation.AnimationUtils
;
import
android.widget.ImageView
;
...
...
@@ -21,6 +23,10 @@ public class SplashScreen extends AppCompatActivity {
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
getWindow
().
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
,
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
);
setContentView
(
R
.
layout
.
activity_splash
);
img
=
findViewById
(
R
.
id
.
image_splash
);
...
...
app/src/main/java/com/yono/messeripos/adapter/ProductAdapter.java
View file @
6497aa0a
package
com
.
yono
.
messeripos
.
adapter
;
import
android.content.Context
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.ViewModelProviders
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.google.gson.Gson
;
import
com.yono.messeripos.R
;
import
com.yono.messeripos.databinding.ItemListBinding
;
import
com.yono.messeripos.models.CartModels
;
import
com.yono.messeripos.models.MainViewModelsCart
;
import
com.yono.messeripos.models.ProductCartModels
;
import
com.yono.messeripos.models.ProductModels
;
import
java.text.DecimalFormat
;
...
...
@@ -19,11 +29,13 @@ import java.util.ArrayList;
public
class
ProductAdapter
extends
RecyclerView
.
Adapter
<
ProductAdapter
.
MyViewHolder
>
{
private
ArrayList
<
ProductModels
>
productModels
;
Context
context
;
MainViewModelsCart
mainViewModelsCart
;
public
void
setProduct
(
Context
context
,
ArrayList
<
ProductModels
>
productModels
){
this
.
productModels
=
productModels
;
this
.
context
=
context
;
mainViewModelsCart
=
ViewModelProviders
.
of
((
FragmentActivity
)
context
).
get
(
MainViewModelsCart
.
class
);
notifyDataSetChanged
();
}
...
...
@@ -73,6 +85,24 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
binding
.
setPrice
(
rupiah
.
format
(
products
.
getPriceProduct
()));
binding
.
setImage
(
products
.
getImageProduct
());
binding
.
materialBtnAddCart
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
Toast
.
makeText
(
context
,
binding
.
titleProduct
.
getText
()
+
" adding to cart"
,
Toast
.
LENGTH_LONG
).
show
();
mainViewModelsCart
.
insertCart
(
new
ProductCartModels
(
2
,
1
,
products
.
getIdProduct
(),
products
.
getProductName
(),
products
.
getPriceProduct
(),
0
));
String
js
=
new
Gson
().
toJson
(
mainViewModelsCart
.
getCart
());
Log
.
d
(
"onClick: "
,
""
+
js
);
}
});
}
}
}
app/src/main/java/com/yono/messeripos/models/ProductCartModels.java
View file @
6497aa0a
...
...
@@ -32,10 +32,12 @@ public class ProductCartModels implements Parcelable {
@SerializedName
(
"grand_total"
)
private
int
grand_total_orders
;
public
ProductCartModels
(
long
id
,
int
id_orders
,
long
quantity_orders
,
int
id_product_orders
,
String
product_name_orders
,
long
price_orders
,
public
ProductCartModels
(
int
id_orders
,
long
quantity_orders
,
int
id_product_orders
,
String
product_name_orders
,
long
price_orders
,
int
grand_total_orders
)
{
this
.
id
=
id
;
this
.
id_orders
=
id_orders
;
this
.
quantity_orders
=
quantity_orders
;
this
.
id_product_orders
=
id_product_orders
;
...
...
app/src/main/java/com/yono/messeripos/models/ProductModels.java
View file @
6497aa0a
...
...
@@ -5,6 +5,7 @@ import android.widget.ImageView;
import
androidx.databinding.BindingAdapter
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.request.RequestOptions
;
import
com.google.gson.annotations.SerializedName
;
import
com.yono.messeripos.R
;
import
com.yono.messeripos.api.ApiHelper
;
...
...
@@ -81,7 +82,10 @@ public class ProductModels<T> {
if
(
ApiHelper
.
BASE_URL_IMAGE
+
url
==
null
){
view
.
setImageResource
(
R
.
drawable
.
ic_meser
);
}
else
{
Glide
.
with
(
view
).
load
(
ApiHelper
.
BASE_URL_IMAGE
+
url
).
into
(
view
);
Glide
.
with
(
view
)
.
applyDefaultRequestOptions
(
new
RequestOptions
().
placeholder
(
R
.
drawable
.
skeleton
).
error
(
R
.
drawable
.
skeleton
))
.
load
(
ApiHelper
.
BASE_URL_IMAGE
+
url
)
.
into
(
view
);
}
}
}
app/src/main/java/com/yono/messeripos/repositories/CartRepositories.java
View file @
6497aa0a
...
...
@@ -25,10 +25,14 @@ public class CartRepositories {
}
public
void
update
(
ProductCartModels
productCartModels
){
LocalDatabase
.
databaseWriterExecutor
.
execute
(()
->
cartDaos
.
insert
Product
(
productCartModels
));
LocalDatabase
.
databaseWriterExecutor
.
execute
(()
->
cartDaos
.
update
Product
(
productCartModels
));
}
public
void
delete
(
ProductCartModels
productCartModels
){
LocalDatabase
.
databaseWriterExecutor
.
execute
(()
->
cartDaos
.
insertProduct
(
productCartModels
));
LocalDatabase
.
databaseWriterExecutor
.
execute
(()
->
cartDaos
.
deleteProduct
(
productCartModels
));
}
public
LiveData
<
List
<
ProductCartModels
>>
getDataCart
(){
return
products
;
}
}
app/src/main/java/com/yono/messeripos/response/PaymentResponse.java
View file @
6497aa0a
...
...
@@ -5,6 +5,8 @@ import android.widget.ImageView;
import
androidx.databinding.BindingAdapter
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.request.RequestOptions
;
import
com.yono.messeripos.R
;
public
class
PaymentResponse
{
...
...
@@ -44,6 +46,7 @@ public class PaymentResponse {
@BindingAdapter
(
"logo_bank"
)
public
static
void
loadImage
(
ImageView
view
,
String
url
)
{
Glide
.
with
(
view
.
getContext
())
.
applyDefaultRequestOptions
(
new
RequestOptions
().
placeholder
(
R
.
drawable
.
skeleton
).
error
(
R
.
drawable
.
skeleton
))
.
load
(
url
)
.
into
(
view
);
}
...
...
app/src/main/res/layout/activity_cart.xml
View file @
6497aa0a
...
...
@@ -99,6 +99,7 @@
<com.google.android.material.textfield.TextInputEditText
android:id=
"@+id/etQty"
android:enabled=
"false"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"1"
...
...
app/src/main/res/layout/activity_main.xml
View file @
6497aa0a
...
...
@@ -22,9 +22,7 @@
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
android:paddingTop=
"20dp"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:paddingStart=
"15dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
tools:ignore=
"RtlSymmetry"
>
<com.google.android.material.appbar.MaterialToolbar
...
...
app/src/main/res/layout/item_list.xml
View file @
6497aa0a
...
...
@@ -55,7 +55,7 @@
android:layout_width=
"30dp"
android:layout_height=
"30dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraint
End_toStartOf=
"@id/btnDelete
"
app:layout_constraint
Start_toStartOf=
"parent
"
android:src=
"@drawable/ic_baseline_edit_24"
/>
<TextView
...
...
@@ -91,6 +91,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.button.MaterialButton
android:id=
"@+id/materialBtnAddCart"
android:layout_width=
"match_parent"
android:layout_height=
"35dp"
android:layout_gravity=
"bottom"
...
...
app/src/main/res/values/styles.xml
View file @
6497aa0a
...
...
@@ -27,6 +27,12 @@
<item
name=
"actionBarStyle"
>
@style/ThemeActionBar
</item>
</style>
<style
name=
"AppTheme.my.a"
parent=
"Theme.MaterialComponents.Light.NoActionBar"
>
<item
name=
"colorPrimary"
>
@color/colorPrimary
</item>
<item
name=
"colorPrimaryDark"
>
@color/colorPrimaryDark
</item>
<item
name=
"colorAccent"
>
@color/colorAccent
</item>
</style>
<style
name=
"ThemeActionBar"
parent=
"Widget.MaterialComponents.Light.ActionBar.Solid"
>
<item
name=
"android:background"
>
@null
</item>
...
...
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