diff --git a/app/build.gradle b/app/build.gradle index b9646da8..dcb307fe 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,6 +32,7 @@ dependencies { implementation 'com.android.support:recyclerview-v7:27.1.1' implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:design:27.1.1' + implementation 'de.hdodenhof:circleimageview:2.2.0' implementation 'com.takisoft.fix:preference-v7:27.1.1.1' implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' implementation 'me.dm7.barcodescanner:zxing:1.9' diff --git a/app/src/main/java/me/impy/aegis/helpers/TextDrawableHelper.java b/app/src/main/java/me/impy/aegis/helpers/TextDrawableHelper.java index 7f4afeec..cdf96610 100644 --- a/app/src/main/java/me/impy/aegis/helpers/TextDrawableHelper.java +++ b/app/src/main/java/me/impy/aegis/helpers/TextDrawableHelper.java @@ -15,6 +15,8 @@ public class TextDrawableHelper { ColorGenerator generator = ColorGenerator.MATERIAL; int color = generator.getColor(s); - return TextDrawable.builder().buildRound(s.substring(0, 1).toUpperCase(), color); + return TextDrawable.builder().beginConfig() + .width(100) + .height(100).endConfig().buildRect(s.substring(0, 1).toUpperCase(), color); } } diff --git a/app/src/main/java/me/impy/aegis/ui/EditProfileActivity.java b/app/src/main/java/me/impy/aegis/ui/EditProfileActivity.java index b522471f..59724f95 100644 --- a/app/src/main/java/me/impy/aegis/ui/EditProfileActivity.java +++ b/app/src/main/java/me/impy/aegis/ui/EditProfileActivity.java @@ -29,6 +29,7 @@ import com.esafirm.imagepicker.features.ImagePicker; import com.esafirm.imagepicker.features.ReturnMode; import com.esafirm.imagepicker.model.Image; +import de.hdodenhof.circleimageview.CircleImageView; import me.impy.aegis.R; import me.impy.aegis.crypto.KeyInfo; import me.impy.aegis.crypto.KeyInfoException; @@ -45,7 +46,8 @@ public class EditProfileActivity extends AegisActivity { private boolean _edited = false; private KeyProfile _profile; - private ImageView _iconView; + private CircleImageView _iconView; + private ImageView _saveImageButton; private EditText _textName; private EditText _textIssuer; @@ -84,6 +86,7 @@ public class EditProfileActivity extends AegisActivity { _iconView = findViewById(R.id.profile_drawable); _kropView = findViewById(R.id.krop_view); + _saveImageButton = findViewById(R.id.iv_saveImage); _textName = findViewById(R.id.text_name); _textIssuer = findViewById(R.id.text_issuer); _textPeriod = findViewById(R.id.text_period); @@ -295,6 +298,14 @@ public class EditProfileActivity extends AegisActivity { Bitmap bitmap = BitmapFactory.decodeFile(image.getPath(),bmOptions); _kropView.setBitmap(bitmap); _kropView.setVisibility(View.VISIBLE); + + _saveImageButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + _iconView.setImageBitmap(_kropView.getCroppedBitmap()); + _kropView.setVisibility(View.GONE); + } + }); } super.onActivityResult(requestCode, resultCode, data); diff --git a/app/src/main/res/drawable/ic_check_black_24dp.xml b/app/src/main/res/drawable/ic_check_black_24dp.xml new file mode 100644 index 00000000..3c728c59 --- /dev/null +++ b/app/src/main/res/drawable/ic_check_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_edit_profile.xml b/app/src/main/res/layout/activity_edit_profile.xml index d048074a..289e7662 100644 --- a/app/src/main/res/layout/activity_edit_profile.xml +++ b/app/src/main/res/layout/activity_edit_profile.xml @@ -16,14 +16,14 @@ android:layout_height="250dp" android:background="@color/colorPrimary"> - - + /> +