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
7c0c8a0b
Commit
7c0c8a0b
authored
Aug 24, 2020
by
Muhammad Suryono
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into form
parents
81bb2a1f
66d84a8e
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
166 additions
and
45 deletions
+166
-45
Project.xml
.idea/codeStyles/Project.xml
+24
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+8
-5
MainActivity.java
app/src/main/java/com/yono/messeripos/MainActivity.java
+38
-3
ProductActivity.java
app/src/main/java/com/yono/messeripos/ProductActivity.java
+14
-0
ProductAdapter.java
...main/java/com/yono/messeripos/adapter/ProductAdapter.java
+42
-5
activity_product.xml
app/src/main/res/layout/activity_product.xml
+9
-0
appbar_dashboard.xml
app/src/main/res/layout/appbar_dashboard.xml
+23
-27
item_category.xml
app/src/main/res/layout/item_category.xml
+7
-4
item_list.xml
app/src/main/res/layout/item_list.xml
+1
-1
No files found.
.idea/codeStyles/Project.xml
View file @
7c0c8a0b
<component
name=
"ProjectCodeStyleConfiguration"
>
<component
name=
"ProjectCodeStyleConfiguration"
>
<code_scheme
name=
"Project"
version=
"173"
>
<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>
<DBN-PSQL>
<case-options
enabled=
"true"
>
<case-options
enabled=
"true"
>
<option
name=
"KEYWORD_CASE"
value=
"lower"
/>
<option
name=
"KEYWORD_CASE"
value=
"lower"
/>
...
...
app/src/main/AndroidManifest.xml
View file @
7c0c8a0b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.yono.messeripos"
>
package=
"com.yono.messeripos"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<application
<application
android:allowBackup=
"true"
android:allowBackup=
"true"
...
@@ -11,7 +11,10 @@
...
@@ -11,7 +11,10 @@
android:roundIcon=
"@mipmap/ic_launcher"
android:roundIcon=
"@mipmap/ic_launcher"
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme.appbar"
>
android:theme=
"@style/AppTheme.appbar"
>
<activity
android:name=
".PaymentActivity"
android:theme=
"@style/AppTheme.appbar"
></activity>
<activity
android:name=
".ProductActivity"
></activity>
<activity
android:name=
".PaymentActivity"
android:theme=
"@style/AppTheme.appbar"
/>
<activity
android:name=
".CartActivity"
/>
<activity
android:name=
".CartActivity"
/>
<activity
android:name=
".SplashScreen"
>
<activity
android:name=
".SplashScreen"
>
<intent-filter>
<intent-filter>
...
@@ -20,9 +23,9 @@
...
@@ -20,9 +23,9 @@
<category
android:name=
"android.intent.category.LAUNCHER"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</intent-filter>
</activity>
</activity>
<activity
android:name=
".MainActivity"
android:theme=
"@style/AppTheme.appbar"
>
<activity
android:name=
".MainActivity"
</activity>
android:theme=
"@style/AppTheme.appbar"
>
</activity>
<meta-data
<meta-data
android:name=
"preloaded_fonts"
android:name=
"preloaded_fonts"
...
...
app/src/main/java/com/yono/messeripos/MainActivity.java
View file @
7c0c8a0b
...
@@ -15,11 +15,17 @@ import androidx.appcompat.widget.Toolbar;
...
@@ -15,11 +15,17 @@ import androidx.appcompat.widget.Toolbar;
import
androidx.core.app.NotificationCompat
;
import
androidx.core.app.NotificationCompat
;
import
androidx.core.content.ContextCompat
;
import
androidx.core.content.ContextCompat
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModelProviders
;
import
androidx.lifecycle.ViewModelProviders
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.yono.messeripos.adapter.ProductAdapter
;
import
com.yono.messeripos.databinding.ActivityMainBinding
;
import
com.yono.messeripos.models.MainViewModels
;
import
com.yono.messeripos.models.ProductModels
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.yono.messeripos.adapter.CategoryAdapter
;
import
com.yono.messeripos.adapter.CategoryAdapter
;
import
com.yono.messeripos.databinding.ActivityMainBinding
;
import
com.yono.messeripos.databinding.ActivityMainBinding
;
...
@@ -29,20 +35,27 @@ import com.yono.messeripos.response.DataResponse;
...
@@ -29,20 +35,27 @@ import com.yono.messeripos.response.DataResponse;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Locale
;
public
class
MainActivity
extends
AppCompatActivity
{
public
class
MainActivity
extends
AppCompatActivity
{
MaterialToolbar
toolbar
;
MaterialToolbar
toolbar
;
MainViewModels
mainViewModels
;
MainViewModels
mainViewModels
;
ActivityMainBinding
binding
;
ActivityMainBinding
binding
;
CategoryAdapter
categoryAdapter
;
CategoryAdapter
categoryAdapter
;
ProductAdapter
productAdapter
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
ProductAdapter
adapter
=
new
ProductAdapter
();
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_main
);
binding
.
rvProduct
.
setAdapter
(
adapter
);
// setContentView(R.layout.activity_main);
// setContentView(R.layout.activity_main);
categoryAdapter
=
new
CategoryAdapter
();
categoryAdapter
=
new
CategoryAdapter
();
productAdapter
=
new
ProductAdapter
();
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_main
);
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_main
);
...
@@ -59,18 +72,19 @@ public class MainActivity extends AppCompatActivity {
...
@@ -59,18 +72,19 @@ public class MainActivity extends AppCompatActivity {
@Override
@Override
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
int
id
=
item
.
getItemId
();
int
id
=
item
.
getItemId
();
if
(
id
==
R
.
id
.
menu_cart
){
if
(
id
==
R
.
id
.
menu_cart
)
{
startActivity
(
new
Intent
(
getApplicationContext
(),
CartActivity
.
class
));
startActivity
(
new
Intent
(
getApplicationContext
(),
CartActivity
.
class
));
}
}
return
true
;
return
true
;
}
}
});
});
mainViewModels
=
ViewModelProviders
.
of
(
this
).
get
(
MainViewModels
.
class
);
mainViewModels
=
ViewModelProviders
.
of
(
this
).
get
(
MainViewModels
.
class
);
mainViewModels
.
getCategory
().
observe
(
this
,
new
Observer
<
DataResponse
<
List
<
CategoryModels
>>>()
{
mainViewModels
.
getCategory
().
observe
(
this
,
new
Observer
<
DataResponse
<
List
<
CategoryModels
>>>()
{
@Override
@Override
public
void
onChanged
(
DataResponse
<
List
<
CategoryModels
>>
listDataResponse
)
{
public
void
onChanged
(
DataResponse
<
List
<
CategoryModels
>>
listDataResponse
)
{
if
(
listDataResponse
!=
null
){
if
(
listDataResponse
!=
null
)
{
List
<
CategoryModels
>
categoryModels
=
listDataResponse
.
getData
();
List
<
CategoryModels
>
categoryModels
=
listDataResponse
.
getData
();
ArrayList
<
CategoryModels
>
categoryModelsArrayList
=
new
ArrayList
<>();
ArrayList
<
CategoryModels
>
categoryModelsArrayList
=
new
ArrayList
<>();
...
@@ -82,10 +96,31 @@ public class MainActivity extends AppCompatActivity {
...
@@ -82,10 +96,31 @@ public class MainActivity extends AppCompatActivity {
}
}
String
js
=
new
Gson
().
toJson
(
listDataResponse
);
String
js
=
new
Gson
().
toJson
(
listDataResponse
);
Log
.
d
(
"Get data from category"
,
"Response "
+
js
);
Log
.
d
(
"Get data from category"
,
"Response "
+
js
);
}
}
});
});
mainViewModels
=
ViewModelProviders
.
of
(
this
).
get
(
MainViewModels
.
class
);
mainViewModels
.
getProduct
().
observe
(
this
,
new
Observer
<
DataResponse
<
List
<
ProductModels
<
CategoryModels
>>>>()
{
@Override
public
void
onChanged
(
DataResponse
<
List
<
ProductModels
<
CategoryModels
>>>
listDataResponse
)
{
if
(
listDataResponse
!=
null
)
{
List
<
ProductModels
<
CategoryModels
>>
productModels
=
listDataResponse
.
getData
();
ArrayList
<
ProductModels
>
productModelsArrayList
=
new
ArrayList
<>();
productModelsArrayList
.
addAll
(
productModels
);
productAdapter
.
setProduct
(
MainActivity
.
this
,
productModelsArrayList
);
binding
.
rvCategory
.
setLayoutManager
(
new
LinearLayoutManager
(
MainActivity
.
this
,
LinearLayoutManager
.
HORIZONTAL
,
false
));
binding
.
rvCategory
.
setAdapter
(
categoryAdapter
);
}
String
js
=
new
Gson
().
toJson
(
listDataResponse
);
Log
.
d
(
"Get data from products"
,
"Response "
+
js
);
}
});
}
}
...
...
app/src/main/java/com/yono/messeripos/ProductActivity.java
0 → 100644
View file @
7c0c8a0b
package
com
.
yono
.
messeripos
;
import
androidx.appcompat.app.AppCompatActivity
;
import
android.os.Bundle
;
public
class
ProductActivity
extends
AppCompatActivity
{
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_product
);
}
}
\ No newline at end of file
app/src/main/java/com/yono/messeripos/adapter/ProductAdapter.java
View file @
7c0c8a0b
package
com
.
yono
.
messeripos
.
adapter
;
package
com
.
yono
.
messeripos
.
adapter
;
import
android.content.Context
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.yono.messeripos.R
;
import
com.yono.messeripos.databinding.ItemCategoryBinding
;
import
com.yono.messeripos.databinding.ItemListBinding
;
import
com.yono.messeripos.models.CategoryModels
;
import
com.yono.messeripos.models.ProductModels
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
ProductAdapter
extends
RecyclerView
.
Adapter
<
ProductAdapter
.
MyViewHolder
>
{
public
class
ProductAdapter
extends
RecyclerView
.
Adapter
<
ProductAdapter
.
MyViewHolder
>
{
private
ArrayList
<
ProductModels
>
productModels
;
Context
context
;
public
void
setProduct
(
Context
context
,
ArrayList
<
ProductModels
>
productModels
){
this
.
productModels
=
productModels
;
this
.
context
=
context
;
notifyDataSetChanged
();
}
@NonNull
@NonNull
@Override
@Override
public
ProductAdapter
.
MyViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
public
ProductAdapter
.
MyViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
return
null
;
ItemListBinding
itemListBinding
=
DataBindingUtil
.
inflate
(
LayoutInflater
.
from
(
parent
.
getContext
()),
R
.
layout
.
item_list
,
parent
,
false
);
return
new
MyViewHolder
(
itemListBinding
);
}
}
@Override
@Override
public
void
onBindViewHolder
(
@NonNull
ProductAdapter
.
MyViewHolder
holder
,
int
position
)
{
public
void
onBindViewHolder
(
@NonNull
ProductAdapter
.
MyViewHolder
holder
,
int
position
)
{
holder
.
bindData
(
productModels
.
get
(
position
));
}
}
@Override
@Override
public
int
getItemCount
()
{
public
int
getItemCount
()
{
return
0
;
return
productModels
.
size
()
;
}
}
public
class
MyViewHolder
extends
RecyclerView
.
ViewHolder
{
public
class
MyViewHolder
extends
RecyclerView
.
ViewHolder
{
public
MyViewHolder
(
@NonNull
View
itemView
)
{
private
ItemListBinding
binding
;
super
(
itemView
);
public
MyViewHolder
(
@NonNull
ItemListBinding
binding
)
{
super
(
binding
.
getRoot
());
this
.
binding
=
binding
;
}
public
void
bindData
(
ProductModels
products
)
{
binding
.
setProducts
(
products
);
}
}
}
}
}
}
app/src/main/res/layout/activity_product.xml
0 → 100644
View file @
7c0c8a0b
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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=
".ProductActivity"
>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/appbar_dashboard.xml
View file @
7c0c8a0b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.AppBarLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<com.google.android.material.appbar.AppBarLayout
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:paddingStart=
"15dp"
>
android:paddingStart=
"15dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<com.google.android.material.appbar.MaterialToolbar
<com.google.android.material.appbar.MaterialToolbar
android:id=
"@+id/topAppBar"
android:id=
"@+id/topAppBar"
style=
"@style/Widget.MaterialComponents.Toolbar.Primary"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"30dp"
android:elevation=
"0dp"
app:menu=
"@menu/home"
app:navigationIcon=
"@drawable/ic_meser"
>
<EditText
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
app:menu=
"@menu/home"
android:drawableStart=
"@drawable/ic_baseline_search_24"
android:elevation=
"0dp"
android:hint=
"Search"
app:navigationIcon=
"@drawable/ic_meser"
android:outlineSpotShadowColor=
"#fff"
android:layout_marginTop=
"30dp"
android:paddingStart=
"10dp"
style=
"@style/Widget.MaterialComponents.Toolbar.Primary"
android:textColor=
"#fff"
>
android:textColorHighlight=
"#fff"
android:textColorHint=
"#fff"
/>
<EditText
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:textColor=
"#fff"
android:hint=
"Search"
android:paddingStart=
"10dp"
android:textColorHint=
"#fff"
android:outlineSpotShadowColor=
"#fff"
android:textColorHighlight=
"#fff"
android:drawableStart=
"@drawable/ic_baseline_search_24"
/>
</com.google.android.material.appbar.MaterialToolbar>
</com.google.android.material.appbar.
AppBarLayout
>
</com.google.android.material.appbar.
MaterialToolbar
>
</com.google.android.material.appbar.AppBarLayout>
app/src/main/res/layout/item_category.xml
View file @
7c0c8a0b
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
android:backgroundTint=
"@color/ic_launcher_background"
android:backgroundTint=
"@color/ic_launcher_background"
app:cardCornerRadius=
"40dp"
>
app:cardCornerRadius=
"40dp"
>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
...
@@ -29,8 +30,8 @@
...
@@ -29,8 +30,8 @@
android:id=
"@+id/image_cat"
android:id=
"@+id/image_cat"
android:layout_width=
"30dp"
android:layout_width=
"30dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@drawable/ic_meser"
android:layout_marginStart=
"10dp"
android:layout_marginStart=
"10dp"
android:src=
"@drawable/ic_meser"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.06"
app:layout_constraintHorizontal_bias=
"0.06"
...
@@ -42,18 +43,19 @@
...
@@ -42,18 +43,19 @@
<TextView
<TextView
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"10dp"
android:layout_marginEnd=
"40dp"
android:fontFamily=
"@font/roboto"
android:fontFamily=
"@font/roboto"
android:text=
"@{category.nameCategory}"
android:text=
"@{category.nameCategory}"
android:textStyle=
"bold"
android:textStyle=
"bold"
android:textSize=
"20sp"
android:textSize=
"20sp"
android:textColor=
"#fff"
android:textColor=
"#fff"
tools:text=
"@tools:sample/full_names"
tools:text=
"@tools:sample/full_names"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/image_cat"
app:layout_constraintStart_toEndOf=
"@id/image_cat"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
android:layout_marginStart=
"10dp"
android:layout_marginEnd=
"40dp"
tools:ignore=
"MissingConstraints"
/>
tools:ignore=
"MissingConstraints"
/>
...
@@ -61,4 +63,5 @@
...
@@ -61,4 +63,5 @@
</com.google.android.material.card.MaterialCardView>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_list.xml
View file @
7c0c8a0b
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<data>
<data>
<variable
<variable
name=
"product"
name=
"product
s
"
type=
"com.yono.messeripos.models.ProductModels"
/>
type=
"com.yono.messeripos.models.ProductModels"
/>
</data>
</data>
...
...
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