diff --git a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java index 399216c3466..087fdf97d2b 100644 --- a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java +++ b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java @@ -123,10 +123,13 @@ public class PermissionBarChartPreferenceController extends BasePreferenceContro return; } + // Add a shadow animation to action bar scroll only when the chart is available. + com.android.settings.Utils.setActionBarShadowAnimation(mParent.getActivity(), + mParent.getSettingsLifecycle(), mParent.getListView()); // We don't hide chart when we have existing data. mBarChartPreference.updateLoadingState(mOldUsageInfos.isEmpty() /* isLoading */); // But we still need to hint user with progress bar that we are updating new usage data. - mParent.setLoadingEnabled(true /* enabled */); + mParent.showPinnedHeader(true); retrievePermissionUsageData(); } @@ -162,7 +165,7 @@ public class PermissionBarChartPreferenceController extends BasePreferenceContro } mBarChartPreference.updateLoadingState(false /* isLoading */); - mParent.setLoadingEnabled(false /* enabled */); + mParent.showPinnedHeader(false); } private void retrievePermissionUsageData() { diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java index fa21f9dd444..af83ec19cce 100644 --- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java +++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java @@ -45,11 +45,6 @@ public class PrivacyDashboardFragment extends DashboardFragment { private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS = "privacy_lock_screen_work_profile_notifications"; - @VisibleForTesting - View mProgressHeader; - @VisibleForTesting - View mProgressAnimation; - @Override public int getMetricsCategory() { return SettingsEnums.TOP_LEVEL_PRIVACY; @@ -84,23 +79,13 @@ public class PrivacyDashboardFragment extends DashboardFragment { @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - Utils.setActionBarShadowAnimation(getActivity(), getSettingsLifecycle(), getListView()); initLoadingBar(); } @VisibleForTesting void initLoadingBar() { - mProgressHeader = setPinnedHeaderView(R.layout.progress_header); - mProgressAnimation = mProgressHeader.findViewById(R.id.progress_bar_animation); - setLoadingEnabled(false); - } - - @VisibleForTesting - void setLoadingEnabled(boolean enabled) { - if (mProgressHeader != null && mProgressAnimation != null) { - mProgressHeader.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE); - mProgressAnimation.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE); - } + setPinnedHeaderView(R.layout.progress_header); + showPinnedHeader(false); } private static List buildPreferenceControllers( diff --git a/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java index dc824ed04f7..5501aa449a2 100644 --- a/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java @@ -103,8 +103,7 @@ public class PermissionBarChartPreferenceControllerTest { .create().start().get()); mController.setFragment(mFragment); mPreference = spy(new BarChartPreference(context)); - when(mScreen.findPreference(mController.getPreferenceKey())) - .thenReturn((BarChartPreference) mPreference); + when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); } @After @@ -189,7 +188,8 @@ public class PermissionBarChartPreferenceControllerTest { mController.onStart(); - verify(mFragment).setLoadingEnabled(true /* enabled */); + assertThat(mFragment.getActivity().getActionBar().getElevation()).isZero(); + verify(mFragment).showPinnedHeader(true); verify(mPreference).updateLoadingState(true /* isLoading */); } @@ -205,7 +205,8 @@ public class PermissionBarChartPreferenceControllerTest { mController.onStart(); - verify(mFragment).setLoadingEnabled(true /* enabled */); + assertThat(mFragment.getActivity().getActionBar().getElevation()).isZero(); + verify(mFragment).showPinnedHeader(true); verify(mPreference).updateLoadingState(false /* isLoading */); } @@ -217,7 +218,8 @@ public class PermissionBarChartPreferenceControllerTest { mController.onStart(); - verify(mFragment, never()).setLoadingEnabled(true /* enabled */); + assertThat(mFragment.getActivity().getActionBar().getElevation()).isNonZero(); + verify(mFragment, never()).showPinnedHeader(true); verify(mPreference, never()).updateLoadingState(true /* isLoading */); } @@ -231,7 +233,7 @@ public class PermissionBarChartPreferenceControllerTest { mController.onPermissionUsageResult(infos1); - verify(mFragment).setLoadingEnabled(false /* enabled */); + verify(mFragment).showPinnedHeader(false); verify(mPreference).updateLoadingState(false /* isLoading */); } diff --git a/tests/robotests/src/com/android/settings/privacy/PrivacyDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/privacy/PrivacyDashboardFragmentTest.java index 80f3900e00d..256fcd4a779 100644 --- a/tests/robotests/src/com/android/settings/privacy/PrivacyDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/privacy/PrivacyDashboardFragmentTest.java @@ -16,8 +16,6 @@ package com.android.settings.privacy; -import static com.google.common.truth.Truth.assertThat; - import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; @@ -27,7 +25,6 @@ import android.content.Context; import android.content.pm.UserInfo; import android.os.Bundle; import android.os.UserManager; -import android.permission.PermissionControllerManager; import android.view.View; import android.view.accessibility.AccessibilityManager; @@ -57,8 +54,6 @@ public class PrivacyDashboardFragmentTest { @Mock private LockPatternUtils mLockPatternUtils; - @Mock - private PermissionControllerManager mPCM; private Context mContext; private PrivacyDashboardFragment mFragment; @@ -79,33 +74,10 @@ public class PrivacyDashboardFragmentTest { .create().start().get()); } - @Test - public void onViewCreated_shouldSetActionBarShadowAnimation() { - mFragment.onViewCreated(new View(mContext), new Bundle()); - - assertThat(mFragment.getActivity().getActionBar().getElevation()).isEqualTo(0.f); - } - @Test public void onViewCreated_shouldInitLinearProgressBar() { mFragment.onViewCreated(new View(mContext), new Bundle()); verify(mFragment).initLoadingBar(); } - - @Test - public void updateLinearProgressbar_isVisible_shouldShowProgressBar() { - mFragment.setLoadingEnabled(true /* enabled */); - - assertThat(mFragment.mProgressHeader.getVisibility()).isEqualTo(View.VISIBLE); - assertThat(mFragment.mProgressAnimation.getVisibility()).isEqualTo(View.VISIBLE); - } - - @Test - public void updateLinearProgressbar_isInVisible_shouldHideProgressBar() { - mFragment.setLoadingEnabled(false /* enabled */); - - assertThat(mFragment.mProgressHeader.getVisibility()).isEqualTo(View.INVISIBLE); - assertThat(mFragment.mProgressAnimation.getVisibility()).isEqualTo(View.INVISIBLE); - } }