Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions app/src/main/java/org/xbmc/kore/Settings.java
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand All @@ -39,10 +43,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;
Expand Down Expand Up @@ -131,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)){
Expand Down Expand Up @@ -230,8 +261,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);
}
Expand Down
12 changes: 12 additions & 0 deletions app/src/main/res/menu/local_file_list.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group
android:checkableBehavior="all">
<item
android:id="@+id/action_show_hidden"
android:title="@string/show_hidden"
app:showAsAction="never"/>
</group>
</menu>
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,7 @@
<string name="addon_unpinned">Addon unpinned</string>

<!-- Filters on list menus -->
<string name="show_hidden">Show hidden</string>
<string name="hide_watched">Hide watched</string>
<string name="hide_disabled">Hide disabled</string>
<string name="sort_order">Sort</string>
Expand Down
Loading