|
|
@ -21,17 +21,22 @@ import android.app.AlertDialog;
|
|
|
|
import android.content.DialogInterface;
|
|
|
|
import android.content.DialogInterface;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.content.SharedPreferences;
|
|
|
|
import android.content.SharedPreferences;
|
|
|
|
|
|
|
|
import android.media.Ringtone;
|
|
|
|
|
|
|
|
import android.media.RingtoneManager;
|
|
|
|
import android.net.Uri;
|
|
|
|
import android.net.Uri;
|
|
|
|
import android.os.Build;
|
|
|
|
import android.os.Build;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.preference.CheckBoxPreference;
|
|
|
|
import android.preference.CheckBoxPreference;
|
|
|
|
import android.preference.EditTextPreference;
|
|
|
|
import android.preference.EditTextPreference;
|
|
|
|
|
|
|
|
import android.preference.ListPreference;
|
|
|
|
import android.preference.Preference;
|
|
|
|
import android.preference.Preference;
|
|
|
|
import android.preference.PreferenceGroup;
|
|
|
|
import android.preference.PreferenceGroup;
|
|
|
|
import android.preference.PreferenceManager;
|
|
|
|
import android.preference.PreferenceManager;
|
|
|
|
import android.preference.PreferenceScreen;
|
|
|
|
import android.preference.PreferenceScreen;
|
|
|
|
|
|
|
|
import android.preference.RingtonePreference;
|
|
|
|
import android.provider.ContactsContract;
|
|
|
|
import android.provider.ContactsContract;
|
|
|
|
import android.provider.Telephony;
|
|
|
|
import android.provider.Telephony;
|
|
|
|
|
|
|
|
import android.text.TextUtils;
|
|
|
|
import android.util.Log;
|
|
|
|
import android.util.Log;
|
|
|
|
import android.widget.Toast;
|
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
|
|
|
|
|
@ -128,6 +133,16 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
|
|
|
.setOnPreferenceChangeListener(new DisablePassphraseClickListener());
|
|
|
|
.setOnPreferenceChangeListener(new DisablePassphraseClickListener());
|
|
|
|
this.findPreference(MMS_PREF)
|
|
|
|
this.findPreference(MMS_PREF)
|
|
|
|
.setOnPreferenceClickListener(new ApnPreferencesClickListener());
|
|
|
|
.setOnPreferenceClickListener(new ApnPreferencesClickListener());
|
|
|
|
|
|
|
|
this.findPreference(LED_COLOR_PREF)
|
|
|
|
|
|
|
|
.setOnPreferenceChangeListener(new ListSummaryListener());
|
|
|
|
|
|
|
|
this.findPreference(LED_BLINK_PREF)
|
|
|
|
|
|
|
|
.setOnPreferenceChangeListener(new ListSummaryListener());
|
|
|
|
|
|
|
|
this.findPreference(RINGTONE_PREF)
|
|
|
|
|
|
|
|
.setOnPreferenceChangeListener(new RingtoneSummaryListener());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
initializeListSummary((ListPreference) findPreference(LED_COLOR_PREF));
|
|
|
|
|
|
|
|
initializeListSummary((ListPreference) findPreference(LED_BLINK_PREF));
|
|
|
|
|
|
|
|
initializeRingtoneSummary((RingtonePreference) findPreference(RINGTONE_PREF));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -225,6 +240,18 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initializeListSummary(ListPreference pref) {
|
|
|
|
|
|
|
|
pref.setSummary(pref.getEntry());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initializeRingtoneSummary(RingtonePreference pref) {
|
|
|
|
|
|
|
|
RingtoneSummaryListener listener =
|
|
|
|
|
|
|
|
(RingtoneSummaryListener) pref.getOnPreferenceChangeListener();
|
|
|
|
|
|
|
|
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
listener.onPreferenceChange(pref, sharedPreferences.getString(pref.getKey(), ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void handleIdentitySelection(Intent data) {
|
|
|
|
private void handleIdentitySelection(Intent data) {
|
|
|
|
Uri contactUri = data.getData();
|
|
|
|
Uri contactUri = data.getData();
|
|
|
|
|
|
|
|
|
|
|
@ -380,6 +407,42 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private class ListSummaryListener implements Preference.OnPreferenceChangeListener {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public boolean onPreferenceChange(Preference preference, Object value) {
|
|
|
|
|
|
|
|
ListPreference asList = (ListPreference) preference;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int index = 0;
|
|
|
|
|
|
|
|
for (; index < asList.getEntryValues().length; index++) {
|
|
|
|
|
|
|
|
if (value.equals(asList.getEntryValues()[index])) {
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
asList.setSummary(asList.getEntries()[index]);
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private class RingtoneSummaryListener implements Preference.OnPreferenceChangeListener {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
|
|
|
|
|
|
String value = (String) newValue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (TextUtils.isEmpty(value)) {
|
|
|
|
|
|
|
|
preference.setSummary(R.string.preferences__default);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
Ringtone tone = RingtoneManager.getRingtone(ApplicationPreferencesActivity.this,
|
|
|
|
|
|
|
|
Uri.parse(value));
|
|
|
|
|
|
|
|
if (tone != null) {
|
|
|
|
|
|
|
|
preference.setSummary(tone.getTitle(ApplicationPreferencesActivity.this));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* http://code.google.com/p/android/issues/detail?id=4611#c35 */
|
|
|
|
/* http://code.google.com/p/android/issues/detail?id=4611#c35 */
|
|
|
|
@SuppressWarnings("deprecation")
|
|
|
|
@SuppressWarnings("deprecation")
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|