From ba3a866690dec9cdcc1473db2a768dc3a7110125 Mon Sep 17 00:00:00 2001 From: Dmitri Yuranov Date: Fri, 25 Apr 2014 14:05:41 +0200 Subject: [PATCH] Fix a bug with Ok button in FileChooser --- .../ui/filechooser/FileChooserActivity.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java b/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java index df3fe9da7..61dee1518 100755 --- a/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java +++ b/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java @@ -363,15 +363,14 @@ public class FileChooserActivity extends Activity { mHistory = savedInstanceState.getParcelable(_History); else mHistory = new HistoryStore(DisplayPrefs._DefHistoryCapacity); - mHistory.addListener(new HistoryListener() { - - @Override - public void onChanged(History history) { - int idx = history.indexOf(getLocation()); - mViewGoBack.setEnabled(idx > 0); - mViewGoForward.setEnabled(idx >= 0 && idx < history.size() - 1); - } - }); + mHistory.addListener(new HistoryListener() { + @Override + public void onChanged(History history) { + int idx = history.indexOf(getLocation()); + mViewGoBack.setEnabled(idx > 0); + mViewGoForward.setEnabled(idx >= 0 && idx < history.size() - 1); + } + }); // full history if (savedInstanceState != null && savedInstanceState.get(_FullHistory) instanceof HistoryStore) @@ -1362,6 +1361,11 @@ public class FileChooserActivity extends Activity { * navigation buttons */ createLocationButtons(path); + + /* + * update UI elements + */ + updateUI(path); if (listener != null) listener.onFinish(true, path); @@ -1391,7 +1395,6 @@ public class FileChooserActivity extends Activity { mHistory.truncateAfter(mLastPath); mHistory.push(dir); mFullHistory.push(dir); - checkUIForFolderCreation(dir); } } }); @@ -1586,7 +1589,6 @@ public class FileChooserActivity extends Activity { } } }); - checkUIForFolderCreation(preLoc); } else { mViewGoBack.setEnabled(false); } @@ -1641,14 +1643,13 @@ public class FileChooserActivity extends Activity { } } }); - checkUIForFolderCreation(nextLoc); } else { mViewGoForward.setEnabled(false); } } };// mBtnGoForwardOnClickListener - private void checkUIForFolderCreation(IFile dir){ + private void updateUI(IFile dir){ final boolean isDirectoryWriteable = ((File)dir).canWrite(); mViewCreateFolder.setEnabled(isDirectoryWriteable); mBtnOk.setEnabled(