Add support for disabling/enabling directplay codecs
This commit is contained in:
parent
e108213237
commit
378772d93f
11 changed files with 311 additions and 7 deletions
|
|
@ -0,0 +1,24 @@
|
|||
package com.dkanada.gramophone.preferences;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEDialogPreference;
|
||||
|
||||
public class DirectplayPreference extends ATEDialogPreference {
|
||||
public DirectplayPreference(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public DirectplayPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public DirectplayPreference(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
public DirectplayPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.dkanada.gramophone.preferences;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.dkanada.gramophone.R;
|
||||
import com.dkanada.gramophone.adapter.DirectplayCodecAdapter;
|
||||
import com.dkanada.gramophone.util.PreferenceUtil;
|
||||
|
||||
public class DirectplayPreferenceDialog extends DialogFragment {
|
||||
public static DirectplayPreferenceDialog newInstance() {
|
||||
return new DirectplayPreferenceDialog();
|
||||
}
|
||||
|
||||
private DirectplayCodecAdapter adapter;
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
View view = getActivity().getLayoutInflater().inflate(R.layout.preference_dialog_directplay_codecs, null);
|
||||
|
||||
adapter = new DirectplayCodecAdapter(PreferenceUtil.getInstance(getContext()).getDirectplayCodecs());
|
||||
|
||||
RecyclerView recyclerView = view.findViewById(R.id.recycler_view);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
return new MaterialDialog.Builder(getContext())
|
||||
.title(R.string.directplay_codecs)
|
||||
.customView(view, false)
|
||||
.positiveText(android.R.string.ok)
|
||||
.negativeText(android.R.string.cancel)
|
||||
.autoDismiss(false)
|
||||
.onNegative((dialog, action) -> dismiss())
|
||||
.onPositive((dialog, action) -> {
|
||||
PreferenceUtil.getInstance(getContext()).setDirectplayCodecs(adapter.getDirectplayCodecs());
|
||||
dismiss();
|
||||
})
|
||||
.build();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue