Procházet zdrojové kódy

-Change layout after scan

ilhamitubagoes před 4 roky
rodič
revize
3311433ba6

+ 1 - 0
app/build.gradle

@@ -44,6 +44,7 @@ dependencies {
44 44
     implementation 'androidx.appcompat:appcompat:1.1.0'
45 45
     implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
46 46
     implementation "androidx.recyclerview:recyclerview:1.1.0"
47
+    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
47 48
     implementation "com.google.android.material:material:1.1.0"
48 49
 
49 50
     //GMS Play Service

+ 4 - 2
app/src/main/AndroidManifest.xml

@@ -35,10 +35,12 @@
35 35
         </activity>
36 36
         <activity
37 37
             android:name=".ui.ScanActivity"
38
-            android:screenOrientation="portrait"/>
38
+            android:screenOrientation="portrait"
39
+            android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
39 40
         <activity
40 41
             android:name=".ui.scanresult.ScanResultActivity"
41
-            android:screenOrientation="portrait"/>
42
+            android:screenOrientation="portrait"
43
+            android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
42 44
         <activity
43 45
             android:name=".ui.login.ErrorLoginActivity"
44 46
             android:screenOrientation="portrait"

+ 62 - 0
app/src/main/java/com/fusi24/rfid/BaseApplication.java

@@ -0,0 +1,62 @@
1
+package com.fusi24.rfid;
2
+
3
+import android.app.Application;
4
+import android.content.Context;
5
+
6
+import com.fusi24.rfid.data.entity.DataDetail;
7
+import com.fusi24.rfid.data.entity.DataEntryPermit;
8
+import com.fusi24.rfid.data.entity.DataSite;
9
+
10
+import java.util.ArrayList;
11
+import java.util.List;
12
+
13
+public abstract class BaseApplication extends Application {
14
+
15
+    private List<DataSite> siteList;
16
+    private List<DataEntryPermit> entryPermitList;
17
+    private List<DataDetail> dataStatusScanList;
18
+
19
+    @Override
20
+    protected void attachBaseContext(Context base) {
21
+        super.attachBaseContext(base);
22
+    }
23
+
24
+    @Override
25
+    public void onCreate() {
26
+        super.onCreate();
27
+    }
28
+
29
+    public List<DataSite> getSiteList() {
30
+        if (siteList == null) {
31
+            siteList = new ArrayList<>();
32
+        }
33
+        return siteList;
34
+    }
35
+
36
+    public void setObjectDetailList(List<DataSite> siteList) {
37
+        this.siteList = siteList;
38
+    }
39
+
40
+    public List<DataEntryPermit> getEntryPermitList() {
41
+        if (entryPermitList == null) {
42
+            entryPermitList = new ArrayList<>();
43
+        }
44
+        return entryPermitList;
45
+    }
46
+
47
+    public void setEntryPermitList(List<DataEntryPermit> entryPermitList) {
48
+        this.entryPermitList = entryPermitList;
49
+    }
50
+
51
+    public List<DataDetail> getDataStatusScanList() {
52
+        if (dataStatusScanList == null) {
53
+            dataStatusScanList = new ArrayList<>();
54
+        }
55
+        return dataStatusScanList;
56
+    }
57
+
58
+    public void setDataStatusScanList(List<DataDetail> dataStatusScanList) {
59
+        this.dataStatusScanList = dataStatusScanList;
60
+    }
61
+
62
+}

+ 12 - 0
app/src/main/java/com/fusi24/rfid/data/SessionManager.java

@@ -12,6 +12,7 @@ public class SessionManager {
12 12
     private static final String USER_EMAIL              = "user_email";
13 13
     private static final String USER_TELEPHONE          = "user_telephone";
14 14
     private static final String USER_RFID_NUMBER        = "user_rfid_number";
15
+    private static final String GATE                    = "gate";
15 16
 
16 17
     private final SharedPreferences preferences;
17 18
 
@@ -99,6 +100,16 @@ public class SessionManager {
99 100
         editor.apply();
100 101
     }
101 102
 
103
+    public String getGate() {
104
+        return preferences.getString(GATE, "");
105
+    }
106
+
107
+    public void setGate(String gate) {
108
+        SharedPreferences.Editor editor = preferences.edit();
109
+        editor.putString(GATE, gate);
110
+        editor.apply();
111
+    }
112
+
102 113
     public void clearData() {
103 114
         SharedPreferences.Editor editor = preferences.edit();
104 115
         editor.remove(IS_LOGIN);
@@ -109,6 +120,7 @@ public class SessionManager {
109 120
         editor.remove(USER_EMAIL);
110 121
         editor.remove(USER_TELEPHONE);
111 122
         editor.remove(USER_RFID_NUMBER);
123
+        editor.remove(GATE);
112 124
         editor.apply();
113 125
     }
114 126
 }

+ 31 - 1
app/src/main/java/com/fusi24/rfid/ui/ScanActivity.java

@@ -5,9 +5,12 @@ import android.content.Intent;
5 5
 import android.content.pm.PackageManager;
6 6
 import android.os.Bundle;
7 7
 import android.view.View;
8
+import android.widget.TextView;
8 9
 
10
+import androidx.appcompat.widget.Toolbar;
9 11
 import androidx.core.app.ActivityCompat;
10 12
 
13
+import com.fusi24.rfid.R;
11 14
 import com.fusi24.rfid.config.Constant;
12 15
 import com.fusi24.rfid.databinding.ActivityScanBinding;
13 16
 import com.fusi24.rfid.ui.scanresult.ScanResultActivity;
@@ -34,6 +37,19 @@ public class ScanActivity extends LFScanProcessing {
34 37
         binding = ActivityScanBinding.inflate(getLayoutInflater());
35 38
         View view = binding.getRoot();
36 39
         setContentView(view);
40
+
41
+        Toolbar toolbar = findViewById(R.id.toolbar);
42
+        TextView toolbarTitle = findViewById(R.id.toolbar_text);
43
+
44
+        if(toolbarTitle !=null && toolbar !=null) {
45
+            toolbarTitle.setText(getString(R.string.app_name));
46
+            setSupportActionBar(toolbar);
47
+        }
48
+
49
+        if (getSupportActionBar() != null){
50
+            getSupportActionBar().setDisplayShowTitleEnabled(false);
51
+        }
52
+
37 53
         initView();
38 54
         initSound();
39 55
     }
@@ -46,12 +62,26 @@ public class ScanActivity extends LFScanProcessing {
46 62
             checkTypeName = getIntent().getExtras().getString(CHECK_TYPE_NAME);
47 63
         }
48 64
 
65
+        setStatusScan();
49 66
         locationClient = LocationServices.getFusedLocationProviderClient(this);
50 67
         getLocation();
51 68
         binding.toggleScan.setOnCheckedChangeListener((buttonView, isChecked) -> statusScanner());
52 69
     }
53 70
 
54
-    public void statusScanner(){
71
+    private void setStatusScan(){
72
+        switch (Integer.parseInt(idCheckType)){
73
+            case 649 :
74
+                binding.tvStatusScan.setBackground(getDrawable(R.drawable.bg_green));
75
+                break;
76
+            case 650 :
77
+            default:
78
+                binding.tvStatusScan.setBackground(getDrawable(R.drawable.bg_blue));
79
+                break;
80
+        }
81
+        binding.tvStatusScan.setText(checkTypeName);
82
+    }
83
+
84
+    private void statusScanner(){
55 85
         if(binding.toggleScan.isChecked()){
56 86
             onStart();
57 87
         } else

+ 8 - 1
app/src/main/java/com/fusi24/rfid/ui/home/HomeActivity.java

@@ -107,6 +107,7 @@ public class HomeActivity extends BaseActivity implements HomeView, StatusScanAd
107 107
     }
108 108
 
109 109
     private void initView(){
110
+        binding.refresh.setRefreshing(false);
110 111
         ActivityCompat.requestPermissions(this, Constant.PERMISSIONS_RFID, 1000);
111 112
 
112 113
         entryPermitList = new ArrayList<>();
@@ -169,6 +170,8 @@ public class HomeActivity extends BaseActivity implements HomeView, StatusScanAd
169 170
             startActivity(intent);
170 171
         });
171 172
 
173
+        binding.refresh.setOnRefreshListener(this::loadingData);
174
+
172 175
     }
