Fix dialog color
This commit is contained in:
parent
da640ceff8
commit
9d9d709a85
27 changed files with 126 additions and 85 deletions
|
@ -293,14 +293,6 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
if (item.itemId == android.R.id.home) {
|
||||
OptionsSheetDialogFragment.newInstance().show(supportFragmentManager, "Main_Menu")
|
||||
}
|
||||
return super.onOptionsItemSelected(item)
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val APP_INTRO_REQUEST = 2323
|
||||
const val HOME = 0
|
||||
|
|
|
@ -15,24 +15,20 @@
|
|||
package code.name.monkey.retromusic.dialogs
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.cardview.widget.CardView
|
||||
import androidx.core.app.ShareCompat
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.activities.MainActivity
|
||||
import code.name.monkey.retromusic.activities.bugreport.BugReportActivity
|
||||
import code.name.monkey.retromusic.util.NavigationUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import code.name.monkey.retromusic.views.OptionMenuItemView
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
|
||||
import com.afollestad.materialdialogs.customview.customView
|
||||
import kotlinx.android.synthetic.main.fragment_main_settings.*
|
||||
|
||||
class OptionsSheetDialogFragment : DialogFragment(), View.OnClickListener {
|
||||
|
||||
|
@ -46,21 +42,9 @@ class OptionsSheetDialogFragment : DialogFragment(), View.OnClickListener {
|
|||
materialDialog.dismiss()
|
||||
}
|
||||
|
||||
private fun prepareBugReport() {
|
||||
startActivity(Intent(activity, BugReportActivity::class.java))
|
||||
}
|
||||
|
||||
private fun shareApp() {
|
||||
ShareCompat.IntentBuilder.from(activity)
|
||||
.setType("text/plain")
|
||||
.setChooserTitle(R.string.action_share)
|
||||
.setText(String.format(getString(R.string.app_share), activity!!.packageName))
|
||||
.startChooser()
|
||||
}
|
||||
|
||||
private lateinit var actionSettings: View
|
||||
private lateinit var actionLibrary: View
|
||||
private lateinit var actionFolders: View
|
||||
private lateinit var actionSettings: OptionMenuItemView
|
||||
private lateinit var actionLibrary: OptionMenuItemView
|
||||
private lateinit var actionFolders: OptionMenuItemView
|
||||
private lateinit var materialDialog: MaterialDialog
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
|
@ -69,24 +53,39 @@ class OptionsSheetDialogFragment : DialogFragment(), View.OnClickListener {
|
|||
actionLibrary = layout.findViewById(R.id.actionLibrary)
|
||||
actionFolders = layout.findViewById(R.id.actionFolders)
|
||||
|
||||
|
||||
when (arguments?.getInt(WHICH_ONE)) {
|
||||
LIBRARY -> actionLibrary.isSelected = true
|
||||
FOLDER -> actionFolders.isSelected = true
|
||||
}
|
||||
|
||||
actionSettings.setOnClickListener(this)
|
||||
actionLibrary.setOnClickListener(this)
|
||||
actionFolders.setOnClickListener(this)
|
||||
|
||||
materialDialog = MaterialDialog(activity!!, BottomSheet())
|
||||
.show {
|
||||
icon(R.mipmap.ic_launcher_round)
|
||||
title(R.string.app_name)
|
||||
customView(view = layout, scrollable = true)
|
||||
}
|
||||
return materialDialog
|
||||
}
|
||||
|
||||
|
||||
companion object {
|
||||
|
||||
private const val TAG: String = "MainOptionsBottomSheetD"
|
||||
|
||||
fun newInstance(selected_id: Int): OptionsSheetDialogFragment {
|
||||
private const val WHICH_ONE = "which_one"
|
||||
@JvmField
|
||||
var LIBRARY: Int = 0
|
||||
@JvmField
|
||||
var FOLDER: Int = 1
|
||||
|
||||
fun newInstance(selectedId: Int): OptionsSheetDialogFragment {
|
||||
val bundle = Bundle()
|
||||
bundle.putInt("selected_id", selected_id)
|
||||
bundle.putInt(WHICH_ONE, selectedId)
|
||||
val fragment = OptionsSheetDialogFragment()
|
||||
fragment.arguments = bundle
|
||||
return fragment
|
||||
|
|
|
@ -48,7 +48,7 @@ abstract class AbsMainActivityFragment : AbsMusicServiceFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
protected fun showMainMenu() {
|
||||
OptionsSheetDialogFragment.newInstance().show(childFragmentManager, "Main_Menu")
|
||||
protected fun showMainMenu(option: Int) {
|
||||
OptionsSheetDialogFragment.newInstance(option).show(childFragmentManager, "Main_Menu")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import code.name.monkey.appthemehelper.util.TintHelper;
|
|||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog;
|
||||
import code.name.monkey.retromusic.dialogs.OptionsSheetDialogFragment;
|
||||
import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment;
|
||||
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment;
|
||||
import code.name.monkey.retromusic.helper.SortOrder;
|
||||
|
@ -160,6 +161,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
appBarLayout.addOnOffsetChangedListener((appBarLayout, verticalOffset) ->
|
||||
getMainActivity().setLightStatusbar(!ATHUtil.INSTANCE.isWindowBackgroundDark(getContext())));
|
||||
getMainActivity().setSupportActionBar(toolbar);
|
||||
toolbar.setNavigationOnClickListener(v -> showMainMenu(OptionsSheetDialogFragment.LIBRARY));
|
||||
}
|
||||
|
||||
private Fragment getCurrentFragment() {
|
||||
|
|
|
@ -49,6 +49,7 @@ import code.name.monkey.appthemehelper.util.TintHelper;
|
|||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.adapter.SongFileAdapter;
|
||||
import code.name.monkey.retromusic.dialogs.OptionsSheetDialogFragment;
|
||||
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment;
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
|
||||
import code.name.monkey.retromusic.helper.menu.SongMenuHelper;
|
||||
|
@ -231,8 +232,8 @@ public class FoldersFragment extends AbsMainActivityFragment implements
|
|||
appBarLayout.setBackgroundColor(primaryColor);
|
||||
toolbar.setBackgroundColor(RetroColorUtil.toolbarColor(getMainActivity()));
|
||||
toolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);
|
||||
toolbar.setOnClickListener(v -> {
|
||||
showMainMenu();
|
||||
toolbar.setNavigationOnClickListener(v -> {
|
||||
showMainMenu(OptionsSheetDialogFragment.FOLDER);
|
||||
});
|
||||
breadCrumbs.setActivatedContentColor(ToolbarContentTintHelper.toolbarTitleColor(getActivity(), ColorUtil.INSTANCE.darkenColor(primaryColor)));
|
||||
breadCrumbs.setDeactivatedContentColor(ToolbarContentTintHelper.toolbarSubtitleColor(getActivity(),
|
||||
|
|
|
@ -17,6 +17,7 @@ import code.name.monkey.retromusic.Constants
|
|||
import code.name.monkey.retromusic.Constants.USER_BANNER
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.HomeAdapter
|
||||
import code.name.monkey.retromusic.dialogs.OptionsSheetDialogFragment
|
||||
import code.name.monkey.retromusic.extensions.hide
|
||||
import code.name.monkey.retromusic.extensions.show
|
||||
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
|
||||
|
@ -155,8 +156,10 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
|||
val pairImageView = Pair.create<View, String>(toolbarContainer, resources.getString(R.string.transition_toolbar))
|
||||
NavigationUtil.goToSearch(activity!!, pairImageView)
|
||||
}
|
||||
|
||||
}
|
||||
mainActivity.setSupportActionBar(toolbar)
|
||||
toolbar.setNavigationOnClickListener { v -> showMainMenu(OptionsSheetDialogFragment.LIBRARY) }
|
||||
}
|
||||
|
||||
override fun handleBackPress(): Boolean {
|
||||
|
|
|
@ -15,15 +15,17 @@
|
|||
package code.name.monkey.retromusic.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil;
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil;
|
||||
import code.name.monkey.retromusic.R;
|
||||
|
||||
|
||||
public class IconImageView extends androidx.appcompat.widget.AppCompatImageView {
|
||||
public class IconImageView extends AppCompatImageView {
|
||||
public IconImageView(Context context) {
|
||||
super(context);
|
||||
init(context);
|
||||
|
@ -41,6 +43,7 @@ public class IconImageView extends androidx.appcompat.widget.AppCompatImageView
|
|||
|
||||
private void init(Context context) {
|
||||
if (context == null) return;
|
||||
setColorFilter(ATHUtil.INSTANCE.resolveColor(context, R.attr.iconColor), PorterDuff.Mode.SRC_IN);
|
||||
setImageTintList(ColorStateList.valueOf(ATHUtil.INSTANCE.resolveColor(context, R.attr.iconColor)));
|
||||
//setColorFilter(ATHUtil.INSTANCE.resolveColor(context, R.attr.iconColor), PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,10 +24,10 @@ import android.widget.TextView;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
|
||||
/**
|
||||
|
@ -35,6 +35,9 @@ import code.name.monkey.retromusic.R;
|
|||
*/
|
||||
public class OptionMenuItemView extends FrameLayout {
|
||||
|
||||
TextView textView;
|
||||
IconImageView iconImageView;
|
||||
|
||||
public OptionMenuItemView(@NonNull Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
@ -49,13 +52,16 @@ public class OptionMenuItemView extends FrameLayout {
|
|||
|
||||
public OptionMenuItemView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
|
||||
int accentColor = ThemeStore.Companion.accentColor(context);
|
||||
setBackground(ContextCompat.getDrawable(context, R.drawable.menu_item_background));
|
||||
|
||||
inflate(context, R.layout.item_option_menu, this);
|
||||
|
||||
setBackgroundTintList(ColorStateList.valueOf(ThemeStore.Companion.accentColor(context)));
|
||||
setBackgroundTintList(ColorStateList.valueOf(ColorUtil.INSTANCE.adjustAlpha(accentColor, 0.22f)));
|
||||
|
||||
TextView textView = findViewById(R.id.title);
|
||||
textView.setTextColor(MaterialValueHelper.INSTANCE.getPrimaryTextColor(context, ColorUtil.INSTANCE.isColorLight(ThemeStore.Companion.primaryColor(context))));
|
||||
IconImageView iconImageView = findViewById(R.id.icon);
|
||||
textView = findViewById(R.id.title);
|
||||
iconImageView = findViewById(R.id.icon);
|
||||
|
||||
TypedArray attributes = context.obtainStyledAttributes(attrs, R.styleable.OptionMenuItemView, 0, 0);
|
||||
|
||||
|
@ -67,4 +73,14 @@ public class OptionMenuItemView extends FrameLayout {
|
|||
|
||||
attributes.recycle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSelected(boolean selected) {
|
||||
super.setSelected(selected);
|
||||
if (selected) {
|
||||
int accentColor = ThemeStore.Companion.accentColor(getContext());
|
||||
textView.setTextColor(accentColor);
|
||||
iconImageView.setImageTintList(ColorStateList.valueOf(accentColor));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue