Merge pull request #704 from da-kid/master

Fixed #702 and also #597
This commit is contained in:
Dominik Schürmann 2014-06-30 21:57:33 +02:00
commit d07dbecef4
59 changed files with 268 additions and 160 deletions

View File

@ -10,7 +10,6 @@ dependencies {
compile project(':extern:openkeychain-api-lib')
compile project(':extern:html-textview')
compile project(':extern:StickyListHeaders:library')
compile project(':extern:AndroidBootstrap:AndroidBootstrap')
compile project(':extern:zxing-qr-code')
compile project(':extern:zxing-android-integration')
compile project(':extern:spongycastle:core')

View File

@ -28,8 +28,7 @@ import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Spinner;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import android.widget.Button;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
@ -57,7 +56,7 @@ public class AccountSettingsFragment extends Fragment implements
private Spinner mCompression;
private SelectSecretKeyLayoutFragment mSelectKeyFragment;
private BootstrapButton mCreateKeyButton;
private Button mCreateKeyButton;
KeyValueSpinnerAdapter mEncryptionAdapter;
KeyValueSpinnerAdapter mHashAdapter;
@ -107,7 +106,7 @@ public class AccountSettingsFragment extends Fragment implements
.findViewById(R.id.api_account_settings_encryption_algorithm);
mHashAlgorithm = (Spinner) view.findViewById(R.id.api_account_settings_hash_algorithm);
mCompression = (Spinner) view.findViewById(R.id.api_account_settings_compression);
mCreateKeyButton = (BootstrapButton) view.findViewById(R.id.api_account_settings_create_key);
mCreateKeyButton = (Button) view.findViewById(R.id.api_account_settings_create_key);
mCreateKeyButton.setOnClickListener(new View.OnClickListener() {
@Override

View File

@ -32,8 +32,8 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.devspark.appmsg.AppMsg;
import org.sufficientlysecure.keychain.Constants;
@ -57,7 +57,7 @@ public class DecryptFileFragment extends DecryptFragment {
// view
private EditText mFilename;
private CheckBox mDeleteAfter;
private BootstrapButton mBrowse;
private ImageButton mBrowse;
private View mDecryptButton;
private String mInputFilename = null;
@ -75,7 +75,7 @@ public class DecryptFileFragment extends DecryptFragment {
View view = inflater.inflate(R.layout.decrypt_file_fragment, container, false);
mFilename = (EditText) view.findViewById(R.id.decrypt_file_filename);
mBrowse = (BootstrapButton) view.findViewById(R.id.decrypt_file_browse);
mBrowse = (ImageButton) view.findViewById(R.id.decrypt_file_browse);
mDeleteAfter = (CheckBox) view.findViewById(R.id.decrypt_file_delete_after_decryption);
mDecryptButton = view.findViewById(R.id.decrypt_file_action_decrypt);
mBrowse.setOnClickListener(new View.OnClickListener() {

View File

@ -29,8 +29,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import android.widget.Button;
import org.openintents.openpgp.OpenPgpSignatureResult;
import org.sufficientlysecure.keychain.R;
@ -52,7 +51,7 @@ public class DecryptFragment extends Fragment {
protected TextView mUserId;
protected TextView mUserIdRest;
protected BootstrapButton mLookupKey;
protected Button mLookupKey;
@Override
@ -65,7 +64,7 @@ public class DecryptFragment extends Fragment {
mSignatureStatusImage = (ImageView) getView().findViewById(R.id.ic_signature_status);
mUserId = (TextView) getView().findViewById(R.id.mainUserId);
mUserIdRest = (TextView) getView().findViewById(R.id.mainUserIdRest);
mLookupKey = (BootstrapButton) getView().findViewById(R.id.lookup_key);
mLookupKey = (Button) getView().findViewById(R.id.lookup_key);
mLookupKey.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

View File

@ -34,13 +34,13 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.Toast;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.devspark.appmsg.AppMsg;
import org.sufficientlysecure.keychain.Constants;
@ -97,7 +97,7 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
private boolean mNeedsSaving;
private boolean mIsBrandNewKeyring = false;
private BootstrapButton mChangePassphrase;
private Button mChangePassphrase;
private CheckBox mNoPassphrase;
@ -372,7 +372,7 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
setContentView(R.layout.edit_key_activity);
// find views
mChangePassphrase = (BootstrapButton) findViewById(R.id.edit_key_btn_change_passphrase);
mChangePassphrase = (Button) findViewById(R.id.edit_key_btn_change_passphrase);
mNoPassphrase = (CheckBox) findViewById(R.id.edit_key_no_passphrase);
// Build layout based on given userIds and keys

View File

@ -27,8 +27,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import android.widget.Button;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
@ -52,7 +51,7 @@ public class EncryptAsymmetricFragment extends Fragment {
OnAsymmetricKeySelection mKeySelectionListener;
// view
private BootstrapButton mSelectKeysButton;
private Button mSelectKeysButton;
private CheckBox mSign;
private TextView mMainUserId;
private TextView mMainUserIdRest;
@ -99,7 +98,7 @@ public class EncryptAsymmetricFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.encrypt_asymmetric_fragment, container, false);
mSelectKeysButton = (BootstrapButton) view.findViewById(R.id.btn_selectEncryptKeys);
mSelectKeysButton = (Button) view.findViewById(R.id.btn_selectEncryptKeys);
mSign = (CheckBox) view.findViewById(R.id.sign);
mMainUserId = (TextView) view.findViewById(R.id.mainUserId);
mMainUserIdRest = (TextView) view.findViewById(R.id.mainUserIdRest);
@ -204,7 +203,7 @@ public class EncryptAsymmetricFragment extends Fragment {
userId = null;
}
if (userId != null && userId[0] != null) {
mMainUserId.setText(userId[0]);
mMainUserId.setText(String.format("%#16x", Long.parseLong(userId[0])));
} else {
mMainUserId.setText(getResources().getString(R.string.user_id_no_name));
}

View File

@ -34,9 +34,9 @@ import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Spinner;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.devspark.appmsg.AppMsg;
import org.sufficientlysecure.keychain.Constants;
@ -68,7 +68,7 @@ public class EncryptFileFragment extends Fragment {
private EditText mFilename = null;
private CheckBox mDeleteAfter = null;
private CheckBox mShareAfter = null;
private BootstrapButton mBrowse = null;
private ImageButton mBrowse = null;
private View mEncryptFile;
private FileDialogFragment mFileDialog;
@ -105,7 +105,7 @@ public class EncryptFileFragment extends Fragment {
});
mFilename = (EditText) view.findViewById(R.id.filename);
mBrowse = (BootstrapButton) view.findViewById(R.id.btn_browse);
mBrowse = (ImageButton) view.findViewById(R.id.btn_browse);
mBrowse.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (Constants.KITKAT) {

View File

@ -51,8 +51,8 @@ import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Button;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.devspark.appmsg.AppMsg;
import org.sufficientlysecure.keychain.Constants;
@ -85,8 +85,8 @@ public class KeyListFragment extends LoaderFragment
private String mQuery;
private SearchView mSearchView;
// empty list layout
private BootstrapButton mButtonEmptyCreate;
private BootstrapButton mButtonEmptyImport;
private Button mButtonEmptyCreate;
private Button mButtonEmptyImport;
/**
@ -101,7 +101,7 @@ public class KeyListFragment extends LoaderFragment
mStickyList.setOnItemClickListener(this);
// empty view
mButtonEmptyCreate = (BootstrapButton) view.findViewById(R.id.key_list_empty_button_create);
mButtonEmptyCreate = (Button) view.findViewById(R.id.key_list_empty_button_create);
mButtonEmptyCreate.setOnClickListener(new OnClickListener() {
@Override
@ -113,7 +113,7 @@ public class KeyListFragment extends LoaderFragment
startActivityForResult(intent, 0);
}
});
mButtonEmptyImport = (BootstrapButton) view.findViewById(R.id.key_list_empty_button_import);
mButtonEmptyImport = (Button) view.findViewById(R.id.key_list_empty_button_import);
mButtonEmptyImport.setOnClickListener(new OnClickListener() {
@Override

View File

@ -30,10 +30,9 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.pgp.KeyRing;
import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;
@ -45,7 +44,7 @@ public class SelectSecretKeyLayoutFragment extends Fragment implements LoaderMan
private TextView mKeyUserIdRest;
private TextView mKeyMasterKeyIdHex;
private TextView mNoKeySelected;
private BootstrapButton mSelectKeyButton;
private Button mSelectKeyButton;
private Boolean mFilterCertify, mFilterSign;
private Uri mReceivedUri = null;
@ -117,8 +116,7 @@ public class SelectSecretKeyLayoutFragment extends Fragment implements LoaderMan
mKeyUserId = (TextView) view.findViewById(R.id.select_secret_key_user_id);
mKeyUserIdRest = (TextView) view.findViewById(R.id.select_secret_key_user_id_rest);
mKeyMasterKeyIdHex = (TextView) view.findViewById(R.id.select_secret_key_master_key_hex);
mSelectKeyButton = (BootstrapButton) view
.findViewById(R.id.select_secret_key_select_key_button);
mSelectKeyButton = (Button) view.findViewById(R.id.select_secret_key_select_key_button);
mFilterCertify = false;
mFilterSign = false;
mSelectKeyButton.setOnClickListener(new OnClickListener() {

View File

@ -152,7 +152,7 @@ public class ViewCertActivity extends ActionBarActivity
sig.init(signerRing.getSubkey());
if (sig.verifySignature(signeeRing.getSubkey(), signeeUid)) {
mStatus.setText(R.string.cert_verify_ok);
mStatus.setTextColor(getResources().getColor(R.color.bbutton_success));
mStatus.setTextColor(getResources().getColor(R.color.result_green));
} else {
mStatus.setText(R.string.cert_verify_failed);
mStatus.setTextColor(getResources().getColor(R.color.alert));

View File

@ -35,10 +35,9 @@ import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.helper.FileHelper;
@ -60,7 +59,7 @@ public class FileDialogFragment extends DialogFragment {
private Messenger mMessenger;
private EditText mFilename;
private BootstrapButton mBrowse;
private ImageButton mBrowse;
private CheckBox mCheckBox;
private TextView mMessageTextView;
@ -114,7 +113,7 @@ public class FileDialogFragment extends DialogFragment {
mFilename = (EditText) view.findViewById(R.id.input);
mFilename.setText(mOutputFilename);
mBrowse = (BootstrapButton) view.findViewById(R.id.btn_browse);
mBrowse = (ImageButton) view.findViewById(R.id.btn_browse);
mBrowse.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// only .asc or .gpg files

View File

@ -26,8 +26,7 @@ import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.FontAwesomeText;
import android.widget.ImageButton;
import org.sufficientlysecure.keychain.R;
@ -50,7 +49,7 @@ import org.sufficientlysecure.keychain.R;
*/
public class FoldableLinearLayout extends LinearLayout {
private FontAwesomeText mFoldableIcon;
private ImageButton mFoldableIcon;
private boolean mFolded;
private boolean mHasMigrated = false;
private Integer mShortAnimationDuration = null;
@ -58,8 +57,6 @@ public class FoldableLinearLayout extends LinearLayout {
private LinearLayout mFoldableContainer = null;
private View mFoldableLayout = null;
private String mFoldedIconName;
private String mUnFoldedIconName;
private String mFoldedLabel;
private String mUnFoldedLabel;
@ -87,15 +84,11 @@ public class FoldableLinearLayout extends LinearLayout {
if (attrs != null) {
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.FoldableLinearLayout, 0, 0);
mFoldedIconName = a.getString(R.styleable.FoldableLinearLayout_foldedIcon);
mUnFoldedIconName = a.getString(R.styleable.FoldableLinearLayout_unFoldedIcon);
mFoldedLabel = a.getString(R.styleable.FoldableLinearLayout_foldedLabel);
mUnFoldedLabel = a.getString(R.styleable.FoldableLinearLayout_unFoldedLabel);
a.recycle();
}
// If any attribute isn't found then set a default one
mFoldedIconName = (mFoldedIconName == null) ? "fa-chevron-right" : mFoldedIconName;
mUnFoldedIconName = (mUnFoldedIconName == null) ? "fa-chevron-down" : mUnFoldedIconName;
mFoldedLabel = (mFoldedLabel == null) ? context.getString(R.id.none) : mFoldedLabel;
mUnFoldedLabel = (mUnFoldedLabel == null) ? context.getString(R.id.none) : mUnFoldedLabel;
}
@ -146,8 +139,8 @@ public class FoldableLinearLayout extends LinearLayout {
}
private void initialiseInnerViews() {
mFoldableIcon = (FontAwesomeText) mFoldableLayout.findViewById(R.id.foldableIcon);
mFoldableIcon.setIcon(mFoldedIconName);
mFoldableIcon = (ImageButton) mFoldableLayout.findViewById(R.id.foldableIcon);
mFoldableIcon.setImageResource(R.drawable.ic_action_expand);
mFoldableTextView = (TextView) mFoldableLayout.findViewById(R.id.foldableText);
mFoldableTextView.setText(mFoldedLabel);
@ -160,7 +153,7 @@ public class FoldableLinearLayout extends LinearLayout {
public void onClick(View view) {
mFolded = !mFolded;
if (mFolded) {
mFoldableIcon.setIcon(mUnFoldedIconName);
mFoldableIcon.setImageResource(R.drawable.ic_action_collapse);
mFoldableContainer.setVisibility(View.VISIBLE);
AlphaAnimation animation = new AlphaAnimation(0f, 1f);
animation.setDuration(mShortAnimationDuration);
@ -168,7 +161,7 @@ public class FoldableLinearLayout extends LinearLayout {
mFoldableTextView.setText(mUnFoldedLabel);
} else {
mFoldableIcon.setIcon(mFoldedIconName);
mFoldableIcon.setImageResource(R.drawable.ic_action_expand);
AlphaAnimation animation = new AlphaAnimation(1f, 0f);
animation.setDuration(mShortAnimationDuration);
animation.setAnimationListener(new Animation.AnimationListener() {

View File

@ -31,12 +31,12 @@ import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.DatePicker;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import android.widget.Button;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;
@ -54,11 +54,11 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
private EditorListener mEditorListener = null;
private boolean mIsMasterKey;
BootstrapButton mDeleteButton;
ImageButton mDeleteButton;
TextView mAlgorithm;
TextView mKeyId;
TextView mCreationDate;
BootstrapButton mExpiryDateButton;
Button mExpiryDateButton;
Calendar mCreatedDate;
Calendar mExpiryDate;
Calendar mOriginalExpiryDate = null;
@ -122,9 +122,9 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
mAlgorithm = (TextView) findViewById(R.id.algorithm);
mKeyId = (TextView) findViewById(R.id.keyId);
mCreationDate = (TextView) findViewById(R.id.creation);
mExpiryDateButton = (BootstrapButton) findViewById(R.id.expiry);
mExpiryDateButton = (Button) findViewById(R.id.expiry);
mDeleteButton = (BootstrapButton) findViewById(R.id.delete);
mDeleteButton = (ImageButton) findViewById(R.id.delete);
mDeleteButton.setOnClickListener(this);
mChkCertify = (CheckBox) findViewById(R.id.chkCertify);
mChkCertify.setOnCheckedChangeListener(mCheckChanged);

View File

@ -22,17 +22,16 @@ import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import org.sufficientlysecure.keychain.R;
public class KeyServerEditor extends LinearLayout implements Editor, OnClickListener {
private EditorListener mEditorListener = null;
BootstrapButton mDeleteButton;
ImageButton mDeleteButton;
TextView mServer;
public KeyServerEditor(Context context) {
@ -50,7 +49,7 @@ public class KeyServerEditor extends LinearLayout implements Editor, OnClickList
mServer = (TextView) findViewById(R.id.server);
mDeleteButton = (BootstrapButton) findViewById(R.id.delete);
mDeleteButton = (ImageButton) findViewById(R.id.delete);
mDeleteButton.setOnClickListener(this);
super.onFinishInflate();

View File

@ -32,8 +32,7 @@ import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import android.widget.ImageButton;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.pgp.PgpConversionHelper;
@ -52,7 +51,7 @@ import java.util.Vector;
public class SectionView extends LinearLayout implements OnClickListener, EditorListener, Editor {
private LayoutInflater mInflater;
private BootstrapButton mPlusButton;
private ImageButton mPlusButton;
private ViewGroup mEditors;
private TextView mTitle;
private int mType = 0;
@ -126,7 +125,7 @@ public class SectionView extends LinearLayout implements OnClickListener, Editor
setDrawingCacheEnabled(true);
setAlwaysDrawnWithCacheEnabled(true);
mPlusButton = (BootstrapButton) findViewById(R.id.plusbutton);
mPlusButton = (ImageButton) findViewById(R.id.plusbutton);
mPlusButton.setOnClickListener(this);
mEditors = (ViewGroup) findViewById(R.id.editors);

View File

@ -31,8 +31,7 @@ import android.widget.AutoCompleteTextView;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import com.beardedhen.androidbootstrap.BootstrapButton;
import android.widget.ImageButton;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.helper.ContactHelper;
@ -43,7 +42,7 @@ import java.util.regex.Matcher;
public class UserIdEditor extends LinearLayout implements Editor, OnClickListener {
private EditorListener mEditorListener = null;
private BootstrapButton mDeleteButton;
private ImageButton mDeleteButton;
private RadioButton mIsMainUserId;
private String mOriginalID;
private EditText mName;
@ -103,7 +102,7 @@ public class UserIdEditor extends LinearLayout implements Editor, OnClickListene
setDrawingCacheEnabled(true);
setAlwaysDrawnWithCacheEnabled(true);
mDeleteButton = (BootstrapButton) findViewById(R.id.delete);
mDeleteButton = (ImageButton) findViewById(R.id.delete);
mDeleteButton.setOnClickListener(this);
mIsMainUserId = (RadioButton) findViewById(R.id.isMainUserId);
mIsMainUserId.setOnClickListener(this);

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<solid android:color="#ebebeb" />
<stroke android:color="#cccccc" android:width="1.5dip" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<solid android:color="#ebebeb"/>
<stroke android:color="#cccccc" android:width="1.5dip" />
</shape>
</item>
<item >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<solid android:color="#ffffff" />
<stroke android:color="#cccccc" android:width="1.5dip" />
</shape>
</item>
</selector>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<stroke android:color="#cccccc" android:width="1.5dip" />
<stroke android:color="#ebebeb" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<stroke android:color="#cccccc" android:width="1.5dip" />
<solid android:color="#ebebeb"/>
</shape>
</item>
<item >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<stroke android:color="#cccccc" android:width="1.5dip" />
<solid android:color="#ffffff" />
</shape>
</item>
</selector>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<solid android:color="#47a447" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<solid android:color="#47a447"/>
</shape>
</item>
<item >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<solid android:color="#5cb85c" />
</shape>
</item>
</selector>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<solid android:color="#d2322d" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<solid android:color="#d2322d"/>
</shape>
</item>
<item >
<shape android:shape="rectangle" >
<padding
android:bottom="6dip"
android:left="6dip"
android:right="6dip"
android:top="6dip" />
<corners android:radius="6dip" />
<solid android:color="#d9534f" />
</shape>
</item>
</selector>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
@ -43,7 +42,7 @@
android:layout_height="wrap_content"
tools:layout="@layout/select_secret_key_layout_fragment" />
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/api_account_settings_create_key"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -52,9 +51,9 @@
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:text="@string/api_settings_create_key"
bootstrapbutton:bb_icon_left="fa-key"
bootstrapbutton:bb_size="default"
bootstrapbutton:bb_type="default" />
android:background="@drawable/button_edgy"
android:drawableLeft="@drawable/ic_action_accounts"
android:textSize="14dip"/>
<org.sufficientlysecure.keychain.ui.widget.FoldableLinearLayout
android:layout_width="match_parent"

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
@ -43,15 +42,14 @@
android:minLines="2"
android:scrollbars="vertical" />
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/decrypt_file_browse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
bootstrapbutton:bb_icon_left="fa-folder-open"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="default"
bootstrapbutton:bb_type="default" />
android:src="@drawable/ic_action_collection"
android:background="@drawable/button_rounded"
android:layout_gravity="center_vertical"/>
</LinearLayout>
<CheckBox

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:id="@+id/result"
android:orientation="vertical"
android:layout_width="match_parent"
@ -83,16 +82,15 @@
android:layout_toRightOf="@+id/result_signature_image"
android:textColor="@color/white" />
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/lookup_key"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_lookup_key"
bootstrapbutton:bb_icon_left="fa-download"
bootstrapbutton:bb_type="info"
bootstrapbutton:bb_size="small"
android:drawableRight="@drawable/ic_action_download"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" />
android:layout_centerVertical="true"
android:background="@drawable/button_edgy"/>
</RelativeLayout>

View File

@ -26,14 +26,14 @@
android:layout_height="wrap_content"
android:text="@string/label_no_passphrase" />
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/edit_key_btn_change_passphrase"
android:layout_width="match_parent"
android:layout_height="60dp"
android:padding="4dp"
android:text="@string/btn_set_passphrase"
bootstrapbutton:bb_icon_left="fa-pencil"
bootstrapbutton:bb_type="default" />
android:drawableLeft="@drawable/ic_action_edit"
android:background="@drawable/button_edgy" />
<LinearLayout
android:id="@+id/edit_key_container"

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<org.sufficientlysecure.keychain.ui.widget.KeyEditor xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
@ -80,13 +79,12 @@
android:paddingRight="10dip"
android:text="@string/label_expiry" />
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/expiry"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="@string/none"
bootstrapbutton:bb_size="small"
bootstrapbutton:bb_type="default" />
android:background="@drawable/button_edgy" />
</TableRow>
<TableRow
@ -155,15 +153,13 @@
</TableRow>
</TableLayout>
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
bootstrapbutton:bb_icon_left="fa-minus"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="small"
bootstrapbutton:bb_type="danger" />
android:src="@drawable/minus"
android:background="@drawable/button_rounded_red"/>
</LinearLayout>
<View

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<org.sufficientlysecure.keychain.ui.widget.SectionView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
@ -23,15 +22,13 @@
android:singleLine="true"
android:text="Section Name" />
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/plusbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
bootstrapbutton:bb_icon_left="fa-plus"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="small"
bootstrapbutton:bb_type="success" />
android:src="@drawable/plus"
android:background="@drawable/button_rounded_green"/>
</LinearLayout>
<LinearLayout

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<org.sufficientlysecure.keychain.ui.widget.UserIdEditor xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
@ -76,18 +75,16 @@
</TableRow>
</TableLayout>
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="10dp"
android:layout_margin="10dip"
android:layout_marginLeft="4dip"
android:layout_marginRight="6dip"
bootstrapbutton:bb_icon_left="fa-minus"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="small"
bootstrapbutton:bb_type="danger" />
android:src="@drawable/minus"
android:background="@drawable/button_rounded_red" />
</LinearLayout>
<View

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
@ -65,15 +64,14 @@
android:text="@string/label_select_public_keys"
android:textAppearance="?android:attr/textAppearanceMedium" />
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/btn_selectEncryptKeys"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="4dp"
android:text="@string/select_keys_button_default"
bootstrapbutton:bb_icon_left="fa-user"
bootstrapbutton:bb_size="default"
bootstrapbutton:bb_type="default" />
android:background="@drawable/button_edgy"
android:drawableLeft="@drawable/ic_action_person" />
</LinearLayout>
</LinearLayout>

View File

@ -31,15 +31,14 @@
android:minLines="2"
android:scrollbars="vertical" />
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/btn_browse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
bootstrapbutton:bb_icon_left="fa-folder-open"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="default"
bootstrapbutton:bb_type="default" />
android:layout_gravity="center_vertical"
android:src="@drawable/ic_action_collection"
android:background="@drawable/button_rounded"/>
</LinearLayout>
<org.sufficientlysecure.keychain.ui.widget.FoldableLinearLayout

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
@ -31,17 +30,15 @@
android:minLines="2"
android:scrollbars="vertical" />
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/btn_browse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="4dp"
android:contentDescription="@string/filemanager_title_open"
bootstrapbutton:bb_icon_left="fa-folder-open"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="default"
bootstrapbutton:bb_type="default" />
android:background="@drawable/button_rounded"
android:src="@drawable/ic_action_collection"/>
</LinearLayout>
<CheckBox

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fontawesometext="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
@ -12,23 +11,21 @@
android:orientation="horizontal"
android:clickable="true">
<com.beardedhen.androidbootstrap.FontAwesomeText
<ImageButton
android:id="@+id/foldableIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginRight="10dp"
android:textSize="12sp"
android:paddingTop="@dimen/padding_medium"
android:paddingBottom="@dimen/padding_medium"
fontawesometext:fa_icon="fa-chevron-right"/>
android:src="@drawable/ic_action_expand"
android:background="@drawable/button_no_style"/>
<TextView
android:id="@+id/foldableText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/none"
android:paddingTop="@dimen/padding_medium"
android:paddingBottom="@dimen/padding_medium"
android:layout_gravity="center_vertical"
android:textColor="@color/emphasis"/>
</LinearLayout>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@ -49,14 +48,15 @@
android:text="@string/key_list_empty_text2"
android:textAppearance="?android:attr/textAppearanceSmall" />
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/key_list_empty_button_create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:textSize="14sp"
android:text="@string/key_list_empty_button_create"
bootstrapbutton:bb_icon_left="fa-plus"
bootstrapbutton:bb_type="default" />
android:drawableLeft="@drawable/ic_action_new_account"
android:background="@drawable/button_edgy"/>
<TextView
android:layout_width="wrap_content"
@ -66,14 +66,15 @@
android:text="@string/key_list_empty_text3"
android:textAppearance="?android:attr/textAppearanceSmall" />
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/key_list_empty_button_import"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:textSize="14sp"
android:text="@string/key_list_empty_button_import"
bootstrapbutton:bb_icon_left="fa-download"
bootstrapbutton:bb_type="default" />
android:drawableLeft="@drawable/ic_action_download"
android:background="@drawable/button_edgy" />
</LinearLayout>
</FrameLayout>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<org.sufficientlysecure.keychain.ui.widget.KeyServerEditor xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
@ -18,17 +17,15 @@
android:layout_weight="1"
android:inputType="textUri" />
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="10dp"
android:layout_marginRight="3dip"
bootstrapbutton:bb_icon_left="fa-minus"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="small"
bootstrapbutton:bb_type="danger" />
android:background="@drawable/button_rounded_red"
android:src="@drawable/minus" />
</LinearLayout>
<View

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
@ -42,7 +41,7 @@
android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
<com.beardedhen.androidbootstrap.BootstrapButton
<ImageButton
android:id="@+id/add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -50,10 +49,8 @@
android:layout_margin="10dp"
android:layout_marginLeft="4dip"
android:layout_marginRight="6dip"
bootstrapbutton:bb_icon_left="fa-plus"
bootstrapbutton:bb_roundedCorners="true"
bootstrapbutton:bb_size="small"
bootstrapbutton:bb_type="success" />
android:src="@drawable/plus"
android:background="@drawable/button_rounded_green"/>
</LinearLayout>
<View

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.beardedhen.androidbootstrap.BootstrapButton
<Button
android:id="@+id/select_secret_key_select_key_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -14,9 +13,9 @@
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:text="@string/api_settings_select_key"
bootstrapbutton:bb_icon_left="fa-key"
bootstrapbutton:bb_size="default"
bootstrapbutton:bb_type="default" />
android:drawableLeft="@drawable/ic_action_accounts"
android:background="@drawable/button_edgy"
android:textSize="14dp"/>
<LinearLayout
android:layout_width="match_parent"

View File

@ -3,7 +3,6 @@ include ':extern:openpgp-api-lib'
include ':extern:openkeychain-api-lib'
include ':extern:html-textview'
include ':extern:StickyListHeaders:library'
include ':extern:AndroidBootstrap:AndroidBootstrap'
include ':extern:zxing-qr-code'
include ':extern:zxing-android-integration'
include ':extern:spongycastle:core'