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

Commit adb00510 authored by Kshitij's avatar Kshitij
Browse files

feat: Readd widget resizing, relayout staggered view post-resize

- Also spotless amends
parent b6e0a885
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.graphics.Rect;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -65,7 +64,7 @@ public class RoundedWidgetView extends LauncherAppWidgetHostView implements Offs
    }

    public void setHeight(int newHeight) {
        LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) getLayoutParams();
        FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) getLayoutParams();
        params.height = newHeight;
        setLayoutParams(params);
    }
+18 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.app.Activity.RESULT_OK
import android.appwidget.AppWidgetHostView
import android.appwidget.AppWidgetManager
import android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID
import android.appwidget.AppWidgetProviderInfo
import android.content.ComponentName
import android.content.Context
import android.content.Intent
@@ -127,6 +128,10 @@ class WidgetContainer(context: Context, attrs: AttributeSet?) :

    override fun onConfigurationChanged(newConfig: Configuration?) {
        super.onConfigurationChanged(newConfig)
        reloadStaggeredLayout()
    }

    fun reloadStaggeredLayout() {
        updatePadding()
        val spanCount =
            if (
@@ -477,6 +482,16 @@ class WidgetContainer(context: Context, attrs: AttributeSet?) :
                    .apply {
                        id = widgetId
                        layoutTransition = LayoutTransition()
                        setOnLongClickListener {
                            if (
                                (widgetInfo.resizeMode and AppWidgetProviderInfo.RESIZE_VERTICAL) ==
                                    AppWidgetProviderInfo.RESIZE_VERTICAL
                            ) {
                                launcher.hideWidgetResizeContainer()
                                launcher.showWidgetResizeContainer(this as RoundedWidgetView)
                            }
                            true
                        }
                    }
                    .also {
                        var opts = mWidgetManager.getAppWidgetOptions(it.appWidgetId)
@@ -523,6 +538,9 @@ class WidgetContainer(context: Context, attrs: AttributeSet?) :
                            params.height = widgetsDbHelper.getWidgetHeight(it.id) ?: 0
                        }

                        if (params.height > 0) {
                            it.layoutParams = params
                        }
                        widgetsAdapter.addWidget(it)

                        opts =
+3 −1
Original line number Diff line number Diff line
@@ -3116,7 +3116,9 @@ public class Launcher extends StatefulActivity<LauncherState>
            public void onStopTrackingTouch(SeekBar seekBar) {
                int newHeight = minHeight + (normalisedDifference * seekBar.getProgress());
                if (getWorkspace().getFirstPagePinnedItem() instanceof WidgetContainer) {
                    ((WidgetContainer) getWorkspace().getFirstPagePinnedItem()).updateWidgets();
                    WidgetContainer container = ((WidgetContainer) getWorkspace().getFirstPagePinnedItem());
                    container.reloadStaggeredLayout();
                    container.updateWidgets();
                }
                Logger.d("Launcher.WidgetResize", "newHeight: " + newHeight);
                WidgetsDbHelper.getInstance(getApplicationContext())