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
2f40a98a
Commit
2f40a98a
authored
Aug 23, 2020
by
iman Fauzi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
https://git.mdd.co.id:44195/muhammadsuryono/meser
into dev
parents
5cb7044d
ea484f56
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
162 additions
and
50 deletions
+162
-50
build.gradle
app/build.gradle
+9
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+4
-1
MainActivity.java
app/src/main/java/com/yono/messeripos/MainActivity.java
+7
-5
PaymentAdapter.java
app/src/main/java/com/yono/messeripos/PaymentAdapter.java
+31
-37
SplashScreen.java
app/src/main/java/com/yono/messeripos/SplashScreen.java
+18
-0
ApiHelper.java
app/src/main/java/com/yono/messeripos/api/ApiHelper.java
+4
-0
ProductModels.java
...c/main/java/com/yono/messeripos/models/ProductModels.java
+17
-0
DataResponse.java
.../main/java/com/yono/messeripos/response/DataResponse.java
+42
-0
activity_main.xml
app/src/main/res/layout/activity_main.xml
+1
-1
activity_splash.xml
app/src/main/res/layout/activity_splash.xml
+17
-0
payment_list.xml
app/src/main/res/layout/payment_list.xml
+10
-2
colors.xml
app/src/main/res/values/colors.xml
+1
-0
styles.xml
app/src/main/res/values/styles.xml
+1
-4
No files found.
app/build.gradle
View file @
2f40a98a
...
@@ -20,6 +20,15 @@ android {
...
@@ -20,6 +20,15 @@ android {
proguardFiles
getDefaultProguardFile
(
'proguard-android-optimize.txt'
),
'proguard-rules.pro'
proguardFiles
getDefaultProguardFile
(
'proguard-android-optimize.txt'
),
'proguard-rules.pro'
}
}
}
}
dataBinding
{
enabled
=
true
}
compileOptions
{
sourceCompatibility
JavaVersion
.
VERSION_1_8
targetCompatibility
JavaVersion
.
VERSION_1_8
}
}
}
dependencies
{
dependencies
{
...
...
app/src/main/AndroidManifest.xml
View file @
2f40a98a
...
@@ -13,13 +13,16 @@
...
@@ -13,13 +13,16 @@
android:theme=
"@style/AppTheme"
>
android:theme=
"@style/AppTheme"
>
<activity
android:name=
".PaymentActivity"
></activity>
<activity
android:name=
".PaymentActivity"
></activity>
<activity
android:name=
".CartActivity"
/>
<activity
android:name=
".CartActivity"
/>
<activity
android:name=
".
MainActivity
"
>
<activity
android:name=
".
SplashScreen
"
>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</intent-filter>
</activity>
</activity>
<activity
android:name=
".MainActivity"
>
</activity>
<meta-data
<meta-data
android:name=
"preloaded_fonts"
android:name=
"preloaded_fonts"
...
...
app/src/main/java/com/yono/messeripos/MainActivity.java
View file @
2f40a98a
package
com
.
yono
.
messeripos
;
package
com
.
yono
.
messeripos
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.MenuItem
;
import
android.view.View
;
import
android.view.Window
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.core.content.ContextCompat
;
import
com.google.android.material.appbar.AppBarLayout
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.appbar.MaterialToolbar
;
public
class
MainActivity
extends
AppCompatActivity
{
public
class
MainActivity
extends
AppCompatActivity
{
...
@@ -28,6 +27,9 @@ public class MainActivity extends AppCompatActivity {
...
@@ -28,6 +27,9 @@ public class MainActivity extends AppCompatActivity {
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
){
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
){
Window
w
=
getWindow
();
Window
w
=
getWindow
();
w
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
,
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
);
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
);
toolbar
=
findViewById
(
R
.
id
.
topAppBar
);
...
@@ -37,7 +39,7 @@ public class MainActivity extends AppCompatActivity {
...
@@ -37,7 +39,7 @@ public class MainActivity extends AppCompatActivity {
int
id
=
item
.
getItemId
();
int
id
=
item
.
getItemId
();
if
(
id
==
R
.
id
.
menu_cart
){
if
(
id
==
R
.
id
.
menu_cart
){
Toast
.
makeText
(
MainActivity
.
this
,
"Pesan cart"
,
Toast
.
LENGTH_LONG
).
show
(
);
startActivity
(
new
Intent
(
MainActivity
.
this
,
CartActivity
.
class
)
);
}
}
return
true
;
return
true
;
}
}
...
...
app/src/main/java/com/yono/messeripos/PaymentAdapter.java
View file @
2f40a98a
...
@@ -13,10 +13,12 @@ import android.widget.TextView;
...
@@ -13,10 +13,12 @@ import android.widget.TextView;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.cardview.widget.CardView
;
import
androidx.cardview.widget.CardView
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.request.RequestOptions
;
import
com.bumptech.glide.request.RequestOptions
;
import
com.yono.messeripos.databinding.PaymentListBinding
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -34,24 +36,32 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
...
@@ -34,24 +36,32 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
@NonNull
@NonNull
@Override
@Override
public
ViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
public
ViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
View
view
=
LayoutInflater
.
from
(
parent
.
getContext
())
PaymentListBinding
paymentListBinding
=
DataBindingUtil
.
inflate
(
.
inflate
(
R
.
layout
.
payment_list
,
parent
,
false
);
LayoutInflater
.
from
(
parent
.
getContext
()),
R
.
layout
.
payment_list
,
parent
,
false
);
return
new
ViewHolder
(
view
);
// View view = LayoutInflater.from(parent.getContext())
// .inflate(R.layout.payment_list, parent, false);
return
new
ViewHolder
(
paymentListBinding
);
}
}
@Override
@Override
public
void
onBindViewHolder
(
@NonNull
ViewHolder
holder
,
int
position
)
{
public
void
onBindViewHolder
(
@NonNull
ViewHolder
holder
,
int
position
)
{
holder
.
cardView
.
setTag
(
position
);
holder
.
binData
(
paymentModels
.
get
(
position
));
holder
.
radioButton
.
setChecked
(
position
==
getPosition
);
// holder.cardView.setTag(position);
final
PaymentModel
paymentModel
=
paymentModels
.
get
(
position
);
// holder.radioButton.setChecked(position == getPosition);
// final PaymentModel paymentModel = paymentModels.get(position);
ImageView
imageView
=
holder
.
logoComp
;
//
// ImageView imageView = holder.logoComp;
Glide
.
with
(
context
)
//
.
load
(
paymentModel
.
getUrl
())
// Glide.with(context)
.
apply
(
new
RequestOptions
().
placeholder
(
R
.
drawable
.
skeleton
))
// .load(paymentModel.getUrl())
.
into
(
imageView
);
// .apply(new RequestOptions().placeholder(R.drawable.skeleton))
// .into(imageView);
}
}
@Override
@Override
...
@@ -60,33 +70,17 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
...
@@ -60,33 +70,17 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
}
}
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
public
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
PaymentListBinding
binding
;
public
ViewHolder
(
@NonNull
PaymentListBinding
view
)
{
super
(
view
.
getRoot
());
this
.
binding
=
view
;
}
public
CardView
cardView
;
public
void
binData
(
PaymentModel
paymentModel
){
public
ImageView
logoComp
;
binding
.
setPayment
(
paymentModel
);
public
RadioButton
radioButton
;
}
public
TextView
textView
;
public
Button
btnPay
;
public
ViewHolder
(
@NonNull
View
itemView
)
{
super
(
itemView
);
cardView
=
itemView
.
findViewById
(
R
.
id
.
cvPayment
);
logoComp
=
itemView
.
findViewById
(
R
.
id
.
ivLogo
);
radioButton
=
itemView
.
findViewById
(
R
.
id
.
rbPayment
);
textView
=
itemView
.
findViewById
(
R
.
id
.
tvPayment
);
btnPay
=
itemView
.
findViewById
(
R
.
id
.
btnPay
);
cardView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
getPosition
=
getAdapterPosition
();
notifyDataSetChanged
();
if
(
getPosition
==
Integer
.
parseInt
(
cardView
.
getTag
().
toString
()))
radioButton
.
setChecked
(
true
);
else
radioButton
.
setChecked
(
false
);
}
});
}
}
}
}
}
app/src/main/java/com/yono/messeripos/SplashScreen.java
0 → 100644
View file @
2f40a98a
package
com
.
yono
.
messeripos
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Handler
;
import
android.os.Looper
;
import
androidx.appcompat.app.AppCompatActivity
;
public
class
SplashScreen
extends
AppCompatActivity
{
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_splash
);
}
}
app/src/main/java/com/yono/messeripos/api/ApiHelper.java
0 → 100644
View file @
2f40a98a
package
com
.
yono
.
messeripos
.
api
;
public
class
ApiHelper
{
}
app/src/main/java/com/yono/messeripos/models/ProductModels.java
0 → 100644
View file @
2f40a98a
package
com
.
yono
.
messeripos
.
models
;
import
com.google.gson.annotations.SerializedName
;
public
class
ProductModels
{
@SerializedName
(
"id_product"
)
private
int
idProduct
;
@SerializedName
(
"product_name"
)
private
String
productName
;
@SerializedName
(
"price"
)
private
int
priceProduct
;
@SerializedName
(
"stock"
)
private
int
stockProduct
;
}
app/src/main/java/com/yono/messeripos/response/DataResponse.java
0 → 100644
View file @
2f40a98a
package
com
.
yono
.
messeripos
.
response
;
import
com.google.gson.annotations.SerializedName
;
public
class
DataResponse
<
T
>
{
@SerializedName
(
"status"
)
private
Boolean
statusData
;
@SerializedName
(
"messages"
)
private
String
messageData
;
@SerializedName
(
"data"
)
private
T
data
;
public
Boolean
getStatusData
()
{
return
statusData
;
}
public
void
setStatusData
(
Boolean
statusData
)
{
this
.
statusData
=
statusData
;
}
public
String
getMessageData
()
{
return
messageData
;
}
public
void
setMessageData
(
String
messageData
)
{
this
.
messageData
=
messageData
;
}
public
T
getData
()
{
return
data
;
}
public
void
setData
(
T
data
)
{
this
.
data
=
data
;
}
}
app/src/main/res/layout/activity_main.xml
View file @
2f40a98a
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
app:menu=
"@menu/home"
app:menu=
"@menu/home"
android:elevation=
"0dp"
android:elevation=
"0dp"
app:navigationIcon=
"@drawable/ic_meser"
app:navigationIcon=
"@drawable/ic_meser"
android:layout_marginTop=
"
2
0dp"
android:layout_marginTop=
"
3
0dp"
style=
"@style/Widget.MaterialComponents.Toolbar.Primary"
style=
"@style/Widget.MaterialComponents.Toolbar.Primary"
>
>
...
...
app/src/main/res/layout/activity_splash.xml
0 → 100644
View file @
2f40a98a
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:background=
"@color/colorPrimaryDark"
>
<ImageView
android:layout_width=
"100dp"
android:layout_height=
"100dp"
android:src=
"@drawable/ic_meser_icon"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/payment_list.xml
View file @
2f40a98a
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<layout
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"
>
<data>
<variable
name=
"payment"
type=
"com.yono.messeripos.PaymentModel"
/>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_marginVertical=
"2dp"
>
android:layout_marginVertical=
"2dp"
>
...
@@ -66,3 +73,4 @@
...
@@ -66,3 +73,4 @@
</com.google.android.material.card.MaterialCardView>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/values/colors.xml
View file @
2f40a98a
...
@@ -3,4 +3,5 @@
...
@@ -3,4 +3,5 @@
<color
name=
"colorPrimary"
>
#3498DB
</color>
<color
name=
"colorPrimary"
>
#3498DB
</color>
<color
name=
"colorPrimaryDark"
>
#3498DB
</color>
<color
name=
"colorPrimaryDark"
>
#3498DB
</color>
<color
name=
"colorAccent"
>
#0f4c75
</color>
<color
name=
"colorAccent"
>
#0f4c75
</color>
<color
name=
"colorWhite"
>
#fff
</color>
</resources>
</resources>
\ No newline at end of file
app/src/main/res/values/styles.xml
View file @
2f40a98a
...
@@ -6,13 +6,10 @@
...
@@ -6,13 +6,10 @@
<item
name=
"colorPrimaryDark"
>
@color/colorPrimaryDark
</item>
<item
name=
"colorPrimaryDark"
>
@color/colorPrimaryDark
</item>
<item
name=
"colorAccent"
>
@color/colorAccent
</item>
<item
name=
"colorAccent"
>
@color/colorAccent
</item>
<item
name=
"android:fontFamily"
>
@font/roboto
</item>
<item
name=
"android:fontFamily"
>
@font/roboto
</item>
<item
name=
"android:windowLightStatusBar"
tools:targetApi=
"m"
>
true
</item>
<item
name=
"android:windowLightStatusBar"
>
true
</item>
<item
name=
"android:actionBarStyle"
>
@style/ThemeActionBar
</item>
<item
name=
"android:actionBarStyle"
>
@style/ThemeActionBar
</item>
<item
name=
"android:windowActionBarOverlay"
>
false
</item>
<item
name=
"android:windowActionBarOverlay"
>
false
</item>
<item
name=
"android:windowTranslucentStatus"
>
true
</item>
<item
name=
"android:windowTranslucentStatus"
>
true
</item>
<!-- <item name="android:windowTranslucentNavigation">false</item>-->
<!-- <item name="windowActionBar">true</item>-->
<!-- <item name="windowNoTitle">true</item>-->
<item
name=
"windowActionBarOverlay"
>
true
</item>
<item
name=
"windowActionBarOverlay"
>
true
</item>
<item
name=
"actionBarStyle"
>
@style/ThemeActionBar
</item>
<item
name=
"actionBarStyle"
>
@style/ThemeActionBar
</item>
</style>
</style>
...
...
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