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

Commit 9aa23af6 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Changes to favorite management screen

This changes are to include the new UX flows:

* The list of controls is split by zones. All controls that do not have
a zone (blank or null) are shown at the beginning of the list. Zones are
sorted "alphabetically".
* Controls are split into Favorites and All, with Favorite controls
appearing twice. Toggling the checkbox in a control from any of the two
lists will change the state and make it appear/dissapear from the
favorites list.
* Changes to favorites are only saved on Done.
* Favorites can be rearranged by dragging and dropping.

Test: manual
Test: atest
Bug: 149138395

Change-Id: Ib5fdbc66cafe03e95855eb6c16c27127afa8d565
parent b4ab54ad
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -646,16 +646,17 @@
                  android:label="Controls Providers"
                  android:theme="@style/Theme.ControlsManagement"
                  android:showForAllUsers="true"
                  android:clearTaskOnLaunch="true"
                  android:excludeFromRecents="true"
                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
                  android:visibleToInstantApps="true">
        </activity>

        <activity android:name=".controls.management.ControlsFavoritingActivity"
                  android:parentActivityName=".controls.management.ControlsProviderSelectorActivity"
                  android:theme="@style/Theme.ControlsManagement"
                  android:excludeFromRecents="true"
                  android:showForAllUsers="true"
                  android:finishOnTaskLaunch="true"
                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
                  android:visibleToInstantApps="true">
        </activity>
+28 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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.
  -->
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/TextAppearance.Control.Title"
    android:textColor="?android:attr/colorPrimary"
    android:layout_marginStart="12dp"
    android:layout_marginEnd="2dp"
    android:layout_marginTop="8dp"
    android:layout_marginBottom="4dp">

</TextView>
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -72,8 +72,8 @@
    <CheckBox
        android:id="@+id/favorite"
        android:visibility="gone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_width="48dp"
        android:layout_height="48dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
+95 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<!--
  ~ Copyright (C) 2019 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"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
@@ -25,10 +41,55 @@
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textAlignment="center" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/list"
    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/controls_management_list_margin" />
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="@dimen/controls_management_list_margin">

        <ViewStub
            android:id="@+id/stub"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </androidx.core.widget.NestedScrollView>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="64dp">

        <View
            android:layout_width="match_parent"
            android:layout_height="@dimen/controls_app_divider_height"
            android:layout_gravity="center_horizontal|top"
            android:background="?android:attr/listDivider" />

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="4dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="See other apps"
                android:textAppearance="@style/TextAppearance.Control.Title"
                android:textColor="?android:attr/colorPrimary"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"/>

            <Button
                android:id="@+id/done"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="Done"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"/>
        </androidx.constraintlayout.widget.ConstraintLayout>
    </FrameLayout>


</LinearLayout>
 No newline at end of file
+25 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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.
  -->

<androidx.recyclerview.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

</androidx.recyclerview.widget.RecyclerView>
 No newline at end of file
Loading