Abstract setting the thread priority away into ProgressDialogTask

This commit is contained in:
Alexander Bakker 2018-05-10 19:38:28 +02:00
parent b9381d13d2
commit 488e92d429
3 changed files with 9 additions and 9 deletions

View file

@ -1,10 +1,6 @@
package me.impy.aegis.ui.tasks; package me.impy.aegis.ui.tasks;
import android.content.Context; import android.content.Context;
import android.os.Process;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import javax.crypto.SecretKey; import javax.crypto.SecretKey;
@ -22,9 +18,9 @@ public class DerivationTask extends ProgressDialogTask<DerivationTask.Params, Se
@Override @Override
protected SecretKey doInBackground(DerivationTask.Params... args) { protected SecretKey doInBackground(DerivationTask.Params... args) {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND + Process.THREAD_PRIORITY_MORE_FAVORABLE); setPriority();
DerivationTask.Params params = args[0]; Params params = args[0];
try { try {
byte[] salt = CryptoUtils.generateSalt(); byte[] salt = CryptoUtils.generateSalt();
return params.Slot.deriveKey(params.Password, salt, CryptoUtils.CRYPTO_SCRYPT_N, CryptoUtils.CRYPTO_SCRYPT_r, CryptoUtils.CRYPTO_SCRYPT_p); return params.Slot.deriveKey(params.Password, salt, CryptoUtils.CRYPTO_SCRYPT_N, CryptoUtils.CRYPTO_SCRYPT_r, CryptoUtils.CRYPTO_SCRYPT_p);

View file

@ -3,6 +3,7 @@ package me.impy.aegis.ui.tasks;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Process;
import android.support.annotation.CallSuper; import android.support.annotation.CallSuper;
public abstract class ProgressDialogTask<Params, Result> extends AsyncTask<Params, Void, Result> { public abstract class ProgressDialogTask<Params, Result> extends AsyncTask<Params, Void, Result> {
@ -28,6 +29,10 @@ public abstract class ProgressDialogTask<Params, Result> extends AsyncTask<Param
} }
} }
protected void setPriority() {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND + Process.THREAD_PRIORITY_MORE_FAVORABLE);
}
protected final ProgressDialog getDialog() { protected final ProgressDialog getDialog() {
return _dialog; return _dialog;
} }

View file

@ -1,7 +1,6 @@
package me.impy.aegis.ui.tasks; package me.impy.aegis.ui.tasks;
import android.content.Context; import android.content.Context;
import android.os.Process;
import java.lang.reflect.UndeclaredThrowableException; import java.lang.reflect.UndeclaredThrowableException;
@ -28,9 +27,9 @@ public class SlotCollectionTask<T extends Slot> extends ProgressDialogTask<SlotC
@Override @Override
protected MasterKey doInBackground(SlotCollectionTask.Params... args) { protected MasterKey doInBackground(SlotCollectionTask.Params... args) {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND + Process.THREAD_PRIORITY_MORE_FAVORABLE); setPriority();
SlotCollectionTask.Params params = args[0]; Params params = args[0];
try { try {
if (!params.Slots.has(_type)) { if (!params.Slots.has(_type)) {
throw new RuntimeException(); throw new RuntimeException();