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

Commit b2c27cdb authored by Danny Baumann's avatar Danny Baumann Committed by Gerrit Code Review
Browse files

Simplify and improve dream, LLS and weather provider layouts.

In particular, make sure the selection ripple extends to the edges of
the screen.

Change-Id: Ie5694dfea8fd14810895581e4e7daef15c8890c3
parent 2bbd3dda
Loading
Loading
Loading
Loading
+38 −63
Original line number Diff line number Diff line
@@ -13,21 +13,13 @@
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:orientation="horizontal"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">

    <!-- Dream selectable row (icon, caption, radio button) -->

    <RelativeLayout
        android:id="@android:id/widget_frame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toStartOf="@+id/divider"
        android:clickable="true"
        android:focusable="true"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:background="?android:attr/selectableItemBackground" >

    <!-- Dream icon -->
@@ -36,71 +28,54 @@
        android:id="@android:id/icon"
        android:layout_width="@android:dimen/app_icon_size"
        android:layout_height="@android:dimen/app_icon_size"
            android:layout_centerVertical="true"
            android:layout_marginBottom="10dp"
            android:layout_marginStart="0dp"
        android:layout_gravity="center_vertical"
        android:layout_marginEnd="6dp"
            android:layout_marginTop="10dp"
        android:contentDescription="@null"
            android:maxHeight="@android:dimen/app_icon_size"
            android:maxWidth="@android:dimen/app_icon_size"
        android:scaleType="fitCenter" />

    <!-- Dream caption -->

    <TextView
        android:id="@android:id/title"
            android:layout_width="match_parent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toStartOf="@android:id/button1"
            android:layout_toEndOf="@android:id/icon"
        android:layout_weight="1"
        android:layout_gravity="center_vertical"
        android:ellipsize="end"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
            android:textAlignment="viewStart"
            android:labelFor="@android:id/button2" />
        android:textAlignment="viewStart" />

    <!-- Dream radio button -->

    <RadioButton
            android:id="@android:id/button1"
        android:id="@+id/radio"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
        android:duplicateParentState="true"
        android:clickable="false"
        android:focusable="false" />
    </RelativeLayout>

    <!-- Divider -->

    <ImageView
        android:id="@id/divider"
        android:id="@+id/divider"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_toStartOf="@android:id/button2"
        android:contentDescription="@null"
        android:src="@drawable/nav_divider" />

    <!-- Settings icon -->

    <ImageView
        android:id="@android:id/button2"
        android:id="@+id/settings"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignBottom="@android:id/widget_frame"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@android:id/widget_frame"
        android:layout_centerVertical="true"
        android:layout_margin="0dip"
        android:background="?android:attr/selectableItemBackground"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:contentDescription="@string/screensaver_settings_button"
        android:padding="8dip"
        android:clickable="true"
        android:focusable="true"
        android:src="@drawable/ic_bt_config" />

</RelativeLayout>
</LinearLayout>
+39 −62
Original line number Diff line number Diff line
@@ -13,21 +13,13 @@
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">

<!-- Live lock screen selectable row (icon, caption, radio button) -->

    <RelativeLayout
        android:id="@android:id/widget_frame"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
        android:layout_toStartOf="@+id/divider"
        android:clickable="true"
        android:focusable="true"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:background="?android:attr/selectableItemBackground" >

    <!-- Live lock screen icon -->
@@ -36,71 +28,56 @@
        android:id="@android:id/icon"
        android:layout_width="@android:dimen/app_icon_size"
        android:layout_height="@android:dimen/app_icon_size"
            android:layout_centerVertical="true"
            android:layout_marginBottom="10dp"
            android:layout_marginStart="0dp"
        android:layout_gravity="center_vertical"
        android:layout_marginEnd="6dp"
            android:layout_marginTop="10dp"
        android:contentDescription="@null"
            android:maxHeight="@android:dimen/app_icon_size"
            android:maxWidth="@android:dimen/app_icon_size"
        android:scaleType="fitCenter" />

    <!-- Live lock screen caption -->

    <TextView
        android:id="@android:id/title"
            android:layout_width="match_parent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toStartOf="@android:id/button1"
            android:layout_toEndOf="@android:id/icon"
        android:layout_weight="1"
        android:layout_gravity="center_vertical"
        android:ellipsize="end"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
            android:textAlignment="viewStart"
            android:labelFor="@android:id/button2" />
        android:textAlignment="viewStart" />

    <!-- Live lock screen radio button -->

    <RadioButton
            android:id="@android:id/button1"
        android:id="@+id/radio"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
        android:layout_gravity="center_vertical"
        android:duplicateParentState="true"
        android:clickable="false"
        android:focusable="false" />
    </RelativeLayout>

    <!-- Divider -->

    <ImageView
        android:id="@id/divider"
        android:id="@+id/divider"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_toStartOf="@android:id/button2"
        android:contentDescription="@null"
        android:src="@drawable/nav_divider" />

    <!-- Settings icon -->

    <ImageView
        android:id="@android:id/button2"
        android:id="@+id/settings"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignBottom="@android:id/widget_frame"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@android:id/widget_frame"
        android:layout_centerVertical="true"
        android:layout_margin="0dip"
        android:background="?android:attr/selectableItemBackground"
        android:layout_gravity="center_vertical"
        android:background="?android:attr/selectableItemBackgroundBorderless"
        android:contentDescription="@string/live_lock_screen_settings_button"
        android:padding="8dip"
        android:clickable="true"
        android:focusable="true"
        android:src="@drawable/ic_bt_config" />

