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

Commit 322cab20 authored by Aaron Liu's avatar Aaron Liu Committed by Android (Google) Code Review
Browse files

Merge changes I9b6121a7,I31a47234 into udc-qpr-dev

* changes:
  Add a shell command interface for layouts.
  Add layout manager
parents 1abfab23 252fb2b6
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.widget.ImageView;

import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;

import com.android.internal.graphics.ColorUtils;
import com.android.settingslib.Utils;
@@ -126,7 +125,6 @@ public class LockIconView extends FrameLayout implements Dumpable {
    /**
     * Set the location of the lock icon.
     */
    @VisibleForTesting
    public void setCenterLocation(@NonNull Point center, float radius, int drawablePadding) {
        mLockIconCenter = center;
        mRadius = radius;
+11 −8
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor;
import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor;
import com.android.systemui.keyguard.shared.model.TransitionStep;
@@ -387,6 +388,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
    private void updateLockIconLocation() {
        final float scaleFactor = mAuthController.getScaleFactor();
        final int scaledPadding = (int) (mDefaultPaddingPx * scaleFactor);
        if (!mFeatureFlags.isEnabled(Flags.MIGRATE_LOCK_ICON)) {
            if (mUdfpsSupported) {
                mView.setCenterLocation(mAuthController.getUdfpsLocation(),
                        mAuthController.getUdfpsRadius(), scaledPadding);
@@ -398,6 +400,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
                        sLockIconRadiusPx * scaleFactor, scaledPadding);
            }
        }
    }

    @Override
    public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
+2 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.FlagsModule;
import com.android.systemui.keyboard.KeyboardModule;
import com.android.systemui.keyguard.ui.view.layout.LockscreenLayoutModule;
import com.android.systemui.log.dagger.LogModule;
import com.android.systemui.log.dagger.MonitorLog;
import com.android.systemui.log.table.TableLogBuffer;
@@ -178,6 +179,7 @@ import javax.inject.Named;
            GarbageMonitorModule.class,
            KeyboardModule.class,
            LetterboxModule.class,
            LockscreenLayoutModule.class,
            LogModule.class,
            MediaProjectionModule.class,
            MotionToolModule.class,
+6 −0
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.keyguard.ui.binder.KeyguardIndicationAreaBinder
import com.android.systemui.keyguard.ui.view.KeyguardRootView
import com.android.systemui.keyguard.ui.view.layout.KeyguardLayoutManager
import com.android.systemui.keyguard.ui.view.layout.KeyguardLayoutManagerCommandListener
import com.android.systemui.keyguard.ui.viewmodel.KeyguardIndicationAreaViewModel
import com.android.systemui.shade.NotificationShadeWindowView
import com.android.systemui.statusbar.KeyguardIndicationController
@@ -42,6 +44,8 @@ constructor(
    private val notificationShadeWindowView: NotificationShadeWindowView,
    private val featureFlags: FeatureFlags,
    private val indicationController: KeyguardIndicationController,
    private val keyguardLayoutManager: KeyguardLayoutManager,
    private val keyguardLayoutManagerCommandListener: KeyguardLayoutManagerCommandListener,
) : CoreStartable {

    private var indicationAreaHandle: DisposableHandle? = null
@@ -51,6 +55,8 @@ constructor(
            notificationShadeWindowView.requireViewById(R.id.notification_panel) as ViewGroup
        bindIndicationArea(notificationPanel)
        bindLockIconView(notificationPanel)
        keyguardLayoutManager.layoutViews()
        keyguardLayoutManagerCommandListener.start()
    }

    fun bindIndicationArea(legacyParent: ViewGroup) {
+4 −27
Original line number Diff line number Diff line
@@ -19,10 +19,7 @@ package com.android.systemui.keyguard.ui.view

import android.content.Context
import android.util.AttributeSet
import android.view.Gravity
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.widget.FrameLayout
import androidx.constraintlayout.widget.ConstraintLayout
import com.android.keyguard.LockIconView
import com.android.systemui.R

@@ -31,7 +28,7 @@ class KeyguardRootView(
    context: Context,
    private val attrs: AttributeSet?,
) :
    FrameLayout(
    ConstraintLayout(
        context,
        attrs,
    ) {
@@ -43,31 +40,11 @@ class KeyguardRootView(

    private fun addIndicationTextArea() {
        val view = KeyguardIndicationArea(context, attrs)
        addView(
            view,
            FrameLayout.LayoutParams(
                    MATCH_PARENT,
                    WRAP_CONTENT,
                )
                .apply {
                    gravity = Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL
                    bottomMargin = R.dimen.keyguard_indication_margin_bottom.dp()
                }
        )
        addView(view)
    }

    private fun addLockIconView() {
        val view = LockIconView(context, attrs).apply { id = R.id.lock_icon_view }
        addView(
            view,
            LayoutParams(
                WRAP_CONTENT,
                WRAP_CONTENT,
            )
        )
    }

    private fun Int.dp(): Int {
        return context.resources.getDimensionPixelSize(this)
        addView(view)
    }
}
Loading