Dola TENG 2 jaren geleden
bovenliggende
commit
bf48080b4f

+ 1 - 5
.idea/misc.xml

@@ -4,6 +4,7 @@
     <option name="filePathToZoomLevelMap">
       <map>
         <entry key="../../../../../../layout/custom_preview.xml" value="0.182370820668693" />
+        <entry key="..\:/3-Work/Android/klaklouk-android/app/src/main/res/layout/activity_login.xml" value="0.36666666666666664" />
         <entry key="..\:/3-Work/Android/klaklouk-android/app/src/main/res/layout/activity_main.xml" value="0.36666666666666664" />
         <entry key="..\:/3-Work/Android/klaklouk-android/app/src/main/res/layout/content_main.xml" value="0.36666666666666664" />
         <entry key="..\:/3-Work/Android/klaklouk-android/app/src/main/res/layout/fragment_cf_betting.xml" value="0.36666666666666664" />
@@ -81,12 +82,7 @@
         <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/activity_splash.xml" value="0.25416666666666665" />
         <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/app_bar.xml" value="0.25416666666666665" />
         <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/fragment_cf_betting.xml" value="0.25416666666666665" />
-        <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/fragment_cf_result.xml" value="0.25416666666666665" />
         <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/fragment_main.xml" value="0.25416666666666665" />
-        <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/fragment_statement.xml" value="0.25416666666666665" />
-        <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/item_report.xml" value="0.25416666666666665" />
-        <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/item_table_report.xml" value="0.25416666666666665" />
-        <entry key="..\:/android/klaklouk-android/app/src/main/res/layout/item_table_statement.xml" value="0.25416666666666665" />
         <entry key="..\:/android/sbc-mobile-master/app/src/main/res/layout/invoice_print.xml" value="0.22826086956521738" />
         <entry key="app/src/main/res/layout/activity_main.xml" value="0.20516304347826086" />
         <entry key="app/src/main/res/layout/app_bar.xml" value="0.20516304347826086" />

+ 1 - 0
app/src/dev/java/com/sambath/klaklouk_main/config/Config.kt

@@ -8,4 +8,5 @@ object Config {
     const val SOCKET_3 = "http://143.198.207.249:30406/klaklouk-3"
     const val SOCKET_4 = "http://143.198.207.249:30406/klaklouk-4"
     const val APP_ID = "62fba94b2efe5521de0c3a34"
+    const val MAIN_APP = "com.khmer9.wa855main"
 }

+ 12 - 11
app/src/main/AndroidManifest.xml

@@ -2,6 +2,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     package="com.sambath.klaklouk_main">
+
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.BLUETOOTH" />
@@ -10,37 +11,37 @@
     <application
         android:name="com.sambath.klaklouk_main.app.App"
         android:allowBackup="false"
+        android:exported="true"
+        android:hardwareAccelerated="true"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
-        android:hardwareAccelerated="true"
         android:supportsRtl="true"
-        android:exported="true"
         android:theme="@style/AppTheme"
         android:usesCleartextTraffic="true"
         tools:targetApi="m">
         <activity
             android:name="com.sambath.klaklouk_main.app.ShareActivity"
-            android:label="@string/app_name"
-            android:exported="true"
             android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
+            android:exported="true"
+            android:label="@string/app_name"
             android:screenOrientation="sensorPortrait"
             android:windowSoftInputMode="adjustResize" />
         <activity
             android:name="com.sambath.klaklouk_main.screen.login.LoginActivity"
-            android:label="@string/app_name"
-            android:exported="true"
             android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
+            android:exported="true"
+            android:label="@string/app_name"
             android:screenOrientation="sensorPortrait"
-            android:windowSoftInputMode="adjustResize"/>
+            android:windowSoftInputMode="adjustResize" />
 
-        <activity android:name="com.sambath.klaklouk_main.screen.splash.SplashScreenActivity"
+        <activity
+            android:name="com.sambath.klaklouk_main.screen.splash.SplashScreenActivity"
             android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
+            android:exported="true"
             android:screenOrientation="sensorPortrait"
-            android:windowSoftInputMode="adjustResize"
-            android:exported="true">
+            android:windowSoftInputMode="adjustResize">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>

+ 1 - 1
app/src/main/java/com/sambath/klaklouk_main/remote/LoginDataModel.kt

@@ -201,7 +201,7 @@ data class UserInfoResponse(
     @Json(name = "message")
     val message: LoginMessage,
     @Json(name = "data")
-    val data: UserInformation?
+    val data: User?
 )
 
 @JsonClass(generateAdapter = true)