</RelativeLayout>
</LinearLayout>
+53 −78
Original line number Diff line number Diff line
@@ -13,19 +13,12 @@
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">

    <RelativeLayout
            android:id="@android:id/widget_frame"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toStartOf="@+id/divider"
            android:clickable="true"
            android:focusable="true"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:background="?android:attr/selectableItemBackground" >

    <!-- Weather Provider Service icon -->
@@ -34,71 +27,53 @@
        android:id="@android:id/icon"
        android:layout_width="@android:dimen/app_icon_size"
        android:layout_height="@android:dimen/app_icon_size"
                android:layout_centerVertical="true"
                android:layout_marginBottom="10dp"
                android:layout_marginStart="0dp"
        android:layout_gravity="center_vertical"
        android:layout_marginEnd="6dp"
                android:layout_marginTop="10dp"
        android:contentDescription="@null"
                android:maxHeight="@android:dimen/app_icon_size"
                android:maxWidth="@android:dimen/app_icon_size"
        android:scaleType="fitCenter" />

    <!-- Weather Provider Service caption -->

    <TextView
        android:id="@android:id/title"
                android:layout_width="match_parent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_toStartOf="@android:id/button1"
                android:layout_toEndOf="@android:id/icon"
        android:layout_weight="1"
        android:layout_gravity="center_vertical"
        android:ellipsize="end"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
                android:textAlignment="viewStart"
                android:labelFor="@android:id/button2" />
        android:textAlignment="viewStart" />

    <!-- Weather Provider Service radio button -->

    <RadioButton
                android:id="@android:id/button1"
        android:id="@+id/radio"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
                android:layout_alignParentEnd="true"
                android:layout_centerVertical="true"
        android:duplicateParentState="true"
        android:clickable="false"
        android:focusable="false" />

    </RelativeLayout>

    <!-- Divider -->

    <ImageView
            android:id="@id/divider"
        android:id="@+id/divider"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
            android:layout_centerVertical="true"
            android:layout_toStartOf="@android:id/button2"
        android:contentDescription="@null"
        android:src="@drawable/nav_divider" />

    <ImageView
            android:id="@android:id/button2"
        android:id="@+id/settings"
        android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignBottom="@android:id/widget_frame"
            android:layout_alignParentEnd="true"
            android:layout_alignTop="@android:id/widget_frame"
            android:layout_centerVertical="true"
            android:layout_margin="0dip"
            android:background="?android:attr/selectableItemBackground"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="?android:attr/selectableItemBackgroundBorderless"
        android:contentDescription="@string/weather_settings_button"
        android:padding="8dip"
        android:clickable="true"
        android:focusable="true"
        android:src="@drawable/ic_bt_config" />


</RelativeLayout>
</LinearLayout>
+3 −4
Original line number Diff line number Diff line
@@ -307,7 +307,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements
            ((TextView) row.findViewById(android.R.id.title)).setText(dreamInfo.caption);

            // bind radio button
            RadioButton radioButton = (RadioButton) row.findViewById(android.R.id.button1);
            RadioButton radioButton = (RadioButton) row.findViewById(R.id.radio);
            radioButton.setChecked(dreamInfo.isActive);
            radioButton.setOnTouchListener(new OnTouchListener() {
                @Override
@@ -321,7 +321,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements
            View settingsDivider = row.findViewById(R.id.divider);
            settingsDivider.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE);

            ImageView settingsButton = (ImageView) row.findViewById(android.R.id.button2);
            ImageView settingsButton = (ImageView) row.findViewById(R.id.settings);
            settingsButton.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE);
            settingsButton.setAlpha(dreamInfo.isActive ? 1f : Utils.DISABLED_ALPHA);
            settingsButton.setEnabled(dreamInfo.isActive);
@@ -337,8 +337,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements

        private View createDreamInfoRow(ViewGroup parent) {
            final View row =  mInflater.inflate(R.layout.dream_info_row, parent, false);
            final View header = row.findViewById(android.R.id.widget_frame);
            header.setOnClickListener(new OnClickListener(){
            row.setOnClickListener(new OnClickListener(){
                @Override
                public void onClick(View v) {
                    v.setPressed(true);
+3 −4
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ public class LiveLockScreenSettings extends SettingsPreferenceFragment implement
            ((TextView) row.findViewById(android.R.id.title)).setText(liveLockScreenInfo.caption);

            // bind radio button
            RadioButton radioButton = (RadioButton) row.findViewById(android.R.id.button1);
            RadioButton radioButton = (RadioButton) row.findViewById(R.id.radio);
            radioButton.setChecked(liveLockScreenInfo.isActive);
            radioButton.setOnTouchListener(new OnTouchListener() {
                @Override
@@ -229,7 +229,7 @@ public class LiveLockScreenSettings extends SettingsPreferenceFragment implement
            View settingsDivider = row.findViewById(R.id.divider);
            settingsDivider.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE);

            ImageView settingsButton = (ImageView) row.findViewById(android.R.id.button2);
            ImageView settingsButton = (ImageView) row.findViewById(R.id.settings);
            settingsButton.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE);
            settingsButton.setAlpha(liveLockScreenInfo.isActive ? 1f : Utils.DISABLED_ALPHA);
            settingsButton.setEnabled(liveLockScreenInfo.isActive);
@@ -246,8 +246,7 @@ public class LiveLockScreenSettings extends SettingsPreferenceFragment implement

        private View createLiveLockScreenInfoRow(ViewGroup parent) {
            final View row =  mInflater.inflate(R.layout.live_lock_screen_info_row, parent, false);
            final View header = row.findViewById(android.R.id.widget_frame);
            header.setOnClickListener(new OnClickListener(){
            row.setOnClickListener(new OnClickListener(){
                @Override
                public void onClick(View v) {
                    v.setPressed(true);
Loading