Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e54dce7 authored by Joey's avatar Joey
Browse files

Add title to the wallpapers list



For improved reachability of the items

Co-authored-by: default avatarAsher Simonds <dayanhammer@gmail.com>
Signed-off-by: default avatarJoey <joey@lineageos.org>
Change-Id: I25c3b7eba6cc6739b80ea349e85da8f42fb0a8de
parent 34ecceb9
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -60,14 +60,8 @@ public final class WallsAdapter extends RecyclerView.Adapter<WallpaperHolder> {

    @Override
    public void onBindViewHolder(final @NonNull WallpaperHolder holder, final int position) {
        /*
         * + 2 is for the last 2 items of the list as the one
         * before the last might happen to end "below" the real
         * last one
         */
        final boolean isLast = position + 2 == mData.size();
        final WallpaperBundle bundle = mData.get(position);
        holder.bind(bundle, isLast);
        holder.bind(bundle);
    }

    @Override
+2 −3
Original line number Diff line number Diff line
@@ -30,9 +30,8 @@ public final class UserHolder extends WallpaperHolder {
    }

    @Override
    public void bind(@NonNull final WallpaperBundle bundle,
                     final boolean isLast) {
        super.bind(bundle, isLast);
    public void bind(@NonNull final WallpaperBundle bundle) {
        super.bind(bundle);

        itemView.setOnClickListener(v -> callback.onWallpaperSelected(previewView, null));
    }
+1 −7
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import androidx.recyclerview.widget.RecyclerView;
import org.lineageos.backgrounds.R;
import org.lineageos.backgrounds.bundle.WallpaperBundle;
import org.lineageos.backgrounds.ui.SelectionInterface;
import org.lineageos.backgrounds.util.UiUtils;

public class WallpaperHolder extends RecyclerView.ViewHolder {
    @NonNull
@@ -40,8 +39,7 @@ public class WallpaperHolder extends RecyclerView.ViewHolder {
        this.callback = callback;
    }

    public void bind(@NonNull final WallpaperBundle bundle,
                     final boolean isLast) {
    public void bind(@NonNull final WallpaperBundle bundle) {
        previewView = itemView.findViewById(R.id.item_wallpaper_preview);
        TextView nameView = itemView.findViewById(R.id.item_wallpaper_name);

@@ -57,9 +55,5 @@ public class WallpaperHolder extends RecyclerView.ViewHolder {
        nameView.setText(name);

        itemView.setOnClickListener((v) -> callback.onWallpaperSelected(previewView, bundle));

        // Update margins
        UiUtils.setMarginForListItem(itemView.getResources(), itemView,
                R.dimen.item_margin_vertical, isLast);
    }
}
+15 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityOptionsCompat;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
@@ -48,6 +49,8 @@ public final class MainActivity extends AppCompatActivity implements SelectionIn

    private ProgressBar mLoadingProgressBar;
    private TextView mLoadingTextView;
    private NestedScrollView mContentLayout;
    private TextView mTitleView;
    private RecyclerView mContentRecyclerView;

    private WallsAdapter mAdapter;
@@ -63,10 +66,13 @@ public final class MainActivity extends AppCompatActivity implements SelectionIn

        mLoadingProgressBar = findViewById(R.id.main_loading_bar);
        mLoadingTextView = findViewById(R.id.main_loading_text);
        mContentLayout = findViewById(R.id.main_contents);
        mTitleView = findViewById(R.id.main_title);
        mContentRecyclerView = findViewById(R.id.main_recyclerview);

        setupRecyclerView();
        loadContent();
        setupTitle();
    }

    @Override
@@ -116,6 +122,14 @@ public final class MainActivity extends AppCompatActivity implements SelectionIn
        mContentRecyclerView.setAdapter(mAdapter);
    }

    private void setupTitle() {
        mContentLayout.setOnScrollChangeListener((View.OnScrollChangeListener)
                (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
                    final int base = v.getHeight() / 8;
                    mTitleView.setAlpha((float) (base - scrollY) / base);
                });
    }

    private void loadContent() {
        new FetchDataTask(new FetchDataTask.Callback() {
            @Override
@@ -146,7 +160,7 @@ public final class MainActivity extends AppCompatActivity implements SelectionIn
    private void postContentLoaded() {
        mLoadingTextView.setVisibility(View.GONE);
        mLoadingProgressBar.setVisibility(View.GONE);
        mContentRecyclerView.setVisibility(View.VISIBLE);
        mContentLayout.setVisibility(View.VISIBLE);
    }

    private void pickWallpaperFromExternalStorage() {
+0 −25
Original line number Diff line number Diff line
@@ -15,13 +15,10 @@
 */
package org.lineageos.backgrounds.util;

import android.content.res.Resources;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;

import androidx.annotation.ColorInt;
import androidx.annotation.DimenRes;
import androidx.annotation.NonNull;

public final class UiUtils {
@@ -41,26 +38,4 @@ public final class UiUtils {

        window.getDecorView().setSystemUiVisibility(flags);
    }

    public static void setMarginForListItem(@NonNull final Resources resources,
                                            @NonNull final View view,
                                            @DimenRes final int baseRes,
                                            final boolean addNavBarMargin) {
        final ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams)
                view.getLayoutParams();

        params.bottomMargin = resources.getDimensionPixelSize(baseRes);

        // Increase for eventual navBar
        if (addNavBarMargin) {
            final int navBarSizeId = resources.getIdentifier("navigation_bar_height",
                    "dimen", "android");
            if (navBarSizeId > 0) {
                final int navBarSize = resources.getDimensionPixelSize(navBarSizeId);
                params.bottomMargin += navBarSize;
            }
        }

        view.setLayoutParams(params);
    }
}
Loading