From a76efc6d553f2c014047e9c84acee819a006b8db Mon Sep 17 00:00:00 2001
From: Rinaldy Adin <16521390@mahasiswa.itb.ac.id>
Date: Fri, 5 Apr 2024 15:14:16 +0700
Subject: [PATCH] fix: lock rotation on all expect graph, error still persist

---
 app/src/main/java/com/example/abe/MainActivity.kt           | 5 +++++
 app/src/main/java/com/example/abe/ui/login/LoginActivity.kt | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/app/src/main/java/com/example/abe/MainActivity.kt b/app/src/main/java/com/example/abe/MainActivity.kt
index 8e5addf..a9a6ee0 100644
--- a/app/src/main/java/com/example/abe/MainActivity.kt
+++ b/app/src/main/java/com/example/abe/MainActivity.kt
@@ -6,6 +6,7 @@ import android.content.BroadcastReceiver
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
+import android.content.pm.ActivityInfo
 import android.os.Bundle
 import android.view.View
 import android.widget.Toast
@@ -93,6 +94,7 @@ class MainActivity : AppCompatActivity(), ExportAlertDialogFragment.ExportAlertD
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
 
+        requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR
         preferenceDataStoreHelper = PreferenceDataStoreHelper(applicationContext)
 
         binding = ActivityMainBinding.inflate(layoutInflater)
@@ -117,6 +119,9 @@ class MainActivity : AppCompatActivity(), ExportAlertDialogFragment.ExportAlertD
         navController.addOnDestinationChangedListener { _, destination, _ ->
             if (destination.id == R.id.navigation_form_transaction) navView.visibility = View.GONE
             else navView.visibility = View.VISIBLE
+
+            if (destination.id == R.id.navigation_graph) requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR
+            else requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
         }
 
         LocalBroadcastManager.getInstance(this).registerReceiver(br, filter)
diff --git a/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt b/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt
index b562f91..e8869b7 100644
--- a/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt
+++ b/app/src/main/java/com/example/abe/ui/login/LoginActivity.kt
@@ -1,6 +1,7 @@
 package com.example.abe.ui.login
 
 import android.content.Intent
+import android.content.pm.ActivityInfo
 import android.os.Bundle
 import android.util.Patterns
 import android.view.View
@@ -65,6 +66,7 @@ class LoginActivity : AppCompatActivity(), LoginResultCallback {
         super.onCreate(savedInstanceState)
         binding = ActivityLoginBinding.inflate(layoutInflater)
 
+        requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
         supportActionBar?.hide()
 
         val view = binding.root
-- 
GitLab