Settings: Phone ringtone setting for Multi SIM device [2/3]

Support displaying phone ringtone setting for each slot as follows:
"Phone ringtone - SIM 1"
"Phone ringtone - SIM 2"

The purpose is to distinguish incoming call from each slot by ringtone.

Depends-On: I9c6ccff938122332d222853d469ad9a623c7d193

Bug: 118735436
Test: Manual
Change-Id: I06c59016e9b6da51ed8a4678a66674fc48c20e40
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This commit is contained in:
Ting Yu
2018-10-18 16:56:22 +08:00
committed by Joey
parent 58864d1c1e
commit a89d02598f
12 changed files with 285 additions and 12 deletions

View File

@@ -20,6 +20,13 @@ import android.content.Context;
import android.media.RingtoneManager;
import android.media.audio.Flags;
import android.telephony.TelephonyManager;
import androidx.preference.PreferenceScreen;
import com.android.settings.DefaultRingtonePreference;
import com.android.settings.R;
import com.android.settings.Utils;
public class PhoneRingtonePreferenceController extends RingtonePreferenceControllerBase {
@@ -30,6 +37,20 @@ public class PhoneRingtonePreferenceController extends RingtonePreferenceControl
super(context);
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
TelephonyManager telephonyManager =
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager.isMultiSimEnabled()) {
// For Multi SIM device, shoud show "Phone ringtone - SIM 1" for slot1 ringtone setting.
DefaultRingtonePreference ringtonePreference =
(DefaultRingtonePreference) screen.findPreference(KEY_PHONE_RINGTONE);
ringtonePreference.setTitle(mContext.getString(R.string.ringtone1_title));
}
}
@Override
public String getPreferenceKey() {
return KEY_PHONE_RINGTONE;