aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-07-01 12:36:02 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-07-01 12:36:02 +0200
commit7408a35e1984c4791ce956bdc2ba225f8e0c3a7c (patch)
tree8775235e1cc3a0d9951f1a03dbbdfcab8898ea17 /OpenKeychain/src/main
parenta9010045889d307ede37d154b0a2fece566c1845 (diff)
downloadopen-keychain-7408a35e1984c4791ce956bdc2ba225f8e0c3a7c.tar.gz
open-keychain-7408a35e1984c4791ce956bdc2ba225f8e0c3a7c.tar.bz2
open-keychain-7408a35e1984c4791ce956bdc2ba225f8e0c3a7c.zip
edit key: part 3
Diffstat (limited to 'OpenKeychain/src/main')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java65
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsArrayAdapter.java131
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsNewAdapter.java146
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java165
-rw-r--r--OpenKeychain/src/main/res/layout/add_user_id_dialog.xml60
5 files changed, 180 insertions, 387 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java
index b6a95a517..079263e64 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java
@@ -51,7 +51,7 @@ import org.sufficientlysecure.keychain.service.PassphraseCacheService;
import org.sufficientlysecure.keychain.service.SaveKeyringParcel;
import org.sufficientlysecure.keychain.ui.adapter.SubkeysAdapter;
import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter;
-import org.sufficientlysecure.keychain.ui.adapter.UserIdsArrayAdapter;
+import org.sufficientlysecure.keychain.ui.adapter.UserIdsNewAdapter;
import org.sufficientlysecure.keychain.ui.dialog.AddUserIdDialogFragment;
import org.sufficientlysecure.keychain.ui.dialog.EditUserIdDialogFragment;
import org.sufficientlysecure.keychain.ui.dialog.PassphraseDialogFragment;
@@ -76,7 +76,7 @@ public class EditKeyFragment extends LoaderFragment implements
private UserIdsAdapter mUserIdsAdapter;
private SubkeysAdapter mKeysAdapter;
- private UserIdsArrayAdapter mUserIdsAddedAdapter;
+ private UserIdsNewAdapter mUserIdsAddedAdapter;
private Uri mDataUri;
@@ -189,7 +189,7 @@ public class EditKeyFragment extends LoaderFragment implements
}
});
- mUserIdsAddedAdapter = new UserIdsArrayAdapter(getActivity());
+ mUserIdsAddedAdapter = new UserIdsNewAdapter(getActivity());
mUserIdsAddedList.setAdapter(mUserIdsAddedAdapter);
mUserIdsAddedAdapter.setData(mSaveKeyringParcel.addUserIds);
@@ -321,34 +321,37 @@ public class EditKeyFragment extends LoaderFragment implements
}
private void addUserId() {
- Handler returnHandler = new Handler() {
- @Override
- public void handleMessage(Message message) {
- switch (message.what) {
- case AddUserIdDialogFragment.MESSAGE_OKAY:
- Bundle data = message.getData();
- String userId = data.getString(AddUserIdDialogFragment.MESSAGE_DATA_USER_ID);
-
- if (userId != null) {
- mSaveKeyringParcel.addUserIds.add(userId);
- mUserIdsAddedAdapter.setData(mSaveKeyringParcel.addUserIds);
- }
- }
- getLoaderManager().getLoader(LOADER_ID_USER_IDS).forceLoad();
- }
- };
-
- // Create a new Messenger for the communication back
- final Messenger messenger = new Messenger(returnHandler);
-
- DialogFragmentWorkaround.INTERFACE.runnableRunDelayed(new Runnable() {
- public void run() {
- AddUserIdDialogFragment dialogFragment =
- AddUserIdDialogFragment.newInstance(messenger);
-
- dialogFragment.show(getActivity().getSupportFragmentManager(), "addUserIdDialog");
- }
- });
+// mSaveKeyringParcel.addUserIds.add(userId);
+// mUserIdsAddedAdapter.setData(mSaveKeyringParcel.addUserIds);
+
+
+// Handler returnHandler = new Handler() {
+// @Override
+// public void handleMessage(Message message) {
+// switch (message.what) {
+// case AddUserIdDialogFragment.MESSAGE_OKAY:
+// Bundle data = message.getData();
+// String userId = data.getString(AddUserIdDialogFragment.MESSAGE_DATA_USER_ID);
+//
+// if (userId != null) {
+
+// }
+// }
+// getLoaderManager().getLoader(LOADER_ID_USER_IDS).forceLoad();
+// }
+// };
+//
+// // Create a new Messenger for the communication back
+// final Messenger messenger = new Messenger(returnHandler);
+//
+// DialogFragmentWorkaround.INTERFACE.runnableRunDelayed(new Runnable() {
+// public void run() {
+// AddUserIdDialogFragment dialogFragment =
+// AddUserIdDialogFragment.newInstance(messenger);
+//
+// dialogFragment.show(getActivity().getSupportFragmentManager(), "addUserIdDialog");
+// }
+// });
}
private void save() {
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsArrayAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsArrayAdapter.java
deleted file mode 100644
index e6445c074..000000000
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsArrayAdapter.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2013-2014 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.sufficientlysecure.keychain.ui.adapter;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.content.Context;
-import android.os.Build;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.CheckBox;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import org.sufficientlysecure.keychain.R;
-import org.sufficientlysecure.keychain.pgp.KeyRing;
-
-import java.util.List;
-
-public class UserIdsArrayAdapter extends ArrayAdapter<String> {
- protected LayoutInflater mInflater;
- protected Activity mActivity;
-
- protected List<String> mData;
-
- static class ViewHolder {
- public TextView vName;
- public TextView vAddress;
- public TextView vComment;
- public ImageView vVerified;
- public ImageView vHasChanges;
- public CheckBox vCheckBox;
- }
-
- public UserIdsArrayAdapter(Activity activity) {
- super(activity, -1);
- mActivity = activity;
- mInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- }
-
- @TargetApi(Build.VERSION_CODES.HONEYCOMB)
- public void setData(List<String> data) {
- clear();
- if (data != null) {
- this.mData = data;
-
- // add data to extended ArrayAdapter
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- addAll(data);
- } else {
- for (String entry : data) {
- add(entry);
- }
- }
- }
- }
-
- public List<String> getData() {
- return mData;
- }
-
- @Override
- public boolean hasStableIds() {
- return true;
- }
-
- public View getView(int position, View convertView, ViewGroup parent) {
- String entry = mData.get(position);
- ViewHolder holder;
- if (convertView == null) {
- holder = new ViewHolder();
- convertView = mInflater.inflate(R.layout.view_key_userids_item, null);
- holder.vName = (TextView) convertView.findViewById(R.id.userId);
- holder.vAddress = (TextView) convertView.findViewById(R.id.address);
- holder.vComment = (TextView) convertView.findViewById(R.id.comment);
- holder.vVerified = (ImageView) convertView.findViewById(R.id.certified);
- holder.vHasChanges = (ImageView) convertView.findViewById(R.id.has_changes);
- holder.vCheckBox = (CheckBox) convertView.findViewById(R.id.checkBox);
- convertView.setTag(holder);
- } else {
- holder = (ViewHolder) convertView.getTag();
- }
-
- // user id
- String[] splitUserId = KeyRing.splitUserId(entry);
- if (splitUserId[0] != null) {
- holder.vName.setText(splitUserId[0]);
- } else {
- holder.vName.setText(R.string.user_id_no_name);
- }
- if (splitUserId[1] != null) {
- holder.vAddress.setText(splitUserId[1]);
- holder.vAddress.setVisibility(View.VISIBLE);
- } else {
- holder.vAddress.setVisibility(View.GONE);
- }
- if (splitUserId[2] != null) {
- holder.vComment.setText(splitUserId[2]);
- holder.vComment.setVisibility(View.VISIBLE);
- } else {
- holder.vComment.setVisibility(View.GONE);
- }
-
- holder.vCheckBox.setVisibility(View.GONE);
-
- holder.vVerified.setImageResource(R.drawable.key_certify_ok_depth0);
-
- // all items are "new"
- holder.vHasChanges.setVisibility(View.VISIBLE);
-
- return convertView;
- }
-
-}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsNewAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsNewAdapter.java
new file mode 100644
index 000000000..dffce50a4
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsNewAdapter.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2013-2014 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package org.sufficientlysecure.keychain.ui.adapter;
+
+import android.annotation.TargetApi;
+import android.app.Activity;
+import android.content.Context;
+import android.os.Build;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import org.sufficientlysecure.keychain.R;
+import org.sufficientlysecure.keychain.pgp.KeyRing;
+
+import java.util.List;
+
+public class UserIdsNewAdapter extends ArrayAdapter<String> {
+ protected LayoutInflater mInflater;
+ protected Activity mActivity;
+
+ protected List<String> mData;
+
+// static class ViewHolder {
+// public TextView vName;
+// public TextView vAddress;
+// public TextView vComment;
+// public ImageView vVerified;
+// public ImageView vHasChanges;
+// public CheckBox vCheckBox;
+// }
+
+ public UserIdsNewAdapter(Activity activity) {
+ super(activity, -1);
+ mActivity = activity;
+ mInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ }
+
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public void setData(List<String> data) {
+ clear();
+ if (data != null) {
+ this.mData = data;
+
+ // add data to extended ArrayAdapter
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+ addAll(data);
+ } else {
+ for (String entry : data) {
+ add(entry);
+ }
+ }
+ }
+ }
+
+ public List<String> getData() {
+// String name = mName.getText().toString();
+// - String email = mAddress.getText().toString();
+// - String comment = mComment.getText().toString();
+// -
+// - String userId = null;
+// - if (!TextUtils.isEmpty(name)) {
+// - userId = name;
+// - if (!TextUtils.isEmpty(comment)) {
+// - userId += " (" + comment + ")";
+// - }
+// - if (!TextUtils.isEmpty(email)) {
+// - userId += " <" + email + ">";
+// - }
+// - }
+ return mData;
+ }
+
+ @Override
+ public boolean hasStableIds() {
+ return true;
+ }
+
+ public View getView(int position, View convertView, ViewGroup parent) {
+ String entry = mData.get(position);
+// ViewHolder holder;
+// if (convertView == null) {
+// holder = new ViewHolder();
+ convertView = mInflater.inflate(R.layout.edit_key_new_userids_item, null);
+ EditText vName = (EditText) convertView.findViewById(R.id.userId);
+ EditText vAddress = (EditText) convertView.findViewById(R.id.address);
+ EditText vComment = (EditText) convertView.findViewById(R.id.comment);
+// holder.vVerified = (ImageView) convertView.findViewById(R.id.certified);
+ ImageView vHasChanges = (ImageView) convertView.findViewById(R.id.has_changes);
+// holder.vCheckBox = (CheckBox) convertView.findViewById(R.id.checkBox);
+// convertView.setTag(holder);
+// } else {
+// holder = (ViewHolder) convertView.getTag();
+// }
+
+// // user id
+// String[] splitUserId = KeyRing.splitUserId(entry);
+// if (splitUserId[0] != null) {
+// vName.setText(splitUserId[0]);
+// } else {
+// vName.setText(R.string.user_id_no_name);
+// }
+// if (splitUserId[1] != null) {
+// vAddress.setText(splitUserId[1]);
+// vAddress.setVisibility(View.VISIBLE);
+// } else {
+// holder.vAddress.setVisibility(View.GONE);
+// }
+// if (splitUserId[2] != null) {
+// vComment.setText(splitUserId[2]);
+// vComment.setVisibility(View.VISIBLE);
+// } else {
+// holder.vComment.setVisibility(View.GONE);
+// }
+//
+// holder.vCheckBox.setVisibility(View.GONE);
+//
+// holder.vVerified.setImageResource(R.drawable.key_certify_ok_depth0);
+//
+// // all items are "new"
+// holder.vHasChanges.setVisibility(View.VISIBLE);
+
+ return convertView;
+ }
+
+}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java
deleted file mode 100644
index c27266e3f..000000000
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (C) 2014 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.sufficientlysecure.keychain.ui.dialog;
-
-import android.app.Dialog;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.os.Message;
-import android.os.Messenger;
-import android.os.RemoteException;
-import android.support.v4.app.DialogFragment;
-import android.text.TextUtils;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.view.inputmethod.EditorInfo;
-import android.widget.EditText;
-import android.widget.TextView;
-
-import org.sufficientlysecure.keychain.Constants;
-import org.sufficientlysecure.keychain.R;
-import org.sufficientlysecure.keychain.util.Log;
-
-public class AddUserIdDialogFragment extends DialogFragment implements EditText.OnEditorActionListener {
- private static final String ARG_MESSENGER = "messenger";
-
- public static final int MESSAGE_OKAY = 1;
-
- public static final String MESSAGE_DATA_USER_ID = "user_id";
-
- private Messenger mMessenger;
-
- EditText mName;
- EditText mAddress;
- EditText mComment;
-
- /**
- * Creates new instance of this dialog fragment
- */
- public static AddUserIdDialogFragment newInstance(Messenger messenger) {
- AddUserIdDialogFragment frag = new AddUserIdDialogFragment();
- Bundle args = new Bundle();
- args.putParcelable(ARG_MESSENGER, messenger);
-
- frag.setArguments(args);
-
- return frag;
- }
-
- /**
- * Creates dialog
- */
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- mMessenger = getArguments().getParcelable(ARG_MESSENGER);
-
- CustomAlertDialogBuilder alert = new CustomAlertDialogBuilder(getActivity());
- LayoutInflater inflater = getActivity().getLayoutInflater();
- View view = inflater.inflate(R.layout.add_user_id_dialog, null);
- alert.setView(view);
- alert.setTitle("Add Identity");
-
- mName = (EditText) view.findViewById(R.id.name);
- mAddress = (EditText) view.findViewById(R.id.address);
- mComment = (EditText) view.findViewById(R.id.comment);
-
- alert.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int id) {
- done();
- }
- });
-
- alert.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- });
-
-
- return alert.show();
- }
-
- @Override
- public void onActivityCreated(Bundle arg0) {
- super.onActivityCreated(arg0);
- // Show soft keyboard automatically
- mName.requestFocus();
- getDialog().getWindow().setSoftInputMode(
- WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
- mComment.setOnEditorActionListener(this);
- }
-
- @Override
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if (EditorInfo.IME_ACTION_DONE == actionId) {
- done();
- return true;
- }
- return false;
- }
-
- private void done() {
- String name = mName.getText().toString();
- String email = mAddress.getText().toString();
- String comment = mComment.getText().toString();
-
- String userId = null;
- if (!TextUtils.isEmpty(name)) {
- userId = name;
- if (!TextUtils.isEmpty(comment)) {
- userId += " (" + comment + ")";
- }
- if (!TextUtils.isEmpty(email)) {
- userId += " <" + email + ">";
- }
- }
- Bundle data = new Bundle();
- data.putString(MESSAGE_DATA_USER_ID, userId);
- sendMessageToHandler(MESSAGE_OKAY, data);
-
- this.dismiss();
- }
-
- /**
- * Send message back to handler which is initialized in a activity
- *
- * @param what Message integer you want to send
- */
- private void sendMessageToHandler(Integer what, Bundle data) {
- Message msg = Message.obtain();
- msg.what = what;
- if (data != null) {
- msg.setData(data);
- }
-
- try {
- mMessenger.send(msg);
- } catch (RemoteException e) {
- Log.w(Constants.TAG, "Exception sending message, Is handler present?", e);
- } catch (NullPointerException e) {
- Log.w(Constants.TAG, "Messenger is null!", e);
- }
- }
-
-}
diff --git a/OpenKeychain/src/main/res/layout/add_user_id_dialog.xml b/OpenKeychain/src/main/res/layout/add_user_id_dialog.xml
deleted file mode 100644
index 502ca1c70..000000000
--- a/OpenKeychain/src/main/res/layout/add_user_id_dialog.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
- android:stretchColumns="1">
-
- <TableRow android:layout_marginBottom="5dip">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:padding="4dp"
- android:text="Name" />
-
- <EditText
- android:id="@+id/name"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionNext"
- android:padding="4dp" />
- </TableRow>
-
- <TableRow android:layout_marginBottom="10dip">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:padding="4dp"
- android:text="Email" />
-
- <EditText
- android:id="@+id/address"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionNext"
- android:padding="4dp" />
- </TableRow>
-
- <TableRow android:layout_marginBottom="10dip">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:padding="4dp"
- android:text="Comment" />
-
- <EditText
- android:id="@+id/comment"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionDone"
- android:padding="4dp" />
- </TableRow>
-
-</TableLayout> \ No newline at end of file