173 176
 
174 177
     @Override
@@ -179,12 +182,15 @@ public class HomeActivity extends BaseActivity implements HomeView, StatusScanAd
179 182
 
180 183
     @Override
181 184
     public void showDataPermit(List<DataEntryPermit> dataEntryPermitList) {
185
+        entryPermitList.clear();
182 186
         entryPermitList.addAll(dataEntryPermitList);
183 187
         setDataPermit();
184 188
     }
185 189
 
186 190
     @Override
187 191
     public void showDataStatusScan(List<DataDetail> dataStatusScanList) {
192
+        binding.refresh.setRefreshing(false);
193
+        statusScanList.clear();
188 194
         statusScanList.addAll(dataStatusScanList);
189 195
         scanAdapter.updateDetailList(statusScanList);
190 196
         scanAdapter.notifyDataSetChanged();
@@ -204,7 +210,8 @@ public class HomeActivity extends BaseActivity implements HomeView, StatusScanAd
204 210
 
205 211
     @Override
206 212
     public void showError(Throwable e) {
207
-        Toast.makeText(HomeActivity.this, "Failed get data", Toast.LENGTH_SHORT).show();
213
+        binding.refresh.setRefreshing(false);
214
+        Toast.makeText(HomeActivity.this, "Failed get data, try refresh again", Toast.LENGTH_SHORT).show();
208 215
         Timber.i("DEVELOPER : %s", e.getMessage());
209 216
     }
210 217
 

+ 32 - 4
app/src/main/java/com/fusi24/rfid/ui/scanresult/ScanResultActivity.java

@@ -4,8 +4,10 @@ import android.annotation.SuppressLint;
4 4
 import android.content.Intent;
5 5
 import android.os.Bundle;
6 6
 import android.view.View;
7
+import android.widget.TextView;
7 8
 import android.widget.Toast;
8 9
 
10
+import androidx.appcompat.widget.Toolbar;
9 11
 import androidx.recyclerview.widget.DefaultItemAnimator;
10 12
 import androidx.recyclerview.widget.DividerItemDecoration;
11 13
 import androidx.recyclerview.widget.LinearLayoutManager;
@@ -17,7 +19,7 @@ import com.fusi24.rfid.base.BaseActivity;
17 19
 import com.fusi24.rfid.config.Constant;
18 20
 import com.fusi24.rfid.data.entity.DataProblems;
19 21
 import com.fusi24.rfid.data.entity.DataResultRfid;
20
-import com.fusi24.rfid.databinding.ActivityScanResultBinding;
22
+import com.fusi24.rfid.databinding.ActivityScanResultNewBinding;
21 23
 import com.fusi24.rfid.ui.home.HomeActivity;
22 24
 
23 25
 import java.util.ArrayList;
@@ -37,15 +39,27 @@ public class ScanResultActivity extends BaseActivity implements ScanResultView {
37 39
     private ScanResultAdapter adapter;
38 40
     private List<DataProblems> problemsList;
39 41
     private String dataUrl, numberRfid, numberRfidTemp, idPermit, idDevice, idCheckType, checkTypeName, longLat;
40
-    private ActivityScanResultBinding binding;
42
+    private ActivityScanResultNewBinding binding;
41 43
 
42 44
     @Override
43 45
     protected void onCreate(Bundle savedInstanceState) {
44 46
         super.onCreate(savedInstanceState);
45
-        binding = ActivityScanResultBinding.inflate(getLayoutInflater());
47
+        binding = ActivityScanResultNewBinding.inflate(getLayoutInflater());
46 48
         View view = binding.getRoot();
47 49
         setContentView(view);
48 50
 
51
+        Toolbar toolbar = findViewById(R.id.toolbar);
52
+        TextView toolbarTitle = findViewById(R.id.toolbar_text);
53
+
54
+        if(toolbarTitle !=null && toolbar !=null) {
55
+            toolbarTitle.setText(getString(R.string.app_name));
56
+            setSupportActionBar(toolbar);
57
+        }
58
+
59
+        if (getSupportActionBar() != null){
60
+            getSupportActionBar().setDisplayShowTitleEnabled(false);
61
+        }
62
+
49 63
         presenter = new ScanResultPresenter(
50 64
                 getManager(), getAndroidScheduler(), getProcessScheduler());
51 65
         presenter.attachView(this);
@@ -74,12 +88,13 @@ public class ScanResultActivity extends BaseActivity implements ScanResultView {
74 88
 
75 89
         initView();
76 90
         loadingdata();
91
+        setStatusScan();
77 92
         initEvent();
78 93
     }
79 94
 
80 95
     @SuppressLint("SetTextI18n")
81 96
     private void initView() {
82
-        binding.tvRfidNumber.setText("Nomor RFID : " + numberRfid);
97
+        binding.tvRfidNumber.setText(numberRfid);
83 98
 
84 99
         problemsList = new ArrayList<>();
85 100
         adapter = new ScanResultAdapter(this);
@@ -107,6 +122,19 @@ public class ScanResultActivity extends BaseActivity implements ScanResultView {
107 122
         binding.btnScanAgain.setOnClickListener(v -> finish());
108 123
     }
109 124
 
125
+    private void setStatusScan(){
126
+        switch (Integer.parseInt(idCheckType)){
127
+            case 649 :
128
+                binding.tvStatusScan.setBackground(getDrawable(R.drawable.bg_green));
129
+                break;
130
+            case 650 :
131
+            default:
132
+                binding.tvStatusScan.setBackground(getDrawable(R.drawable.bg_blue));
133
+                break;
134
+        }
135
+        binding.tvStatusScan.setText(checkTypeName);
136
+    }
137
+
110 138
     @Override
111 139
     public void showDataRfid(DataResultRfid dataResultRfid) {
112 140
 

+ 5 - 0
app/src/main/res/drawable/bg_blue.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
3
+    <solid android:color="@color/colorBlueDark" />
4
+    <corners android:radius="15dp"/>
5
+</shape>

+ 4 - 0
app/src/main/res/drawable/bg_blue_no_rad.xml

@@ -0,0 +1,4 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
3
+    <solid android:color="@color/colorBlueDark" />
4
+</shape>

+ 5 - 0
app/src/main/res/drawable/bg_red.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
3
+    <solid android:color="@color/colorRedDark" />
4
+    <corners android:radius="15dp"/>
5
+</shape>

+ 243 - 229
app/src/main/res/layout/activity_home.xml

@@ -8,239 +8,253 @@
8 8
 
9 9
     <include layout="@layout/default_toolbar"/>
10 10
 
11
-    <RelativeLayout
11
+    <androidx.coordinatorlayout.widget.CoordinatorLayout
12 12
         android:layout_width="match_parent"
13 13
         android:layout_height="wrap_content">
14 14
 
15
-        <LinearLayout
16
-            android:id="@+id/ll_rfid_user"
17
-            android:layout_marginStart="16dp"
18
-            android:layout_marginTop="24dp"
15
+        <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
16
+            android:id="@+id/refresh"
19 17
             android:layout_width="match_parent"
20
-            android:layout_height="wrap_content"
21
-            android:orientation="horizontal">
22
-
23
-            <TextView
24
-                android:textSize="14sp"
25
-                android:textColor="@color/colorBlack"
26
-                android:layout_width="230dp"
27
-                android:layout_height="wrap_content"
28
-                android:layout_marginEnd="2dp"
29
-                android:layout_marginLeft="2dp"
30
-                android:layout_marginRight="2dp"
31
-                android:layout_weight="1"
32
-                android:textStyle="bold"
33
-                android:text="@string/label_number_rfid" />
34
-
35
-            <TextView
36
-                android:id="@+id/tv_rfid_gun_id"
37
-                android:layout_width="match_parent"
38
-                android:layout_height="wrap_content"
39
-                android:layout_marginStart="12dp"
40
-                android:layout_weight="1"
41
-                android:textSize="14sp"
42
-                android:textColor="@color/colorBlack"
43
-                tools:text="RFID-AN70-N650" />
44
-        </LinearLayout>
45
-
46
-        <LinearLayout
47
-            android:id="@+id/ll_rfid_card"
48
-            android:layout_marginStart="16dp"
49
-            android:layout_marginTop="12dp"
50
-            android:layout_width="match_parent"
51
-            android:layout_height="wrap_content"
52
-            android:layout_below="@+id/ll_rfid_user"
53
-            android:orientation="horizontal">
54
-            <TextView
55
-                android:textSize="14sp"
56
-                android:textColor="@color/colorBlack"
57
-                android:layout_width="230dp"
58
-                android:layout_height="wrap_content"
59
-                android:layout_marginEnd="2dp"
60
-                android:layout_marginLeft="2dp"
61
-                android:layout_marginRight="2dp"
62
-                android:layout_weight="1"
63
-                android:textStyle="bold"
64
-                android:text="@string/label_number_rfid_card" />
65
-
66
-            <TextView
67
-                android:id="@+id/tv_rfid_card_number"
68
-                android:layout_width="match_parent"
69
-                android:layout_height="wrap_content"
70
-                android:layout_weight="1"
71
-                android:layout_marginStart="12dp"
72
-                android:textSize="14sp"
73
-                android:textColor="@color/colorBlack"
74
-                tools:text="0009449244" />
75
-        </LinearLayout>
76
-
77
-        <LinearLayout
78
-            android:id="@+id/ll_employee"
79
-            android:layout_marginStart="16dp"
80
-            android:layout_marginTop="12dp"
81
-            android:layout_width="match_parent"
82
-            android:layout_height="wrap_content"
83
-            android:layout_below="@+id/ll_rfid_card"
84
-            android:orientation="horizontal">
85
-            <TextView
86
-                android:textSize="14sp"
87
-                android:textColor="@color/colorBlack"
88
-                android:layout_width="230dp"
89
-                android:layout_height="wrap_content"
90
-                android:layout_marginEnd="2dp"
91
-                android:layout_marginLeft="2dp"
92
-                android:layout_marginRight="2dp"
93
-                android:layout_weight="1"
94
-                android:textStyle="bold"
95
-                android:text="@string/label_employee_name" />
96
-
97
-            <TextView
98
-                android:id="@+id/tv_employee_name"
99
-                android:layout_width="match_parent"
100
-                android:layout_height="wrap_content"
101
-                android:layout_weight="1"
102
-                android:layout_marginStart="12dp"
103
-                android:textSize="14sp"
104
-                android:textColor="@color/colorBlack"
105
-                tools:text="Deddy Corbuzier" />
106
-        </LinearLayout>
107
-
108
-        <LinearLayout
109
-            android:id="@+id/ll_gate"
110
-            android:layout_marginStart="16dp"
111
-            android:layout_marginTop="12dp"
112
-            android:layout_width="match_parent"
113
-            android:layout_height="wrap_content"
114
-            android:layout_below="@+id/ll_employee"
115
-            android:orientation="horizontal">
116
-            <TextView
117
-                android:textSize="14sp"
118
-                android:textColor="@color/colorBlack"
119
-                android:layout_width="230dp"
120
-                android:layout_height="wrap_content"
121
-                android:layout_marginEnd="2dp"
122
-                android:layout_marginLeft="2dp"
123
-                android:layout_marginRight="2dp"
124
-                android:layout_weight="1"
125
-                android:textStyle="bold"
126
-                android:text="@string/label_gate" />
127
-
128
-            <TextView
129
-                android:id="@+id/tv_gate_name"
130
-                android:layout_width="match_parent"
131
-                android:layout_height="wrap_content"
132
-                android:layout_weight="1"
133
-                android:layout_marginStart="12dp"
134
-                android:textSize="14sp"
135
-                android:textColor="@color/colorBlack"
136
-                tools:text="Crown Palace" />
137
-        </LinearLayout>
138
-
139
-        <LinearLayout
140
-            android:id="@+id/ll_site"
141
-            android:layout_marginStart="16dp"
142
-            android:layout_marginTop="12dp"
143
-            android:layout_width="match_parent"
144
-            android:layout_height="wrap_content"
145
-            android:layout_below="@+id/ll_gate"
146
-            android:orientation="horizontal">
147
-            <TextView
148
-                android:textSize="14sp"
149
-                android:textColor="@color/colorBlack"
150
-                android:layout_width="230dp"
151
-                android:layout_height="wrap_content"
152
-                android:layout_marginEnd="2dp"
153
-                android:layout_marginLeft="2dp"
154
-                android:layout_marginRight="2dp"
155
-                android:layout_weight="1"
156
-                android:textStyle="bold"
157
-                android:text="@string/label_site" />
158
-
159
-            <androidx.recyclerview.widget.RecyclerView
160
-                android:id="@+id/rv_site"
18
+            android:layout_height="wrap_content">
19
+
20
+            <RelativeLayout
161 21
                 android:layout_width="match_parent"
162
-                android:layout_height="wrap_content"
163
-                android:layout_weight="1"
164
-                android:layout_marginStart="12dp"
165
-                android:textSize="14sp"
166
-                android:textColor="@color/colorBlack"
167
-                tools:listitem="@layout/row_site"
168
-                tools:itemCount="3"/>
169
-        </LinearLayout>
170
-
171
-        <LinearLayout
172
-            android:id="@+id/ll_permit"
173
-            android:layout_marginStart="16dp"
174
-            android:layout_marginTop="12dp"
175
-            android:layout_width="match_parent"
176
-            android:layout_height="wrap_content"
177
-            android:layout_below="@+id/ll_site"
178
-            android:orientation="horizontal">
179
-            <TextView
180
-                android:textSize="14sp"
181
-                android:textColor="@color/colorBlack"
182
-                android:layout_width="0dp"
183
-                android:layout_height="wrap_content"
184
-                android:layout_marginEnd="2dp"
185
-                android:layout_marginLeft="2dp"
186
-                android:layout_marginRight="2dp"
187
-                android:layout_weight="1"
188
-                android:textStyle="bold"
189
-                android:text="@string/label_entry_ermit" />
190
-
191
-            <androidx.appcompat.widget.AppCompatSpinner
192
-                android:id="@+id/spinner_permit"
193
-                android:layout_width="165dp"
194
-                android:layout_height="wrap_content"
195
-                android:layout_marginStart="12dp"
196
-                android:layout_marginEnd="12dp"
197
-                style="@style/spinner_style" />
198
-        </LinearLayout>
199
-
200
-        <LinearLayout
201
-            android:id="@+id/ll_status_scan"
202
-            android:layout_marginStart="16dp"
203
-            android:layout_marginTop="12dp"
204
-            android:layout_width="match_parent"
205
-            android:layout_height="wrap_content"
206
-            android:layout_below="@+id/ll_permit"
207
-            android:orientation="horizontal">
208
-            <TextView
209
-                android:textSize="14sp"
210
-                android:textColor="@color/colorBlack"
211
-                android:layout_width="0dp"
212
-                android:layout_height="wrap_content"
213
-                android:layout_marginEnd="2dp"
214
-                android:layout_marginLeft="2dp"
215
-                android:layout_marginRight="2dp"
216
-                android:layout_weight="1"
217
-                android:textStyle="bold"
218
-                android:text="@string/label_scan_status" />
219
-
220
-            <androidx.recyclerview.widget.RecyclerView
221
-                android:id="@+id/rv_status_scan"
222
-                android:layout_width="175dp"
223
-                android:layout_height="wrap_content"
224
-                android:layout_marginStart="12dp"
225
-                android:layout_marginEnd="12dp"
226
-                tools:listitem="@layout/row_status_scan"
227
-                tools:itemCount="2"/>
228
-
229
-        </LinearLayout>
230
-
231
-        <Button
232
-            android:id="@+id/btn_scan"
233
-            style="@style/ButtonCommon"
234
-            android:layout_width="match_parent"
235
-            android:layout_height="wrap_content"
236
-            android:layout_below="@+id/ll_status_scan"
237
-            android:layout_alignParentStart="true"
238
-            android:layout_alignParentEnd="true"
239
-            android:layout_marginStart="16dp"
240
-            android:layout_marginTop="24dp"
241
-            android:layout_marginEnd="16dp"
242
-            android:text="@string/label_btn_scan" />
243
-
244
-    </RelativeLayout>
22
+                android:layout_height="wrap_content">
23
+
24
+                <LinearLayout
25
+                    android:id="@+id/ll_rfid_user"
26
+                    android:layout_marginStart="16dp"
27
+                    android:layout_marginTop="24dp"
28
+                    android:layout_width="match_parent"
29
+                    android:layout_height="wrap_content"
30
+                    android:orientation="horizontal">
31
+
32
+                    <TextView
33
+                        android:textSize="14sp"
34
+                        android:textColor="@color/colorBlack"
35
+                        android:layout_width="230dp"
36
+                        android:layout_height="wrap_content"
37
+                        android:layout_marginEnd="2dp"
38
+                        android:layout_marginLeft="2dp"
39
+                        android:layout_marginRight="2dp"
40
+                        android:layout_weight="1"
41
+                        android:textStyle="bold"
42
+                        android:text="@string/label_number_rfid" />
43
+
44
+                    <TextView
45
+                        android:id="@+id/tv_rfid_gun_id"
46
+                        android:layout_width="match_parent"
47
+                        android:layout_height="wrap_content"
48
+                        android:layout_marginStart="12dp"
49
+                        android:layout_weight="1"
50
+                        android:textSize="14sp"
51
+                        android:textColor="@color/colorBlack"
52
+                        tools:text="RFID-AN70-N650" />
53
+                </LinearLayout>
54
+
55
+                <LinearLayout
56
+                    android:id="@+id/ll_rfid_card"
57
+                    android:layout_marginStart="16dp"
58
+                    android:layout_marginTop="12dp"
59
+                    android:layout_width="match_parent"
60
+                    android:layout_height="wrap_content"
61
+                    android:layout_below="@+id/ll_rfid_user"
62
+                    android:orientation="horizontal">
63
+                    <TextView
64
+                        android:textSize="14sp"
65
+                        android:textColor="@color/colorBlack"
66
+                        android:layout_width="230dp"
67
+                        android:layout_height="wrap_content"
68
+                        android:layout_marginEnd="2dp"
69
+                        android:layout_marginLeft="2dp"
70
+                        android:layout_marginRight="2dp"
71
+                        android:layout_weight="1"
72
+                        android:textStyle="bold"
73
+                        android:text="@string/label_number_rfid_card" />
74
+
75
+                    <TextView
76
+                        android:id="@+id/tv_rfid_card_number"
77
+                        android:layout_width="match_parent"
78
+                        android:layout_height="wrap_content"
79
+                        android:layout_weight="1"
80
+                        android:layout_marginStart="12dp"
81
+                        android:textSize="14sp"
82
+                        android:textColor="@color/colorBlack"
83
+                        tools:text="0009449244" />
84
+                </LinearLayout>
85
+
86
+                <LinearLayout
87
+                    android:id="@+id/ll_employee"
88
+                    android:layout_marginStart="16dp"
89
+                    android:layout_marginTop="12dp"
90
+                    android:layout_width="match_parent"
91
+                    android:layout_height="wrap_content"
92
+                    android:layout_below="@+id/ll_rfid_card"
93
+                    android:orientation="horizontal">
94
+                    <TextView
95
+                        android:textSize="14sp"
96
+                        android:textColor="@color/colorBlack"
97
+                        android:layout_width="230dp"
98
+                        android:layout_height="wrap_content"
99
+                        android:layout_marginEnd="2dp"
100
+                        android:layout_marginLeft="2dp"
101
+                        android:layout_marginRight="2dp"
102
+                        android:layout_weight="1"
103
+                        android:textStyle="bold"
104
+                        android:text="@string/label_employee_name" />
105
+
106
+                    <TextView
107
+                        android:id="@+id/tv_employee_name"
108
+                        android:layout_width="match_parent"
109
+                        android:layout_height="wrap_content"
110
+                        android:layout_weight="1"
111
+                        android:layout_marginStart="12dp"
112
+                        android:textSize="14sp"
113
+                        android:textColor="@color/colorBlack"
114
+                        tools:text="Deddy Corbuzier" />
115
+                </LinearLayout>
116
+
117
+                <LinearLayout
118
+                    android:id="@+id/ll_gate"
119
+                    android:layout_marginStart="16dp"
120
+                    android:layout_marginTop="12dp"
121
+                    android:layout_width="match_parent"
122
+                    android:layout_height="wrap_content"
123
+                    android:layout_below="@+id/ll_employee"
124
+                    android:orientation="horizontal">
125
+                    <TextView
126
+                        android:textSize="14sp"
127
+                        android:textColor="@color/colorBlack"
128
+                        android:layout_width="230dp"
129
+                        android:layout_height="wrap_content"
130
+                        android:layout_marginEnd="2dp"
131
+                        android:layout_marginLeft="2dp"
132
+                        android:layout_marginRight="2dp"
133
+                        android:layout_weight="1"
134
+                        android:textStyle="bold"
135
+                        android:text="@string/label_gate" />
136
+
137
+                    <TextView
138
+                        android:id="@+id/tv_gate_name"
139
+                        android:layout_width="match_parent"
140
+                        android:layout_height="wrap_content"
141
+                        android:layout_weight="1"
142
+                        android:layout_marginStart="12dp"
143
+                        android:textSize="14sp"
144
+                        android:textColor="@color/colorBlack"
145
+                        android:text="@string/label_strip"
146
+                        tools:text="Crown Palace" />
147
+                </LinearLayout>
148
+
149
+                <LinearLayout
150
+                    android:id="@+id/ll_site"
151
+                    android:layout_marginStart="16dp"
152
+                    android:layout_marginTop="12dp"
153
+                    android:layout_width="match_parent"
154
+                    android:layout_height="wrap_content"
155
+                    android:layout_below="@+id/ll_gate"
156
+                    android:orientation="horizontal">
157
+                    <TextView
158
+                        android:textSize="14sp"
159
+                        android:textColor="@color/colorBlack"
160
+                        android:layout_width="230dp"
161
+                        android:layout_height="wrap_content"
162
+                        android:layout_marginEnd="2dp"
163
+                        android:layout_marginLeft="2dp"
164
+                        android:layout_marginRight="2dp"
165
+                        android:layout_weight="1"
166
+                        android:textStyle="bold"
167
+                        android:text="@string/label_site" />
168
+
169
+                    <androidx.recyclerview.widget.RecyclerView
170
+                        android:id="@+id/rv_site"
171
+                        android:layout_width="match_parent"
172
+                        android:layout_height="wrap_content"
173
+                        android:layout_weight="1"
174
+                        android:layout_marginStart="12dp"
175
+                        android:textSize="14sp"
176
+                        android:textColor="@color/colorBlack"
177
+                        tools:listitem="@layout/row_site"
178
+                        tools:itemCount="3"/>
179
+                </LinearLayout>
180
+
181
+                <LinearLayout
182
+                    android:id="@+id/ll_permit"
183
+                    android:layout_marginStart="16dp"
184
+                    android:layout_marginTop="12dp"
185
+                    android:layout_width="match_parent"
186
+                    android:layout_height="wrap_content"
187
+                    android:layout_below="@+id/ll_site"
188
+                    android:orientation="horizontal">
189
+                    <TextView
190
+                        android:textSize="14sp"
191
+                        android:textColor="@color/colorBlack"
192
+                        android:layout_width="0dp"
193
+                        android:layout_height="wrap_content"
194
+                        android:layout_marginEnd="2dp"
195
+                        android:layout_marginLeft="2dp"
196
+                        android:layout_marginRight="2dp"
197
+                        android:layout_weight="1"
198
+                        android:textStyle="bold"
199
+                        android:text="@string/label_entry_ermit" />
200
+
201
+                    <androidx.appcompat.widget.AppCompatSpinner
202
+                        android:id="@+id/spinner_permit"
203
+                        android:layout_width="165dp"
204
+                        android:layout_height="wrap_content"
205
+                        android:layout_marginStart="12dp"
206
+                        android:layout_marginEnd="12dp"
207
+                        style="@style/spinner_style" />
208
+                </LinearLayout>
209
+
210
+                <LinearLayout
211
+                    android:id="@+id/ll_status_scan"
212
+                    android:layout_marginStart="16dp"
213
+                    android:layout_marginTop="12dp"
214
+                    android:layout_width="match_parent"
215
+                    android:layout_height="wrap_content"
216
+                    android:layout_below="@+id/ll_permit"
217
+                    android:orientation="horizontal">
218
+                    <TextView
219
+                        android:textSize="14sp"
220
+                        android:textColor="@color/colorBlack"
221
+                        android:layout_width="0dp"
222
+                        android:layout_height="wrap_content"
223
+                        android:layout_marginEnd="2dp"
224
+                        android:layout_marginLeft="2dp"
225
+                        android:layout_marginRight="2dp"
226
+                        android:layout_weight="1"
227
+                        android:textStyle="bold"
228
+                        android:text="@string/label_scan_status" />
229
+
230
+                    <androidx.recyclerview.widget.RecyclerView
231
+                        android:id="@+id/rv_status_scan"
232
+                        android:layout_width="175dp"
233
+                        android:layout_height="wrap_content"
234
+                        android:layout_marginStart="12dp"
235
+                        android:layout_marginEnd="12dp"
236
+                        tools:listitem="@layout/row_status_scan"
237
+                        tools:itemCount="2"/>
238
+
239
+                </LinearLayout>
240
+
241
+                <Button
242
+                    android:id="@+id/btn_scan"
243
+                    style="@style/ButtonCommon"
244
+                    android:layout_width="match_parent"
245
+                    android:layout_height="wrap_content"
246
+                    android:layout_below="@+id/ll_status_scan"
247
+                    android:layout_alignParentStart="true"
248
+                    android:layout_alignParentEnd="true"
249
+                    android:layout_marginStart="16dp"
250
+                    android:layout_marginTop="24dp"
251
+                    android:layout_marginEnd="16dp"
252
+                    android:text="@string/label_btn_scan" />
253
+
254
+            </RelativeLayout>
255
+
256
+        </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
257
+
258
+    </androidx.coordinatorlayout.widget.CoordinatorLayout>
245 259
 
246 260
 </LinearLayout>

+ 0 - 95
app/src/main/res/layout/activity_main.xml

@@ -1,95 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
-    xmlns:tools="http://schemas.android.com/tools"
4
-    android:layout_width="match_parent"
5
-    android:layout_height="match_parent"
6
-    tools:context=".MainActivity">
7
-
8
-    <ImageView
9
-        android:id="@+id/iv_logo_hse"
10
-        android:layout_width="64dp"
11
-        android:layout_height="64dp"
12
-        android:layout_alignParentStart="true"
13
-        android:layout_alignParentTop="true"
14
-        android:layout_alignParentEnd="true"
15
-        android:layout_marginStart="0dp"
16
-        android:layout_marginTop="32dp"
17
-        android:layout_marginEnd="0dp"
18
-        android:src="@drawable/logo_hse_autimation" />
19
-
20
-    <TextView
21
-        android:id="@+id/tv_title_label"
22
-        android:layout_width="match_parent"
23
-        android:layout_height="wrap_content"
24
-        android:layout_below="@+id/iv_logo_hse"
25
-        android:layout_alignParentStart="true"
26
-        android:layout_alignParentEnd="true"
27
-        android:layout_marginTop="16dp"
28
-        android:layout_marginStart="0dp"
29
-        android:layout_marginEnd="0dp"
30
-        android:gravity="center"
31
-        style="@style/HeaderText"
32
-        android:text="@string/label_header_app"/>
33
-
34
-    <androidx.appcompat.widget.AppCompatSpinner
35
-        android:id="@+id/spinner_site"
36
-        android:layout_width="match_parent"
37
-        android:layout_height="wrap_content"
38
-        android:layout_below="@+id/tv_title_label"
39
-        android:layout_alignParentStart="true"
40
-        android:layout_alignParentEnd="true"
41
-        android:layout_marginStart="16dp"
42
-        android:layout_marginTop="32dp"
43
-        android:layout_marginEnd="16dp"
44
-        android:layout_marginBottom="0dp"
45
-        style="@style/spinner_style" />
46
-
47
-    <androidx.appcompat.widget.AppCompatSpinner
48
-        android:id="@+id/spinner_permit"
49
-        android:layout_width="match_parent"
50
-        android:layout_height="wrap_content"
51
-        android:layout_below="@+id/spinner_site"
52
-        android:layout_alignParentStart="true"
53
-        android:layout_alignParentEnd="true"
54
-        android:layout_marginStart="16dp"
55
-        android:layout_marginTop="32dp"
56
-        android:layout_marginEnd="16dp"
57
-        android:layout_marginBottom="0dp"
58
-        style="@style/spinner_style" />
59
-
60
-    <Button
61
-        android:id="@+id/btn_scan"
62
-        style="@style/ButtonCommon"
63
-        android:layout_width="match_parent"
64
-        android:layout_height="wrap_content"
65
-        android:layout_below="@+id/spinner_permit"
66
-        android:layout_alignParentStart="true"
67
-        android:layout_alignParentEnd="true"
68
-        android:layout_marginStart="16dp"
69
-        android:layout_marginTop="32dp"
70
-        android:layout_marginEnd="16dp"
71
-        android:text="@string/label_btn_scan" />
72
-
73
-    <TextView
74
-        android:id="@+id/tv_company_label"
75
-        style="@style/BottomText"
76
-        android:layout_width="match_parent"
77
-        android:layout_height="wrap_content"
78
-        android:layout_alignParentStart="true"
79
-        android:layout_alignParentEnd="true"
80
-        android:layout_alignParentBottom="true"
81
-        android:layout_marginStart="0dp"
82
-        android:layout_marginEnd="0dp"
83
-        android:layout_marginBottom="16dp"
84
-        android:gravity="center"
85
-        android:text="@string/label_company_app" />
86
-
87
-    <TextView
88
-        android:id="@+id/tv_bebas"
89
-        android:layout_width="match_parent"
90
-        android:layout_height="wrap_content"
91
-        android:layout_marginStart="0dp"
92
-        android:layout_marginEnd="0dp"
93
-        tools:text="bebas"/>
94
-
95
-</RelativeLayout>

+ 49 - 28
app/src/main/res/layout/activity_scan.xml

@@ -1,37 +1,58 @@
1 1
 <?xml version="1.0" encoding="utf-8"?>
2
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 3
     xmlns:tools="http://schemas.android.com/tools"
4 4
     android:layout_width="match_parent"
5 5
     android:layout_height="match_parent"
6
+    android:orientation="vertical"
6 7
     tools:context=".ui.ScanActivity">
7 8
 
8
-    <androidx.appcompat.widget.AppCompatToggleButton
9
-        android:id="@+id/toggle_scan"
10
-        android:layout_width="wrap_content"
11
-        android:layout_height="wrap_content"
12
-        style="@style/ToggleCommon"
13
-        android:checked="true"
14
-        android:textOff="@string/label_scanner_off"
15
-        android:textOn="@string/label_scanner_on"
16
-        android:layout_alignParentStart="true"
17
-        android:layout_alignParentTop="true"
18
-        android:layout_marginStart="16dp"
19
-        android:layout_marginTop="16dp"/>
9
+    <include layout="@layout/default_toolbar"/>
20 10
 
21
-    <TextView
22
-        android:id="@+id/tv_title_label"
23
-        style="@style/BodyText"
11
+    <RelativeLayout
24 12
         android:layout_width="match_parent"
25
-        android:layout_height="wrap_content"
26
-        android:layout_alignParentStart="true"
27
-        android:layout_alignParentTop="true"
28
-        android:layout_alignParentEnd="true"
29
-        android:layout_alignParentBottom="true"
30
-        android:layout_marginStart="0dp"
31
-        android:layout_marginTop="0dp"
32
-        android:layout_marginEnd="0dp"
33
-        android:layout_marginBottom="0dp"
34
-        android:gravity="center"
35
-        android:text="@string/label_info_scan" />
13
+        android:layout_height="wrap_content">
36 14
 
37
-</RelativeLayout>
15
+        <TextView
16
+            android:id="@+id/tv_status_scan"
17
+            android:layout_width="160dp"
18
+            android:layout_height="35dp"
19
+            android:gravity="center"
20
+            style="@style/TextAppearance.AppCompat.Body2"
21
+            android:textColor="@color/colorWhite"
22
+            android:background="@drawable/bg_blue"
23
+            android:layout_alignParentStart="true"
24
+            android:layout_alignParentTop="true"
25
+            android:layout_marginStart="16dp"
26
+            android:layout_marginTop="16dp"
27
+            tools:text="Check Out Karyawan"/>
28
+
29
+        <TextView
30
+            android:id="@+id/tv_title_label"
31
+            style="@style/BodyText"
32
+            android:layout_width="match_parent"
33
+            android:layout_height="wrap_content"
34
+            android:layout_alignParentStart="true"
35
+            android:layout_alignParentTop="true"
36
+            android:layout_alignParentEnd="true"
37
+            android:layout_alignParentBottom="true"
38
+            android:layout_marginStart="0dp"
39
+            android:layout_marginTop="0dp"
40
+            android:layout_marginEnd="0dp"
41
+            android:layout_marginBottom="0dp"
42
+            android:gravity="center"
43
+            android:text="@string/label_info_scan" />
44
+
45
+        <androidx.appcompat.widget.AppCompatToggleButton
46
+            android:id="@+id/toggle_scan"
47
+            android:layout_width="match_parent"
48
+            android:layout_height="wrap_content"
49
+            style="@style/ToggleCommon"
50
+            android:checked="true"
51
+            android:textOff="@string/label_scanner_off"
52
+            android:textOn="@string/label_scanner_on"
53
+            android:layout_alignParentBottom="true"
54
+            android:layout_margin="16dp" />
55
+
56
+    </RelativeLayout>
57
+
58
+</LinearLayout>

+ 171 - 0
app/src/main/res/layout/activity_scan_result_new.xml

@@ -0,0 +1,171 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<LinearLayout
3
+    xmlns:android="http://schemas.android.com/apk/res/android"
4
+    xmlns:tools="http://schemas.android.com/tools"
5
+    android:layout_width="match_parent"
6
+    android:layout_height="match_parent"
7
+    android:orientation="vertical"
8
+    tools:context=".ui.scanresult.ScanResultActivity">
9
+
10
+    <include layout="@layout/default_toolbar"/>
11
+
12
+    <ScrollView
13
+        android:layout_width="match_parent"
14
+        android:layout_height="match_parent">
15
+
16
+        <RelativeLayout
17
+            android:layout_width="match_parent"
18
+            android:layout_height="wrap_content">
19
+
20
+            <TextView
21
+                android:id="@+id/tv_status_scan"
22
+                style="@style/CommonText"
23
+                android:layout_width="match_parent"
24
+                android:layout_height="wrap_content"
25
+                android:padding="4dp"
26
+                android:gravity="center"
27
+                android:layout_alignParentStart="true"
28
+                android:layout_alignParentEnd="true"
29
+                android:layout_marginTop="16dp"
30
+                android:layout_marginStart="8dp"
31
+                android:layout_marginEnd="8dp"
32
+                android:background="@drawable/bg_blue_no_rad"
33
+                tools:text="Check Out Karyawan" />
34
+
35
+            <LinearLayout
36
+                android:id="@+id/ll_profile_bio"
37
+                android:layout_width="match_parent"
38
+                android:layout_height="wrap_content"
39
+                android:layout_below="@+id/tv_status_scan"
40
+                android:layout_margin="16dp"
41
+                android:orientation="vertical"
42
+                android:padding="12dp"
43
+                android:background="@drawable/bg_green">
44
+
45
+                <LinearLayout
46
+                    android:layout_width="match_parent"
47
+                    android:layout_height="wrap_content"
48
+                    android:orientation="horizontal"
49
+                    tools:ignore="UselessParent">
50
+
51
+                    <ImageView
52
+                        android:id="@+id/iv_profile_image"
53
+                        android:layout_width="80dp"
54
+                        android:layout_height="80dp"
55
+                        android:layout_marginStart="0dp"
56
+                        android:layout_marginEnd="0dp"
57
+                        android:src="@drawable/ic_profile_default"
58
+                        android:contentDescription="@string/cd_image" />
59
+
60
+                    <LinearLayout
61
+                        android:layout_width="match_parent"
62
+                        android:layout_height="wrap_content"
63
+                        android:orientation="vertical">
64
+
65
+                        <TextView
66
+                            android:id="@+id/tv_rfid_number"
67
+                            style="@style/CommonText"
68
+                            android:layout_width="match_parent"
69
+                            android:layout_height="wrap_content"
70
+                            android:layout_marginStart="8dp"
71
+                            android:gravity="start"
72
+                            tools:text="0009449244" />
73
+
74
+                        <TextView
75
+                            android:id="@+id/tv_profile_name"
76
+                            style="@style/CommonText"
77
+                            android:layout_width="match_parent"
78
+                            android:layout_height="wrap_content"
79
+                            android:layout_marginStart="8dp"
80
+                            android:gravity="start"
81
+                            tools:text="HADYAN EL AUFAR" />
82
+
83
+                        <TextView
84
+                            android:id="@+id/tv_structural_position"
85
+                            style="@style/CommonText"
86
+                            android:layout_width="match_parent"
87
+                            android:layout_height="wrap_content"
88
+                            android:layout_marginStart="8dp"
89
+                            android:gravity="start"
90
+                            tools:text="IT System Development Specialist" />
91
+
92
+                        <TextView
93
+                            android:id="@+id/tv_functional_position"
94
+                            style="@style/CommonText"
95
+                            android:layout_width="match_parent"
96
+                            android:layout_height="wrap_content"
97
+                            android:layout_marginStart="8dp"
98
+                            android:gravity="start"
99
+                            tools:text="Engineer/Specialist" />
100
+
101
+                        <TextView
102
+                            android:id="@+id/tv_company_name"
103
+                            style="@style/CommonText"
104
+                            android:layout_width="match_parent"
105
+                            android:layout_height="wrap_content"
106
+                            android:layout_marginStart="8dp"
107
+                            android:gravity="start"
108
+                            tools:text="PT. Berau Coal Energy" />
109
+
110
+                    </LinearLayout>
111
+
112
+                </LinearLayout>
113
+
114
+            </LinearLayout>
115
+
116
+            <LinearLayout
117
+                android:id="@+id/ll_profile_status"
118
+                android:layout_width="160dp"
119
+                android:layout_height="wrap_content"
120
+                android:layout_below="@id/ll_profile_bio"
121
+                android:layout_alignParentStart="true"
122
+                android:layout_alignParentEnd="true"
123
+                android:layout_marginTop="16dp"
124
+                android:layout_marginStart="100dp"
125
+                android:layout_marginEnd="100dp"
126
+                android:background="@color/colorPrimary">
127
+
128
+                <TextView
129
+                    android:id="@+id/tv_profile_status"
130
+                    style="@style/CommonText"
131
+                    android:layout_width="match_parent"
132
+                    android:layout_height="wrap_content"
133
+                    android:padding="8dp"
134
+                    android:gravity="center"
135
+                    tools:text="PASSED" />
136
+
137
+            </LinearLayout>
138
+
139
+            <androidx.recyclerview.widget.RecyclerView
140
+                android:id="@+id/rv_document_problem"
141
+                android:layout_width="match_parent"
142
+                android:layout_height="wrap_content"
143
+                android:layout_margin="16dp"
144
+                android:layout_below="@+id/ll_profile_status"
145
+                tools:listitem="@layout/row_document"
146
+                tools:itemCount="2"/>
147
+
148
+            <Button
149
+                android:id="@+id/btn_home"
150
+                style="@style/ButtonCommon"
151
+                android:layout_width="120dp"
152
+                android:layout_height="wrap_content"
153
+                android:layout_below="@id/rv_document_problem"
154
+                android:layout_alignParentStart="true"
155
+                android:layout_margin="16dp"
156
+                android:text="@string/label_home" />
157
+
158
+            <Button
159
+                android:id="@+id/btn_scan_again"
160
+                style="@style/ButtonCommon"
161
+                android:layout_width="120dp"
162
+                android:layout_height="wrap_content"
163
+                android:layout_below="@+id/rv_document_problem"
164
+                android:layout_alignParentEnd="true"
165
+                android:layout_margin="16dp"
166
+                android:text="@string/label_scan_other" />
167
+        </RelativeLayout>
168
+
169
+    </ScrollView>
170
+
171
+</LinearLayout>

+ 1 - 1
app/src/main/res/layout/default_toolbar.xml

@@ -37,7 +37,7 @@
37 37
             android:maxLines="1"
38 38
             android:ellipsize="end"
39 39
             android:fontFamily="@font/shadeerah"
40
-            android:layout_gravity="center"/>
40
+            android:layout_gravity="start"/>
41 41
 
42 42
     </androidx.appcompat.widget.Toolbar>
43 43
 

+ 2 - 0
app/src/main/res/layout/row_site.xml

@@ -4,5 +4,7 @@
4 4
     android:id="@+id/tv_common"
5 5
     android:layout_width="match_parent"
6 6
     android:layout_height="wrap_content"
7
+    android:textColor="@color/colorBlack"
7 8
     android:orientation="vertical"
9
+    android:text="@string/label_strip"
8 10
     tools:text="BMO 1" />

+ 1 - 0
app/src/main/res/values/colors.xml

@@ -6,6 +6,7 @@
6 6
 
7 7
     <color name="colorRedDark">#C51616</color>
8 8
     <color name="colorGreenDark">#19771D</color>
9
+    <color name="colorBlueDark">#195677</color>
9 10
 
10 11
     <color name="backgroundInner">#FFFFFF</color>
11 12
     <color name="backgroundOuter">#F5F5F5</color>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -33,5 +33,6 @@
33 33
     <string name="label_site">Site</string>
34 34
     <string name="label_entry_ermit">Izin Masuk</string>
35 35
     <string name="label_scan_status">Status Scan</string>
36
+    <string name="label_strip">-</string>
36 37
 
37 38
 </resources>