From 100514cde677903a870e177c74fdc2a4a080bb22 Mon Sep 17 00:00:00 2001 From: Antoine POPINEAU Date: Fri, 26 Jun 2020 20:03:48 +0200 Subject: [PATCH] Limit the width of the login screen in landscape mode to be easier on the eye. --- .../apognu/otter/activities/LoginActivity.kt | 23 +++++++++++++++++++ app/src/main/res/layout/activity_login.xml | 2 ++ 2 files changed, 25 insertions(+) diff --git a/app/src/main/java/com/github/apognu/otter/activities/LoginActivity.kt b/app/src/main/java/com/github/apognu/otter/activities/LoginActivity.kt index 7e93ffe..a9d37f0 100644 --- a/app/src/main/java/com/github/apognu/otter/activities/LoginActivity.kt +++ b/app/src/main/java/com/github/apognu/otter/activities/LoginActivity.kt @@ -1,10 +1,13 @@ package com.github.apognu.otter.activities import android.content.Intent +import android.content.res.Configuration import android.net.Uri import android.os.Bundle import android.view.View +import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.doOnLayout import androidx.lifecycle.lifecycleScope import com.github.apognu.otter.R import com.github.apognu.otter.fragments.LoginDialog @@ -27,6 +30,8 @@ class LoginActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) + + limitContainerWidth() } override fun onResume() { @@ -79,6 +84,12 @@ class LoginActivity : AppCompatActivity() { } } + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + + limitContainerWidth() + } + private fun authedLogin(hostname: String, username: String, password: String) { val body = mapOf( "username" to username, @@ -180,4 +191,16 @@ class LoginActivity : AppCompatActivity() { } } } + + private fun limitContainerWidth() { + container.doOnLayout { + if (resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && container.width >= 1440) { + container.layoutParams.width = 1440 + } else { + container.layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT + } + + container.requestLayout() + } + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index c93d313..7ca20a1 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -5,8 +5,10 @@ android:background="@color/colorPrimary">