summaryrefslogtreecommitdiffstats
path: root/res/layout
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2015-05-06 09:58:34 -0400
committerJason Monk <jmonk@google.com>2015-05-08 09:07:58 -0400
commit2bcb3ddd1c25d422e80cde57f6db392866a07674 (patch)
tree15d4fc247c76ad73b9fc9a198afccc20061dda7f /res/layout
parent45d0ee617557bce475fa31468aa5be909f603172 (diff)
downloadandroid_packages_apps_PackageInstaller-2bcb3ddd1c25d422e80cde57f6db392866a07674.tar.gz
android_packages_apps_PackageInstaller-2bcb3ddd1c25d422e80cde57f6db392866a07674.tar.bz2
android_packages_apps_PackageInstaller-2bcb3ddd1c25d422e80cde57f6db392866a07674.zip
Add animation for multiple permission checks
- DialogFragment was removed and just use the dialog-themed activity instead. The previously GrantPermissionFragment, now acts as a helper class. - The dialog always tells the window its the same size, but then draws at whatever height is required for the current permission. (this allows it to stay in one position) - Touching outside now does nothing so that the user must respond to the permission request. Change-Id: I12f27de4de5ad83e123cb9acfa062950db39f61b
Diffstat (limited to 'res/layout')
-rw-r--r--res/layout/grant_permissions.xml128
-rw-r--r--res/layout/permission_description.xml43
2 files changed, 104 insertions, 67 deletions
diff --git a/res/layout/grant_permissions.xml b/res/layout/grant_permissions.xml
index a39ee253..2a5f7a93 100644
--- a/res/layout/grant_permissions.xml
+++ b/res/layout/grant_permissions.xml
@@ -14,81 +14,75 @@
limitations under the License.
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.android.packageinstaller.permission.ui.ManualLayoutFrame
+ xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:paddingTop="24dip"
- android:paddingBottom="8dip"
- android:paddingStart="22dip"
- android:paddingEnd="16dip"
- android:filterTouchesWhenObscured="true">
-
- <ImageView
- android:id="@+id/permission_icon"
- android:layout_width="36dip"
- android:layout_height="36dip"
- android:tint="?android:attr/colorAccent"
- android:scaleType="fitCenter">
- </ImageView>
-
- <TextView
- android:id="@+id/permission_message"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@id/permission_icon"
- android:lineSpacingMultiplier="1.024"
- android:fontFamily="@*android:string/font_family_body_2_material"
- android:paddingStart="16dip"
- android:paddingEnd="8dip"
- style="?android:attr/textAppearanceMedium">
- </TextView>
-
- <CheckBox
- android:id="@+id/do_not_ask_checkbox"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/permission_message"
- android:layout_marginTop="16dip"
- android:text="@string/never_ask_again"
- style="?android:attr/textAppearanceSmall"
- android:visibility="gone">
- </CheckBox>
-
+ android:layout_height="fill_parent" >
<LinearLayout
+ android:id="@+id/dialog_container"
android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/do_not_ask_checkbox"
- android:orientation="horizontal"
- android:paddingStart="2dip"
- android:paddingTop="16dip">
+ android:layout_height="fill_parent"
+ android:paddingTop="24dip"
+ android:paddingBottom="8dip"
+ android:paddingStart="22dip"
+ android:paddingEnd="16dip"
+ android:filterTouchesWhenObscured="true"
+ android:orientation="vertical">
- <TextView
- android:id="@+id/current_page_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- style="@android:style/TextAppearance.Material.Body2"
- android:textColor="@color/grant_permissions_progress_color"
- android:visibility="invisible">
- </TextView>
+ <FrameLayout
+ android:id="@+id/desc_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+ <include
+ layout="@layout/permission_description" />
+ </FrameLayout>
- <Button
- android:id="@+id/permission_deny_button"
+ <CheckBox
+ android:id="@+id/do_not_ask_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- style="?android:attr/buttonBarButtonStyle"
- android:text="@string/grant_dialog_button_deny"
- android:layout_marginEnd="8dip">
- </Button>
+ android:layout_marginTop="16dip"
+ android:text="@string/never_ask_again"
+ style="?android:attr/textAppearanceSmall"
+ android:visibility="gone">
+ </CheckBox>
- <Button
- android:id="@+id/permission_allow_button"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:id="@+id/button_group"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
- style="?android:attr/buttonBarButtonStyle"
- android:text="@string/grant_dialog_button_allow">
- </Button>
+ android:orientation="horizontal"
+ android:paddingStart="2dip"
+ android:paddingTop="16dip">
- </LinearLayout>
+ <TextView
+ android:id="@+id/current_page_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ style="@android:style/TextAppearance.Material.Body2"
+ android:textColor="@color/grant_permissions_progress_color"
+ android:visibility="invisible">
+ </TextView>
+
+ <Button
+ android:id="@+id/permission_deny_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="?android:attr/buttonBarButtonStyle"
+ android:text="@string/grant_dialog_button_deny"
+ android:layout_marginEnd="8dip">
+ </Button>
-</RelativeLayout>
+ <Button
+ android:id="@+id/permission_allow_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="?android:attr/buttonBarButtonStyle"
+ android:text="@string/grant_dialog_button_allow">
+ </Button>
+
+ </LinearLayout>
+
+ </LinearLayout>
+</com.android.packageinstaller.permission.ui.ManualLayoutFrame>
diff --git a/res/layout/permission_description.xml b/res/layout/permission_description.xml
new file mode 100644
index 00000000..3f1cf434
--- /dev/null
+++ b/res/layout/permission_description.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 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:id="@+id/perm_desc_root"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <ImageView
+ android:id="@+id/permission_icon"
+ android:layout_width="36dip"
+ android:layout_height="36dip"
+ android:layout_marginTop="3dp"
+ android:tint="?android:attr/colorAccent"
+ android:scaleType="fitCenter" />
+
+ <TextView
+ android:id="@+id/permission_message"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@id/permission_icon"
+ android:lineSpacingMultiplier="1.024"
+ android:fontFamily="@*android:string/font_family_body_2_material"
+ android:paddingStart="16dip"
+ android:paddingEnd="8dip"
+ style="?android:attr/textAppearanceMedium">
+ </TextView>
+
+</LinearLayout>