diff --git a/app/src/main/java/org/fdroid/fdroid/Utils.java b/app/src/main/java/org/fdroid/fdroid/Utils.java index 9cef14395..142e027bd 100644 --- a/app/src/main/java/org/fdroid/fdroid/Utils.java +++ b/app/src/main/java/org/fdroid/fdroid/Utils.java @@ -483,12 +483,7 @@ public final class Utils { */ public static DisplayImageOptions.Builder getDefaultDisplayImageOptionsBuilder() { if (defaultDisplayImageOptionsBuilder == null) { - defaultDisplayImageOptionsBuilder = new DisplayImageOptions.Builder() - .cacheInMemory(true) - .cacheOnDisk(true) - .considerExifParams(false) - .bitmapConfig(Bitmap.Config.RGB_565) - .imageScaleType(ImageScaleType.EXACTLY); + defaultDisplayImageOptionsBuilder = createDefaultDisplayImageOptionsBuilder(); } return defaultDisplayImageOptionsBuilder; } @@ -500,7 +495,7 @@ public final class Utils { */ public static DisplayImageOptions getRepoAppDisplayImageOptions() { if (repoAppDisplayImageOptions == null) { - repoAppDisplayImageOptions = getDefaultDisplayImageOptionsBuilder() + repoAppDisplayImageOptions = createDefaultDisplayImageOptionsBuilder() .showImageOnLoading(R.drawable.ic_repo_app_default) .showImageForEmptyUri(R.drawable.ic_repo_app_default) .showImageOnFail(R.drawable.ic_repo_app_default) @@ -510,6 +505,15 @@ public final class Utils { return repoAppDisplayImageOptions; } + private static DisplayImageOptions.Builder createDefaultDisplayImageOptionsBuilder() { + return new DisplayImageOptions.Builder() + .cacheInMemory(true) + .cacheOnDisk(true) + .considerExifParams(false) + .bitmapConfig(Bitmap.Config.RGB_565) + .imageScaleType(ImageScaleType.EXACTLY); + } + /** * If app has an iconUrl we feed that to UIL, otherwise we ask the PackageManager which will * return the app's icon directly when the app is installed. diff --git a/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsActivity.java b/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsActivity.java index 1df595993..36d3cc9df 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsActivity.java @@ -3,6 +3,7 @@ package org.fdroid.fdroid.views; import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -22,6 +23,7 @@ import org.fdroid.fdroid.data.AppProvider; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; @@ -132,10 +134,14 @@ public class ScreenShotsActivity extends AppCompatActivity { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + Drawable screenShotPlaceholder = ContextCompat.getDrawable( + inflater.getContext(), + R.drawable.screenshot_placeholder + ); DisplayImageOptions displayImageOptions = Utils.getDefaultDisplayImageOptionsBuilder() - .showImageOnFail(R.drawable.screenshot_placeholder) - .showImageOnLoading(R.drawable.screenshot_placeholder) - .showImageForEmptyUri(R.drawable.screenshot_placeholder) + .showImageOnFail(screenShotPlaceholder) + .showImageOnLoading(screenShotPlaceholder) + .showImageForEmptyUri(screenShotPlaceholder) .build(); View rootView = inflater.inflate(R.layout.activity_screenshots_page, container, false); diff --git a/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsRecyclerViewAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsRecyclerViewAdapter.java index f3ac4e871..2304d11bb 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsRecyclerViewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/ScreenShotsRecyclerViewAdapter.java @@ -1,6 +1,7 @@ package org.fdroid.fdroid.views; import android.content.Context; +import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -14,6 +15,7 @@ import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.App; import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.RecyclerView; /** @@ -29,10 +31,12 @@ class ScreenShotsRecyclerViewAdapter extends RecyclerView.Adapter + - - + android:pathData="M47,63L47,77L33,77L33,63h14m0,-2L33,61c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L49,63c0,-1.1 -0.9,-2 -2,-2zM42.14,69.86 L39.14,73.73L37,71.14 34,75h12z" + android:fillColor="?attr/screenshotPlaceholderIconColor"/> diff --git a/app/src/main/res/layout/activity_screenshots_page.xml b/app/src/main/res/layout/activity_screenshots_page.xml index 4c515fbce..2489b9c5d 100644 --- a/app/src/main/res/layout/activity_screenshots_page.xml +++ b/app/src/main/res/layout/activity_screenshots_page.xml @@ -1,11 +1,20 @@ - - + android:fitsSystemWindows="true"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/app_details2_screenshot_item.xml b/app/src/main/res/layout/app_details2_screenshot_item.xml index d0a9def00..b3b87d33c 100644 --- a/app/src/main/res/layout/app_details2_screenshot_item.xml +++ b/app/src/main/res/layout/app_details2_screenshot_item.xml @@ -1,11 +1,8 @@ + android:layout_margin="@dimen/details_screenshot_margin"> @drawable/ic_back @drawable/ic_close #ffffff + + #424242