diff --git a/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationController.java b/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationController.java
index a6437dca..c190cc9e 100644
--- a/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationController.java
+++ b/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationController.java
@@ -3,13 +3,9 @@ package com.cappielloantonio.tempo.navigation;
import android.view.View;
import androidx.annotation.NonNull;
-import androidx.annotation.OptIn;
import androidx.appcompat.app.AppCompatActivity;
-import androidx.media3.common.util.UnstableApi;
import androidx.navigation.NavController;
-import com.cappielloantonio.tempo.navigation.NavigationHelper;
-
import com.google.android.material.bottomsheet.BottomSheetBehavior;
public class NavigationController {
@@ -34,6 +30,10 @@ public class NavigationController {
helper.setNavigationDrawerLock(visibility);
}
+ public boolean isNavigationDrawerLocked() {
+ return helper.isNavigationDrawerLocked();
+ }
+
public void toggleDrawerLockOnOrientation(AppCompatActivity activity) {
helper.toggleNavigationDrawerLockOnOrientationChange(activity);
}
diff --git a/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationHelper.java b/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationHelper.java
index b5916f73..fe47f82a 100644
--- a/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationHelper.java
+++ b/app/src/main/java/com/cappielloantonio/tempo/navigation/NavigationHelper.java
@@ -1,6 +1,5 @@
package com.cappielloantonio.tempo.navigation;
-import android.content.Context;
import android.content.res.Configuration;
import android.view.View;
import android.view.Window;
@@ -20,7 +19,6 @@ import androidx.navigation.fragment.NavHostFragment;
import androidx.navigation.ui.NavigationUI;
import com.cappielloantonio.tempo.R;
-import com.cappielloantonio.tempo.ui.activity.MainActivity;
import com.cappielloantonio.tempo.util.Preferences;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
@@ -28,8 +26,6 @@ import com.google.android.material.navigation.NavigationView;
import org.jetbrains.annotations.Contract;
-import java.util.Objects;
-
public class NavigationHelper {
/* UI components */
private BottomNavigationView bottomNavigationView;
@@ -105,6 +101,10 @@ public class NavigationHelper {
drawerLayout.setDrawerLockMode(mode);
}
+ public boolean isNavigationDrawerLocked() {
+ return drawerLayout.getDrawerLockMode(navigationView) != DrawerLayout.LOCK_MODE_UNLOCKED;
+ }
+
@OptIn(markerClass = UnstableApi.class)
public void toggleNavigationDrawerLockOnOrientationChange(
AppCompatActivity activity) {
diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java b/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java
index 313621bf..4c77303f 100644
--- a/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java
+++ b/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java
@@ -4,22 +4,16 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
-import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
-import android.os.Handler;
import android.text.TextUtils;
-import android.view.Gravity;
import android.view.View;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.core.splashscreen.SplashScreen;
-import androidx.core.view.WindowCompat;
-import androidx.core.view.WindowInsetsCompat;
-import androidx.core.view.WindowInsetsControllerCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.ViewModelProvider;
@@ -319,6 +313,10 @@ public class MainActivity extends BaseActivity {
navigationController.setDrawerLock(locked);
}
+ public boolean isNavigationDrawerLocked() {
+ return navigationController.isNavigationDrawerLocked();
+ }
+
public void toggleNavigationDrawerLockOnOrientationChange() {
navigationController.toggleDrawerLockOnOrientation(this);
}
diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java
index c1399d75..63752861 100644
--- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java
+++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/SettingsFragment.java
@@ -2,71 +2,19 @@ package com.cappielloantonio.tempo.ui.fragment;
import static com.google.android.material.internal.ViewUtils.hideKeyboard;
-import android.app.Activity;
-import android.content.Context;
-import android.content.ComponentName;
-import android.content.Intent;
-import android.content.ServiceConnection;
-import android.media.audiofx.AudioEffect;
-import android.net.Uri;
import android.os.Bundle;
-import android.os.IBinder;
-import android.text.InputFilter;
-import android.text.InputType;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.Toast;
-import androidx.activity.result.ActivityResultLauncher;
-import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.OptIn;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.app.AppCompatDelegate;
-import androidx.appcompat.widget.Toolbar;
-import androidx.core.os.LocaleListCompat;
-import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentTransaction;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.media3.common.util.UnstableApi;
-import androidx.navigation.NavController;
-import androidx.navigation.NavOptions;
-import androidx.navigation.fragment.NavHostFragment;
-import androidx.preference.EditTextPreference;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceFragmentCompat;
-import androidx.preference.SwitchPreference;
-import com.cappielloantonio.tempo.BuildConfig;
import com.cappielloantonio.tempo.R;
-import com.cappielloantonio.tempo.databinding.FragmentAlbumCatalogueBinding;
import com.cappielloantonio.tempo.databinding.FragmentSettingsBinding;
-import com.cappielloantonio.tempo.helper.ThemeHelper;
-import com.cappielloantonio.tempo.interfaces.DialogClickCallback;
-import com.cappielloantonio.tempo.interfaces.ScanCallback;
-import com.cappielloantonio.tempo.service.EqualizerManager;
-import com.cappielloantonio.tempo.service.MediaService;
import com.cappielloantonio.tempo.ui.activity.MainActivity;
-import com.cappielloantonio.tempo.ui.dialog.DeleteDownloadStorageDialog;
-import com.cappielloantonio.tempo.ui.dialog.DownloadStorageDialog;
-import com.cappielloantonio.tempo.ui.dialog.StarredSyncDialog;
-import com.cappielloantonio.tempo.ui.dialog.StarredAlbumSyncDialog;
-import com.cappielloantonio.tempo.ui.dialog.StarredArtistSyncDialog;
-import com.cappielloantonio.tempo.ui.dialog.StreamingCacheStorageDialog;
-import com.cappielloantonio.tempo.util.DownloadUtil;
import com.cappielloantonio.tempo.util.Preferences;
-import com.cappielloantonio.tempo.util.UIUtil;
-import com.cappielloantonio.tempo.util.ExternalAudioReader;
-import com.cappielloantonio.tempo.viewmodel.SettingViewModel;
-
-import java.util.Locale;
-import java.util.Map;
public class SettingsFragment extends Fragment {
@@ -123,6 +71,12 @@ public class SettingsFragment extends Fragment {
public void onStop() {
super.onStop();
activity.setBottomSheetVisibility(true);
+
+ if (activity.isLandscape) {
+ activity.setNavigationDrawerLock(false);
+ } else if (Preferences.getEnableDrawerOnPortrait()) {
+ activity.setNavigationDrawerLock(false);
+ }
}
private void initAppBar() {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2cb61a4c..bf652059 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -415,8 +415,8 @@
If enabled, show the shuffle button, remove the heart in the mini player
Show radio
If enabled, show the radio section. Restart the app for it to take full effect.
- Enable drawer on portrait [Experimental]
- Unlocks the lateral landscape menu drawer on portrait. The changes will take effect on restart.
+ Enable drawer on portrait
+ Unlocks the lateral landscape menu drawer on portrait.
Hide bottom navbar on portrait [Experimental]
Experimental.Increases vertical space by removing the bottom navbar. The changes will take effect on restart.
Auto download lyrics