Loading res/values/cm_arrays.xml +10 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,16 @@ <item>Enable</item> </string-array> <!-- Profile 2G-3G and 4G mode options. --> <string-array name="profile_networkmode_entries_4g" translatable="false"> <item>@string/profile_networkmode_2g</item> <item>@string/profile_networkmode_3g</item> <item>@string/profile_networkmode_4g</item> <item>@string/profile_networkmode_2g3g</item> <item>@string/profile_networkmode_2g3g4g</item> <item>@string/profile_action_none</item> </string-array> <!-- Profile 2G-3G mode options. --> <string-array name="profile_networkmode_entries" translatable="false"> <item>@string/profile_networkmode_2g</item> Loading res/values/cm_strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -75,7 +75,9 @@ <!-- Profile network mode --> <string name="profile_networkmode_2g">2G</string> <string name="profile_networkmode_3g">3G</string> <string name="profile_networkmode_4g">4G</string> <string name="profile_networkmode_2g3g">2G/3G</string> <string name="profile_networkmode_2g3g4g">2G/3G/4G</string> <!-- Profile Config screen PreferenceGroup titles --> <string name="profile_connectionoverrides_title">Connection overrides</string> Loading Loading @@ -140,6 +142,7 @@ <string name="toggleData">Mobile Data</string> <string name="toggleSync">Data Sync</string> <string name="toggle2g3g">2G/3G</string> <string name="toggle2g3g4g">2G/3G/4G</string> <string name="toggleWimax">WiMAX</string> <string name="toggleNfc">NFC</string> Loading src/com/android/settings/profiles/SetupActionsFragment.java +65 −24 Original line number Diff line number Diff line Loading @@ -78,7 +78,7 @@ import com.android.settings.profiles.actions.item.VolumeStreamItem; import java.util.ArrayList; import java.util.List; import static android.app.ConnectionSettings.PROFILE_CONNECTION_2G3G; import static android.app.ConnectionSettings.PROFILE_CONNECTION_2G3G4G; import static android.app.ConnectionSettings.PROFILE_CONNECTION_BLUETOOTH; import static android.app.ConnectionSettings.PROFILE_CONNECTION_GPS; import static android.app.ConnectionSettings.PROFILE_CONNECTION_MOBILEDATA; Loading Loading @@ -173,7 +173,7 @@ public class SetupActionsFragment extends SettingsPreferenceFragment final TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G4G)); } } if (WimaxHelper.isWimaxSupported(getActivity())) { Loading Loading @@ -615,6 +615,43 @@ public class SetupActionsFragment extends SettingsPreferenceFragment builder.show(); } private void requestMobileConnectionOverrideDialog(final ConnectionSettings setting) { if (setting == null) { throw new UnsupportedOperationException("connection setting cannot be null yo"); } AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final String[] connectionNames = getResources().getStringArray(R.array.profile_networkmode_entries_4g); int defaultIndex = ConnectionOverrideItem.CM_MODE_UNCHANGED; // no action if (setting.isOverride()) { defaultIndex = setting.getValue(); } builder.setTitle(ConnectionOverrideItem.getConnectionTitle(setting.getConnectionId())); builder.setSingleChoiceItems(connectionNames, defaultIndex, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int item) { switch (item) { case ConnectionOverrideItem.CM_MODE_UNCHANGED: setting.setOverride(false); break; default: setting.setOverride(true); setting.setValue(item); } mProfile.setConnectionSettings(setting); mAdapter.notifyDataSetChanged(); updateProfile(); dialog.dismiss(); } }); builder.setNegativeButton(android.R.string.cancel, null); builder.show(); } public void requestVolumeDialog(int streamId, final StreamSettings streamSettings) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); Loading Loading @@ -752,7 +789,11 @@ public class SetupActionsFragment extends SettingsPreferenceFragment requestRingModeDialog(item.getSettings()); } else if (itemAtPosition instanceof ConnectionOverrideItem) { ConnectionOverrideItem item = (ConnectionOverrideItem) itemAtPosition; if (item.getConnectionType() == ConnectionSettings.PROFILE_CONNECTION_2G3G4G) { requestMobileConnectionOverrideDialog(item.getSettings()); } else { requestConnectionOverrideDialog(item.getSettings()); } } else if (itemAtPosition instanceof VolumeStreamItem) { VolumeStreamItem item = (VolumeStreamItem) itemAtPosition; requestVolumeDialog(item.getStreamType(), item.getSettings()); Loading src/com/android/settings/profiles/actions/item/ConnectionOverrideItem.java +35 −6 Original line number Diff line number Diff line Loading @@ -28,6 +28,13 @@ public class ConnectionOverrideItem implements Item { int mConnectionId; ConnectionSettings mConnectionSettings; public static final int CM_MODE_2G = 0; public static final int CM_MODE_3G = 1; public static final int CM_MODE_4G = 2; public static final int CM_MODE_2G3G = 3; public static final int CM_MODE_ALL = 4; public static final int CM_MODE_UNCHANGED = 5; public ConnectionOverrideItem(int connectionId, ConnectionSettings settings) { mConnectionId = connectionId; if (settings == null) { Loading Loading @@ -71,8 +78,8 @@ public class ConnectionOverrideItem implements Item { return R.string.toggleBluetooth; case ConnectionSettings.PROFILE_CONNECTION_MOBILEDATA: return R.string.toggleData; case ConnectionSettings.PROFILE_CONNECTION_2G3G: return R.string.toggle2g3g; case ConnectionSettings.PROFILE_CONNECTION_2G3G4G: return R.string.toggle2g3g4g; case ConnectionSettings.PROFILE_CONNECTION_GPS: return R.string.toggleGPS; case ConnectionSettings.PROFILE_CONNECTION_NFC: Loading @@ -89,7 +96,26 @@ public class ConnectionOverrideItem implements Item { } public int getSummary() { if (mConnectionSettings != null && mConnectionSettings.isOverride()) { if (mConnectionSettings != null) { if (mConnectionId == ConnectionSettings.PROFILE_CONNECTION_2G3G4G) { // different options if (mConnectionSettings.isOverride()) { switch (mConnectionSettings.getValue()) { case CM_MODE_2G: return R.string.profile_networkmode_2g; case CM_MODE_3G: return R.string.profile_networkmode_3g; case CM_MODE_4G: return R.string.profile_networkmode_4g; case CM_MODE_2G3G: return R.string.profile_networkmode_2g3g; default: case CM_MODE_ALL: return R.string.profile_networkmode_2g3g4g; } } else { return R.string.profile_action_none; } } else if (mConnectionSettings.isOverride()) { // enabled, disabled, or none if (mConnectionSettings.getValue() == 1) { return R.string.profile_action_enable; } else { Loading @@ -98,6 +124,9 @@ public class ConnectionOverrideItem implements Item { } else { return R.string.profile_action_none; } } else { return R.string.profile_action_none; } } public ConnectionSettings getSettings() { Loading Loading
res/values/cm_arrays.xml +10 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,16 @@ <item>Enable</item> </string-array> <!-- Profile 2G-3G and 4G mode options. --> <string-array name="profile_networkmode_entries_4g" translatable="false"> <item>@string/profile_networkmode_2g</item> <item>@string/profile_networkmode_3g</item> <item>@string/profile_networkmode_4g</item> <item>@string/profile_networkmode_2g3g</item> <item>@string/profile_networkmode_2g3g4g</item> <item>@string/profile_action_none</item> </string-array> <!-- Profile 2G-3G mode options. --> <string-array name="profile_networkmode_entries" translatable="false"> <item>@string/profile_networkmode_2g</item> Loading
res/values/cm_strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -75,7 +75,9 @@ <!-- Profile network mode --> <string name="profile_networkmode_2g">2G</string> <string name="profile_networkmode_3g">3G</string> <string name="profile_networkmode_4g">4G</string> <string name="profile_networkmode_2g3g">2G/3G</string> <string name="profile_networkmode_2g3g4g">2G/3G/4G</string> <!-- Profile Config screen PreferenceGroup titles --> <string name="profile_connectionoverrides_title">Connection overrides</string> Loading Loading @@ -140,6 +142,7 @@ <string name="toggleData">Mobile Data</string> <string name="toggleSync">Data Sync</string> <string name="toggle2g3g">2G/3G</string> <string name="toggle2g3g4g">2G/3G/4G</string> <string name="toggleWimax">WiMAX</string> <string name="toggleNfc">NFC</string> Loading
src/com/android/settings/profiles/SetupActionsFragment.java +65 −24 Original line number Diff line number Diff line Loading @@ -78,7 +78,7 @@ import com.android.settings.profiles.actions.item.VolumeStreamItem; import java.util.ArrayList; import java.util.List; import static android.app.ConnectionSettings.PROFILE_CONNECTION_2G3G; import static android.app.ConnectionSettings.PROFILE_CONNECTION_2G3G4G; import static android.app.ConnectionSettings.PROFILE_CONNECTION_BLUETOOTH; import static android.app.ConnectionSettings.PROFILE_CONNECTION_GPS; import static android.app.ConnectionSettings.PROFILE_CONNECTION_MOBILEDATA; Loading Loading @@ -173,7 +173,7 @@ public class SetupActionsFragment extends SettingsPreferenceFragment final TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G)); mItems.add(generateConnectionOverrideItem(PROFILE_CONNECTION_2G3G4G)); } } if (WimaxHelper.isWimaxSupported(getActivity())) { Loading Loading @@ -615,6 +615,43 @@ public class SetupActionsFragment extends SettingsPreferenceFragment builder.show(); } private void requestMobileConnectionOverrideDialog(final ConnectionSettings setting) { if (setting == null) { throw new UnsupportedOperationException("connection setting cannot be null yo"); } AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final String[] connectionNames = getResources().getStringArray(R.array.profile_networkmode_entries_4g); int defaultIndex = ConnectionOverrideItem.CM_MODE_UNCHANGED; // no action if (setting.isOverride()) { defaultIndex = setting.getValue(); } builder.setTitle(ConnectionOverrideItem.getConnectionTitle(setting.getConnectionId())); builder.setSingleChoiceItems(connectionNames, defaultIndex, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int item) { switch (item) { case ConnectionOverrideItem.CM_MODE_UNCHANGED: setting.setOverride(false); break; default: setting.setOverride(true); setting.setValue(item); } mProfile.setConnectionSettings(setting); mAdapter.notifyDataSetChanged(); updateProfile(); dialog.dismiss(); } }); builder.setNegativeButton(android.R.string.cancel, null); builder.show(); } public void requestVolumeDialog(int streamId, final StreamSettings streamSettings) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); Loading Loading @@ -752,7 +789,11 @@ public class SetupActionsFragment extends SettingsPreferenceFragment requestRingModeDialog(item.getSettings()); } else if (itemAtPosition instanceof ConnectionOverrideItem) { ConnectionOverrideItem item = (ConnectionOverrideItem) itemAtPosition; if (item.getConnectionType() == ConnectionSettings.PROFILE_CONNECTION_2G3G4G) { requestMobileConnectionOverrideDialog(item.getSettings()); } else { requestConnectionOverrideDialog(item.getSettings()); } } else if (itemAtPosition instanceof VolumeStreamItem) { VolumeStreamItem item = (VolumeStreamItem) itemAtPosition; requestVolumeDialog(item.getStreamType(), item.getSettings()); Loading
src/com/android/settings/profiles/actions/item/ConnectionOverrideItem.java +35 −6 Original line number Diff line number Diff line Loading @@ -28,6 +28,13 @@ public class ConnectionOverrideItem implements Item { int mConnectionId; ConnectionSettings mConnectionSettings; public static final int CM_MODE_2G = 0; public static final int CM_MODE_3G = 1; public static final int CM_MODE_4G = 2; public static final int CM_MODE_2G3G = 3; public static final int CM_MODE_ALL = 4; public static final int CM_MODE_UNCHANGED = 5; public ConnectionOverrideItem(int connectionId, ConnectionSettings settings) { mConnectionId = connectionId; if (settings == null) { Loading Loading @@ -71,8 +78,8 @@ public class ConnectionOverrideItem implements Item { return R.string.toggleBluetooth; case ConnectionSettings.PROFILE_CONNECTION_MOBILEDATA: return R.string.toggleData; case ConnectionSettings.PROFILE_CONNECTION_2G3G: return R.string.toggle2g3g; case ConnectionSettings.PROFILE_CONNECTION_2G3G4G: return R.string.toggle2g3g4g; case ConnectionSettings.PROFILE_CONNECTION_GPS: return R.string.toggleGPS; case ConnectionSettings.PROFILE_CONNECTION_NFC: Loading @@ -89,7 +96,26 @@ public class ConnectionOverrideItem implements Item { } public int getSummary() { if (mConnectionSettings != null && mConnectionSettings.isOverride()) { if (mConnectionSettings != null) { if (mConnectionId == ConnectionSettings.PROFILE_CONNECTION_2G3G4G) { // different options if (mConnectionSettings.isOverride()) { switch (mConnectionSettings.getValue()) { case CM_MODE_2G: return R.string.profile_networkmode_2g; case CM_MODE_3G: return R.string.profile_networkmode_3g; case CM_MODE_4G: return R.string.profile_networkmode_4g; case CM_MODE_2G3G: return R.string.profile_networkmode_2g3g; default: case CM_MODE_ALL: return R.string.profile_networkmode_2g3g4g; } } else { return R.string.profile_action_none; } } else if (mConnectionSettings.isOverride()) { // enabled, disabled, or none if (mConnectionSettings.getValue() == 1) { return R.string.profile_action_enable; } else { Loading @@ -98,6 +124,9 @@ public class ConnectionOverrideItem implements Item { } else { return R.string.profile_action_none; } } else { return R.string.profile_action_none; } } public ConnectionSettings getSettings() { Loading