Some small AS cleanups

This commit is contained in:
Vincent Breitmoser 2018-03-24 19:31:46 +01:00
parent 993cb57d92
commit b598a4d965
5 changed files with 69 additions and 152 deletions

View file

@ -23,6 +23,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Messenger;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
@ -67,7 +68,6 @@ public class CreateKeyEmailFragment extends Fragment {
* Checks if text of given EditText is not empty. If it is empty an error is
* set and the EditText gets the focus.
*
* @param editText
* @return true if EditText is not empty
*/
private boolean isMainEmailValid(EditText editText) {
@ -83,7 +83,7 @@ public class CreateKeyEmailFragment extends Fragment {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.create_key_email_fragment, container, false);
mEmailEdit = view.findViewById(R.id.create_key_email);
@ -98,29 +98,14 @@ public class CreateKeyEmailFragment extends Fragment {
if (mCreateKeyActivity.mEmail == null) {
mEmailEdit.requestFocus();
}
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCreateKeyActivity.loadFragment(null, FragAction.TO_LEFT);
}
});
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nextClicked();
}
});
backButton.setOnClickListener(v -> mCreateKeyActivity.loadFragment(null, FragAction.TO_LEFT));
nextButton.setOnClickListener(v -> nextClicked());
emailsRecyclerView.setHasFixedSize(true);
emailsRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
emailsRecyclerView.setItemAnimator(new DefaultItemAnimator());
if (mEmailAdapter == null) {
mEmailAdapter = new EmailAdapter(mAdditionalEmailModels, new View.OnClickListener() {
@Override
public void onClick(View v) {
addEmail();
}
});
mEmailAdapter = new EmailAdapter(mAdditionalEmailModels, v -> addEmail());
if (mCreateKeyActivity.mAdditionalEmails != null) {
mEmailAdapter.addAll(mCreateKeyActivity.mAdditionalEmails);
@ -134,10 +119,6 @@ public class CreateKeyEmailFragment extends Fragment {
/**
* Checks if a given email is valid
*
* @param email
* @param additionalEmail
* @return
*/
private boolean checkEmail(String email, boolean additionalEmail) {
if (email.isEmpty()) {
@ -161,9 +142,6 @@ public class CreateKeyEmailFragment extends Fragment {
/**
* Checks for duplicated emails inside the additional email adapter.
*
* @param email
* @return
*/
private boolean isEmailDuplicatedInsideAdapter(String email) {
//check for duplicated emails inside the adapter
@ -252,7 +230,7 @@ public class CreateKeyEmailFragment extends Fragment {
}
@Override
public void onSaveInstanceState(Bundle outState) {
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
// save state in activity
mCreateKeyActivity.mAdditionalEmails = getAdditionalEmails();
@ -281,8 +259,8 @@ public class CreateKeyEmailFragment extends Fragment {
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder
class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ImageButton mDeleteButton;
TextView mTextView;
ImageButton mDeleteButton;
public ViewHolder(View itemView) {
super(itemView);
@ -292,16 +270,16 @@ public class CreateKeyEmailFragment extends Fragment {
}
class FooterHolder extends RecyclerView.ViewHolder {
public Button mAddButton;
Button mAddButton;
public FooterHolder(View itemView) {
FooterHolder(View itemView) {
super(itemView);
mAddButton = itemView.findViewById(R.id.create_key_add_email);
}
}
// Provide a suitable constructor (depends on the kind of dataset)
public EmailAdapter(List<ViewModel> myDataset, View.OnClickListener onFooterClickListener) {
EmailAdapter(List<ViewModel> myDataset, View.OnClickListener onFooterClickListener) {
mDataset = myDataset;
mFooterOnClickListener = onFooterClickListener;
}
@ -334,12 +312,7 @@ public class CreateKeyEmailFragment extends Fragment {
final ViewModel model = mDataset.get(position);
thisHolder.mTextView.setText(model.email);
thisHolder.mDeleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
remove(model);
}
});
thisHolder.mDeleteButton.setOnClickListener(v -> remove(model));
}
}

View file

@ -17,17 +17,22 @@
package org.sufficientlysecure.keychain.ui;
import java.util.Date;
import java.util.Iterator;
import java.util.regex.Pattern;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
@ -37,6 +42,7 @@ import org.bouncycastle.bcpg.sig.KeyFlags;
import org.openintents.openpgp.util.OpenPgpUtils;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
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.UploadResult;
@ -52,15 +58,10 @@ import org.sufficientlysecure.keychain.service.UploadKeyringParcel;
import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;
import org.sufficientlysecure.keychain.keyimport.HkpKeyserverAddress;
import org.sufficientlysecure.keychain.util.Passphrase;
import org.sufficientlysecure.keychain.util.Preferences;
import timber.log.Timber;
import java.util.Date;
import java.util.Iterator;
import java.util.regex.Pattern;
public class CreateKeyFinalFragment extends Fragment {
public static final int REQUEST_EDIT_KEY = 0x00008007;
@ -101,7 +102,7 @@ public class CreateKeyFinalFragment extends Fragment {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.create_key_final_fragment, container, false);
mNameEdit = view.findViewById(R.id.name);
@ -121,13 +122,13 @@ public class CreateKeyFinalFragment extends Fragment {
mNameEdit.setText(getString(R.string.user_id_no_name));
}
if (createKeyActivity.mAdditionalEmails != null && createKeyActivity.mAdditionalEmails.size() > 0) {
String emailText = createKeyActivity.mEmail + ", ";
StringBuilder emailText = new StringBuilder(createKeyActivity.mEmail).append(", ");
Iterator<?> it = createKeyActivity.mAdditionalEmails.iterator();
while (it.hasNext()) {
Object next = it.next();
emailText += next;
emailText.append(next);
if (it.hasNext()) {
emailText += ", ";
emailText.append(", ");
}
}
mEmailEdit.setText(emailText);
@ -137,27 +138,14 @@ public class CreateKeyFinalFragment extends Fragment {
checkEmailValidity();
mCreateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createKey();
}
});
mCreateButton.setOnClickListener(v -> createKey());
mCustomKeyRevertButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
keyConfigRevertToDefault();
}
});
mCustomKeyRevertButton.setOnClickListener(v -> keyConfigRevertToDefault());
mBackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CreateKeyActivity createKeyActivity = (CreateKeyActivity) getActivity();
if (createKeyActivity != null) {
createKeyActivity.loadFragment(null, FragAction.TO_LEFT);
}
mBackButton.setOnClickListener(v -> {
CreateKeyActivity createKeyActivity1 = (CreateKeyActivity) getActivity();
if (createKeyActivity1 != null) {
createKeyActivity1.loadFragment(null, FragAction.TO_LEFT);
}
});
@ -245,7 +233,7 @@ public class CreateKeyFinalFragment extends Fragment {
}
@Override
public void onSaveInstanceState(Bundle outState) {
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
if (isCustomConfiguration) {
@ -347,19 +335,16 @@ public class CreateKeyFinalFragment extends Fragment {
emailsValid = false;
}
if (createKeyActivity.mAdditionalEmails != null && createKeyActivity.mAdditionalEmails.size() > 0) {
for (Iterator<?> it = createKeyActivity.mAdditionalEmails.iterator(); it.hasNext(); ) {
if (!EMAIL_PATTERN.matcher(it.next().toString()).matches()) {
for (String mAdditionalEmail : createKeyActivity.mAdditionalEmails) {
if (!EMAIL_PATTERN.matcher(mAdditionalEmail).matches()) {
emailsValid = false;
}
}
}
if (!emailsValid) {
mEmailEdit.setError(getString(R.string.create_key_final_email_valid_warning));
mEmailEdit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mNameEdit.requestFocus(); // Workaround to remove focus from email
}
mEmailEdit.setOnClickListener(v -> {
mNameEdit.requestFocus(); // Workaround to remove focus from email
});
}
}

View file

@ -17,9 +17,10 @@
package org.sufficientlysecure.keychain.ui;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
@ -50,7 +51,7 @@ public class CreateKeyNameFragment extends Fragment {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.create_key_name_fragment, container, false);
mNameEdit = view.findViewById(R.id.create_key_name);
@ -64,18 +65,8 @@ public class CreateKeyNameFragment extends Fragment {
if (mCreateKeyActivity.mName == null) {
mNameEdit.requestFocus();
}
mBackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCreateKeyActivity.loadFragment(null, FragAction.TO_LEFT);
}
});
mNextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nextClicked();
}
});
mBackButton.setOnClickListener(v -> mCreateKeyActivity.loadFragment(null, FragAction.TO_LEFT));
mNextButton.setOnClickListener(v -> nextClicked());
return view;
}

View file

@ -18,17 +18,16 @@
package org.sufficientlysecure.keychain.ui;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView;
@ -66,7 +65,7 @@ public class CreateKeyStartFragment extends Fragment {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.create_key_start_fragment, container, false);
mCreateKey = view.findViewById(R.id.create_key_create_key_button);
@ -81,52 +80,36 @@ public class CreateKeyStartFragment extends Fragment {
mSkipOrCancel.setText(R.string.btn_do_not_save);
}
mCreateKey.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CreateKeyNameFragment frag = CreateKeyNameFragment.newInstance();
mCreateKeyActivity.loadFragment(frag, FragAction.TO_RIGHT);
}
mCreateKey.setOnClickListener(v -> {
CreateKeyNameFragment frag = CreateKeyNameFragment.newInstance();
mCreateKeyActivity.loadFragment(frag, FragAction.TO_RIGHT);
});
mSecurityToken.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CreateSecurityTokenWaitFragment frag = new CreateSecurityTokenWaitFragment();
mCreateKeyActivity.loadFragment(frag, FragAction.TO_RIGHT);
}
mSecurityToken.setOnClickListener(v -> {
CreateSecurityTokenWaitFragment frag = new CreateSecurityTokenWaitFragment();
mCreateKeyActivity.loadFragment(frag, FragAction.TO_RIGHT);
});
mImportKey.setOnClickListener(new View.OnClickListener() {
@Override
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_IMPORT_KEY);
}
mImportKey.setOnClickListener(v -> {
Intent intent = new Intent(mCreateKeyActivity, ImportKeysActivity.class);
intent.setAction(ImportKeysActivity.ACTION_IMPORT_KEY_FROM_FILE_AND_RETURN);
startActivityForResult(intent, REQUEST_CODE_IMPORT_KEY);
});
if (Build.VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
mSecureDeviceSetup.setOnClickListener(new OnClickListener() {
@TargetApi(VERSION_CODES.LOLLIPOP)
@Override
public void onClick(View v) {
TransferFragment frag = new TransferFragment();
mCreateKeyActivity.loadFragment(frag, FragAction.TO_RIGHT);
}
mSecureDeviceSetup.setOnClickListener(v -> {
TransferFragment frag = new TransferFragment();
mCreateKeyActivity.loadFragment(frag, FragAction.TO_RIGHT);
});
} else {
mSecureDeviceSetup.setVisibility(View.GONE);
}
mSkipOrCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!mCreateKeyActivity.mFirstTime) {
mCreateKeyActivity.setResult(Activity.RESULT_CANCELED);
}
mCreateKeyActivity.finish();
mSkipOrCancel.setOnClickListener(v -> {
if (!mCreateKeyActivity.mFirstTime) {
mCreateKeyActivity.setResult(Activity.RESULT_CANCELED);
}
mCreateKeyActivity.finish();
});
return view;

View file

@ -40,7 +40,6 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ViewAnimator;
@ -202,26 +201,17 @@ public class KeyListFragment extends RecyclerFragment<KeySectionedListAdapter>
FloatingActionButton fabCloud = view.findViewById(R.id.fab_add_cloud);
FloatingActionButton fabFile = view.findViewById(R.id.fab_add_file);
fabQrCode.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mFab.collapse();
scanQrCode();
}
fabQrCode.setOnClickListener(v -> {
mFab.collapse();
scanQrCode();
});
fabCloud.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mFab.collapse();
searchCloud();
}
fabCloud.setOnClickListener(v -> {
mFab.collapse();
searchCloud();
});
fabFile.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mFab.collapse();
importFile();
}
fabFile.setOnClickListener(v -> {
mFab.collapse();
importFile();
});
@ -248,12 +238,7 @@ public class KeyListFragment extends RecyclerFragment<KeySectionedListAdapter>
// click on search button (in empty view) starts query for search string
vSearchContainer = activity.findViewById(R.id.search_container);
vSearchButton = activity.findViewById(R.id.search_button);
vSearchButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startSearchForQuery();
}
});
vSearchButton.setOnClickListener(v -> startSearchForQuery());
KeySectionedListAdapter adapter = new KeySectionedListAdapter(getContext(), null);
adapter.setKeyListener(mKeyListener);
@ -484,7 +469,7 @@ public class KeyListFragment extends RecyclerFragment<KeySectionedListAdapter>
);
if (cursor == null) {
Notify.create(activity, R.string.error_loading_keys, Notify.Style.ERROR);
Notify.create(activity, R.string.error_loading_keys, Notify.Style.ERROR).show();
return;
}