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

Commit 1c958b9f authored by Abhishek Aggarwal's avatar Abhishek Aggarwal Committed by Saalim Quadri
Browse files

fix(blur) : Add wallpaper scroll to layouts



[SahilSonar - adapted to A14]

Signed-off-by: default avatarSahilSonar <sss.sonar2003@gmail.com>
Signed-off-by: default avatarSaalim Quadri <danascape@gmail.com>
parent c0b0e4f2
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -13,10 +13,11 @@ import android.util.AttributeSet
import android.widget.FrameLayout

open class BlurLayout @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
    FrameLayout(context, attrs) {
    FrameLayout(context, attrs), OffsetParent {

    private val delegate =
        BlurViewDelegate(this.rootView, BlurWallpaperProvider.blurConfigWidget, attrs)
    private val offsetParentDelegate = OffsetParent.OffsetParentDelegate()

    init {
        this.setWillNotDraw(false)
@@ -29,4 +30,21 @@ open class BlurLayout @JvmOverloads constructor(context: Context, attrs: Attribu
        delegate.draw(canvas)
        super.onDraw(canvas)
    }

    override val offsetX: Float
        get() = translationX

    override val offsetY: Float
        get() = translationY

    override val needWallpaperScroll: Boolean
        get() = true

    override fun addOnOffsetChangeListener(listener: OffsetParent.OnOffsetChangeListener) {
        offsetParentDelegate.addOnOffsetChangeListener(listener)
    }

    override fun removeOnOffsetChangeListener(listener: OffsetParent.OnOffsetChangeListener) {
        offsetParentDelegate.removeOnOffsetChangeListener(listener)
    }
}
+30 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.launcher3.Launcher;
import com.android.launcher3.R;
@@ -26,9 +27,10 @@ import com.android.launcher3.widget.LauncherAppWidgetHostView;

import foundation.e.bliss.blur.BlurViewDelegate;
import foundation.e.bliss.blur.BlurWallpaperProvider;
import foundation.e.bliss.blur.OffsetParent;

@SuppressLint("ViewConstructor")
public class RoundedWidgetView extends LauncherAppWidgetHostView {
public class RoundedWidgetView extends LauncherAppWidgetHostView implements OffsetParent {
    private final Path stencilPath = new Path();
    private final float cornerRadius;
    private final Context mContext;
@@ -37,6 +39,8 @@ public class RoundedWidgetView extends LauncherAppWidgetHostView {
    private BlurViewDelegate mBlurDelegate = null;
    protected QuickstepLauncher mLauncher;

    private final OffsetParentDelegate offsetParentDelegate = new OffsetParentDelegate();

    public RoundedWidgetView(Context context, boolean blurBackground) {
        super(context);
        this.mContext = context;
@@ -148,4 +152,29 @@ public class RoundedWidgetView extends LauncherAppWidgetHostView {
            resizeBorder = null;
        }
    }

    @Override
    public float getOffsetX() {
        return getTranslationX();
    }

    @Override
    public float getOffsetY() {
        return getTranslationY();
    }

    @Override
    public boolean getNeedWallpaperScroll() {
        return true;
    }

    @Override
    public void addOnOffsetChangeListener(@NonNull OnOffsetChangeListener listener) {
        offsetParentDelegate.addOnOffsetChangeListener(listener);
    }

    @Override
    public void removeOnOffsetChangeListener(@NonNull OnOffsetChangeListener listener) {
        offsetParentDelegate.removeOnOffsetChangeListener(listener);
    }
}
+0 −4
Original line number Diff line number Diff line
@@ -45,8 +45,4 @@ constructor(context: Context, attrs: AttributeSet? = null) :
    override fun removeOnOffsetChangeListener(listener: OffsetParent.OnOffsetChangeListener) {
        offsetParentDelegate.removeOnOffsetChangeListener(listener)
    }

    override fun setVisibility(visibility: Int) {
        super.setVisibility(visibility)
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -362,6 +362,7 @@ public class Hotseat extends CellLayout implements Insettable, OffsetParent {

    public void setForcedTranslationY(float translationY){
        super.setTranslationY(translationY);
        offsetParentDelegate.notifyOffsetChanged();
    }

    @Override
+0 −4
Original line number Diff line number Diff line
@@ -1404,10 +1404,6 @@ public class Workspace<T extends View & PageIndicator> extends PagedView<T>
        ((PageIndicatorDots) getPageIndicator()).setForcedTranslationY(dockTranslationY);

        mLauncher.mBlurLayer.setAlpha(progress);

        if (getCurrentPage() != 0) {
            mLauncher.mBlurLayer.setAlpha(0f);
        }
    }

    public void showPageIndicatorAtCurrentScroll() {