+ 41 - 0
app/src/main/java/com/sambath/klaklouk_main/screen/login/LoginActivity.kt

@@ -2,14 +2,19 @@ package com.sambath.klaklouk_main.screen.login
 
 import android.content.Intent
 import android.os.Bundle
+import android.view.View
+import android.widget.Toast
 import androidx.appcompat.app.AppCompatActivity
 import androidx.lifecycle.Observer
 import com.sambath.klaklouk_main.R
 import com.sambath.klaklouk_main.app.App
 import com.sambath.klaklouk_main.app.ShareActivity
+import com.sambath.klaklouk_main.config.Config
+import com.sambath.klaklouk_main.extension.btnClick
 import com.sambath.klaklouk_main.remote.User
 import com.sambath.klaklouk_main.util.Const
 import com.sambath.klaklouk_main.util.ModelPreferencesManager
+import com.sambath.klaklouk_main.util.PrefHelper
 import kotlinx.android.synthetic.main.activity_login.*
 
 class LoginActivity : AppCompatActivity() {
@@ -20,6 +25,34 @@ class LoginActivity : AppCompatActivity() {
         loginViewModel = LoginViewModel(App.injectApiService(), App.injectPrefHelper())
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_login)
+
+        val intent: Intent = getIntent()
+        if (intent.hasExtra("token")) {
+            val token = intent.getStringExtra("token")
+            if (token != null) {
+                val prefHelper: PrefHelper = App.injectPrefHelper()
+                prefHelper.setUserToken(token)
+                loginViewModel.getUser(token)
+            }
+            Toast.makeText(this, R.string.login_success, Toast.LENGTH_LONG).show()
+            progressbar_login.visibility = View.VISIBLE
+        } else {
+            Toast.makeText(this, R.string.login_fail, Toast.LENGTH_LONG).show()
+        }
+
+        back_btn.setOnClickListener {
+            it.btnClick().subscribe() {
+                val launchIntent = packageManager.getLaunchIntentForPackage(Config.MAIN_APP)
+                if (launchIntent != null) {
+                    startActivity(launchIntent)
+                    finish()
+                }
+            }
+        }
+
+        loginViewModel.userState.observe(this, Observer(this::renderUser))
+
+        /////////////////////////////////////////////////////////////////
         user = ModelPreferencesManager.getUser(Const.USER_KEY)
         if (user != null) et_username.setText(user?.userName)
         loginViewModel.state.observe(this, Observer(this::render))
@@ -44,6 +77,14 @@ class LoginActivity : AppCompatActivity() {
         }
     }
 
