Merge "Use DashboardFeatureProvider to load homepage tiles."

This commit is contained in:
TreeHugger Robot
2016-09-29 21:19:30 +00:00
committed by Android (Google) Code Review
9 changed files with 185 additions and 39 deletions

View File

@@ -36,6 +36,7 @@ import com.android.settings.dashboard.conditional.Condition;
import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
import com.android.settings.dashboard.conditional.ConditionManager;
import com.android.settings.dashboard.conditional.FocusRecyclerView;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.SuggestionParser;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.SettingsDrawerActivity;
@@ -52,7 +53,7 @@ public class DashboardSummary extends InstrumentedFragment
private static final int MAX_WAIT_MILLIS = 700;
private static final String TAG = "DashboardSummary";
public static final String[] INITIAL_ITEMS = new String[] {
public static final String[] INITIAL_ITEMS = new String[]{
Settings.WifiSettingsActivity.class.getName(),
Settings.BluetoothSettingsActivity.class.getName(),
Settings.DataUsageSummaryActivity.class.getName(),
@@ -78,6 +79,7 @@ public class DashboardSummary extends InstrumentedFragment
private SuggestionsChecks mSuggestionsChecks;
private ArrayList<String> mSuggestionsShownLogged;
private ArrayList<String> mSuggestionsHiddenLogged;
private DashboardFeatureProvider mDashboardFeatureProvider;
@Override
public int getMetricsCategory() {
@@ -88,10 +90,18 @@ public class DashboardSummary extends InstrumentedFragment
public void onCreate(Bundle savedInstanceState) {
long startTime = System.currentTimeMillis();
super.onCreate(savedInstanceState);
final Activity activity = getActivity();
mDashboardFeatureProvider = FeatureFactory.getFactory(activity)
.getDashboardFeatureProvider(activity);
if (mDashboardFeatureProvider.isEnabled()) {
mSummaryLoader = new SummaryLoader(activity,
mDashboardFeatureProvider.getTilesForHomepage());
} else {
mSummaryLoader = new SummaryLoader(activity,
((SettingsActivity) getActivity()).getDashboardCategories());
}
List<DashboardCategory> categories =
((SettingsActivity) getActivity()).getDashboardCategories();
mSummaryLoader = new SummaryLoader(getActivity(), categories);
Context context = getContext();
mConditionManager = ConditionManager.get(context, false);
mSuggestionParser = new SuggestionParser(context,
@@ -106,8 +116,10 @@ public class DashboardSummary extends InstrumentedFragment
mSuggestionsHiddenLogged =
savedInstanceState.getStringArrayList(EXTRA_SUGGESTION_HIDDEN_LOGGED);
}
if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
+ " ms");
if (DEBUG_TIMING) {
Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
+ " ms");
}
}
@Override
@@ -128,8 +140,10 @@ public class DashboardSummary extends InstrumentedFragment
mMetricsFeatureProvider.visible(getContext(), c.getMetricsConstant());
}
}
if (DEBUG_TIMING) Log.d(TAG, "onResume took " + (System.currentTimeMillis() - startTime)
+ " ms");
if (DEBUG_TIMING) {
Log.d(TAG, "onResume took " + (System.currentTimeMillis() - startTime)
+ " ms");
}
}
@Override
@@ -167,13 +181,15 @@ public class DashboardSummary extends InstrumentedFragment
} else {
mConditionManager.remListener(this);
}
if (DEBUG_TIMING) Log.d(TAG, "onWindowFocusChanged took "
+ (System.currentTimeMillis() - startTime) + " ms");
if (DEBUG_TIMING) {
Log.d(TAG, "onWindowFocusChanged took "
+ (System.currentTimeMillis() - startTime) + " ms");
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Bundle savedInstanceState) {
return inflater.inflate(R.layout.dashboard, container, false);
}
@@ -208,8 +224,10 @@ public class DashboardSummary extends InstrumentedFragment
mDashboard.setAdapter(mAdapter);
mSummaryLoader.setAdapter(mAdapter);
ConditionAdapterUtils.addDismiss(mDashboard);
if (DEBUG_TIMING) Log.d(TAG, "onViewCreated took "
+ (System.currentTimeMillis() - startTime) + " ms");
if (DEBUG_TIMING) {
Log.d(TAG, "onViewCreated took "
+ (System.currentTimeMillis() - startTime) + " ms");
}
rebuildUI();
}
@@ -274,9 +292,18 @@ public class DashboardSummary extends InstrumentedFragment
if (activity == null) {
return;
}
List<DashboardCategory> categories =
((SettingsActivity) activity).getDashboardCategories();
mAdapter.setCategoriesAndSuggestions(categories, tiles);
if (mDashboardFeatureProvider.isEnabled()) {
// Temporary hack to wrap homepage category into a list. Soon we will create adapter
// API that takes a single category.
List<DashboardCategory> categories = new ArrayList<>();
categories.add(mDashboardFeatureProvider.getTilesForHomepage());
mAdapter.setCategoriesAndSuggestions(categories, tiles);
} else {
mAdapter.setCategoriesAndSuggestions(
((SettingsActivity) activity).getDashboardCategories(), tiles);
}
}
}
}