summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Volkert <tvolkert@google.com>2015-07-10 14:09:15 -0700
committerTodd Volkert <tvolkert@google.com>2015-07-10 14:29:44 -0700
commita11e73b95ac5d664d57e860fa41a00c7a50720b7 (patch)
tree2cab69fd6ab3e47778763f4e3d973e0ced4f703b
parent57b5d43f4839c62225cf616296f464b0739e66ba (diff)
downloadandroid_packages_apps_PackageInstaller-a11e73b95ac5d664d57e860fa41a00c7a50720b7.tar.gz
android_packages_apps_PackageInstaller-a11e73b95ac5d664d57e860fa41a00c7a50720b7.tar.bz2
android_packages_apps_PackageInstaller-a11e73b95ac5d664d57e860fa41a00c7a50720b7.zip
Don't flash "No apps" while loading permissions screens on TV
This borrows from the work done in ag/722429, and: 1) makes it work for TV 2) fixes a bug in ag/722429 whereby we would show loading forever if preference count was 0 (as opposed to correctly showing "No apps" / "No permissions") b/22090283 Change-Id: I7e2d8a4b99f99e2d1a933a2ac87494e38d2f77b9
-rw-r--r--res/layout-television/permissions_frame.xml22
-rw-r--r--src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java7
-rw-r--r--src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java6
-rw-r--r--src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java16
-rw-r--r--src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java9
5 files changed, 36 insertions, 24 deletions
diff --git a/res/layout-television/permissions_frame.xml b/res/layout-television/permissions_frame.xml
index 14cb0883..da0b2555 100644
--- a/res/layout-television/permissions_frame.xml
+++ b/res/layout-television/permissions_frame.xml
@@ -22,20 +22,26 @@
android:filterTouchesWhenObscured="true">
<FrameLayout
- android:id="@+id/prefs_container"
android:layout_width="@dimen/lb_action_section_width"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:background="@color/lb_action_fragment_background">
- <TextView
- android:id="@+id/no_permissions"
+ <FrameLayout
+ android:id="@+id/prefs_container"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/no_permissions"
- android:gravity="center"
- android:textAppearance="@android:style/TextAppearance.Large"
- />
+ android:layout_height="match_parent">
+
+ <TextView
+ android:id="@+id/no_permissions"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/no_permissions"
+ android:gravity="center"
+ android:textAppearance="@android:style/TextAppearance.Large"
+ />
+
+ </FrameLayout>
</FrameLayout>
diff --git a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
index 2125db37..af4992b0 100644
--- a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
@@ -85,7 +85,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setLoading(true, false);
+ setLoading(true /* loading */, false /* animate */);
mHasConfirmedRevoke = false;
setHasOptionsMenu(true);
final ActionBar ab = getActivity().getActionBar();
@@ -267,9 +267,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader
R.plurals.additional_permissions_more, count, count));
screen.addPreference(extraPerms);
}
- if (screen.getPreferenceCount() != 0) {
- setLoading(false, true);
- }
+
+ setLoading(false /* loading */, true /* animate */);
}
@Override
diff --git a/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java
index 051676a8..9cea63af 100644
--- a/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/ManagePermissionsFragment.java
@@ -68,7 +68,7 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
- setLoading(true, false);
+ setLoading(true /* loading */, false /* animate */);
setHasOptionsMenu(true);
final ActionBar ab = getActivity().getActionBar();
if (ab != null) {
@@ -260,13 +260,14 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
screen.addPreference(extraScreenPreference);
}
if (screen.getPreferenceCount() != 0) {
- setLoading(false, true);
+ setLoading(false /* loading */, true /* animate */);
}
}
public static class AdditionalPermissionsFragment extends PermissionsFrameFragment {
@Override
public void onCreate(Bundle icicle) {
+ setLoading(true /* loading */, false /* animate */);
super.onCreate(icicle);
getActivity().setTitle(R.string.additional_permissions);
setHasOptionsMenu(true);
@@ -297,6 +298,7 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferenceScreen(((ManagePermissionsFragment) getTargetFragment()).mExtraScreen);
+ setLoading(false /* loading */, true /* animate */);
}
}
}
diff --git a/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java
index 2b014b23..33462aef 100644
--- a/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/PermissionAppsFragment.java
@@ -88,7 +88,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setLoading(true, false);
+ setLoading(true /* loading */, false /* animate */);
setHasOptionsMenu(true);
final ActionBar ab = getActivity().getActionBar();
if (ab != null) {
@@ -295,9 +295,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
}
}
- if (screen.getPreferenceCount() != 0) {
- setLoading(false, true);
- }
+ setLoading(false /* loading */, true /* animate */);
if (mOnPermissionsLoadedListener != null) {
mOnPermissionsLoadedListener.onPermissionsLoaded(permissionApps);
@@ -384,13 +382,14 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
@Override
public void onCreate(Bundle savedInstanceState) {
mOuterFragment = (PermissionAppsFragment) getTargetFragment();
+ setLoading(true /* loading */, false /* animate */);
super.onCreate(savedInstanceState);
}
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
if (mOuterFragment.mExtraScreen != null) {
- setPreferenceScreen(mOuterFragment.mExtraScreen);
+ setPreferenceScreen();
} else {
mOuterFragment.setOnPermissionsLoadedListener(this);
}
@@ -406,8 +405,13 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
@Override
public void onPermissionsLoaded(PermissionApps permissionApps) {
- setPreferenceScreen(mOuterFragment.mExtraScreen);
+ setPreferenceScreen();
mOuterFragment.setOnPermissionsLoadedListener(null);
}
+
+ private void setPreferenceScreen() {
+ setPreferenceScreen(mOuterFragment.mExtraScreen);
+ setLoading(false /* loading */, true /* animate */);
+ }
}
}
diff --git a/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java b/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java
index 88eda41f..e6b18944 100644
--- a/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/PermissionsFrameFragment.java
@@ -72,11 +72,12 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
private void setLoading(boolean loading, boolean animate, boolean force) {
if (mIsLoading != loading || force) {
mIsLoading = loading;
- if (mLoadingView == null) {
- return;
+ if (mPrefsView != null) {
+ setViewShown(mPrefsView, !loading, animate);
+ }
+ if (mLoadingView != null) {
+ setViewShown(mLoadingView, loading, animate);
}
- setViewShown(mPrefsView, !loading, animate);
- setViewShown(mLoadingView, loading, animate);
}
}