Loading res/values/cm_strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ <string name="profile_add_nfc_text">This NFC tag refers to an unknown profile. Attaching this NFC tag to an existing profile will allow for selecting the profile in the future.</string> <string name="profile_select">Select profile</string> <string name="profile_remove_dialog_message">Remove profile %1$s?</string> <string name="profile_populate_profile_from_state">Configure profile using current device settings?</string> <string name="profile_menu_fill_from_state">Import current device settings</string> <!-- Add Profile --> <string name="add_profile_dialog_title">Create new profile</string> Loading src/com/android/settings/profiles/SetupActionsFragment.java +180 −30 Original line number Diff line number Diff line Loading @@ -25,13 +25,22 @@ import android.app.Profile; import android.app.ProfileManager; import android.app.RingModeSettings; import android.app.StreamSettings; import android.bluetooth.BluetoothAdapter; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.location.LocationManager; import android.media.AudioManager; import android.media.RingtoneManager; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.net.wimax.WimaxHelper; import android.nfc.NfcManager; import android.os.AsyncTask; import android.os.Bundle; import android.provider.Settings; import android.telecom.TelecomManager; import android.telephony.TelephonyManager; import android.text.Editable; import android.text.TextUtils; Loading Loading @@ -85,7 +94,7 @@ public class SetupActionsFragment extends SettingsPreferenceFragment private static final int RINGTONE_REQUEST_CODE = 1000; private static final int MENU_REMOVE = Menu.FIRST; private static final int MENU_TRIGGERS = Menu.FIRST + 1; private static final int MENU_FILL_PROFILE = Menu.FIRST + 1; Profile mProfile; ItemListAdapter mAdapter; Loading @@ -102,6 +111,7 @@ public class SetupActionsFragment extends SettingsPreferenceFragment Profile.ExpandedDesktopMode.ENABLE, Profile.ExpandedDesktopMode.DISABLE }; private List<Item> mItems = new ArrayList<Item>(); public static SetupActionsFragment newInstance(Profile profile, boolean newProfile) { SetupActionsFragment fragment = new SetupActionsFragment(); Loading @@ -126,59 +136,71 @@ public class SetupActionsFragment extends SettingsPreferenceFragment } mProfileManager = (ProfileManager) getActivity().getSystemService(Context.PROFILE_SERVICE); List<Item> items = new ArrayList<Item>(); mAdapter = new ItemListAdapter(getActivity(), mItems); rebuildItemList(); setHasOptionsMenu(true); if (mNewProfileMode) { requestFillProfileFromSettingsDialog(); } } private void rebuildItemList() { mItems.clear(); // general prefs items.add(new Header(getString(R.string.profile_name_title))); items.add(new ProfileNameItem(mProfile)); mItems.add(new Header(getString(R.string.profile_name_title))); mItems.add(new ProfileNameItem(mProfile)); // triggers items.add(new Header(getString(R.string.profile_triggers_header))); items.add(generateTriggerItem(TriggerItem.WIFI)); items.add(generateTriggerItem(TriggerItem.BLUETOOTH)); items.add(generateTriggerItem(TriggerItem.NFC)); mItems.add(new Header(getString(R.string.profile_triggers_header))); mItems.add(generateTriggerItem(TriggerItem.WIFI)); mItems.add(generateTriggerItem(TriggerItem.BLUETOOTH)); mItems.add(generateTriggerItem(TriggerItem.NFC)); // connection overrides items.add(new Header(getString(R.string.profile_connectionoverrides_title))); mItems.add(new Header(getString(R.string.profile_connectionoverrides_title))); if (DeviceUtils.deviceSupportsBluetooth()) { items.add(new ConnectionOverrideItem(PROFILE_CONNECTION_BLUETOOTH, mItems.add(new ConnectionOverrideItem(PROFILE_CONNECTION_BLUETOOTH, mProfile.getSettingsForConnection(PROFILE_CONNECTION_BLUETOOTH))); } items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_GPS)); items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFI)); items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_SYNC)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_GPS)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFI)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_SYNC)); if (DeviceUtils.deviceSupportsMobileData(getActivity())) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_MOBILEDATA)); items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFIAP)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_MOBILEDATA)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFIAP)); final TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G)); } } if (WimaxHelper.isWimaxSupported(getActivity())) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIMAX)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIMAX)); } if (DeviceUtils.deviceSupportsNfc(getActivity())) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_NFC)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_NFC)); } // add volume streams items.add(new Header(getString(R.string.profile_volumeoverrides_title))); items.add(generateVolumeStreamItem(AudioManager.STREAM_ALARM)); items.add(generateVolumeStreamItem(AudioManager.STREAM_MUSIC)); items.add(generateVolumeStreamItem(AudioManager.STREAM_RING)); items.add(generateVolumeStreamItem(AudioManager.STREAM_NOTIFICATION)); mItems.add(new Header(getString(R.string.profile_volumeoverrides_title))); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_ALARM)); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_MUSIC)); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_RING)); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_NOTIFICATION)); // system settings items.add(new Header(getString(R.string.profile_system_settings_title))); items.add(new RingModeItem(mProfile.getRingMode())); items.add(new AirplaneModeItem(mProfile.getAirplaneMode())); items.add(new LockModeItem(mProfile)); mAdapter = new ItemListAdapter(getActivity(), items); mItems.add(new Header(getString(R.string.profile_system_settings_title))); mItems.add(new RingModeItem(mProfile.getRingMode())); mItems.add(new AirplaneModeItem(mProfile.getAirplaneMode())); mItems.add(new LockModeItem(mProfile)); mAdapter.notifyDataSetChanged(); } setHasOptionsMenu(true); @Override public void onResume() { super.onResume(); } private TriggerItem generateTriggerItem(int whichTrigger) { Loading @@ -195,6 +217,11 @@ public class SetupActionsFragment extends SettingsPreferenceFragment .setEnabled(true) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); menu.add(0, MENU_FILL_PROFILE, 0, R.string.profile_menu_fill_from_state) .setAlphabeticShortcut('f') .setEnabled(true) .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); } } Loading @@ -204,6 +231,9 @@ public class SetupActionsFragment extends SettingsPreferenceFragment case MENU_REMOVE: requestRemoveProfileDialog(); return true; case MENU_FILL_PROFILE: requestFillProfileFromSettingsDialog(); return true; } return super.onOptionsItemSelected(item); } Loading Loading @@ -253,6 +283,126 @@ public class SetupActionsFragment extends SettingsPreferenceFragment : R.string.profile_setup_actions_title_config); } private void requestFillProfileFromSettingsDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(R.string.profile_populate_profile_from_state); builder.setNegativeButton(R.string.no, null); builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { fillProfileFromCurrentSettings(); dialog.dismiss(); } }); builder.show(); } private void fillProfileFromCurrentSettings() { new AsyncTask<Profile, Void, Void>() { @Override protected Void doInBackground(Profile... params) { // bt mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_BLUETOOTH, BluetoothAdapter.getDefaultAdapter().isEnabled() ? 1 : 0, true)); // gps LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); boolean gpsEnabled = locationManager. isProviderEnabled(LocationManager.GPS_PROVIDER); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_GPS, gpsEnabled ? 1 : 0, true)); // wifi WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_WIFI, wifiManager.isWifiEnabled() ? 1 : 0, true)); // auto sync data mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_SYNC, ContentResolver.getMasterSyncAutomatically() ? 1 : 0, true)); // mobile data ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_MOBILEDATA, cm.getMobileDataEnabled() ? 1 : 0, true)); // wifi hotspot mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_WIFIAP, wifiManager.isWifiApEnabled() ? 1 : 0, true)); // 2g/3g/4g // skipping this one // nfc NfcManager nfcManager = (NfcManager) getSystemService(Context.NFC_SERVICE); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_NFC, nfcManager.getDefaultAdapter().isEnabled() ? 1 : 0, true)); // alarm volume final AudioManager am = (AudioManager) getActivity() .getSystemService(Context.AUDIO_SERVICE); mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_ALARM, am.getStreamVolume(AudioManager.STREAM_ALARM), true)); // media volume mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_MUSIC, am.getStreamVolume(AudioManager.STREAM_MUSIC), true)); // ringtone volume mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_RING, am.getStreamVolume(AudioManager.STREAM_RING), true)); // notification volume mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_NOTIFICATION, am.getStreamVolume(AudioManager.STREAM_NOTIFICATION), true)); // ring mode String ringValue; switch (am.getRingerMode()) { default: case AudioManager.RINGER_MODE_NORMAL: ringValue = "normal"; break; case AudioManager.RINGER_MODE_SILENT: ringValue = "mute"; break; case AudioManager.RINGER_MODE_VIBRATE: ringValue = "vibrate"; break; } mProfile.setRingMode(new RingModeSettings(ringValue, true)); // airplane mode boolean airplaneMode = Settings.Global.getInt(getActivity().getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) != 0; mProfile.setAirplaneMode(new AirplaneModeSettings(airplaneMode ? 1 : 0, true)); // lock screen mode // populated only from profiles, so we can read the current profile, // but let's skip this one updateProfile(); return null; } @Override protected void onPostExecute(Void aVoid) { super.onPostExecute(aVoid); rebuildItemList(); } }.execute(mProfile); } private void requestRemoveProfileDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(getString(R.string.profile_remove_dialog_message, mProfile.getName())); Loading Loading
res/values/cm_strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ <string name="profile_add_nfc_text">This NFC tag refers to an unknown profile. Attaching this NFC tag to an existing profile will allow for selecting the profile in the future.</string> <string name="profile_select">Select profile</string> <string name="profile_remove_dialog_message">Remove profile %1$s?</string> <string name="profile_populate_profile_from_state">Configure profile using current device settings?</string> <string name="profile_menu_fill_from_state">Import current device settings</string> <!-- Add Profile --> <string name="add_profile_dialog_title">Create new profile</string> Loading
src/com/android/settings/profiles/SetupActionsFragment.java +180 −30 Original line number Diff line number Diff line Loading @@ -25,13 +25,22 @@ import android.app.Profile; import android.app.ProfileManager; import android.app.RingModeSettings; import android.app.StreamSettings; import android.bluetooth.BluetoothAdapter; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.location.LocationManager; import android.media.AudioManager; import android.media.RingtoneManager; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.net.wimax.WimaxHelper; import android.nfc.NfcManager; import android.os.AsyncTask; import android.os.Bundle; import android.provider.Settings; import android.telecom.TelecomManager; import android.telephony.TelephonyManager; import android.text.Editable; import android.text.TextUtils; Loading Loading @@ -85,7 +94,7 @@ public class SetupActionsFragment extends SettingsPreferenceFragment private static final int RINGTONE_REQUEST_CODE = 1000; private static final int MENU_REMOVE = Menu.FIRST; private static final int MENU_TRIGGERS = Menu.FIRST + 1; private static final int MENU_FILL_PROFILE = Menu.FIRST + 1; Profile mProfile; ItemListAdapter mAdapter; Loading @@ -102,6 +111,7 @@ public class SetupActionsFragment extends SettingsPreferenceFragment Profile.ExpandedDesktopMode.ENABLE, Profile.ExpandedDesktopMode.DISABLE }; private List<Item> mItems = new ArrayList<Item>(); public static SetupActionsFragment newInstance(Profile profile, boolean newProfile) { SetupActionsFragment fragment = new SetupActionsFragment(); Loading @@ -126,59 +136,71 @@ public class SetupActionsFragment extends SettingsPreferenceFragment } mProfileManager = (ProfileManager) getActivity().getSystemService(Context.PROFILE_SERVICE); List<Item> items = new ArrayList<Item>(); mAdapter = new ItemListAdapter(getActivity(), mItems); rebuildItemList(); setHasOptionsMenu(true); if (mNewProfileMode) { requestFillProfileFromSettingsDialog(); } } private void rebuildItemList() { mItems.clear(); // general prefs items.add(new Header(getString(R.string.profile_name_title))); items.add(new ProfileNameItem(mProfile)); mItems.add(new Header(getString(R.string.profile_name_title))); mItems.add(new ProfileNameItem(mProfile)); // triggers items.add(new Header(getString(R.string.profile_triggers_header))); items.add(generateTriggerItem(TriggerItem.WIFI)); items.add(generateTriggerItem(TriggerItem.BLUETOOTH)); items.add(generateTriggerItem(TriggerItem.NFC)); mItems.add(new Header(getString(R.string.profile_triggers_header))); mItems.add(generateTriggerItem(TriggerItem.WIFI)); mItems.add(generateTriggerItem(TriggerItem.BLUETOOTH)); mItems.add(generateTriggerItem(TriggerItem.NFC)); // connection overrides items.add(new Header(getString(R.string.profile_connectionoverrides_title))); mItems.add(new Header(getString(R.string.profile_connectionoverrides_title))); if (DeviceUtils.deviceSupportsBluetooth()) { items.add(new ConnectionOverrideItem(PROFILE_CONNECTION_BLUETOOTH, mItems.add(new ConnectionOverrideItem(PROFILE_CONNECTION_BLUETOOTH, mProfile.getSettingsForConnection(PROFILE_CONNECTION_BLUETOOTH))); } items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_GPS)); items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFI)); items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_SYNC)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_GPS)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFI)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_SYNC)); if (DeviceUtils.deviceSupportsMobileData(getActivity())) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_MOBILEDATA)); items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFIAP)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_MOBILEDATA)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIFIAP)); final TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G)); } } if (WimaxHelper.isWimaxSupported(getActivity())) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIMAX)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_WIMAX)); } if (DeviceUtils.deviceSupportsNfc(getActivity())) { items.add(generateConnectionOverrideItem(PROFILE_CONNECTION_NFC)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_NFC)); } // add volume streams items.add(new Header(getString(R.string.profile_volumeoverrides_title))); items.add(generateVolumeStreamItem(AudioManager.STREAM_ALARM)); items.add(generateVolumeStreamItem(AudioManager.STREAM_MUSIC)); items.add(generateVolumeStreamItem(AudioManager.STREAM_RING)); items.add(generateVolumeStreamItem(AudioManager.STREAM_NOTIFICATION)); mItems.add(new Header(getString(R.string.profile_volumeoverrides_title))); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_ALARM)); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_MUSIC)); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_RING)); mItems.add(generateVolumeStreamItem(AudioManager.STREAM_NOTIFICATION)); // system settings items.add(new Header(getString(R.string.profile_system_settings_title))); items.add(new RingModeItem(mProfile.getRingMode())); items.add(new AirplaneModeItem(mProfile.getAirplaneMode())); items.add(new LockModeItem(mProfile)); mAdapter = new ItemListAdapter(getActivity(), items); mItems.add(new Header(getString(R.string.profile_system_settings_title))); mItems.add(new RingModeItem(mProfile.getRingMode())); mItems.add(new AirplaneModeItem(mProfile.getAirplaneMode())); mItems.add(new LockModeItem(mProfile)); mAdapter.notifyDataSetChanged(); } setHasOptionsMenu(true); @Override public void onResume() { super.onResume(); } private TriggerItem generateTriggerItem(int whichTrigger) { Loading @@ -195,6 +217,11 @@ public class SetupActionsFragment extends SettingsPreferenceFragment .setEnabled(true) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); menu.add(0, MENU_FILL_PROFILE, 0, R.string.profile_menu_fill_from_state) .setAlphabeticShortcut('f') .setEnabled(true) .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); } } Loading @@ -204,6 +231,9 @@ public class SetupActionsFragment extends SettingsPreferenceFragment case MENU_REMOVE: requestRemoveProfileDialog(); return true; case MENU_FILL_PROFILE: requestFillProfileFromSettingsDialog(); return true; } return super.onOptionsItemSelected(item); } Loading Loading @@ -253,6 +283,126 @@ public class SetupActionsFragment extends SettingsPreferenceFragment : R.string.profile_setup_actions_title_config); } private void requestFillProfileFromSettingsDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(R.string.profile_populate_profile_from_state); builder.setNegativeButton(R.string.no, null); builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { fillProfileFromCurrentSettings(); dialog.dismiss(); } }); builder.show(); } private void fillProfileFromCurrentSettings() { new AsyncTask<Profile, Void, Void>() { @Override protected Void doInBackground(Profile... params) { // bt mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_BLUETOOTH, BluetoothAdapter.getDefaultAdapter().isEnabled() ? 1 : 0, true)); // gps LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); boolean gpsEnabled = locationManager. isProviderEnabled(LocationManager.GPS_PROVIDER); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_GPS, gpsEnabled ? 1 : 0, true)); // wifi WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_WIFI, wifiManager.isWifiEnabled() ? 1 : 0, true)); // auto sync data mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_SYNC, ContentResolver.getMasterSyncAutomatically() ? 1 : 0, true)); // mobile data ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_MOBILEDATA, cm.getMobileDataEnabled() ? 1 : 0, true)); // wifi hotspot mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_WIFIAP, wifiManager.isWifiApEnabled() ? 1 : 0, true)); // 2g/3g/4g // skipping this one // nfc NfcManager nfcManager = (NfcManager) getSystemService(Context.NFC_SERVICE); mProfile.setConnectionSettings( new ConnectionSettings(ConnectionSettings.PROFILE_CONNECTION_NFC, nfcManager.getDefaultAdapter().isEnabled() ? 1 : 0, true)); // alarm volume final AudioManager am = (AudioManager) getActivity() .getSystemService(Context.AUDIO_SERVICE); mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_ALARM, am.getStreamVolume(AudioManager.STREAM_ALARM), true)); // media volume mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_MUSIC, am.getStreamVolume(AudioManager.STREAM_MUSIC), true)); // ringtone volume mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_RING, am.getStreamVolume(AudioManager.STREAM_RING), true)); // notification volume mProfile.setStreamSettings(new StreamSettings(AudioManager.STREAM_NOTIFICATION, am.getStreamVolume(AudioManager.STREAM_NOTIFICATION), true)); // ring mode String ringValue; switch (am.getRingerMode()) { default: case AudioManager.RINGER_MODE_NORMAL: ringValue = "normal"; break; case AudioManager.RINGER_MODE_SILENT: ringValue = "mute"; break; case AudioManager.RINGER_MODE_VIBRATE: ringValue = "vibrate"; break; } mProfile.setRingMode(new RingModeSettings(ringValue, true)); // airplane mode boolean airplaneMode = Settings.Global.getInt(getActivity().getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) != 0; mProfile.setAirplaneMode(new AirplaneModeSettings(airplaneMode ? 1 : 0, true)); // lock screen mode // populated only from profiles, so we can read the current profile, // but let's skip this one updateProfile(); return null; } @Override protected void onPostExecute(Void aVoid) { super.onPostExecute(aVoid); rebuildItemList(); } }.execute(mProfile); } private void requestRemoveProfileDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(getString(R.string.profile_remove_dialog_message, mProfile.getName())); Loading