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

Commit 8f0eba7d authored by David Liu's avatar David Liu
Browse files

[Expressive] Add SettingsTitlelessPreferenceCategory to handle proper padding

- Create SettingsTitlelessPreferenceCategory to use expressive layout when expressive design is used, otherwise use the existing layout
- Added settingslib_expressive_preference_category_no_title.xml to compliant expressive design

Bug: 378501860
Test: manual + presubmit
Flag: com.android.settingslib.widget.theme.flags.is_expressive_design_enabled
Change-Id: Iaf6e2c4c2ee2f11b14c03fc69926e2942ef08bd9
parent ab8675dc
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2025 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/settingslib_expressive_space_extrasmall6"
    android:baselineAligned="false"
    android:filterTouchesWhenObscured="false">
</LinearLayout>
+2 −2
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ package com.android.settingslib.widget

import android.graphics.Rect
import android.os.Bundle
import android.view.LayoutInflater;
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup;
import android.view.ViewGroup
import androidx.annotation.CallSuper
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceScreen
+39 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2025 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.settingslib.widget

import android.content.Context
import android.util.AttributeSet
import androidx.preference.PreferenceCategory
import com.android.settingslib.widget.theme.R

class SettingsTitlelessPreferenceCategory @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0,
    defStyleRes: Int = 0
) : PreferenceCategory(context, attrs, defStyleAttr, defStyleRes) {

    init {
        layoutResource =
            if (SettingsThemeHelper.isExpressiveTheme(context)) {
                R.layout.settingslib_expressive_preference_category_no_title
            } else {
                R.layout.settingslib_preference_category_no_title
            }
    }
}