diff --git a/app/build.gradle b/app/build.gradle index b41919ee1..82f5e216c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { defaultConfig { minSdk 21 targetSdk 31 - versionCode 396 - versionName "3.0.6" + versionCode 397 + versionName "3.0.7" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } flavorDimensions "default" diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java index 2c9218a02..49c3f744d 100644 --- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java +++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java @@ -772,7 +772,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt currentAccount.mastodon_account.display_name = currentAccount.mastodon_account.acct; } headerMainBinding.accountName.setText(currentAccount.mastodon_account.display_name); - Helper.loadPP(headerMainBinding.accountProfilePicture, currentAccount); + Helper.loadPP(headerMainBinding.accountProfilePicture, currentAccount, false); MastodonHelper.loadProfileMediaMastodon(headerMainBinding.backgroundImage, currentAccount.mastodon_account, MastodonHelper.MediaAccountType.HEADER); /* * Some general data are loaded when the app starts such; diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java index c3111a67d..b85d10fe6 100644 --- a/app/src/main/java/app/fedilab/android/helper/Helper.java +++ b/app/src/main/java/app/fedilab/android/helper/Helper.java @@ -87,8 +87,10 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; import com.bumptech.glide.Glide; +import com.bumptech.glide.RequestBuilder; import com.bumptech.glide.load.resource.bitmap.CenterCrop; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.bumptech.glide.load.resource.gif.GifDrawable; import com.bumptech.glide.request.RequestOptions; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -1043,6 +1045,7 @@ public class Helper { } + /** * Load a profile picture for the account * @@ -1050,25 +1053,39 @@ public class Helper { * @param account - {@link Account} */ public static void loadPP(ImageView view, BaseAccount account) { + loadPP(view, account, false); + } + + /** + * Load a profile picture for the account + * + * @param view ImageView - the view where the image will be loaded + * @param account - {@link Account} + */ + public static void loadPP(ImageView view, BaseAccount account, boolean crop) { Context context = view.getContext(); SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); boolean disableGif = sharedpreferences.getBoolean(context.getString(R.string.SET_DISABLE_GIF), false); String targetedUrl = disableGif ? account.mastodon_account.avatar_static : account.mastodon_account.avatar; if (targetedUrl != null) { if (disableGif || (!targetedUrl.endsWith(".gif"))) { - Glide.with(view.getContext()) + RequestBuilder requestBuilder = Glide.with(view.getContext()) .asDrawable() .load(targetedUrl) - .thumbnail(0.1f) - .apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10))) - .into(view); + .thumbnail(0.1f); + if (crop) { + requestBuilder = requestBuilder.apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10))); + } + requestBuilder.apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10))).into(view); } else { - Glide.with(view.getContext()) + RequestBuilder requestBuilder = Glide.with(view.getContext()) .asGif() .load(targetedUrl) - .thumbnail(0.1f) - .apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10))) - .into(view); + .thumbnail(0.1f); + if (crop) { + requestBuilder = requestBuilder.apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10))); + } + requestBuilder.apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10))).into(view); } } else { Glide.with(view.getContext()) diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index 3676b0ce0..efe0f42a5 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -45,8 +45,8 @@ android:layout_gravity="center_vertical" android:contentDescription="@string/profile_picture" android:paddingTop="@dimen/nav_header_vertical_spacing" - tools:src="@tools:sample/avatars" - android:scaleType="fitCenter" /> + android:scaleType="fitCenter" + tools:src="@tools:sample/avatars" />