diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml
index f5d3c99e3..8d76101ae 100644
--- a/OpenKeychain/src/main/AndroidManifest.xml
+++ b/OpenKeychain/src/main/AndroidManifest.xml
@@ -154,10 +154,6 @@
android:name=".ui.EditKeyActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
android:label="@string/title_edit_key" />
-
.
- */
-
-package org.sufficientlysecure.keychain.ui;
-
-import android.net.Uri;
-import android.os.Bundle;
-
-import org.sufficientlysecure.keychain.R;
-import org.sufficientlysecure.keychain.ui.base.BaseActivity;
-import timber.log.Timber;
-
-
-public class EditIdentitiesActivity extends BaseActivity {
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- Uri dataUri = getIntent().getData();
- if (dataUri == null) {
- Timber.e("Either a key Uri or EXTRA_SAVE_KEYRING_PARCEL is required!");
- finish();
- return;
- }
-
- loadFragment(savedInstanceState, dataUri);
- }
-
- @Override
- protected void initLayout() {
- setContentView(R.layout.edit_identities_activity);
- }
-
- private void loadFragment(Bundle savedInstanceState, Uri dataUri) {
- // However, if we're being restored from a previous state,
- // then we don't need to do anything and should return or else
- // we could end up with overlapping fragments.
- if (savedInstanceState != null) {
- return;
- }
-
- EditIdentitiesFragment editIdentitiesFragment = EditIdentitiesFragment.newInstance(dataUri);
-
- getSupportFragmentManager().beginTransaction()
- .replace(R.id.edit_key_fragment_container, editIdentitiesFragment)
- .commit();
- }
-
-}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditIdentitiesFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditIdentitiesFragment.java
deleted file mode 100644
index cda0deacb..000000000
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditIdentitiesFragment.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
- * Copyright (C) 2017 Schürmann & Breitmoser GbR
- *
- * 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 .
- */
-
-package org.sufficientlysecure.keychain.ui;
-
-
-import android.app.Activity;
-import android.content.Intent;
-import android.database.Cursor;
-import android.net.Uri;
-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.v4.app.LoaderManager;
-import android.support.v4.content.CursorLoader;
-import android.support.v4.content.Loader;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.CheckBox;
-import android.widget.ListView;
-
-import org.sufficientlysecure.keychain.Constants;
-import org.sufficientlysecure.keychain.R;
-import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround;
-import org.sufficientlysecure.keychain.keyimport.HkpKeyserverAddress;
-import org.sufficientlysecure.keychain.operations.results.EditKeyResult;
-import org.sufficientlysecure.keychain.operations.results.OperationResult;
-import org.sufficientlysecure.keychain.operations.results.OperationResult.LogType;
-import org.sufficientlysecure.keychain.operations.results.SingletonResult;
-import org.sufficientlysecure.keychain.operations.results.UploadResult;
-import org.sufficientlysecure.keychain.pgp.KeyRing;
-import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
-import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing;
-import org.sufficientlysecure.keychain.provider.KeyRepository;
-import org.sufficientlysecure.keychain.provider.KeyRepository.NotFoundException;
-import org.sufficientlysecure.keychain.provider.KeychainContract;
-import org.sufficientlysecure.keychain.provider.KeychainContract.UserPackets;
-import org.sufficientlysecure.keychain.service.SaveKeyringParcel;
-import org.sufficientlysecure.keychain.service.UploadKeyringParcel;
-import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter;
-import org.sufficientlysecure.keychain.ui.adapter.UserIdsAddedAdapter;
-import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;
-import org.sufficientlysecure.keychain.ui.dialog.AddUserIdDialogFragment;
-import org.sufficientlysecure.keychain.ui.dialog.EditUserIdDialogFragment;
-import org.sufficientlysecure.keychain.ui.dialog.SetPassphraseDialogFragment;
-import org.sufficientlysecure.keychain.util.Preferences;
-import timber.log.Timber;
-
-
-public class EditIdentitiesFragment extends Fragment
- implements LoaderManager.LoaderCallbacks {
-
- public static final String ARG_DATA_URI = "uri";
-
- private CheckBox mUploadKeyCheckbox;
- private ListView mUserIdsList;
- private ListView mUserIdsAddedList;
- private View mAddUserId;
-
- private static final int LOADER_ID_USER_IDS = 0;
-
- private UserIdsAdapter mUserIdsAdapter;
- private UserIdsAddedAdapter mUserIdsAddedAdapter;
-
- private Uri mDataUri;
-
- private SaveKeyringParcel.Builder mSkpBuilder;
-
- private CryptoOperationHelper mEditOpHelper;
- private CryptoOperationHelper mUploadOpHelper;
-
- private String mPrimaryUserId;
-
- /**
- * Creates new instance of this fragment
- */
- public static EditIdentitiesFragment newInstance(Uri dataUri) {
- EditIdentitiesFragment frag = new EditIdentitiesFragment();
-
- Bundle args = new Bundle();
- args.putParcelable(ARG_DATA_URI, dataUri);
-
- frag.setArguments(args);
-
- return frag;
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup superContainer, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.edit_identities_fragment, null);
-
- mUploadKeyCheckbox = view.findViewById(R.id.edit_identities_upload_checkbox);
- mUserIdsList = view.findViewById(R.id.edit_identities_user_ids);
- mUserIdsAddedList = view.findViewById(R.id.edit_identities_user_ids_added);
- mAddUserId = view.findViewById(R.id.edit_identities_add_user_id);
-
- // If this is a debug build, don't upload by default
- if (Constants.DEBUG) {
- mUploadKeyCheckbox.setChecked(false);
- }
-
- return view;
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- ((EditIdentitiesActivity) getActivity()).setFullScreenDialogDoneClose(
- R.string.btn_save,
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- editKey();
- }
- }, new OnClickListener() {
- @Override
- public void onClick(View v) {
- getActivity().setResult(Activity.RESULT_CANCELED);
- getActivity().finish();
- }
- });
-
- Uri dataUri = getArguments().getParcelable(ARG_DATA_URI);
- if (dataUri == null) {
- Timber.e("Either a key Uri is required!");
- getActivity().finish();
- return;
- }
-
- initView();
- loadData(dataUri);
- }
-
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (mEditOpHelper != null) {
- mEditOpHelper.handleActivityResult(requestCode, resultCode, data);
- }
- if (mUploadOpHelper != null) {
- mUploadOpHelper.handleActivityResult(requestCode, resultCode, data);
- }
-
- super.onActivityResult(requestCode, resultCode, data);
- }
-
- private void loadData(Uri dataUri) {
- mDataUri = dataUri;
-
- Timber.i("dataUri: " + mDataUri);
-
- // load the secret key ring. we do verify here that the passphrase is correct, so cached won't do
- try {
- Uri secretUri = KeychainContract.KeyRings.buildUnifiedKeyRingUri(mDataUri);
- CachedPublicKeyRing keyRing =
- KeyRepository.create(getContext()).getCachedPublicKeyRing(secretUri);
- long masterKeyId = keyRing.getMasterKeyId();
-
- // check if this is a master secret key we can work with
- switch (keyRing.getSecretKeyType(masterKeyId)) {
- case GNU_DUMMY:
- finishWithError(LogType.MSG_EK_ERROR_DUMMY);
- return;
- }
-
- mSkpBuilder = SaveKeyringParcel.buildChangeKeyringParcel(masterKeyId, keyRing.getFingerprint());
- mPrimaryUserId = keyRing.getPrimaryUserIdWithFallback();
-
- } catch (PgpKeyNotFoundException | NotFoundException e) {
- finishWithError(LogType.MSG_EK_ERROR_NOT_FOUND);
- return;
- }
-
- // Prepare the loaders. Either re-connect with an existing ones,
- // or start new ones.
- getLoaderManager().initLoader(LOADER_ID_USER_IDS, null, EditIdentitiesFragment.this);
-
- mUserIdsAdapter = new UserIdsAdapter(getActivity(), null, 0);
- mUserIdsAdapter.setEditMode(mSkpBuilder);
- mUserIdsList.setAdapter(mUserIdsAdapter);
-
- // TODO: SaveParcel from savedInstance?!
- mUserIdsAddedAdapter = new UserIdsAddedAdapter(getActivity(), mSkpBuilder.getMutableAddUserIds(), false);
- mUserIdsAddedList.setAdapter(mUserIdsAddedAdapter);
- }
-
- private void initView() {
- mAddUserId.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- addUserId();
- }
- });
-
- mUserIdsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- editUserId(position);
- }
- });
- }
-
- public Loader onCreateLoader(int id, Bundle args) {
-
- switch (id) {
- case LOADER_ID_USER_IDS: {
- Uri baseUri = UserPackets.buildUserIdsUri(mDataUri);
- return new CursorLoader(getActivity(), baseUri,
- UserIdsAdapter.USER_PACKETS_PROJECTION, null, null, null);
- }
-
- default:
- return null;
- }
- }
-
- public void onLoadFinished(Loader loader, Cursor data) {
- // Swap the new cursor in. (The framework will take care of closing the
- // old cursor once we return.)
- switch (loader.getId()) {
- case LOADER_ID_USER_IDS: {
- mUserIdsAdapter.swapCursor(data);
- break;
- }
- }
- }
-
- /**
- * This is called when the last Cursor provided to onLoadFinished() above is about to be closed.
- * We need to make sure we are no longer using it.
- */
- public void onLoaderReset(Loader loader) {
- switch (loader.getId()) {
- case LOADER_ID_USER_IDS: {
- mUserIdsAdapter.swapCursor(null);
- break;
- }
- }
- }
-
- private void editUserId(final int position) {
- final String userId = mUserIdsAdapter.getUserId(position);
- final boolean isRevoked = mUserIdsAdapter.getIsRevoked(position);
- final boolean isRevokedPending = mUserIdsAdapter.getIsRevokedPending(position);
-
- Handler returnHandler = new Handler() {
- @Override
- public void handleMessage(Message message) {
- switch (message.what) {
- case EditUserIdDialogFragment.MESSAGE_CHANGE_PRIMARY_USER_ID:
- // toggle
- if (mSkpBuilder.getChangePrimaryUserId() != null
- && mSkpBuilder.getChangePrimaryUserId().equals(userId)) {
- mSkpBuilder.setChangePrimaryUserId(null);
- } else {
- mSkpBuilder.setChangePrimaryUserId(userId);
- }
- break;
- case EditUserIdDialogFragment.MESSAGE_REVOKE:
- // toggle
- if (mSkpBuilder.getMutableRevokeUserIds().contains(userId)) {
- mSkpBuilder.removeRevokeUserId(userId);
- } else {
- mSkpBuilder.addRevokeUserId(userId);
- // not possible to revoke and change to primary user id
- if (mSkpBuilder.getChangePrimaryUserId() != null
- && mSkpBuilder.getChangePrimaryUserId().equals(userId)) {
- mSkpBuilder.setChangePrimaryUserId(null);
- }
- }
- break;
- }
- 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() {
- EditUserIdDialogFragment dialogFragment =
- EditUserIdDialogFragment.newInstance(messenger, isRevoked, isRevokedPending);
- dialogFragment.show(getActivity().getSupportFragmentManager(), "editUserIdDialog");
- }
- });
- }
-
- private void addUserId() {
- Handler returnHandler = new Handler() {
- @Override
- public void handleMessage(Message message) {
- if (message.what == SetPassphraseDialogFragment.MESSAGE_OKAY) {
- Bundle data = message.getData();
-
- // add new user id
- mUserIdsAddedAdapter.add(data
- .getString(AddUserIdDialogFragment.MESSAGE_DATA_USER_ID));
- }
- }
- };
-
- // Create a new Messenger for the communication back
- Messenger messenger = new Messenger(returnHandler);
-
- // pre-fill out primary name
- String predefinedName = KeyRing.splitUserId(mPrimaryUserId).name;
- AddUserIdDialogFragment addUserIdDialog = AddUserIdDialogFragment.newInstance(messenger, predefinedName);
-
- addUserIdDialog.show(getActivity().getSupportFragmentManager(), "addUserIdDialog");
- }
-
-
- private void editKey() {
- EditIdentitiesActivity activity = (EditIdentitiesActivity) getActivity();
- if (activity == null) {
- // this is a ui-triggered action, nvm if it fails while detached!
- return;
- }
-
- CryptoOperationHelper.Callback editKeyCallback
- = new CryptoOperationHelper.Callback() {
- @Override
- public SaveKeyringParcel createOperationInput() {
- return mSkpBuilder.build();
- }
-
- @Override
- public void onCryptoOperationSuccess(EditKeyResult result) {
-
- if (mUploadKeyCheckbox.isChecked()) {
- // result will be displayed after upload
- uploadKey(result);
- return;
- }
-
- finishWithResult(result);
- }
-
- @Override
- public void onCryptoOperationCancelled() {
-
- }
-
- @Override
- public void onCryptoOperationError(EditKeyResult result) {
- displayResult(result);
- }
-
- @Override
- public boolean onCryptoSetProgress(String msg, int progress, int max) {
- return false;
- }
- };
-
- mEditOpHelper = new CryptoOperationHelper<>(1, this, editKeyCallback, R.string.progress_building_key);
- mEditOpHelper.cryptoOperation();
- }
-
-
- private void uploadKey(final EditKeyResult editKeyResult) {
- Activity activity = getActivity();
- // if the activity is gone at this point, there is nothing we can do!
- if (activity == null) {
- return;
- }
-
- if (editKeyResult.mMasterKeyId == null) {
- throw new AssertionError("A successful edit key result must include a master key id!");
- }
-
- final long masterKeyId = editKeyResult.mMasterKeyId;
- // upload to favorite keyserver
- final HkpKeyserverAddress keyserver = Preferences.getPreferences(activity).getPreferredKeyserver();
-
- CryptoOperationHelper.Callback callback
- = new CryptoOperationHelper.Callback() {
-
- @Override
- public UploadKeyringParcel createOperationInput() {
- return UploadKeyringParcel.createWithKeyId(keyserver, masterKeyId);
- }
-
- @Override
- public void onCryptoOperationSuccess(UploadResult result) {
- handleResult(result);
- }
-
- @Override
- public void onCryptoOperationCancelled() {
-
- }
-
- @Override
- public void onCryptoOperationError(UploadResult result) {
- displayResult(result);
- }
-
- public void handleResult(UploadResult result) {
- editKeyResult.getLog().add(result, 0);
- finishWithResult(editKeyResult);
- }
-
- @Override
- public boolean onCryptoSetProgress(String msg, int progress, int max) {
- return false;
- }
- };
-
- mUploadOpHelper = new CryptoOperationHelper<>(3, this, callback, R.string.progress_uploading);
- mUploadOpHelper.cryptoOperation();
- }
-
- private void displayResult(OperationResult result) {
- Activity activity = getActivity();
- if (activity == null) {
- return;
- }
- result.createNotify(activity).show();
- }
-
- void finishWithError(LogType reason) {
- SingletonResult errorResult = new SingletonResult(SingletonResult.RESULT_ERROR, reason);
- finishWithResult(errorResult);
- }
-
- public void finishWithResult(OperationResult result) {
- Activity activity = getActivity();
- if (activity == null) {
- return;
- }
-
- Intent data = new Intent();
- data.putExtra(OperationResult.EXTRA_RESULT, result);
- activity.setResult(Activity.RESULT_OK, data);
- activity.finish();
- }
-}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java
index 499be251c..03873475b 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/presenter/IdentitiesPresenter.java
@@ -31,18 +31,16 @@ import android.support.v4.content.Loader;
import android.view.View;
import org.sufficientlysecure.keychain.provider.AutocryptPeerDataAccessObject;
-import org.sufficientlysecure.keychain.provider.KeychainContract;
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
import org.sufficientlysecure.keychain.provider.KeychainContract.UserPackets;
-import org.sufficientlysecure.keychain.ui.EditIdentitiesActivity;
import org.sufficientlysecure.keychain.ui.adapter.IdentityAdapter;
import org.sufficientlysecure.keychain.ui.adapter.IdentityAdapter.IdentityClickListener;
import org.sufficientlysecure.keychain.ui.dialog.UserIdInfoDialogFragment;
import org.sufficientlysecure.keychain.ui.keyview.LinkedIdViewFragment;
import org.sufficientlysecure.keychain.ui.keyview.loader.IdentityLoader;
+import org.sufficientlysecure.keychain.ui.keyview.loader.IdentityLoader.AutocryptPeerInfo;
import org.sufficientlysecure.keychain.ui.keyview.loader.IdentityLoader.IdentityInfo;
import org.sufficientlysecure.keychain.ui.keyview.loader.IdentityLoader.LinkedIdInfo;
-import org.sufficientlysecure.keychain.ui.keyview.loader.IdentityLoader.AutocryptPeerInfo;
import org.sufficientlysecure.keychain.ui.keyview.loader.IdentityLoader.UserIdInfo;
import org.sufficientlysecure.keychain.ui.linked.LinkedIdWizard;
import org.sufficientlysecure.keychain.util.Preferences;
@@ -87,15 +85,9 @@ public class IdentitiesPresenter implements LoaderCallbacks>
});
view.setIdentitiesAdapter(identitiesAdapter);
- view.setEditIdentitiesButtonVisible(isSecret);
view.setAddLinkedIdButtonVisible(showLinkedIds);
view.setIdentitiesCardListener(new IdentitiesCardListener() {
- @Override
- public void onClickEditIdentities() {
- editIdentities();
- }
-
@Override
public void onClickAddIdentity() {
addLinkedIdentity();
@@ -163,12 +155,6 @@ public class IdentitiesPresenter implements LoaderCallbacks>
}
}
- private void editIdentities() {
- Intent editIntent = new Intent(context, EditIdentitiesActivity.class);
- editIntent.setData(KeychainContract.KeyRingData.buildSecretKeyRingUri(masterKeyId));
- viewKeyMvpView.startActivityAndShowResultSnackbar(editIntent);
- }
-
private void addLinkedIdentity() {
Intent intent = new Intent(context, LinkedIdWizard.class);
intent.setData(KeyRings.buildUnifiedKeyRingUri(masterKeyId));
@@ -190,12 +176,10 @@ public class IdentitiesPresenter implements LoaderCallbacks>
public interface IdentitiesMvpView {
void setIdentitiesAdapter(IdentityAdapter userIdsAdapter);
void setIdentitiesCardListener(IdentitiesCardListener identitiesCardListener);
- void setEditIdentitiesButtonVisible(boolean show);
void setAddLinkedIdButtonVisible(boolean showLinkedIds);
}
public interface IdentitiesCardListener {
- void onClickEditIdentities();
void onClickAddIdentity();
}
}
\ No newline at end of file
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java
index 38d70c884..ea3af35a8 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/view/IdentitiesCardView.java
@@ -39,7 +39,6 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView {
private IdentitiesCardListener identitiesCardListener;
private final Button linkedIdsAddButton;
- private final Button userIdsEditButton;
public IdentitiesCardView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -50,16 +49,6 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView {
vIdentities.setLayoutManager(new LinearLayoutManager(context));
vIdentities.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL_LIST, false));
- userIdsEditButton = view.findViewById(R.id.view_key_card_user_ids_edit);
- userIdsEditButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- if (identitiesCardListener != null) {
- identitiesCardListener.onClickEditIdentities();
- }
- }
- });
-
linkedIdsAddButton = view.findViewById(R.id.view_key_card_linked_ids_add);
linkedIdsAddButton.setOnClickListener(new View.OnClickListener() {
@Override
@@ -81,11 +70,6 @@ public class IdentitiesCardView extends CardView implements IdentitiesMvpView {
this.identitiesCardListener = identitiesCardListener;
}
- @Override
- public void setEditIdentitiesButtonVisible(boolean show) {
- userIdsEditButton.setVisibility(show ? View.VISIBLE : View.GONE);
- }
-
@Override
public void setAddLinkedIdButtonVisible(boolean show) {
linkedIdsAddButton.setVisibility(show ? View.VISIBLE : View.GONE);
diff --git a/OpenKeychain/src/main/res/layout/edit_identities_activity.xml b/OpenKeychain/src/main/res/layout/edit_identities_activity.xml
deleted file mode 100644
index 8505f789a..000000000
--- a/OpenKeychain/src/main/res/layout/edit_identities_activity.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/edit_identities_fragment.xml b/OpenKeychain/src/main/res/layout/edit_identities_fragment.xml
deleted file mode 100644
index 1b6fcf5df..000000000
--- a/OpenKeychain/src/main/res/layout/edit_identities_fragment.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OpenKeychain/src/main/res/layout/identities_card.xml b/OpenKeychain/src/main/res/layout/identities_card.xml
index abd33fa1c..a970fd76b 100644
--- a/OpenKeychain/src/main/res/layout/identities_card.xml
+++ b/OpenKeychain/src/main/res/layout/identities_card.xml
@@ -42,14 +42,6 @@
tools:visibility="visible"
/>
-
-
\ No newline at end of file