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

Commit dea877b6 authored by Joel Galenson's avatar Joel Galenson
Browse files

Improve permissions filter dialog.

Show icons and the number of apps for each permission group.

Test: View dialog and click on entries.
Change-Id: Ib37f04a387d8ef76c53744956afefb7a747006c8
parent 75e3e174
Loading
Loading
Loading
Loading
+47 −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.
-->

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            style="@style/PermissionFilterDialogScrollView">

    <LinearLayout
        style="@style/PermissionFilterDialogContainer">

        <TextView
            android:id="@+id/title"
            style="@style/PermissionFilterDialogTitle"/>

        <LinearLayout
            style="@style/PermissionFilterDialogInnerContainer">

            <RadioGroup
                android:id="@+id/radiogroup"
                android:animateLayoutChanges="true"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <LinearLayout
                    android:id="@+id/items_container"
                    style="@style/PermissionFilterDialogItemsContainer"/>

            </RadioGroup>

        </LinearLayout>

    </LinearLayout>

</ScrollView>
+48 −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.
-->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              style="@style/PermissionFilterDialogItemContainer">

    <RadioButton
        android:id="@+id/radio_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <LinearLayout
        style="@style/PermissionFilterDialogItemIconFrame">

        <ImageView
            android:id="@+id/icon"
            style="@style/PermissionFilterDialogItemIcon"/>

    </LinearLayout>

    <LinearLayout
        style="@style/PermissionFilterDialogItemTextFrame">

        <TextView
            android:id="@+id/title"
            style="@style/PermissionFilterDialogItemTitle"/>

        <TextView
            android:id="@+id/summary"
            style="@style/PermissionFilterDialogItemSummary"/>

    </LinearLayout>

</LinearLayout>
+14 −0
Original line number Diff line number Diff line
@@ -77,6 +77,20 @@
            <item type="style" name="AppPermissionFooterText" />
            <item type="style" name="AppPermissionFooterLink" />
            <!-- END APP PERMISSION SCREEN -->

            <!-- START PERMISSION FILTER SCREEN -->
            <item type="style" name="PermissionFilterDialogScrollView" />
            <item type="style" name="PermissionFilterDialogContainer" />
            <item type="style" name="PermissionFilterDialogTitle" />
            <item type="style" name="PermissionFilterDialogInnerContainer" />
            <item type="style" name="PermissionFilterDialogItemsContainer" />
            <item type="style" name="PermissionFilterDialogItemContainer" />
            <item type="style" name="PermissionFilterDialogItemIconFrame" />
            <item type="style" name="PermissionFilterDialogItemIcon" />
            <item type="style" name="PermissionFilterDialogItemTextFrame" />
            <item type="style" name="PermissionFilterDialogItemTitle" />
            <item type="style" name="PermissionFilterDialogItemSummary" />
            <!-- END PERMISSION FILTER SCREEN -->
        </policy>

    </overlayable>
+6 −0
Original line number Diff line number Diff line
@@ -352,6 +352,12 @@
    <!-- Label for refreshing the list of permission usages. [CHAR LIMIT=30] -->
    <string name="permission_usage_refresh">Refresh</string>

    <!-- Subtitle for showing how many apps have accessed a given permission [CHAR LIMIT=20] -->
    <plurals name="permission_usage_permission_filter_subtitle">
        <item quantity="one">1 app</item>
        <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> apps</item>
    </plurals>

    <!-- Help URL, permission usage [DO NOT TRANSLATE] -->
    <string name="help_permission_usage" translatable="false"></string>

+90 −0
Original line number Diff line number Diff line
@@ -290,4 +290,94 @@

    <!-- END APP PERMISSION SCREEN -->

    <!-- BEGIN PERMISSION FILTER SCREEN -->

    <style name="PermissionFilterDialogScrollView">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:fillViewport">true</item>
        <item name="android:orientation">vertical</item>
        <item name="android:fadeScrollbars">false</item>
    </style>

    <style name="PermissionFilterDialogContainer">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:orientation">vertical</item>
    </style>

    <style name="PermissionFilterDialogTitle"
           parent="@android:style/TextAppearance.DeviceDefault.WindowTitle">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_marginTop">18dp</item>
        <item name="android:layout_marginBottom">18dp</item>
        <item name="android:layout_marginStart">24dp</item>
        <item name="android:layout_marginEnd">24dp</item>
    </style>

    <style name="PermissionFilterDialogInnerContainer">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:orientation">vertical</item>
    </style>

    <style name="PermissionFilterDialogItemsContainer">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:orientation">vertical</item>
        <item name="android:gravity">start</item>
    </style>


    <style name="PermissionFilterDialogItemContainer">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginStart">24dp</item>
        <item name="android:layout_marginEnd">24dp</item>
        <item name="android:paddingTop">6dp</item>
        <item name="android:paddingBottom">6dp</item>
        <item name="android:orientation">horizontal</item>
        <item name="android:gravity">center_vertical</item>
    </style>

    <style name="PermissionFilterDialogItemIconFrame">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">start|center_vertical</item>
        <item name="android:layout_marginStart">16dp</item>
    </style>

    <style name="PermissionFilterDialogItemIcon">
        <item name="android:layout_width">24dp</item>
        <item name="android:layout_height">24dp</item>
        <item name="android:scaleType">fitCenter</item>
    </style>

    <style name="PermissionFilterDialogItemTextFrame">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_marginStart">16dp</item>
        <item name="android:orientation">vertical</item>
    </style>

    <style name="PermissionFilterDialogItemTitle">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:singleLine">true</item>
        <item name="android:ellipsize">marquee</item>
        <item name="android:textAppearance">?android:attr/textAppearanceListItem</item>
    </style>

    <style name="PermissionFilterDialogItemSummary">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textAppearance">?android:attr/textAppearanceListItemSecondary</item>
        <item name="android:textColor">?android:attr/textColorSecondary</item>
    </style>

    <!-- END PERMISSION FILTER SCREEN -->

</resources>
Loading