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

View file

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

View file

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

View file

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

View file

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