diff options
| author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-06-10 17:39:06 +0200 | 
|---|---|---|
| committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-06-10 17:39:06 +0200 | 
| commit | a48de4cd846d5a818e8d1b19e06751cdfa730dbb (patch) | |
| tree | 98b1e3c4758e8a0dd61f93a5a9e11db073b55c43 /OpenKeychain/src/main/java/org/sufficientlysecure | |
| parent | 1697e22d1954d90289bac06abe23778c371337da (diff) | |
| download | open-keychain-a48de4cd846d5a818e8d1b19e06751cdfa730dbb.tar.gz open-keychain-a48de4cd846d5a818e8d1b19e06751cdfa730dbb.tar.bz2 open-keychain-a48de4cd846d5a818e8d1b19e06751cdfa730dbb.zip | |
fix progress for decrypt
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure')
3 files changed, 37 insertions, 14 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ServiceProgressHandler.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ServiceProgressHandler.java index 76aa1a618..8b90e41bf 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ServiceProgressHandler.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ServiceProgressHandler.java @@ -128,17 +128,18 @@ public class ServiceProgressHandler extends Handler {              case UPDATE_PROGRESS:                  if (data.containsKey(DATA_PROGRESS) && data.containsKey(DATA_PROGRESS_MAX)) { +                    String msg = null; +                    int progress = data.getInt(DATA_PROGRESS), max =data.getInt(DATA_PROGRESS_MAX); +                      // update progress from service                      if (data.containsKey(DATA_MESSAGE)) { -                        progressDialogFragment.setProgress(data.getString(DATA_MESSAGE), -                                data.getInt(DATA_PROGRESS), data.getInt(DATA_PROGRESS_MAX)); +                        msg = data.getString(DATA_MESSAGE);                      } else if (data.containsKey(DATA_MESSAGE_ID)) { -                        progressDialogFragment.setProgress(data.getInt(DATA_MESSAGE_ID), -                                data.getInt(DATA_PROGRESS), data.getInt(DATA_PROGRESS_MAX)); -                    } else { -                        progressDialogFragment.setProgress(data.getInt(DATA_PROGRESS), -                                data.getInt(DATA_PROGRESS_MAX)); +                        msg = mActivity.getString(data.getInt(DATA_MESSAGE_ID));                      } + +                    onSetProgress(msg, progress, max); +                  }                  break; @@ -152,4 +153,19 @@ public class ServiceProgressHandler extends Handler {                  break;          }      } + +    protected void onSetProgress(String msg, int progress, int max) { + +        ProgressDialogFragment progressDialogFragment = +                (ProgressDialogFragment) mActivity.getSupportFragmentManager() +                        .findFragmentByTag("progressDialog"); + +        if (msg != null) { +            progressDialogFragment.setProgress(msg, progress, max); +        } else { +            progressDialogFragment.setProgress(progress, max); +        } + +    } +  } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesListFragment.java index 92790b98c..d3b52fe78 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesListFragment.java @@ -188,14 +188,9 @@ public class DecryptFilesListFragment      }      @Override -    protected void onCryptoSetProgress(String msg, int progress, int max) { +    protected boolean onCryptoSetProgress(String msg, int progress, int max) {          mAdapter.setProgress(mCurrentInputUri, progress, max, msg); -    } - -    @Override -    public void showProgressFragment( -            String progressDialogMessage, int progressDialogStyle, boolean cancelable) { -        // progress shown inline, so never mind +        return true;      }      @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java index e21589bcd..0bba2f964 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java @@ -155,6 +155,14 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O                      onHandleResult(result);                  }              } + +            @Override +            protected void onSetProgress(String msg, int progress, int max) { +                // allow handling of progress in fragment, or delegate upwards +                if ( ! onCryptoSetProgress(msg, progress, max)) { +                    super.onSetProgress(msg, progress, max); +                } +            }          };          // Create a new Messenger for the communication back @@ -213,4 +221,8 @@ public abstract class CryptoOperationFragment <T extends Parcelable, S extends O      } +    protected boolean onCryptoSetProgress(String msg, int progress, int max) { +        return false; +    } +  } | 
