androidN_高通平台—计时器结束无铃声问题修改
文件1:packages/apps/DeskClock / src/com/android/deskclock/data/SettingsModel.java
:Uri getDefaultTimerRingtoneUri() {
if (mDefaultTimerRingtoneUri == null) {
/* final String packageName = mContext.getPackageName();
final int resId = R.raw.timer_expire;
final String uriString = String.format("android.resource://%s/%d", packageName, resId);
mDefaultTimerRingtoneUri = Uri.parse(uriString);*/
//add this
mDefaultTimerRingtoneUri = Uri.parse("content://settings/system/alarm_alert");//Alarm.NO_RINGTONE_URI;
//end this
}
return mDefaultTimerRingtoneUri;
}
Uri getTimerRingtoneUri() {
return SettingsDAO.getTimerRingtoneUri(mContext, getDefaultTimerRingtoneUri());
}
Uri getDefaultAlarmRingtoneUri() {
文件2:packages/apps/DeskClock / src/com/android/deskclock/data/TimerModel.java
//add
/* if (isTimerRingtoneSilent()) {
// Special case: no ringtone has a title of "Silent".
mTimerRingtoneTitle = mContext.getString(R.string.silent_timer_ringtone_title);
} else {
final Uri defaultUri = getDefaultTimerRingtoneUri();
final Uri uri = getTimerRingtoneUri();
/*if (defaultUri.equals(uri)) {
// Special case: default ringtone has a title of "Timer Expired".
//modify by niuxiaoyan 20170119 Ringtone dispaly is wrong begin:
// mTimerRingtoneTitle = mContext.getString(R.string.default_timer_ringtone_title);
// mTimerRingtoneTitle = mContext.getString(R.string.silent_timer_ringtone_title);
//modify by niuxiaoyan 20170119 Ringtone dispaly is wrong end.
//modify by sunguoqing 2017/3/30 add method(use Alarm_title to set timer_title) begin ;
// }else
*/
//end
if("content://settings/system/alarm_alert".equals(uri.toString())){
mTimerRingtoneTitle = mAlarm_title;
//modify by sunguoqing 2017/3/30 add method(use Alarm_title to set timer_title) end ;
} else {
final Ringtone ringtone = RingtoneManager.getRingtone(mContext, uri);
mTimerRingtoneTitle = ringtone.getTitle(mContext);
}
}
return mTimerRingtoneTitle;
}
文件3:packages/apps/DeskClock / src/com/android/deskclock/settings/TimerRingtonePreference.java
@Override
protected void onPrepareRingtonePickerIntent(@NonNull Intent ringtonePickerIntent) {
super.onPrepareRingtonePickerIntent(ringtonePickerIntent);
// Replace the default ringtone uri with the beeping ringtone for timers.
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
DataModel.getDataModel().getDefaultTimerRingtoneUri());
//add
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
DataModel.getDataModel().isTimerRingtoneSilent() ? null : DataModel.getDataModel().getTimerRingtoneUri());
//end
}
}