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 @@ - + + + +