Merge "Disable collapse when fragment is opened from search"
This commit is contained in:
committed by
Android (Google) Code Review
commit
b1427f0034
@@ -16,8 +16,8 @@
|
||||
package com.android.settings.dashboard;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
@@ -78,7 +78,7 @@ public interface DashboardFeatureProvider {
|
||||
* Returns a {@link ProgressiveDisclosureMixin} for specified fragment.
|
||||
*/
|
||||
ProgressiveDisclosureMixin getProgressiveDisclosureMixin(Context context,
|
||||
DashboardFragment fragment);
|
||||
DashboardFragment fragment, Bundle args);
|
||||
|
||||
/**
|
||||
* Returns additional intent filter action for dashboard tiles
|
||||
|
@@ -168,8 +168,12 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
|
||||
@Override
|
||||
public ProgressiveDisclosureMixin getProgressiveDisclosureMixin(Context context,
|
||||
DashboardFragment fragment) {
|
||||
return new ProgressiveDisclosureMixin(context, mMetricsFeatureProvider, fragment);
|
||||
DashboardFragment fragment, Bundle args) {
|
||||
boolean keepExpanded = false;
|
||||
if (args != null) {
|
||||
keepExpanded = args.getString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY) != null;
|
||||
}
|
||||
return new ProgressiveDisclosureMixin(context, fragment, keepExpanded);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -69,7 +69,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
mDashboardFeatureProvider =
|
||||
FeatureFactory.getFactory(context).getDashboardFeatureProvider(context);
|
||||
mProgressiveDisclosureMixin = mDashboardFeatureProvider
|
||||
.getProgressiveDisclosureMixin(context, this);
|
||||
.getProgressiveDisclosureMixin(context, this, getArguments());
|
||||
getLifecycle().addObserver(mProgressiveDisclosureMixin);
|
||||
|
||||
List<PreferenceController> controllers = getPreferenceControllers(context);
|
||||
|
@@ -33,6 +33,7 @@ import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settings.core.lifecycle.events.OnCreate;
|
||||
import com.android.settings.core.lifecycle.events.OnSaveInstanceState;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -56,13 +57,13 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL
|
||||
private boolean mUserExpanded;
|
||||
|
||||
public ProgressiveDisclosureMixin(Context context,
|
||||
MetricsFeatureProvider metricsFeatureProvider,
|
||||
PreferenceFragment fragment) {
|
||||
PreferenceFragment fragment, boolean keepExpanded) {
|
||||
mContext = context;
|
||||
mFragment = fragment;
|
||||
mExpandButton = new ExpandPreference(context);
|
||||
mExpandButton.setOnPreferenceClickListener(this);
|
||||
mMetricsFeatureProvider = metricsFeatureProvider;
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||
mUserExpanded = keepExpanded;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -119,7 +120,7 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL
|
||||
* Whether the screen should be collapsed.
|
||||
*/
|
||||
public boolean shouldCollapse(PreferenceScreen screen) {
|
||||
return screen.getPreferenceCount() >= mTileLimit && !mUserExpanded;
|
||||
return !mUserExpanded && screen.getPreferenceCount() >= mTileLimit;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user