Improve check for bottom sheets night mode

This commit is contained in:
Chumva 2019-11-18 10:24:01 +02:00
parent 687607698d
commit bbdd436a15
3 changed files with 20 additions and 11 deletions

View file

@ -311,7 +311,7 @@ public abstract class MenuBottomSheetDialogFragment extends BottomSheetDialogFra
return nightMode ? R.drawable.bg_bottom_sheet_sides_landscape_dark : R.drawable.bg_bottom_sheet_sides_landscape_light;
}
private boolean isNightMode(@NonNull OsmandApplication app) {
protected boolean isNightMode(@NonNull OsmandApplication app) {
if (usedOnMap) {
return app.getDaynightHelper().isNightModeForMapControls();
}

View file

@ -41,11 +41,6 @@ public class SelectAppModesBottomSheetDialogFragment extends AppModesBottomSheet
if (appMode == null) {
appMode = app.getSettings().getApplicationMode();
}
if (usedOnMap) {
nightMode = app.getDaynightHelper().isNightModeForMapControlsForProfile(getAppMode());
} else {
nightMode = !app.getSettings().isLightContentForMode(getAppMode());
}
}
@Override
@ -112,6 +107,15 @@ public class SelectAppModesBottomSheetDialogFragment extends AppModesBottomSheet
outState.putBoolean(APP_MODE_CHANGEABLE_KEY, appModeChangeable);
}
@Override
protected boolean isNightMode(@NonNull OsmandApplication app) {
if (usedOnMap) {
return app.getDaynightHelper().isNightModeForMapControlsForProfile(getAppMode());
} else {
return !app.getSettings().isLightContentForMode(getAppMode());
}
}
public static void showInstance(@NonNull FragmentManager fm, Fragment target, boolean usedOnMap,
@Nullable ApplicationMode appMode, boolean appModeChangeable) {
try {

View file

@ -8,6 +8,7 @@ import android.support.v7.preference.DialogPreference.TargetFragment;
import android.support.v7.preference.Preference;
import net.osmand.plus.ApplicationMode;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
import java.util.List;
@ -35,11 +36,6 @@ public abstract class BasePreferenceBottomSheet extends MenuBottomSheetDialogFra
if (savedInstanceState != null) {
appMode = ApplicationMode.valueOfStringKey(savedInstanceState.getString(APP_MODE_KEY), null);
}
if (usedOnMap) {
nightMode = requiredMyApplication().getDaynightHelper().isNightModeForMapControlsForProfile(getAppMode());
} else {
nightMode = !requiredMyApplication().getSettings().isLightContentForMode(getAppMode());
}
}
@Override
@ -50,6 +46,15 @@ public abstract class BasePreferenceBottomSheet extends MenuBottomSheetDialogFra
}
}
@Override
protected boolean isNightMode(@NonNull OsmandApplication app) {
if (usedOnMap) {
return app.getDaynightHelper().isNightModeForMapControlsForProfile(getAppMode());
} else {
return !app.getSettings().isLightContentForMode(getAppMode());
}
}
public String getPrefId() {
if (prefId == null) {
Bundle args = getArguments();