+    private fun renderUser(state: UserViewState) {
+        if (state.isLoginSuccess) {
+            val intent = Intent(this, ShareActivity::class.java)
+            startActivity(intent)
+            finishAffinity()
+        }
+    }
+
     private fun render(state: LoginViewState) {
         if (state.isProgress) {
             tv_error.text = ""

+ 39 - 0
app/src/main/java/com/sambath/klaklouk_main/screen/login/LoginViewModel.kt

@@ -5,6 +5,7 @@ import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import com.sambath.klaklouk_main.app.getErrorCode
 import com.sambath.klaklouk_main.base.BaseViewModel
+import com.sambath.klaklouk_main.remote.LoginData
 import com.sambath.klaklouk_main.remote.service.ApiService
 import com.sambath.klaklouk_main.remote.LoginRequest
 import com.sambath.klaklouk_main.util.Const
@@ -18,6 +19,44 @@ class LoginViewModel(val apiService: ApiService, val prefHelper: PrefHelper) : B
     private val _state = MutableLiveData<LoginViewState>(LoginViewState())
     val state: LiveData<LoginViewState> = _state
 
+    private val _userState = MutableLiveData<UserViewState>(UserViewState())
+    val userState: LiveData<UserViewState> = _userState
+    private fun prevUser() = _userState.value!!
+
+    fun getUser(token: String) {
+        if (_state.value!!.isProgress) return
+        _state.value = prev().copy(isProgress = true)
+
+        disposables.add(
+            apiService.getUser()
+                .timeout(60, TimeUnit.SECONDS)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe({
+                    if (it.resultCode == "1") {
+                        _userState.value =
+                            prevUser().copy(isProgress = false, isLoginSuccess = true)
+                        getCfSet()
+                        prefHelper.setUserToken(token ?: "")
+                        prefHelper.setChannelType(1)
+                        prefHelper.setMaxBetting(it.data?.amountMax ?: 0)
+                        prefHelper.setMinBetting(it.data?.amountMin ?: 0)
+
+                        val loginData = LoginData(it.data, token)
+                        ModelPreferencesManager.put(loginData, Const.USER_KEY)
+                    } else {
+                        _userState.value = prevUser().copy(
+                            isProgress = false,
+                            error = "[${it.message.description}]"
+                        )
+                    }
+                }, {
+                    val message: String = "ប្រតិបត្តិការមិនជោគជ័យ\n" + it.getErrorCode()
+                    _userState.value = prevUser().copy(isProgress = false, error = message)
+                })
+        )
+    }
+
     fun login(username: String, password: String) {
         if (_state.value!!.isProgress) return
         val request = LoginRequest(username, password)

+ 10 - 0
app/src/main/java/com/sambath/klaklouk_main/screen/login/LoginViewState.kt

@@ -1,8 +1,18 @@
 package com.sambath.klaklouk_main.screen.login
 
+import com.sambath.klaklouk_main.remote.User
+
 data class LoginViewState(
     val initial: Boolean = false,
     val isProgress: Boolean = false,
     val isLoginSuccess: Boolean = false,
     val error: String? = null
+)
+
+data class UserViewState(
+    val initial: Boolean = false,
+    val isProgress: Boolean = false,
+    val isLoginSuccess: Boolean = false,
+    val error: String? = null,
+    val user: User? = null
 )

+ 188 - 123
app/src/main/res/layout/activity_login.xml

@@ -1,149 +1,214 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.appcompat.widget.LinearLayoutCompat 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"
+    android:layout_gravity="center"
     android:background="@color/colorPrimary"
+    android:gravity="center"
+    android:orientation="vertical"
     tools:context=".screen.login.LoginActivity">
 
-    <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/left_guideline"
+    <ImageView
+        android:layout_width="100dp"
+        android:layout_height="100dp"
+        android:adjustViewBounds="true"
+        android:scaleType="fitXY"
+        android:src="@drawable/ic_logo_big" />
+
+    <com.google.android.material.button.MaterialButton
+        android:id="@+id/back_btn"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:orientation="vertical"
-        app:layout_constraintGuide_percent="0.10" />
+        android:backgroundTint="@color/colorPrimaryLight"
+        android:text="@string/back_btn" />
 
-    <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/right_guideline"
+    <ProgressBar
+        android:id="@+id/progressbar_login"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:orientation="vertical"
-        app:layout_constraintGuide_percent="0.90" />
+        android:visibility="invisible" />
 
-    <LinearLayout
-        android:layout_width="0dp"
+    <FrameLayout
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@+id/right_guideline"
-        app:layout_constraintStart_toStartOf="@+id/left_guideline"
-        app:layout_constraintTop_toTopOf="parent">
+        android:visibility="gone">
+
+        <androidx.constraintlayout.widget.Guideline
+            android:id="@+id/left_guideline"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            app:layout_constraintGuide_percent="0.10" />
+
+        <androidx.constraintlayout.widget.Guideline
+            android:id="@+id/right_guideline"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            app:layout_constraintGuide_percent="0.90" />
+
+        <View
+            android:id="@+id/v_bg"
+            android:layout_width="0dp"
+            android:layout_height="350dp"
+            android:background="@drawable/bg_white_login"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="@+id/right_guideline"
+            app:layout_constraintStart_toStartOf="@+id/left_guideline"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <View
+            android:id="@+id/v_header"
+            android:layout_width="0dp"
+            android:layout_height="1dp"
+            android:layout_marginTop="50dp"
+            app:layout_constraintEnd_toEndOf="@+id/right_guideline"
+            app:layout_constraintStart_toStartOf="@+id/left_guideline"
+            app:layout_constraintTop_toTopOf="@+id/v_bg" />
 
         <ImageView
+            android:id="@+id/iv_logo"
             android:layout_width="100dp"
             android:layout_height="100dp"
             android:adjustViewBounds="true"
-            android:src="@drawable/ic_logo_big" />
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="48dp"
+            android:scaleType="fitXY"
+            android:src="@drawable/ic_logo_big"
+            app:layout_constraintBottom_toTopOf="@+id/v_header"
+            app:layout_constraintEnd_toEndOf="@+id/right_guideline"
+            app:layout_constraintStart_toStartOf="@+id/left_guideline" />
+
+        <TextView
+            android:id="@+id/tv_member_label"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
             android:layout_marginTop="8dp"
-            android:background="@color/color_black"
-            android:orientation="horizontal">
-
-            <View
-                android:layout_width="8dp"
-                android:layout_height="match_parent"
-                android:background="@drawable/bg_box_highlight" />
-
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:gravity="center_vertical"
-                android:paddingStart="8dp"
-                android:paddingEnd="8dp"
-                android:text="@string/login_title"
-                android:textColor="@android:color/white"
-                android:textStyle="bold" />
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
+            android:layout_marginBottom="16dp"
+            android:gravity="center"
+            android:text="Member Login"
+            android:textColor="@color/color_black"
+            android:textSize="18sp"
+            android:textStyle="bold"
+            app:layout_constraintEnd_toEndOf="@id/v_bg"
+            app:layout_constraintStart_toStartOf="@+id/v_bg"
+            app:layout_constraintTop_toBottomOf="@id/v_header" />
+
+        <TextView
+            android:id="@+id/tv_username_label"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
-            android:layout_margin="16dp"
-            android:orientation="vertical">
-
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginBottom="8dp"
-                android:gravity="center_vertical"
-                android:text="@string/label_username"
-                android:textColor="@color/color_white"
-                android:textStyle="bold" />
-
-            <com.google.android.material.textfield.TextInputLayout
-                android:id="@+id/til_username"
-                style="@style/BoxInputLayout"
-                android:layout_width="match_parent"
-                android:layout_height="48dp"
-                app:endIconMode="clear_text"
-                app:hintEnabled="false">
-
-                <androidx.appcompat.widget.AppCompatEditText
-                    android:id="@+id/et_username"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:background="@color/color_white"
-                    android:hint="@string/hint_username"
-                    android:inputType="text"
-                    android:maxLength="50"
-                    android:padding="0dp" />
-            </com.google.android.material.textfield.TextInputLayout>
-
-            <TextView
+            android:layout_marginStart="36dp"
+            android:layout_marginTop="20dp"
+            android:text="Username"
+            android:textColor="@color/color_black"
+            app:layout_constraintEnd_toEndOf="@+id/v_bg"
+            app:layout_constraintStart_toStartOf="@+id/v_bg"
+            app:layout_constraintTop_toBottomOf="@id/tv_member_label" />
+
+        <com.google.android.material.textfield.TextInputLayout
+            android:id="@+id/til_username"
+            style="@style/GDTTextInputLayout.ClearText"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginStart="24dp"
+            android:layout_marginTop="4dp"
+            android:layout_marginEnd="24dp"
+            app:boxCornerRadiusBottomEnd="@dimen/login_edit_text_corner"
+            app:boxCornerRadiusBottomStart="@dimen/login_edit_text_corner"
+            app:boxCornerRadiusTopEnd="@dimen/login_edit_text_corner"
+            app:boxCornerRadiusTopStart="@dimen/login_edit_text_corner"
+            app:hintEnabled="false"
+            app:layout_constraintEnd_toEndOf="@+id/v_bg"
+            app:layout_constraintStart_toStartOf="@+id/v_bg"
+            app:layout_constraintTop_toBottomOf="@id/tv_username_label"
+            app:startIconDrawable="@drawable/ic_user1"
+            app:startIconTint="@color/color_login_icon">
+
+            <androidx.appcompat.widget.AppCompatEditText
+                android:id="@+id/et_username"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginTop="16dp"
-                android:layout_marginBottom="8dp"
-                android:gravity="center_vertical"
-                android:text="@string/label_password"
-                android:textColor="@color/color_white"
-                android:textStyle="bold" />
-
-            <com.google.android.material.textfield.TextInputLayout
-                android:id="@+id/til_password"
-                style="@style/BoxInputLayout"
-                android:layout_width="match_parent"
-                android:layout_height="48dp"
-                app:endIconMode="password_toggle"
-                app:endIconTint="@color/color_highlight"
-                app:hintEnabled="false">
-
-                <androidx.appcompat.widget.AppCompatEditText
-                    android:id="@+id/et_password"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:background="@color/color_white"
-                    android:hint="@string/hint_password"
-                    android:inputType="textPassword"
-                    android:maxLength="50"
-                    android:padding="0dp" />
-            </com.google.android.material.textfield.TextInputLayout>
-
-            <TextView
-                android:id="@+id/tv_error"
+                android:layout_height="wrap_content"
+                android:inputType="text"
+                android:maxLength="50"
+                android:padding="0dp"
+                android:textColor="@color/colorPrimary"
+                android:textSize="12sp" />
+        </com.google.android.material.textfield.TextInputLayout>
+
+        <TextView
+            android:id="@+id/tv_password_label"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="36dp"
+            android:layout_marginTop="16dp"
+            android:text="Password"
+            android:textColor="@color/color_black"
+            app:layout_constraintEnd_toEndOf="@+id/v_bg"
+            app:layout_constraintStart_toStartOf="@+id/v_bg"
+            app:layout_constraintTop_toBottomOf="@id/til_username" />
+
+        <com.google.android.material.textfield.TextInputLayout
+            android:id="@+id/til_password"
+            style="@style/GDTTextInputLayout.PasswordToggle"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginStart="24dp"
+            android:layout_marginTop="4dp"
+            android:layout_marginEnd="24dp"
+            app:boxCornerRadiusBottomEnd="@dimen/login_edit_text_corner"
+            app:boxCornerRadiusBottomStart="@dimen/login_edit_text_corner"
+            app:boxCornerRadiusTopEnd="@dimen/login_edit_text_corner"
+            app:boxCornerRadiusTopStart="@dimen/login_edit_text_corner"
+            app:hintEnabled="false"
+            app:layout_constraintEnd_toEndOf="@+id/v_bg"
+            app:layout_constraintStart_toStartOf="@+id/v_bg"
+            app:layout_constraintTop_toBottomOf="@id/tv_password_label"
+            app:startIconDrawable="@drawable/ic_lock"
+            app:startIconTint="@color/color_login_icon">
+
+            <androidx.appcompat.widget.AppCompatEditText
+                android:id="@+id/et_password"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_marginTop="8dp"
-                android:gravity="center"
-                android:textColor="@color/color_red_800" />
+                android:inputType="textPassword"
+                android:maxLength="50"
+                android:padding="0dp"
+                android:textColor="@color/colorPrimary"
+                android:textSize="12sp" />
+        </com.google.android.material.textfield.TextInputLayout>
+
+        <com.google.android.material.button.MaterialButton
+            android:id="@+id/btn_login"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="24dp"
+            android:backgroundTint="@color/colorPrimary"
+            android:gravity="center"
+            android:padding="12dp"
+            android:paddingStart="36dp"
+            android:paddingEnd="36dp"
+            android:text="LOGIN"
+            android:textColor="@color/color_white"
+            android:textSize="16sp"
+            app:cornerRadius="12dp"
+            app:layout_constraintEnd_toEndOf="@+id/v_bg"
+            app:layout_constraintStart_toStartOf="@+id/v_bg"
+            app:layout_constraintTop_toBottomOf="@id/til_password" />
+
+        <TextView
+            android:id="@+id/tv_error"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:gravity="center"
+            android:textColor="@color/color_red_800"
+            app:layout_constraintEnd_toEndOf="@+id/v_bg"
+            app:layout_constraintStart_toStartOf="@+id/v_bg"
+            app:layout_constraintTop_toBottomOf="@id/btn_login" />
+    </FrameLayout>
 
-            <com.google.android.material.button.MaterialButton
-                android:id="@+id/btn_login"
-                android:layout_width="match_parent"
-                android:layout_height="58dp"
-                android:layout_gravity="center"
-                android:layout_marginTop="8dp"
-                android:backgroundTint="@color/color_black"
-                android:gravity="center"
-                android:text="@string/btn_login"
-                android:textColor="@color/color_white"
-                app:cornerRadius="0dp" />
-        </LinearLayout>
-    </LinearLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
+
+</androidx.appcompat.widget.LinearLayoutCompat>

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

@@ -88,6 +88,9 @@
     <string name="number_eight">Number-8</string>
     <string name="label_time">TIME</string>
     <string name="cancel">Cancel</string>
+    <string name="back_btn">ត្រលប់ទៅគេហទំព័រដើម</string>
+    <string name="login_fail">សូមចុចប៊ូតុងខាងលើដើម្បីត្រលប់ទៅកម្មវិធីធំ</string>
+    <string name="login_success">សូមស្វាគមន៍ការចូលកម្មវិធីកំសាន្តរបស់យើង</string>
     <!--    <string name="hello_first_fragment">Hello first fragment</string>-->
     <!--    <string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string>-->
 </resources>

+ 1 - 0
app/src/prod/java/com/sambath/sbc/config/Config.kt

@@ -8,4 +8,5 @@ object Config {
     const val SOCKET_2 = "https://socket.wa855.net/sabong-sl"
     const val SOCKET_3 = "https://socket.wa855.net/sabong-sl-3"
     const val SOCKET_4 = "https://socket.wa855.net/sabong-sl-4"
+    const val MAIN_APP = "com.khmer9.wa855main"
 }