diff --git a/README.md b/README.md
index e362d77c..916d4036 100644
--- a/README.md
+++ b/README.md
@@ -44,7 +44,7 @@
- [Android-Universal-Image-Loader](https://github.com/nostra13/Android-Universal-Image-Loader) for image loading.
- [MarkDown](https://github.com/zzhoujay/Markdown) for markdown editor highlighting.
- [Toasty](https://github.com/GrenderG/Toasty) for displaying error/success messages.
-- [CircleImageView](https://github.com/hdodenhof/CircleImageView) for avatar images.
+- [ShapedImageView](https://github.com/gavinliu/ShapedImageView) for avatar images.
- [MatrialTapTargetPrompt](https://github.com/sjwall/MaterialTapTargetPrompt) for displaying guides throughout the app.
- Firebase analytics, crash reporting, ads.
- The almighty Android support libs.
diff --git a/app/build.gradle b/app/build.gradle
index fb7de305..4c972e3f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,5 +1,6 @@
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
+apply plugin: "com.neenbedankt.android-apt"
apply plugin: 'com.siimkinks.sqlitemagic'
apply plugin: 'com.google.firebase.firebase-crash'
@@ -108,7 +109,7 @@ dependencies {
compile "com.squareup.retrofit2:adapter-rxjava:${retrofit}"
compile 'com.firebase:firebase-jobdispatcher:0.5.2'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
- compile 'de.hdodenhof:circleimageview:2.1.0'
+ compile 'cn.gavinliu.android.lib:ShapedImageView:0.8.3'
compile "frankiesardo:icepick:${icepickVersion}"
compile "com.jakewharton:butterknife:${butterKnifeVersion}"
compile 'it.sephiroth.android.library.bottomnavigation:bottom-navigation:2.0.1-rc1'
@@ -127,6 +128,9 @@ dependencies {
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "frankiesardo:icepick-processor:${icepickVersion}"
annotationProcessor "com.jakewharton:butterknife-compiler:${butterKnifeVersion}"
+ apt "org.projectlombok:lombok:${lombokVersion}"
+ apt "frankiesardo:icepick-processor:${icepickVersion}"
+ apt "com.jakewharton:butterknife-compiler:${butterKnifeVersion}"
provided "org.projectlombok:lombok:${lombokVersion}"
}
diff --git a/app/src/main/java/com/fastaccess/helper/PrefGetter.java b/app/src/main/java/com/fastaccess/helper/PrefGetter.java
index 219a0337..3cc7cfef 100644
--- a/app/src/main/java/com/fastaccess/helper/PrefGetter.java
+++ b/app/src/main/java/com/fastaccess/helper/PrefGetter.java
@@ -102,4 +102,8 @@ public class PrefGetter {
public static boolean isTwiceBackButtonDisabled() {
return PrefHelper.getBoolean("back_button");
}
+
+ public static boolean isRectdAvatar() {
+ return PrefHelper.getBoolean("rect_avatar");
+ }
}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java
index 88996e19..04bf3236 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java
@@ -21,9 +21,15 @@ public class SettingsFragment extends PreferenceFragmentCompat {
return true;
});
findPreference("recylerViewAnimation").setOnPreferenceChangeListener((preference, newValue) -> {
- if (getActivity() != null) getActivity().recreate();
+ restartActivity();
+ return true;
+ });
+ findPreference("rect_avatar").setOnPreferenceChangeListener((preference, newValue) -> {
+ restartActivity();
return true;
});
}
+ private void restartActivity() {if (getActivity() != null) getActivity().recreate();}
+
}
diff --git a/app/src/main/java/com/fastaccess/ui/widgets/AvatarLayout.java b/app/src/main/java/com/fastaccess/ui/widgets/AvatarLayout.java
index 8006d45c..d9d86852 100644
--- a/app/src/main/java/com/fastaccess/ui/widgets/AvatarLayout.java
+++ b/app/src/main/java/com/fastaccess/ui/widgets/AvatarLayout.java
@@ -11,11 +11,11 @@ import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.widget.FrameLayout;
-import android.widget.ProgressBar;
import android.widget.Toast;
import com.fastaccess.R;
import com.fastaccess.helper.InputHelper;
+import com.fastaccess.helper.PrefGetter;
import com.fastaccess.ui.modules.user.UserPagerView;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
@@ -25,7 +25,7 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.OnLongClick;
-import de.hdodenhof.circleimageview.CircleImageView;
+import cn.gavinliu.android.lib.shapedimageview.ShapedImageView;
/**
* Created by Kosh on 14 Nov 2016, 7:59 PM
@@ -33,8 +33,7 @@ import de.hdodenhof.circleimageview.CircleImageView;
public class AvatarLayout extends FrameLayout implements ImageLoadingListener {
- @BindView(R.id.avatar) CircleImageView avatar;
- @BindView(R.id.avatarProgress) ProgressBar avatarProgress;
+ @BindView(R.id.avatar) ShapedImageView avatar;
private String login;
private Toast toast;
@@ -77,6 +76,9 @@ public class AvatarLayout extends FrameLayout implements ImageLoadingListener {
inflate(getContext(), R.layout.avatar_layout, this);
if (isInEditMode()) return;
ButterKnife.bind(this);
+ if (PrefGetter.isRectdAvatar()) {
+ avatar.setShape(ShapedImageView.SHAPE_MODE_ROUND_RECT, 20);
+ }
}
@Override public void onLoadingStarted(String imageUri, View view) {
diff --git a/app/src/main/res/layouts/other_layouts/layout/avatar_layout.xml b/app/src/main/res/layouts/other_layouts/layout/avatar_layout.xml
index 115089b9..9e16484f 100644
--- a/app/src/main/res/layouts/other_layouts/layout/avatar_layout.xml
+++ b/app/src/main/res/layouts/other_layouts/layout/avatar_layout.xml
@@ -1,18 +1,17 @@
-
-
-
+ android:src="@color/primary"
+ app:shape_mode="circle"
+ tools:layout_height="40dp"
+ tools:layout_width="40dp"/>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d8a5c0b7..ac7cc1a2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -240,4 +240,6 @@
Back Button Behavior
Any unsaved data will be discarded.
Private
+ Use rounded rectangle instead of circular avatar.
+ Rectangle Avatar
\ No newline at end of file
diff --git a/app/src/main/res/xml/fasthub_settings.xml b/app/src/main/res/xml/fasthub_settings.xml
index bb2e0a80..6fc92f62 100644
--- a/app/src/main/res/xml/fasthub_settings.xml
+++ b/app/src/main/res/xml/fasthub_settings.xml
@@ -1,7 +1,7 @@
-
+
+
+
+