Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2d0f173 authored by Ivan's avatar Ivan
Browse files

Fix app crashes when select "Silent" ringtone in conversation settings dialog

parent 79796845
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -7,8 +7,10 @@ import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import android.text.TextUtils;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import com.moez.QKSMS.R;
import com.moez.QKSMS.common.ConversationPrefsHelper;
import com.moez.QKSMS.common.utils.Units;
@@ -117,8 +119,7 @@ public class ConversationSettingsDialog extends QKDialog implements Preference.O

            case SettingsFragment.NOTIFICATION_TONE:
                Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
                Uri uri = Uri.parse(mConversationPrefs.getString(SettingsFragment.NOTIFICATION_TONE, "content://settings/system/notification_sound"));
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, uri);
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, getRingtoneUri());
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
@@ -133,4 +134,9 @@ public class ConversationSettingsDialog extends QKDialog implements Preference.O
        return true;
    }

    private Uri getRingtoneUri() {
        final String uriString = mConversationPrefs.getString(SettingsFragment.NOTIFICATION_TONE, "content://settings/system/notification_sound");
        return !TextUtils.isEmpty(uriString) ? Uri.parse(uriString) : null;
    }

}
+3 −1
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ import android.text.Html;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;

import com.moez.QKSMS.R;
import com.moez.QKSMS.common.AnalyticsManager;
import com.moez.QKSMS.common.ConversationPrefsHelper;
@@ -146,7 +147,8 @@ public class MessageListActivity extends QKSwipeBackActivity {
                if (mWaitingForThreadId > 0) {
                    ConversationPrefsHelper conversationPrefs = new ConversationPrefsHelper(this, mWaitingForThreadId);
                    Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
                    conversationPrefs.putString(SettingsFragment.NOTIFICATION_TONE, uri.toString());
                    conversationPrefs.putString(SettingsFragment.NOTIFICATION_TONE, (uri == null) ? "" : uri.toString());

                    mWaitingForThreadId = -1;
                }
            }