From 52c0bdcaf5b519db87f5d07a5cb9ada6129fff65 Mon Sep 17 00:00:00 2001 From: kosh Date: Sat, 11 Mar 2017 20:15:08 +0800 Subject: [PATCH 1/2] Revert "annotationProcessor instead of neenbedankt.android-apt" --- app/build.gradle | 7 ++++--- build.gradle | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 68580e86..28384b7f 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' @@ -120,9 +121,9 @@ dependencies { compile 'uk.co.samuelwall:material-tap-target-prompt:1.9.2' compile 'com.github.k0shk0sh:RetainedDateTimePickers:1.0.2' compile 'com.zzhoujay.markdown:markdown:1.0.4' - 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/build.gradle b/build.gradle index dd83e439..b07403a7 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'com.google.gms:google-services:3.0.0' classpath 'me.tatarka:gradle-retrolambda:3.2.4' classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' @@ -24,4 +25,4 @@ allprojects { task clean(type: Delete) { delete rootProject.buildDir -} +} \ No newline at end of file From 0464d0e7d304b4a395db1679097be002dce71473 Mon Sep 17 00:00:00 2001 From: Kosh Date: Sat, 11 Mar 2017 20:23:31 +0800 Subject: [PATCH 2/2] added an option to use rounded rect for avatars through settings screen to close #79 --- README.md | 2 +- app/build.gradle | 9 +++++---- .../java/com/fastaccess/helper/PrefGetter.java | 4 ++++ .../ui/modules/settings/SettingsFragment.java | 8 +++++++- .../com/fastaccess/ui/widgets/AvatarLayout.java | 10 ++++++---- .../other_layouts/layout/avatar_layout.xml | 15 +++++++-------- app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/fasthub_settings.xml | 9 ++++++++- build.gradle | 3 ++- 9 files changed, 42 insertions(+), 20 deletions(-) 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 68580e86..cd138561 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' @@ -120,9 +121,9 @@ dependencies { compile 'uk.co.samuelwall:material-tap-target-prompt:1.9.2' compile 'com.github.k0shk0sh:RetainedDateTimePickers:1.0.2' compile 'com.zzhoujay.markdown:markdown:1.0.4' - 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 @@ - + + + +