From c89e74205d15646bb96b4e5c401bbe458980e22c Mon Sep 17 00:00:00 2001 From: Josia Pietsch Date: Wed, 11 Sep 2024 13:06:55 +0200 Subject: [PATCH] implemented #6: add option to allow rotation --- app/src/main/AndroidManifest.xml | 17 ++++++----------- .../java/de/jrpie/android/launcher/UIObject.kt | 10 +++++++++- .../preferences/LauncherPreferences$Config.java | 1 + app/src/main/res/layout/home.xml | 11 +++++------ app/src/main/res/values/donottranslate.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/preferences.xml | 3 +++ 7 files changed, 26 insertions(+), 18 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6b4cbae..5ccea00 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,9 +23,8 @@ android:exported="true" android:excludeFromRecents="true" android:clearTaskOnLaunch="true" - android:launchMode="singleTask" - android:screenOrientation="portrait" - tools:ignore="LockedOrientationActivity"> + android:configChanges="orientation|screenSize" + android:launchMode="singleTask" > @@ -35,20 +34,16 @@ + android:configChanges="orientation|screenSize" > + android:windowSoftInputMode="adjustResize" > + android:configChanges="orientation|screenSize" + android:exported="true" > diff --git a/app/src/main/java/de/jrpie/android/launcher/UIObject.kt b/app/src/main/java/de/jrpie/android/launcher/UIObject.kt index 7bf0fd7..f661572 100644 --- a/app/src/main/java/de/jrpie/android/launcher/UIObject.kt +++ b/app/src/main/java/de/jrpie/android/launcher/UIObject.kt @@ -1,6 +1,7 @@ package de.jrpie.android.launcher import android.app.Activity +import android.content.pm.ActivityInfo import android.content.res.Resources import android.os.Build import android.view.Window @@ -38,7 +39,14 @@ fun setWindowFlags(window: Window, homeScreen: Boolean) { interface UIObject { fun onStart() { - if (this is Activity) setWindowFlags(window, isHomeScreen()) + if (this is Activity) { + setWindowFlags(window, isHomeScreen()) + requestedOrientation = if (!LauncherPreferences.display().rotateScreen()) { + ActivityInfo.SCREEN_ORIENTATION_PORTRAIT + } else { + ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED + } + } setOnClicks() adjustLayout() diff --git a/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java b/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java index 10c4b4d..3e67d91 100644 --- a/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java +++ b/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java @@ -39,6 +39,7 @@ import eu.jonahbauer.android.preference.annotations.Preferences; @PreferenceGroup(name = "display", prefix = "settings_display_", suffix = "_key", value = { @Preference(name = "screen_timeout_disabled", type = boolean.class, defaultValue = "false"), @Preference(name = "full_screen", type = boolean.class, defaultValue = "true"), + @Preference(name = "rotate_screen", type = boolean.class, defaultValue = "false"), }), @PreferenceGroup( name = "functionality", prefix = "settings_functionality_", suffix = "_key", value = { @Preference(name = "search_auto_launch", type = boolean.class, defaultValue = "true"), diff --git a/app/src/main/res/layout/home.xml b/app/src/main/res/layout/home.xml index b213078..d61c201 100644 --- a/app/src/main/res/layout/home.xml +++ b/app/src/main/res/layout/home.xml @@ -2,7 +2,6 @@ + app:layout_constraintVertical_bias="0.45" + tools:text="2024-12-24" /> + app:layout_constraintStart_toStartOf="parent" /> \ No newline at end of file diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 4b501ff..96233d5 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -82,6 +82,7 @@ --> display.disable_timeout display.use_full_screen + display.rotate_screen enabled_gestures.double_actions enabled_gestures.edge_actions diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4c9031a..90b1a87 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -96,6 +96,7 @@ Keep screen on Use full screen + Rotate screen Functionality diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 7a32795..c462d8e 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -93,6 +93,9 @@ +