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

Commit 98d0e964 authored by Amit Kumar's avatar Amit Kumar 💻
Browse files

Use insettable for widgets page so that edit button is not hidden behind nav bar.

parent 6c2b9e60
Loading
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -563,6 +563,16 @@ public class HorizontalPager extends ViewGroup implements Insettable {
        }
    }

    @Override
    public void onViewAdded(View child) {
        super.onViewAdded(child);
        Log.d(TAG, "onViewAdded() called with: child = [" + child + "]");
        if (child instanceof Insettable) {
            Log.d(TAG, "child is instance of insettable");
            ((Insettable) child).setInsets(insets);
        }
    }

    public static class SavedState extends BaseSavedState {
        int currentScreen = -1;

+21 −0
Original line number Diff line number Diff line
package foundation.e.blisslauncher.core.customviews

import android.content.Context
import android.util.AttributeSet
import android.view.WindowInsets
import android.widget.FrameLayout
import foundation.e.blisslauncher.BlissLauncher

class InsettableFrameLayout(private val mContext: Context, attrs: AttributeSet?) : FrameLayout(
    mContext, attrs
), Insettable {

    override fun setInsets(insets: WindowInsets?) {
        if (insets == null) return
        val deviceProfile = BlissLauncher.getApplication(mContext).deviceProfile
        setPadding(
            paddingLeft, paddingTop,
            paddingRight, paddingBottom + insets.systemWindowInsetBottom
        )
    }
}
 No newline at end of file
+1 −12
Original line number Diff line number Diff line
@@ -2,13 +2,12 @@ package foundation.e.blisslauncher.core.customviews;

import android.content.Context;
import android.util.AttributeSet;
import android.view.WindowInsets;
import android.widget.ScrollView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

public class InsettableScrollLayout extends ScrollView implements Insettable {
public class InsettableScrollLayout extends ScrollView {

    public InsettableScrollLayout(@NonNull Context context) {
        super(context);
@@ -21,14 +20,4 @@ public class InsettableScrollLayout extends ScrollView implements Insettable {
    public InsettableScrollLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void setInsets(WindowInsets insets) {
        if(insets == null) return;
        int top = getPaddingTop();
        int left = getPaddingLeft();
        int right = getPaddingRight();
        int bottom = getPaddingBottom();
        setPadding(left, top, right, bottom + insets.getSystemWindowInsetBottom());
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ import foundation.e.blisslauncher.core.customviews.BlissFrameLayout;
import foundation.e.blisslauncher.core.customviews.BlissInput;
import foundation.e.blisslauncher.core.customviews.DockGridLayout;
import foundation.e.blisslauncher.core.customviews.HorizontalPager;
import foundation.e.blisslauncher.core.customviews.InsettableFrameLayout;
import foundation.e.blisslauncher.core.customviews.InsettableRelativeLayout;
import foundation.e.blisslauncher.core.customviews.InsettableScrollLayout;
import foundation.e.blisslauncher.core.customviews.PageIndicatorLinearLayout;
@@ -1284,7 +1285,7 @@ public class LauncherActivity extends AppCompatActivity implements
    }

    private void createWidgetsPage() {
        widgetsPage = (FrameLayout) getLayoutInflater().inflate(R.layout.widgets_page,
        widgetsPage = (InsettableFrameLayout) getLayoutInflater().inflate(R.layout.widgets_page,
                mHorizontalPager, false);
        widgetContainer = widgetsPage.findViewById(R.id.widget_container);
        /*widgetsPage.setPadding(0,
+2 −2
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<foundation.e.blisslauncher.core.customviews.InsettableFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
@@ -93,4 +93,4 @@
            android:text="Max"
            android:textColor="@color/white" />
    </RelativeLayout>
</FrameLayout>
 No newline at end of file
</foundation.e.blisslauncher.core.customviews.InsettableFrameLayout>
 No newline at end of file