From 423da50116afcf1a6720f2a91fefece41562ef20 Mon Sep 17 00:00:00 2001 From: rsudev Date: Fri, 28 Feb 2014 21:50:55 +0100 Subject: Fixes #3628, Array out of bounds in simple dir chooser - hide ok button when diving into a directory --- main/src/cgeo/geocaching/files/SimpleDirChooser.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'main/src/cgeo/geocaching/files/SimpleDirChooser.java') diff --git a/main/src/cgeo/geocaching/files/SimpleDirChooser.java b/main/src/cgeo/geocaching/files/SimpleDirChooser.java index 3e09cc4..67cbb34 100644 --- a/main/src/cgeo/geocaching/files/SimpleDirChooser.java +++ b/main/src/cgeo/geocaching/files/SimpleDirChooser.java @@ -57,8 +57,7 @@ public class SimpleDirChooser extends AbstractListActivity { fill(currentDir); okButton = (Button) findViewById(R.id.simple_dir_chooser_ok); - okButton.setEnabled(false); - okButton.setVisibility(View.INVISIBLE); + resetOkButton(); okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -132,6 +131,7 @@ public class SimpleDirChooser extends AbstractListActivity { private void fill(File dir) { lastPosition = -1; + resetOkButton(); EditText path = (EditText) findViewById(R.id.simple_dir_chooser_path); path.setText(this.getResources().getString(R.string.simple_dir_chooser_current_path) + " " + dir.getAbsolutePath()); final File[] dirs = dir.listFiles(new DirOnlyFilenameFilter()); @@ -150,6 +150,13 @@ public class SimpleDirChooser extends AbstractListActivity { this.setListAdapter(adapter); } + private void resetOkButton() { + if (okButton != null) { + okButton.setEnabled(false); + okButton.setVisibility(View.INVISIBLE); + } + } + public class FileArrayAdapter extends ArrayAdapter