Guest User

Untitled

a guest
Jul 5th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.15 KB | None | 0 0
  1. <LinearLayout
  2. android:id="@+id/toplinear"
  3. android:layout_width="match_parent"
  4. android:layout_below="@id/gif"
  5. android:layout_margin="10dp"
  6. android:layout_height="wrap_content"
  7. android:orientation="vertical">
  8.  
  9. <android.support.design.widget.TextInputLayout
  10. android:layout_width="match_parent"
  11. android:layout_height="wrap_content"
  12. android:id="@+id/user_name_text_input"
  13. android:hint="@string/shr_hint_username">
  14.  
  15. <android.support.design.widget.TextInputEditText
  16. android:layout_width="match_parent"
  17. android:id="@+id/et_username"
  18. android:layout_height="wrap_content" />
  19. </android.support.design.widget.TextInputLayout>
  20.  
  21. <android.support.design.widget.TextInputLayout
  22. android:id="@+id/password_text_input"
  23. android:layout_width="match_parent"
  24. android:layout_height="wrap_content"
  25. android:hint="@string/shr_hint_password"
  26. app:errorEnabled="true">
  27.  
  28. <android.support.design.widget.TextInputEditText
  29. android:id="@+id/et_password"
  30. android:layout_width="match_parent"
  31. android:layout_height="wrap_content" />
  32. </android.support.design.widget.TextInputLayout>
  33.  
  34. <Button
  35. android:id="@+id/bt_login"
  36. android:layout_width="wrap_content"
  37. android:layout_height="wrap_content"
  38. android:layout_gravity="center_horizontal"
  39. android:text="@string/login" />
  40.  
  41.  
  42. </LinearLayout>
  43. class LoginActivity : BaseActivity() {
  44. private lateinit var input_username: String
  45. private lateinit var input_password: String
  46. private var mCompositeDisposable: CompositeDisposable? = null
  47.  
  48.  
  49. override fun onCreate(savedInstanceState: Bundle?) {
  50. super.onCreate(savedInstanceState)
  51. setContentView(R.layout.activity_login)
  52. gifImageView.startAnimation()
  53.  
  54. navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
  55.  
  56. bt_login.setOnClickListener {
  57. hideKeyboard(it)
  58. input_username = et_username.text.toString()
  59. input_password = et_password.text.toString()
  60.  
  61. if (Validation.isEmptyField(input_username)) {
  62. user_name_text_input.error = "UserName should not be Empty! "
  63. } else {
  64. // Clear the error.
  65. user_name_text_input.error = null
  66. }
  67.  
  68.  
  69. if (Validation.isEmptyField(input_password)) {
  70. password_text_input.error = "Password should not be Empty! "
  71.  
  72. } else {
  73. // Clear the error.
  74. password_text_input.error = null
  75. }
  76.  
  77. if(input_password.length>0&&input_username.length>0){
  78. if(isNetworkAvailable()){
  79. showDialogLoading()
  80. mCompositeDisposable = CompositeDisposable()
  81.  
  82. mCompositeDisposable?.add(ApiRequestClient.createREtrofitInstance().getLogin(input_username, input_password,
  83. "2017")
  84. .observeOn(AndroidSchedulers.mainThread())
  85. .subscribeOn(Schedulers.io())
  86. .subscribe(this::handleResponse, this::handleError))
  87. }
  88. else{
  89. showSnackBar("No Internet connection")
  90. }
  91. }
  92.  
  93.  
  94.  
  95.  
  96. }
  97.  
  98.  
  99. et_username.setOnKeyListener { v, keyCode, event ->
  100. if (!Validation.isEmptyField(et_username.text.toString())) {
  101. user_name_text_input.error = null
  102. }
  103.  
  104. false
  105. }
  106.  
  107. et_password.setOnKeyListener { v, keyCode, event ->
  108. if (!Validation.isEmptyField(et_password.text.toString())) {
  109. password_text_input.error = null
  110. }
  111.  
  112. false
  113. }
  114.  
  115. }
  116.  
  117. // handle sucess response of api call
  118. fun handleResponse(responseFromServer: ResponseFromServer) {
  119. hideDialogLoading()
  120. if(responseFromServer.data.status.equals("True")){
  121. showdialog()
  122. }
  123. else{
  124. showSnackBar(responseFromServer.data.message)
  125. }
  126.  
  127. mCompositeDisposable?.clear()
  128.  
  129. }
  130.  
  131. // handle failure response of api call
  132. fun handleError(error: Throwable) {
  133. hideDialogLoading()
  134. showSnackBar(error.localizedMessage)
  135. mCompositeDisposable?.clear()
  136.  
  137. }
  138.  
  139. private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
  140. when (item.itemId) {
  141. R.id.navigation_manual -> {
  142. showToast("ComimgSoon")
  143. return@OnNavigationItemSelectedListener true
  144. }
  145. R.id.navigation_whats_new -> {
  146. showToast("ComimgSoon")
  147. return@OnNavigationItemSelectedListener true
  148. }
  149. R.id.navigation_more -> {
  150. showToast("ComimgSoon")
  151. return@OnNavigationItemSelectedListener true
  152. }
  153. }
  154. false
  155. }
  156.  
  157. fun showdialog() {
  158.  
  159. hideKeyboard(password_text_input)
  160. val dialogBuilder = AlertDialog.Builder(this)
  161.  
  162. // set message of alert dialog
  163. dialogBuilder.setMessage(getString(R.string.remember))
  164. // if the dialog is cancelable
  165. .setCancelable(false)
  166. // positive button text and action
  167. .setPositiveButton(getString(R.string.proceed), DialogInterface.OnClickListener { dialog, id ->
  168. BaseApplication.baseApplicationInstance.getdatamanger().setLoggedIn(true)
  169. launchActivity<HomeActivity>()
  170. finish()
  171. })
  172. // negative button text and action
  173. .setNegativeButton(getString(R.string.cancel), DialogInterface.OnClickListener { dialog, id ->
  174. dialog.cancel()
  175. launchActivity<HomeActivity>()
  176. finish()
  177. })
  178.  
  179. // create dialog box
  180. val alert = dialogBuilder.create()
  181. // show alert dialog
  182. alert.show()
  183.  
  184. }
  185. }
Add Comment
Please, Sign In to add comment