Fix entity header to "Hide" shadow of app bar unless scrolled.

Bug: 70950124

Test: manual
Test: make RunSettingsRoboTests
Change-Id: I3d23ac49365873361f23b0c7ab105f208d6a7ed7
This commit is contained in:
Jan Nordqvist
2018-03-20 16:21:47 -07:00
parent 9492aa546d
commit ba1c53455a
2 changed files with 29 additions and 3 deletions

View File

@@ -41,12 +41,15 @@ import android.view.MenuItem;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.dashboard.SummaryLoader; import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable; import com.android.settings.search.Indexable;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import java.util.ArrayList; import java.util.ArrayList;
@@ -155,10 +158,12 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
@Override @Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) { protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
final Activity activity = getActivity();
final ArrayList<AbstractPreferenceController> controllers = new ArrayList<>(); final ArrayList<AbstractPreferenceController> controllers = new ArrayList<>();
mSummaryController = mSummaryController =
new DataUsageSummaryPreferenceController(context); new DataUsageSummaryPreferenceController(context, this, activity);
controllers.add(mSummaryController); controllers.add(mSummaryController);
getLifecycle().addObserver(mSummaryController);
return controllers; return controllers;
} }

View File

@@ -16,6 +16,8 @@
package com.android.settings.datausage; package com.android.settings.datausage;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.NetworkPolicyManager; import android.net.NetworkPolicyManager;
@@ -37,7 +39,12 @@ import android.util.RecurrenceRule;
import com.android.internal.util.CollectionUtils; import com.android.internal.util.CollectionUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import java.util.List; import java.util.List;
@@ -47,7 +54,8 @@ import java.util.List;
* new subscriptions framework API if available. The controller reads subscription information from * new subscriptions framework API if available. The controller reads subscription information from
* the framework and falls back to legacy usage data if none are available. * the framework and falls back to legacy usage data if none are available.
*/ */
public class DataUsageSummaryPreferenceController extends BasePreferenceController { public class DataUsageSummaryPreferenceController extends BasePreferenceController
implements PreferenceControllerMixin, LifecycleObserver, OnStart {
private static final String TAG = "DataUsageController"; private static final String TAG = "DataUsageController";
private static final String KEY = "status_header"; private static final String KEY = "status_header";
@@ -55,6 +63,8 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
private static final float RELATIVE_SIZE_LARGE = 1.25f * 1.25f; // (1/0.8)^2 private static final float RELATIVE_SIZE_LARGE = 1.25f * 1.25f; // (1/0.8)^2
private static final float RELATIVE_SIZE_SMALL = 1.0f / RELATIVE_SIZE_LARGE; // 0.8^2 private static final float RELATIVE_SIZE_SMALL = 1.0f / RELATIVE_SIZE_LARGE; // 0.8^2
private final Fragment mFragment;
private final Activity mActivity;
private final DataUsageController mDataUsageController; private final DataUsageController mDataUsageController;
private final DataUsageInfoController mDataInfoController; private final DataUsageInfoController mDataInfoController;
private final NetworkTemplate mDefaultTemplate; private final NetworkTemplate mDefaultTemplate;
@@ -86,9 +96,13 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
private Intent mManageSubscriptionIntent; private Intent mManageSubscriptionIntent;
public DataUsageSummaryPreferenceController(Context context) { public DataUsageSummaryPreferenceController(Context context, Fragment fragment,
Activity activity) {
super(context, KEY); super(context, KEY);
mFragment = fragment;
mActivity = activity;
final int defaultSubId = DataUsageUtils.getDefaultSubscriptionId(context); final int defaultSubId = DataUsageUtils.getDefaultSubscriptionId(context);
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, defaultSubId); mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, defaultSubId);
NetworkPolicyManager policyManager = NetworkPolicyManager.from(context); NetworkPolicyManager policyManager = NetworkPolicyManager.from(context);
@@ -130,6 +144,13 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
mDataUsageTemplate = dataUsageTemplate; mDataUsageTemplate = dataUsageTemplate;
mHasMobileData = hasMobileData; mHasMobileData = hasMobileData;
mSubscriptionManager = subscriptionManager; mSubscriptionManager = subscriptionManager;
mFragment = null;
mActivity = null;
}
@Override
public void onStart() {
EntityHeaderController.newInstance(mActivity, mFragment, null).styleActionBar(mActivity);
} }
@VisibleForTesting @VisibleForTesting