From fc5bf12dac73d2d49bc22036bdbab63d514e4fa9 Mon Sep 17 00:00:00 2001
From: Natthan Krish <natthankrish@Neos-MacBook-Pro.local>
Date: Tue, 2 Apr 2024 11:52:47 +0700
Subject: [PATCH] feat: login orientation

---
 .../bondoman/activities/LoginActivity.kt      | 40 +++++++++++--------
 .../bondoman/activities/MainActivity.kt       |  3 ++
 app/src/main/res/layout/activity_login.xml    |  5 ++-
 3 files changed, 30 insertions(+), 18 deletions(-)

diff --git a/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt b/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt
index 2c8e505..b97bd27 100644
--- a/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt
+++ b/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt
@@ -3,6 +3,7 @@ package com.example.bondoman.activities
 import android.animation.ObjectAnimator
 import android.app.Dialog
 import android.content.Intent
+import android.content.res.Configuration
 import android.graphics.Color
 import android.graphics.drawable.ColorDrawable
 import android.os.Bundle
@@ -12,12 +13,15 @@ import android.view.animation.Animation
 import android.view.animation.AnimationUtils
 import android.view.animation.TranslateAnimation
 import android.util.Log
+import android.view.View
 import android.widget.Button
 import android.widget.EditText
 import android.widget.ImageView
+import android.widget.LinearLayout
 import android.widget.Toast
 import androidx.appcompat.app.AppCompatActivity
 import androidx.cardview.widget.CardView
+import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.lifecycle.lifecycleScope
 import com.example.bondoman.R
 import com.example.bondoman.lib.SecurePreferences
@@ -31,27 +35,18 @@ class LoginActivity : AppCompatActivity() {
     private lateinit var loginButton: Button
     private lateinit var loginRepository: AuthRepository
     private var loadingDialog: Dialog? = null
-
+    private lateinit var layout: LinearLayout;
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_login)
+        layout = findViewById<LinearLayout>(R.id.layout)
 
-        Handler().postDelayed({
-            // Transition to the login screen after SPLASH_DURATION
-            val cardLogin = findViewById<CardView>(R.id.login_card)
-            val logo = findViewById<ImageView>(R.id.imageView)
-
-            val slideUpAnimation = AnimationUtils.loadAnimation(this@LoginActivity, R.anim.slide_up)
-            val finalY = cardLogin.y + (cardLogin.height - logo.height) / 2
-
-            val animatorY = ObjectAnimator.ofFloat(logo, "translationY", 0f + logo.height, finalY)
-            animatorY.duration = 600
-
-            animatorY.start()
-            cardLogin.startAnimation(slideUpAnimation)
-            cardLogin.visibility = CardView.VISIBLE
-        }, 1000)
-
+        val orientation = resources.configuration.orientation
+        if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
+            layout.orientation = LinearLayout.HORIZONTAL
+        } else {
+            layout.orientation = LinearLayout.VERTICAL
+        }
 
         Handler().postDelayed({
             // Transition to the login screen after SPLASH_DURATION
@@ -70,6 +65,7 @@ class LoginActivity : AppCompatActivity() {
         }, 1000)
 
 
+
         val securePreferences = SecurePreferences(this)
         loginRepository = AuthRepository(securePreferences)
         if(securePreferences.getToken() != null){
@@ -87,6 +83,16 @@ class LoginActivity : AppCompatActivity() {
         }
     }
 
+    override fun onConfigurationChanged(newConfig: Configuration) {
+        super.onConfigurationChanged(newConfig)
+        val orientation = newConfig.orientation
+        if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
+            layout.orientation = LinearLayout.HORIZONTAL
+        } else {
+            layout.orientation = LinearLayout.VERTICAL
+        }
+    }
+
     private suspend fun login(email : String, password : String){
         showLoadingDialog()
         val result = loginRepository.login(email, password)
diff --git a/app/src/main/java/com/example/bondoman/activities/MainActivity.kt b/app/src/main/java/com/example/bondoman/activities/MainActivity.kt
index 2b06061..54afb47 100644
--- a/app/src/main/java/com/example/bondoman/activities/MainActivity.kt
+++ b/app/src/main/java/com/example/bondoman/activities/MainActivity.kt
@@ -10,6 +10,7 @@ import android.os.Bundle
 import android.util.Log
 import android.view.MenuItem
 import android.view.View
+import android.widget.LinearLayout
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.fragment.app.Fragment
 import androidx.navigation.findNavController
@@ -30,6 +31,7 @@ class MainActivity : AppCompatActivity() {
     private lateinit var navigationView: NavigationView;
     private lateinit var fragment: NavHostFragment;
 
+
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_main)
@@ -67,6 +69,7 @@ class MainActivity : AppCompatActivity() {
                 >(R.id.bottom_navigation_view)
         val navController = findNavController(R.id.nav_fragment)
         navigationView = findViewById<NavigationView>(R.id.navigation_view)
+
         fragment = supportFragmentManager.findFragmentById(R.id.nav_fragment) as NavHostFragment
         val navFragmentLayoutParams = fragment.view?.layoutParams as ConstraintLayout.LayoutParams
 
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index bbe432c..085884f 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -9,6 +9,7 @@
     android:layout_gravity="center"
     >
     <LinearLayout
+        android:id="@+id/layout"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical"
@@ -21,6 +22,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
+            android:layout_marginHorizontal="30dp"
             app:srcCompat="@drawable/bondoman"
             />
 
@@ -31,6 +33,7 @@
             android:layout_height="wrap_content"
             app:cardCornerRadius="30dp"
             app:cardElevation="4dp"
+            android:layout_marginVertical="20dp"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/imageView"
@@ -41,7 +44,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginHorizontal="20dp"
-                android:layout_marginVertical="30dp"
+                android:layout_marginVertical="20dp"
                 android:orientation="vertical"
                 >
                 <TextView
-- 
GitLab