Fix cancel/skip in create key wizard

This commit is contained in:
Dominik Schürmann 2015-05-04 20:47:19 +02:00
parent f3090f2939
commit 2583f77f07
3 changed files with 35 additions and 52 deletions

View File

@ -99,7 +99,7 @@ public class CreateKeyActivity extends BaseNfcActivity {
if (mFirstTime) {
setTitle(R.string.app_name);
setActionBarIcon(R.drawable.ic_launcher);
mToolbar.setNavigationIcon(null);
mToolbar.setNavigationOnClickListener(null);
} else {
setTitle(R.string.title_manage_my_keys);

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
* Copyright (C) 2014-2015 Dominik Schürmann <dominik@dominikschuermann.de>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -18,37 +18,20 @@
package org.sufficientlysecure.keychain.ui;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Messenger;
import android.support.v4.app.Fragment;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
import org.sufficientlysecure.keychain.ui.dialog.AddEmailDialogFragment;
import org.sufficientlysecure.keychain.ui.dialog.SetPassphraseDialogFragment;
import org.sufficientlysecure.keychain.ui.widget.EmailEditText;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.Preferences;
import java.util.ArrayList;
import java.util.List;
public class CreateKeyStartFragment extends Fragment {
CreateKeyActivity mCreateKeyActivity;
@ -56,8 +39,8 @@ public class CreateKeyStartFragment extends Fragment {
View mCreateKey;
View mImportKey;
View mYubiKey;
TextView mCancel;
public static final int REQUEST_CODE_CREATE_OR_IMPORT_KEY = 0x00007012;
TextView mSkipOrCancel;
public static final int REQUEST_CODE_IMPORT_KEY = 0x00007012;
/**
* Creates new instance of this fragment
@ -79,12 +62,12 @@ public class CreateKeyStartFragment extends Fragment {
mCreateKey = view.findViewById(R.id.create_key_create_key_button);
mImportKey = view.findViewById(R.id.create_key_import_button);
mYubiKey = view.findViewById(R.id.create_key_yubikey_button);
mCancel = (TextView) view.findViewById(R.id.create_key_cancel);
mSkipOrCancel = (TextView) view.findViewById(R.id.create_key_cancel);
if (mCreateKeyActivity.mFirstTime) {
mCancel.setText(R.string.first_time_skip);
mSkipOrCancel.setText(R.string.first_time_skip);
} else {
mCancel.setText(R.string.btn_do_not_save);
mSkipOrCancel.setText(R.string.btn_do_not_save);
}
mCreateKey.setOnClickListener(new View.OnClickListener() {
@ -98,7 +81,7 @@ public class CreateKeyStartFragment extends Fragment {
mYubiKey.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CreateKeyYubiWaitFragment frag = new CreateKeyYubiWaitFragment();
CreateKeyYubiKeyWaitFragment frag = new CreateKeyYubiKeyWaitFragment();
mCreateKeyActivity.loadFragment(frag, FragAction.TO_RIGHT);
}
});
@ -108,48 +91,48 @@ public class CreateKeyStartFragment extends Fragment {
public void onClick(View v) {
Intent intent = new Intent(mCreateKeyActivity, ImportKeysActivity.class);
intent.setAction(ImportKeysActivity.ACTION_IMPORT_KEY_FROM_FILE_AND_RETURN);
startActivityForResult(intent, REQUEST_CODE_CREATE_OR_IMPORT_KEY);
startActivityForResult(intent, REQUEST_CODE_IMPORT_KEY);
}
});
mCancel.setOnClickListener(new View.OnClickListener() {
mSkipOrCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finishSetup(null);
if (mCreateKeyActivity.mFirstTime) {
Preferences prefs = Preferences.getPreferences(mCreateKeyActivity);
prefs.setFirstTime(false);
Intent intent = new Intent(mCreateKeyActivity, MainActivity.class);
startActivity(intent);
mCreateKeyActivity.finish();
} else {
// just finish activity and return data
mCreateKeyActivity.setResult(Activity.RESULT_CANCELED);
mCreateKeyActivity.finish();
}
}
});
return view;
}
private void finishSetup(Intent srcData) {
if (mCreateKeyActivity.mFirstTime) {
Preferences prefs = Preferences.getPreferences(mCreateKeyActivity);
prefs.setFirstTime(false);
}
Intent intent = new Intent(mCreateKeyActivity, MainActivity.class);
// give intent through to display notify
if (srcData != null) {
intent.putExtras(srcData);
}
startActivity(intent);
mCreateKeyActivity.finish();
}
// workaround for https://code.google.com/p/android/issues/detail?id=61394
// @Override
// public boolean onKeyDown(int keyCode, KeyEvent event) {
// return keyCode == KeyEvent.KEYCODE_MENU || super.onKeyDown(keyCode, event);
// }
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_CREATE_OR_IMPORT_KEY) {
if (requestCode == REQUEST_CODE_IMPORT_KEY) {
if (resultCode == Activity.RESULT_OK) {
finishSetup(data);
if (mCreateKeyActivity.mFirstTime) {
Preferences prefs = Preferences.getPreferences(mCreateKeyActivity);
prefs.setFirstTime(false);
Intent intent = new Intent(mCreateKeyActivity, MainActivity.class);
intent.putExtras(data);
startActivity(intent);
mCreateKeyActivity.finish();
} else {
// just finish activity and return data
mCreateKeyActivity.setResult(Activity.RESULT_OK, data);
mCreateKeyActivity.finish();
}
}
} else {
Log.e(Constants.TAG, "No valid request code!");

View File

@ -28,7 +28,7 @@ import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
public class CreateKeyYubiWaitFragment extends Fragment {
public class CreateKeyYubiKeyWaitFragment extends Fragment {
CreateKeyActivity mCreateKeyActivity;
View mBackButton;