Skip to content
Snippets Groups Projects
Commit 2052c845 authored by Ernir Erlingsson's avatar Ernir Erlingsson
Browse files

Added a dialog and refactored code

parent 428c3dd1
No related branches found
No related tags found
No related merge requests found
......@@ -59,6 +59,18 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
......
......@@ -16,6 +16,8 @@
<string name="create_account_button">Create Account</string>
<string name="enter_password">Enter your password:</string>
<string name="password_hint">Password</string>
<string name="yes">Yes</string>
<string name="no">No</string>
<string name="forgotten_password">I have forgotten my password</string>
<string name="try_again">Wrong password, try again:</string>
<string name="sign_in_button">Sign In</string>
......@@ -108,4 +110,8 @@
<string name="notify_sound_setting_default">Default ringtone</string>
<string name="notify_sound_setting_disabled">None</string>
<string name="choose_ringtone_title">Choose ringtone</string>
<!-- Dialogs -->
<string name="dialog_title_lost_password">Lost password</string>
<string name="dialog_message_lost_password">Password recovery is not possible. Do you wish to delete your user and re-register ?</string>
</resources>
\ No newline at end of file
......@@ -48,6 +48,11 @@ public abstract class BaseActivity extends RoboActivity {
this.finish();
}
protected void gotoAndFinish(Class classInstance)
{
this.gotoAndFinish(classInstance, Integer.MIN_VALUE);
}
protected void hideSoftKeyboard()
{
Object o = getSystemService(INPUT_METHOD_SERVICE);
......
......@@ -9,12 +9,15 @@ import java.util.concurrent.Executor;
import javax.inject.Inject;
import org.briarproject.R;
import org.briarproject.android.util.BriarIOUtils;
import org.briarproject.api.crypto.CryptoComponent;
import org.briarproject.api.crypto.CryptoExecutor;
import org.briarproject.api.crypto.SecretKey;
import org.briarproject.api.db.DatabaseConfig;
import org.briarproject.util.StringUtils;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.view.KeyEvent;
......@@ -70,7 +73,7 @@ public class PasswordActivity extends BaseActivity {
@Override
protected void clearDbPrefs() {
super.clearDbPrefs();
this.delete(databaseConfig.getDatabaseDirectory());
BriarIOUtils.deleteFileOrDir(databaseConfig.getDatabaseDirectory());
this.gotoAndFinish(SetupActivity.class, RESULT_CANCELED);
}
......@@ -79,12 +82,19 @@ public class PasswordActivity extends BaseActivity {
}
public void onForgottenPasswordClick(View v) {
this.clearDbPrefs();
}
private void delete(File f) {
if (f.isFile()) f.delete();
else if (f.isDirectory()) for (File child : f.listFiles()) delete(child);
// TODO Encapsulate the dialog in a re-usable fragment
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.dialog_title_lost_password);
builder.setMessage(R.string.dialog_message_lost_password);
builder.setNegativeButton(R.string.no, null);
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PasswordActivity.this.clearDbPrefs();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
private void validatePassword(final byte[] encrypted, Editable e) {
......
package org.briarproject.android.util;
import java.io.File;
/**
* Created by Ernir Erlingsson (ernir@ymirmobile.com) on 9.12.2015.
*/
public class BriarIOUtils {
public static void deleteFileOrDir(File f)
{
if (f.isFile())
f.delete();
else if (f.isDirectory())
for (File child : f.listFiles())
deleteFileOrDir(child);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment