diff options
Diffstat (limited to 'src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java')
-rw-r--r-- | src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java | 46 |
1 files changed, 15 insertions, 31 deletions
diff --git a/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java b/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java index b86d952..00b31ef 100644 --- a/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java +++ b/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java @@ -18,12 +18,12 @@ package com.android.messaging.ui.conversationsettings; import android.app.Activity; import android.app.AlertDialog; import android.app.Fragment; +import android.app.NotificationManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.res.Resources; import android.database.Cursor; -import android.media.RingtoneManager; import android.os.Bundle; import android.os.Parcelable; import android.provider.Settings; @@ -49,6 +49,7 @@ import com.android.messaging.ui.CompositeAdapter; import com.android.messaging.ui.PersonItemView; import com.android.messaging.ui.UIIntents; import com.android.messaging.ui.conversation.ConversationActivity; +import com.android.messaging.util.NotificationsUtil; import com.android.messaging.util.Assert; import java.util.ArrayList; @@ -65,8 +66,6 @@ public class PeopleAndOptionsFragment extends Fragment private final Binding<PeopleAndOptionsData> mBinding = BindingBase.createBinding(this); - private static final int REQUEST_CODE_RINGTONE_PICKER = 1000; - @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -90,17 +89,6 @@ public class PeopleAndOptionsFragment extends Fragment } @Override - public void onActivityResult(final int requestCode, final int resultCode, final Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_RINGTONE_PICKER) { - final Parcelable pick = data.getParcelableExtra( - RingtoneManager.EXTRA_RINGTONE_PICKED_URI); - final String pickedUri = pick == null ? "" : pick.toString(); - mBinding.getData().setConversationNotificationSound(mBinding, pickedUri); - } - } - - @Override public void onDestroy() { super.onDestroy(); mBinding.unbind(); @@ -131,24 +119,20 @@ public class PeopleAndOptionsFragment extends Fragment } @Override - public void onOptionsItemViewClicked(final PeopleOptionsItemData item, - final boolean isChecked) { + public void onOptionsItemViewClicked(final PeopleOptionsItemData item) { switch (item.getItemId()) { - case PeopleOptionsItemData.SETTING_NOTIFICATION_ENABLED: - mBinding.getData().enableConversationNotifications(mBinding, isChecked); - break; - - case PeopleOptionsItemData.SETTING_NOTIFICATION_SOUND_URI: - final Intent ringtonePickerIntent = UIIntents.get().getRingtonePickerIntent( - getString(R.string.notification_sound_pref_title), - item.getRingtoneUri(), Settings.System.DEFAULT_NOTIFICATION_URI, - RingtoneManager.TYPE_NOTIFICATION); - startActivityForResult(ringtonePickerIntent, REQUEST_CODE_RINGTONE_PICKER); - break; - - case PeopleOptionsItemData.SETTING_NOTIFICATION_VIBRATION: - mBinding.getData().enableConversationNotificationVibration(mBinding, - isChecked); + case PeopleOptionsItemData.SETTING_NOTIFICATION: + NotificationsUtil.createNotificationChannelGroup(getActivity(), + NotificationsUtil.CONVERSATION_GROUP_NAME, + R.string.notification_channel_messages_title); + NotificationsUtil.createNotificationChannel(getActivity(), + mBinding.getData().getConversationId(), + item.getOtherParticipant().getDisplayName(true), + NotificationManager.IMPORTANCE_DEFAULT, + NotificationsUtil.CONVERSATION_GROUP_NAME); + Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS); + intent.putExtra(Settings.EXTRA_APP_PACKAGE, getContext().getPackageName()); + startActivity(intent); break; case PeopleOptionsItemData.SETTING_BLOCKED: |