diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7434242e..64703425 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -32,10 +32,6 @@ android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation|screenSize"> - - { +public class DerivationTask extends ProgressDialogTask { private Callback _cb; - private ProgressDialog _dialog; public DerivationTask(Context context, Callback cb) { + super(context, "Deriving key from password"); _cb = cb; - _dialog = new ProgressDialog(context); - _dialog.setCancelable(false); } @Override @@ -35,17 +31,9 @@ public class DerivationTask extends AsyncTask { bottomDialog.dismiss(); - Intent intent = new Intent(this, EditProfileActivity.class); - intent.putExtra("KeyProfile", profile); - startActivityForResult(intent, CODE_EDIT_KEYINFO); + startEditProfileActivity(CODE_EDIT_KEYINFO, profile, false); }); return bottomDialog; diff --git a/app/src/main/java/me/impy/aegis/ProgressDialogTask.java b/app/src/main/java/me/impy/aegis/ProgressDialogTask.java new file mode 100644 index 00000000..5feb5f90 --- /dev/null +++ b/app/src/main/java/me/impy/aegis/ProgressDialogTask.java @@ -0,0 +1,34 @@ +package me.impy.aegis; + +import android.app.ProgressDialog; +import android.content.Context; +import android.os.AsyncTask; +import android.support.annotation.CallSuper; + +public abstract class ProgressDialogTask extends AsyncTask { + private ProgressDialog _dialog; + + public ProgressDialogTask(Context context, String message) { + _dialog = new ProgressDialog(context); + _dialog.setCancelable(false); + _dialog.setMessage(message); + } + + @CallSuper + @Override + protected void onPreExecute() { + _dialog.show(); + } + + @CallSuper + @Override + protected void onPostExecute(Result result) { + if (_dialog.isShowing()) { + _dialog.dismiss(); + } + } + + protected final ProgressDialog getDialog() { + return _dialog; + } +} diff --git a/app/src/main/java/me/impy/aegis/ScannerActivity.java b/app/src/main/java/me/impy/aegis/ScannerActivity.java index 20367fa2..a7c0bbc6 100644 --- a/app/src/main/java/me/impy/aegis/ScannerActivity.java +++ b/app/src/main/java/me/impy/aegis/ScannerActivity.java @@ -58,6 +58,7 @@ public class ScannerActivity extends AegisActivity implements ZXingScannerView.R try { KeyInfo info = KeyInfo.fromURL(rawResult.getText()); KeyProfile profile = new KeyProfile(new DatabaseEntry(info)); + profile.getEntry().setName(info.getAccountName()); Intent resultIntent = new Intent(); resultIntent.putExtra("KeyProfile", profile); diff --git a/app/src/main/java/me/impy/aegis/SlotCollectionTask.java b/app/src/main/java/me/impy/aegis/SlotCollectionTask.java index 05b3d04d..f323a80e 100644 --- a/app/src/main/java/me/impy/aegis/SlotCollectionTask.java +++ b/app/src/main/java/me/impy/aegis/SlotCollectionTask.java @@ -1,8 +1,6 @@ package me.impy.aegis; -import android.app.ProgressDialog; import android.content.Context; -import android.os.AsyncTask; import android.os.Process; import java.lang.reflect.UndeclaredThrowableException; @@ -18,16 +16,14 @@ import me.impy.aegis.crypto.slots.Slot; import me.impy.aegis.crypto.slots.SlotCollection; import me.impy.aegis.crypto.slots.SlotIntegrityException; -public class SlotCollectionTask extends AsyncTask { +public class SlotCollectionTask extends ProgressDialogTask { private Callback _cb; private Class _type; - private ProgressDialog _dialog; public SlotCollectionTask(Class type, Context context, Callback cb) { + super(context, "Decrypting database"); _cb = cb; _type = type; - _dialog = new ProgressDialog(context); - _dialog.setCancelable(false); } @Override @@ -70,17 +66,9 @@ public class SlotCollectionTask extends AsyncTask - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_edit_profile.xml b/app/src/main/res/layout/activity_edit_profile.xml index c92d6b44..d30c1447 100644 --- a/app/src/main/res/layout/activity_edit_profile.xml +++ b/app/src/main/res/layout/activity_edit_profile.xml @@ -124,7 +124,7 @@ android:layout_height="wrap_content" android:orientation="horizontal"> @@ -147,7 +147,7 @@ android:textColor="#808080"/>