Merge "Hide "additional info" when active dream does not support." into tm-qpr-dev am: 6b6c68fd94
am: d8f61dc2a3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21452841 Change-Id: I097729dd0420387e67d8aa7eba9642c4834330d3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -60,8 +60,14 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan
|
||||
|
||||
private MainSwitchPreference mMainSwitchPreference;
|
||||
private Button mPreviewButton;
|
||||
private Preference mComplicationsTogglePreference;
|
||||
private RecyclerView mRecyclerView;
|
||||
|
||||
private DreamPickerController mDreamPickerController;
|
||||
|
||||
private final DreamPickerController.Callback mCallback =
|
||||
this::updateComplicationsToggleVisibility;
|
||||
|
||||
@WhenToDream
|
||||
static int getSettingFromPrefKey(String key) {
|
||||
switch (key) {
|
||||
@@ -129,7 +135,13 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan
|
||||
|
||||
@Override
|
||||
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
||||
return buildPreferenceControllers(context);
|
||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||
if (mDreamPickerController == null) {
|
||||
mDreamPickerController = new DreamPickerController(context);
|
||||
}
|
||||
controllers.add(mDreamPickerController);
|
||||
controllers.add(new WhenToDreamPreferenceController(context));
|
||||
return controllers;
|
||||
}
|
||||
|
||||
public static CharSequence getSummaryTextWithDreamName(Context context) {
|
||||
@@ -147,10 +159,9 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan
|
||||
}
|
||||
}
|
||||
|
||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
|
||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||
controllers.add(new WhenToDreamPreferenceController(context));
|
||||
return controllers;
|
||||
@VisibleForTesting
|
||||
void setDreamPickerController(DreamPickerController dreamPickerController) {
|
||||
mDreamPickerController = dreamPickerController;
|
||||
}
|
||||
|
||||
private void setAllPreferencesEnabled(boolean isEnabled) {
|
||||
@@ -175,12 +186,29 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan
|
||||
|
||||
final DreamBackend dreamBackend = DreamBackend.getInstance(getContext());
|
||||
|
||||
mComplicationsTogglePreference = findPreference(
|
||||
DreamComplicationPreferenceController.PREF_KEY);
|
||||
updateComplicationsToggleVisibility();
|
||||
|
||||
mMainSwitchPreference = findPreference(MAIN_SWITCH_PREF_KEY);
|
||||
if (mMainSwitchPreference != null) {
|
||||
mMainSwitchPreference.addOnSwitchChangeListener(this);
|
||||
}
|
||||
|
||||
setAllPreferencesEnabled(dreamBackend.isEnabled());
|
||||
|
||||
if (mDreamPickerController != null) {
|
||||
mDreamPickerController.addCallback(mCallback);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
if (mDreamPickerController != null) {
|
||||
mDreamPickerController.removeCallback(mCallback);
|
||||
}
|
||||
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -200,6 +228,16 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan
|
||||
return mRecyclerView;
|
||||
}
|
||||
|
||||
private void updateComplicationsToggleVisibility() {
|
||||
if (mDreamPickerController == null || mComplicationsTogglePreference == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final DreamBackend.DreamInfo activeDream = mDreamPickerController.getActiveDreamInfo();
|
||||
mComplicationsTogglePreference.setVisible(
|
||||
activeDream != null && activeDream.supportsComplications);
|
||||
}
|
||||
|
||||
private void updatePaddingForPreviewButton() {
|
||||
mPreviewButton.post(() -> {
|
||||
mRecyclerView.setPadding(0, 0, 0, mPreviewButton.getMeasuredHeight());
|
||||
|
Reference in New Issue
Block a user