Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private PickRingtone pickRingtone = new PickRingtone();
- public static class PickRingtone extends ActivityResultContract<Integer, Uri> {
- @NonNull
- @Override
- public Intent createIntent(@NonNull Context context, @NonNull Integer ringtoneType) {
- Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
- Settings.System.DEFAULT_RINGTONE_URI);
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
- RingtoneManager.getActualDefaultRingtoneUri(PanelApp.app(),
- RingtoneManager.TYPE_RINGTONE));
- return intent;
- }
- @Override
- public Uri parseResult(int resultCode, @Nullable Intent result) {
- if (resultCode != Activity.RESULT_OK || result == null) {
- return null;
- }
- return result.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
- }
- }
- ActivityResultLauncher<Integer> mStartForResult = registerForActivityResult(pickRingtone,
- result -> {
- if (result != null) {
- viewModel.setCallRingtone(result.toString());
- Preference callRingtonePreference = findPreference(AppConstants.PROPERTY_CALL_RINGTONE);
- if (callRingtonePreference != null)
- callRingtonePreference.callChangeListener(null);
- }
- });
- mStartForResult.launch(requestCode);
Advertisement
Add Comment
Please, Sign In to add comment