2018-07-27 13:07:33 +00:00
|
|
|
package code.name.monkey.retromusic.views;
|
|
|
|
|
|
|
|
import android.annotation.SuppressLint;
|
|
|
|
import android.app.Dialog;
|
2018-09-23 10:04:43 +00:00
|
|
|
import android.os.Build;
|
2018-07-27 13:07:33 +00:00
|
|
|
import android.os.Bundle;
|
2018-09-23 10:04:43 +00:00
|
|
|
import android.view.View;
|
|
|
|
import android.view.ViewTreeObserver;
|
|
|
|
import android.view.Window;
|
|
|
|
import android.widget.FrameLayout;
|
2018-08-08 08:03:38 +00:00
|
|
|
|
2018-09-23 10:04:43 +00:00
|
|
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
2018-08-30 09:29:30 +00:00
|
|
|
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
|
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
2018-09-09 19:44:46 +00:00
|
|
|
import androidx.annotation.Nullable;
|
2018-08-08 08:03:38 +00:00
|
|
|
import code.name.monkey.appthemehelper.ThemeStore;
|
2018-09-23 10:04:43 +00:00
|
|
|
import code.name.monkey.appthemehelper.util.ATHUtil;
|
2018-08-08 08:03:38 +00:00
|
|
|
import code.name.monkey.appthemehelper.util.ColorUtil;
|
2018-07-27 13:07:33 +00:00
|
|
|
import code.name.monkey.retromusic.R;
|
|
|
|
import code.name.monkey.retromusic.util.PreferenceUtil;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Created by yu on 2016/11/10.
|
|
|
|
*/
|
|
|
|
@SuppressLint("RestrictedApi")
|
|
|
|
public class RoundedBottomSheetDialogFragment extends BottomSheetDialogFragment {
|
|
|
|
|
2018-08-08 08:03:38 +00:00
|
|
|
@Override
|
|
|
|
public int getTheme() {
|
|
|
|
//noinspection ConstantConditions
|
|
|
|
if (PreferenceUtil.getInstance(getContext()).getGeneralTheme() == R.style.Theme_RetroMusic_Light) {
|
|
|
|
return R.style.BottomSheetDialogTheme;
|
|
|
|
} else if (PreferenceUtil.getInstance(getContext()).getGeneralTheme() == R.style.Theme_RetroMusic_Color) {
|
|
|
|
int color = ThemeStore.primaryColor(getContext());
|
|
|
|
if (ColorUtil.isColorLight(color)) {
|
|
|
|
return R.style.BottomSheetDialogTheme;
|
|
|
|
} else {
|
|
|
|
return R.style.BottomSheetDialogThemeDark;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
return R.style.BottomSheetDialogTheme;
|
|
|
|
}
|
|
|
|
}
|
2018-07-30 17:24:37 +00:00
|
|
|
|
2018-09-23 10:04:43 +00:00
|
|
|
@Override
|
|
|
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
|
|
|
super.onViewCreated(view, savedInstanceState);
|
|
|
|
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
|
|
|
|
@Override
|
|
|
|
public void onGlobalLayout() {
|
|
|
|
BottomSheetDialog dialog = (BottomSheetDialog) getDialog();
|
|
|
|
FrameLayout bottomSheet = (FrameLayout) dialog.findViewById(R.id.design_bottom_sheet);
|
|
|
|
BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);
|
|
|
|
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
|
|
|
//behavior.setPeekHeight(0);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2018-08-08 08:03:38 +00:00
|
|
|
@NonNull
|
|
|
|
@Override
|
|
|
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
|
|
|
//noinspection ConstantConditions
|
|
|
|
return new BottomSheetDialog(getContext(), getTheme());
|
2018-07-27 13:07:33 +00:00
|
|
|
}
|
2018-09-23 10:04:43 +00:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onStart() {
|
|
|
|
super.onStart();
|
|
|
|
if (getDialog() != null && getDialog().getWindow() != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
|
Window window = getDialog().getWindow();
|
|
|
|
window.findViewById(com.google.android.material.R.id.container).setFitsSystemWindows(false);
|
|
|
|
// dark navigation bar icons
|
|
|
|
View decorView = window.getDecorView();
|
|
|
|
if (!ATHUtil.isWindowBackgroundDark(getContext()))
|
|
|
|
decorView.setSystemUiVisibility(decorView.getSystemUiVisibility() | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
|
|
|
|
}
|
|
|
|
}
|
2018-07-27 13:07:33 +00:00
|
|
|
}
|