1afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* 2afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 3afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * 4afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * you may not use this file except in compliance with the License. 6afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * You may obtain a copy of the License at 7afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * 8afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * 10afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * See the License for the specific language governing permissions and 14afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * limitations under the License. 15afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project */ 16afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 17afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectpackage com.android.settings; 18afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 19afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 20afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectimport android.content.Context; 21afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectimport android.content.Intent; 22afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectimport android.media.RingtoneManager; 23afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectimport android.net.Uri; 24afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectimport android.preference.RingtonePreference; 25afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectimport android.util.AttributeSet; 26afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectimport android.util.Log; 27afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 28afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectpublic class DefaultRingtonePreference extends RingtonePreference { 29afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project private static final String TAG = "DefaultRingtonePreference"; 30afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 31afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project public DefaultRingtonePreference(Context context, AttributeSet attrs) { 32afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project super(context, attrs); 33afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project } 34afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 35afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project @Override 36afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project protected void onPrepareRingtonePickerIntent(Intent ringtonePickerIntent) { 37afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project super.onPrepareRingtonePickerIntent(ringtonePickerIntent); 38afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 39afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project /* 40afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * Since this preference is for choosing the default ringtone, it 41afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * doesn't make sense to show a 'Default' item. 42afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project */ 43afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, false); 44afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project } 45afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 46afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project @Override 47afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project protected void onSaveRingtone(Uri ringtoneUri) { 48afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project RingtoneManager.setActualDefaultRingtoneUri(getContext(), getRingtoneType(), ringtoneUri); 49afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project } 50afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 51afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project @Override 52afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project protected Uri onRestoreRingtone() { 53afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project return RingtoneManager.getActualDefaultRingtoneUri(getContext(), getRingtoneType()); 54afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project } 55afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project 56afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project} 57