aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/files/SimpleDirChooser.java
diff options
context:
space:
mode:
authorrsudev <rasch@munin-soft.de>2014-02-28 21:50:55 +0100
committerrsudev <rasch@munin-soft.de>2014-02-28 21:50:55 +0100
commit423da50116afcf1a6720f2a91fefece41562ef20 (patch)
treecdf91cead3927a566e6f32d0448d9c41f1dde8f9 /main/src/cgeo/geocaching/files/SimpleDirChooser.java
parent38e04c459383c1563a70f8086312c1b29ae0cc36 (diff)
downloadcgeo-423da50116afcf1a6720f2a91fefece41562ef20.zip
cgeo-423da50116afcf1a6720f2a91fefece41562ef20.tar.gz
cgeo-423da50116afcf1a6720f2a91fefece41562ef20.tar.bz2
Fixes #3628, Array out of bounds in simple dir chooser
- hide ok button when diving into a directory
Diffstat (limited to 'main/src/cgeo/geocaching/files/SimpleDirChooser.java')
-rw-r--r--main/src/cgeo/geocaching/files/SimpleDirChooser.java11
1 files changed, 9 insertions, 2 deletions
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<Option> {
private Context context;