Fix dialog color

This commit is contained in:
h4h13 2019-07-31 14:39:29 +05:30
parent da640ceff8
commit 9d9d709a85
27 changed files with 126 additions and 85 deletions

View file

@ -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

View file

@ -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

View file

@ -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")
}
}

View file

@ -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() {

View file

@ -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(),

View file

@ -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 {

View file

@ -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);
}
}

View file

@ -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));
}
}
}