From 560e850bce8004ab7efdbc2dc60886f4b1c3dfb8 Mon Sep 17 00:00:00 2001
From: Gopal Panigrahi <50495221+gopal-panigrahi@users.noreply.github.com>
Date: Sun, 26 Oct 2025 00:41:57 +0530
Subject: [PATCH 1/2] feat: show/hide local hidden files
---
app/src/main/java/org/xbmc/kore/Settings.java | 4 ++++
.../sections/localfile/LocalMediaFileListFragment.java | 10 +++++++++-
app/src/main/res/values/strings.xml | 1 +
app/src/main/res/xml/preferences.xml | 6 ++++++
4 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/org/xbmc/kore/Settings.java b/app/src/main/java/org/xbmc/kore/Settings.java
index 7d69259aa..c0b593c23 100644
--- a/app/src/main/java/org/xbmc/kore/Settings.java
+++ b/app/src/main/java/org/xbmc/kore/Settings.java
@@ -90,6 +90,10 @@ public class Settings {
public static final String KEY_PREF_PAUSE_DURING_CALLS = "pref_pause_during_calls";
public static final boolean DEFAULT_PREF_PAUSE_DURING_CALLS = false;
+ // Show hidden local files
+ public static final String KEY_PREF_SHOW_HIDDEN_LOCAL_FILES = "pref_show_hidden_local_files";
+ public static final boolean DEFAULT_PREF_SHOW_HIDDEN_LOCAL_FILES = false;
+
// Other keys used in preferences.xml
public static final String KEY_PREF_ABOUT = "pref_about";
diff --git a/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java b/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java
index 692eab1d8..1873219c7 100644
--- a/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java
+++ b/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java
@@ -39,10 +39,12 @@
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
+import androidx.preference.PreferenceManager;
import com.squareup.picasso.Picasso;
import org.xbmc.kore.R;
+import org.xbmc.kore.Settings;
import org.xbmc.kore.host.HostConnection;
import org.xbmc.kore.host.HostManager;
import org.xbmc.kore.jsonrpc.ApiCallback;
@@ -230,8 +232,14 @@ private void browseDirectory(final LocalFileLocation dir) {
file_list.add(0, new LocalFileLocation("..", getParentDirectory(dir.fullPath), true));
}
+ boolean showHiddenFiles = PreferenceManager
+ .getDefaultSharedPreferences(requireContext())
+ .getBoolean(Settings.KEY_PREF_SHOW_HIDDEN_LOCAL_FILES, Settings.DEFAULT_PREF_SHOW_HIDDEN_LOCAL_FILES);
+
for (File file : files) {
- file_list.add(new LocalFileLocation(file.getName(), file.getAbsolutePath(), file.isDirectory()));
+ if (showHiddenFiles || (!file.isHidden() && !file.getName().startsWith("."))) {
+ file_list.add(new LocalFileLocation(file.getName(), file.getAbsolutePath(), file.isDirectory()));
+ }
}
((MediaPictureListAdapter) getAdapter()).setFilelistItems(file_list);
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 014e7423a..c8d1adbf9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -417,6 +417,7 @@
Show notification while playing
Show now playing panel
Display a panel at the bottom of the screen when media is playing
+ Show hidden local files
Pause during phone call
Vibrate on touch
Prefer SendToKodi addon
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index c4d734fb7..9bf9a7245 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -99,6 +99,12 @@
android:defaultValue="true"
app:singleLineTitle="false"/>
+
+
Date: Sat, 15 Nov 2025 14:25:04 +0530
Subject: [PATCH 2/2] chore: moved show hidden files setting
---
.../localfile/LocalMediaFileListFragment.java | 29 +++++++++++++++++++
app/src/main/res/menu/local_file_list.xml | 12 ++++++++
app/src/main/res/values/strings.xml | 2 +-
app/src/main/res/xml/preferences.xml | 6 ----
4 files changed, 42 insertions(+), 7 deletions(-)
create mode 100644 app/src/main/res/menu/local_file_list.xml
diff --git a/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java b/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java
index 1873219c7..b16a61f5c 100644
--- a/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java
+++ b/app/src/main/java/org/xbmc/kore/ui/sections/localfile/LocalMediaFileListFragment.java
@@ -18,6 +18,7 @@
import android.Manifest;
import android.content.Context;
+import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.Bundle;
@@ -26,6 +27,9 @@
import android.os.Looper;
import android.text.TextUtils;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
@@ -133,6 +137,31 @@ public void onSaveInstanceState(@NonNull Bundle outState) {
outState.putString(ROOT_PATH, rootPath);
}
+ @Override
+ public void onCreateOptionsMenu(@NonNull Menu menu, MenuInflater inflater) {
+ inflater.inflate(R.menu.local_file_list, menu);
+
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(requireContext());
+ MenuItem showHidden = menu.findItem(R.id.action_show_hidden);
+ showHidden.setChecked(preferences.getBoolean(Settings.KEY_PREF_SHOW_HIDDEN_LOCAL_FILES, Settings.DEFAULT_PREF_SHOW_HIDDEN_LOCAL_FILES));
+ super.onCreateOptionsMenu(menu, inflater);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(requireContext());
+ int itemId = item.getItemId();
+ if (itemId == R.id.action_show_hidden) {
+ item.setChecked(!item.isChecked());
+ preferences.edit()
+ .putBoolean(Settings.KEY_PREF_SHOW_HIDDEN_LOCAL_FILES, item.isChecked())
+ .apply();
+ browseDirectory(currentDirLocation);
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
@Override
public void onRefresh() {
if (checkReadStoragePermission(false)){
diff --git a/app/src/main/res/menu/local_file_list.xml b/app/src/main/res/menu/local_file_list.xml
new file mode 100644
index 000000000..25e047f43
--- /dev/null
+++ b/app/src/main/res/menu/local_file_list.xml
@@ -0,0 +1,12 @@
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c8d1adbf9..2d878c295 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -373,6 +373,7 @@
Addon unpinned
+ Show hidden
Hide watched
Hide disabled
Sort
@@ -417,7 +418,6 @@
Show notification while playing
Show now playing panel
Display a panel at the bottom of the screen when media is playing
- Show hidden local files
Pause during phone call
Vibrate on touch
Prefer SendToKodi addon
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 9bf9a7245..c4d734fb7 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -99,12 +99,6 @@
android:defaultValue="true"
app:singleLineTitle="false"/>
-
-