diff options
author | Jason Monk <jmonk@google.com> | 2015-05-06 09:58:34 -0400 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2015-05-08 09:07:58 -0400 |
commit | 2bcb3ddd1c25d422e80cde57f6db392866a07674 (patch) | |
tree | 15d4fc247c76ad73b9fc9a198afccc20061dda7f /res/layout | |
parent | 45d0ee617557bce475fa31468aa5be909f603172 (diff) | |
download | android_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.xml | 128 | ||||
-rw-r--r-- | res/layout/permission_description.xml | 43 |
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> |