fix progress for decrypt

This commit is contained in:
Vincent Breitmoser 2015-06-10 17:39:06 +02:00
parent 1697e22d19
commit a48de4cd84
3 changed files with 37 additions and 14 deletions

View File

@ -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);
}
}
}

View File

@ -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

View File

@ -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;
}
}