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

Commit a30c678e authored by Aaron Liu's avatar Aaron Liu
Browse files

Rename layout -> blueprint and add "sections"

Rename from layout to blueprint because layout is an overloaded word.
Items will not be components that we can use to determine our layout
constraints.
Also refactor blueprints to use multiple data layers for scalability.
Flag: MIGRATE_SPLIT_KEYGUARD_BOTTOM_AREA

Bug: 288464307
Test: Adjust tests and see that views in the rootview are properly
constrained.

Change-Id: I8369360614e100a37964cb869faa1a3acd694acb
parent da8da319
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -25,13 +25,13 @@
    android:orientation="horizontal"
    android:gravity="center_vertical"
    android:background="@drawable/keyguard_settings_popup_menu_background"
    android:padding="12dp">
    android:padding="@dimen/keyguard_settings_popup_menu_padding">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginEnd="8dp"
        android:layout_width="@dimen/keyguard_settings_popup_menu_icon_height"
        android:layout_height="@dimen/keyguard_settings_popup_menu_icon_width"
        android:layout_marginEnd="@dimen/keyguard_settings_popup_menu_icon_end_margin"
        android:tint="?androidprv:attr/materialColorOnSecondaryFixed"
        android:importantForAccessibility="no"
        tools:ignore="UseAppTint" />
+4 −0
Original line number Diff line number Diff line
@@ -181,6 +181,10 @@ public class LockIconView extends FrameLayout implements Dumpable {
        mLockIcon.setImageState(getLockIconState(mIconType, mAod), true);
    }

    public ImageView getLockIcon() {
        return mLockIcon;
    }

    private void addLockIconImageView(Context context, AttributeSet attrs) {
        mLockIcon = new ImageView(context, attrs);
        mLockIcon.setId(R.id.lock_icon);
+4 −1
Original line number Diff line number Diff line
@@ -417,7 +417,10 @@ 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 (mFeatureFlags.isEnabled(Flags.MIGRATE_LOCK_ICON)) {
            mView.getLockIcon().setPadding(scaledPadding, scaledPadding, scaledPadding,
                    scaledPadding);
        } else {
            if (mUdfpsSupported) {
                mView.setCenterLocation(mAuthController.getUdfpsLocation(),
                        mAuthController.getUdfpsRadius(), scaledPadding);
+2 −2
Original line number Diff line number Diff line
@@ -54,7 +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.keyguard.ui.view.layout.blueprints.KeyguardBlueprintModule;
import com.android.systemui.log.dagger.LogModule;
import com.android.systemui.log.dagger.MonitorLog;
import com.android.systemui.log.table.TableLogBuffer;
@@ -179,7 +179,7 @@ import javax.inject.Named;
            GarbageMonitorModule.class,
            KeyboardModule.class,
            LetterboxModule.class,
            LockscreenLayoutModule.class,
            KeyguardBlueprintModule.class,
            LogModule.class,
            MediaProjectionModule.class,
            MediaProjectionTaskSwitcherModule.class,
+20 −19
Original line number Diff line number Diff line
@@ -26,27 +26,28 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.keyguard.ui.binder.KeyguardAmbientIndicationAreaViewBinder
import com.android.systemui.keyguard.ui.binder.KeyguardBlueprintViewBinder
import com.android.systemui.keyguard.ui.binder.KeyguardIndicationAreaBinder
import com.android.systemui.keyguard.ui.binder.KeyguardQuickAffordanceViewBinder
import com.android.systemui.keyguard.ui.binder.KeyguardRootViewBinder
import com.android.systemui.keyguard.ui.binder.KeyguardSettingsViewBinder
import com.android.systemui.keyguard.ui.view.KeyguardRootView
import com.android.systemui.keyguard.ui.view.layout.KeyguardBlueprintCommandListener
import com.android.systemui.keyguard.ui.viewmodel.KeyguardAmbientIndicationViewModel
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.KeyguardBlueprintViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardIndicationAreaViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardQuickAffordancesCombinedViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardRootViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardSettingsMenuViewModel
import com.android.systemui.keyguard.ui.viewmodel.OccludingAppDeviceEntryMessageViewModel
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.keyguard.ui.viewmodel.OccludingAppDeviceEntryMessageViewModel
import com.android.systemui.shade.NotificationShadeWindowView
import com.android.systemui.statusbar.KeyguardIndicationController
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.notification.stack.ui.view.SharedNotificationContainer
import com.android.systemui.statusbar.notification.stack.ui.viewbinder.SharedNotificationContainerBinder
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.SharedNotificationContainerViewModel
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.temporarydisplay.chipbar.ChipbarCoordinator
import javax.inject.Inject
@@ -68,9 +69,8 @@ constructor(
    private val notificationShadeWindowView: NotificationShadeWindowView,
    private val featureFlags: FeatureFlags,
    private val indicationController: KeyguardIndicationController,
    private val keyguardLayoutManager: KeyguardLayoutManager,
    private val keyguardLayoutManagerCommandListener: KeyguardLayoutManagerCommandListener,
    private val keyguardQuickAffordancesCombinedViewModel: KeyguardQuickAffordancesCombinedViewModel,
    private val keyguardQuickAffordancesCombinedViewModel:
        KeyguardQuickAffordancesCombinedViewModel,
    private val falsingManager: FalsingManager,
    private val vibratorHelper: VibratorHelper,
    private val keyguardStateController: KeyguardStateController,
@@ -78,6 +78,8 @@ constructor(
    private val activityStarter: ActivityStarter,
    private val occludingAppDeviceEntryMessageViewModel: OccludingAppDeviceEntryMessageViewModel,
    private val chipbarCoordinator: ChipbarCoordinator,
    private val keyguardBlueprintCommandListener: KeyguardBlueprintCommandListener,
    private val keyguardBlueprintViewModel: KeyguardBlueprintViewModel,
) : CoreStartable {

    private var rootViewHandle: DisposableHandle? = null
@@ -100,8 +102,8 @@ constructor(
        bindAmbientIndicationArea()
        bindSettingsPopupMenu()

        keyguardLayoutManager.layoutViews()
        keyguardLayoutManagerCommandListener.start()
        KeyguardBlueprintViewBinder.bind(keyguardRootView, keyguardBlueprintViewModel)
        keyguardBlueprintCommandListener.start()
    }

    fun setupNotificationStackScrollLayout(legacyParent: ViewGroup) {
@@ -125,8 +127,6 @@ constructor(
        leftShortcutHandle?.onConfigurationChanged()
        rightShortcutHandle?.onConfigurationChanged()
        ambientIndicationAreaHandle?.onConfigurationChanged()

        keyguardLayoutManager.layoutViews()
    }

    fun bindIndicationArea() {
@@ -152,7 +152,8 @@ constructor(

    private fun bindKeyguardRootView() {
        rootViewHandle?.dispose()
        rootViewHandle = KeyguardRootViewBinder.bind(
        rootViewHandle =
            KeyguardRootViewBinder.bind(
                keyguardRootView,
                keyguardRootViewModel,
                featureFlags,
Loading