Remove the drop shadow in Privacy screen

Remove shadow in action bar unless page is scrolling.

Test: visual, robotest
Change-Id: I199c659a7a7beecc3b715916b6829a5a879c4c74
Fixes: 123903344
This commit is contained in:
tmfang
2019-02-12 13:52:53 +08:00
parent dd1c68b12d
commit 61ba09776c
2 changed files with 101 additions and 1 deletions

View File

@@ -16,9 +16,16 @@
package com.android.settings.privacy;
import android.app.ActionBar;
import android.app.Activity;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
import android.provider.SearchIndexableResource;
import android.util.Log;
import android.view.View;
import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
@@ -27,13 +34,14 @@ import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.ActionBarShadowController;
import java.util.ArrayList;
import java.util.List;
@SearchIndexable
public class PrivacyDashboardFragment extends DashboardFragment {
private static final String TAG = "PrivacyDashboardFragment";
private static final String TAG = "PrivacyDashboardFrag";
private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
private static final String KEY_WORK_PROFILE_CATEGORY =
"privacy_work_profile_notifications_category";
@@ -65,6 +73,30 @@ public class PrivacyDashboardFragment extends DashboardFragment {
return buildPreferenceControllers(context, getSettingsLifecycle());
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
styleActionBar();
}
@VisibleForTesting
void styleActionBar() {
final Activity activity = getActivity();
final ActionBar actionBar = activity.getActionBar();
final Lifecycle lifecycle = getSettingsLifecycle();
final View scrollView = getListView();
if (actionBar == null) {
Log.w(TAG, "No actionbar, cannot style actionbar.");
return;
}
actionBar.setElevation(0);
if (lifecycle != null && scrollView != null) {
ActionBarShadowController.attachToView(activity, lifecycle, scrollView);
}
}
private static List<AbstractPreferenceController> buildPreferenceControllers(
Context context, Lifecycle lifecycle) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();