Skip to content

Commit ead9795

Browse files
committed
Add proxy port option to local APN settings.
1 parent 5f16da8 commit ead9795

4 files changed

Lines changed: 35 additions & 31 deletions

File tree

res/values/strings.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,8 @@
374374
<string name="preferences__enable_local_apns">Enable local APNs</string>
375375
<string name="preferences__use_apn_information_configured_here_when_system_apn_information_is_unavailable">Use APN information configured here when system APN information is unavailable.</string>
376376
<string name="preferences__mmsc_url_required">MMSC URL (Required)</string>
377-
<string name="preferences__mms_proxy_optional">MMS Proxy (Optional)</string>
377+
<string name="preferences__mms_proxy_host_optional">MMS Proxy Host (Optional)</string>
378+
<string name="preferences__mms_proxy_port_optional">MMS Proxy Port (Optional)</string>
378379

379380

380381
<!-- **************************************** -->

res/xml/preferences.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,13 @@
152152
android:dependency="pref_use_local_apns" />
153153

154154
<EditTextPreference android:key="pref_apn_mms_proxy"
155-
android:title="@string/preferences__mms_proxy_optional"
155+
android:title="@string/preferences__mms_proxy_host_optional"
156156
android:dependency="pref_use_local_apns" />
157+
158+
<EditTextPreference android:key="pref_apn_mms_proxy_port"
159+
android:title="@string/preferences__mms_proxy_port_optional"
160+
android:dependency="pref_use_local_apns"
161+
android:inputType="number" />
157162
</PreferenceCategory>
158163

159164
</PreferenceScreen>

src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ public class ApplicationPreferencesActivity extends SherlockPreferenceActivity {
7777

7878
public static final String USE_LOCAL_MMS_APNS_PREF = "pref_use_local_apns";
7979
public static final String MMSC_HOST_PREF = "pref_apn_mmsc_host";
80-
public static final String MMSC_PROXY_PREF = "pref_apn_mms_proxy";
80+
public static final String MMSC_PROXY_HOST_PREF = "pref_apn_mms_proxy";
81+
public static final String MMSC_PROXY_PORT_PREF = "pref_apn_mms_proxy_port";
8182

8283
@Override
8384
protected void onCreate(Bundle icicle) {
@@ -144,40 +145,33 @@ public boolean onOptionsItemSelected(MenuItem item) {
144145

145146
return false;
146147
}
147-
148-
private void initializeEditTextSummaries() {
149-
final EditTextPreference mmscUrlPreference = (EditTextPreference)this.findPreference(MMSC_HOST_PREF);
150-
final EditTextPreference mmsProxyPreference = (EditTextPreference)this.findPreference(MMSC_PROXY_PREF);
151-
152-
if (mmscUrlPreference.getText() == null) {
153-
mmscUrlPreference.setSummary("Not set");
154-
} else {
155-
mmscUrlPreference.setSummary(mmscUrlPreference.getText());
156-
}
157-
158-
if (mmsProxyPreference.getText() == null) {
159-
mmsProxyPreference.setSummary("Not set");
148+
149+
private void initializeEditTextSummary(final EditTextPreference preference) {
150+
if (preference.getText() == null) {
151+
preference.setSummary("Not set");
160152
} else {
161-
mmsProxyPreference.setSummary(mmsProxyPreference.getText());
153+
preference.setSummary(preference.getText());
162154
}
163-
164-
mmscUrlPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
165-
@Override
166-
public boolean onPreferenceChange(Preference preference, Object newValue) {
167-
mmscUrlPreference.setSummary(newValue == null ? "Not set" : (String)newValue);
168-
return true;
169-
}
170-
});
171-
172-
mmsProxyPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
155+
156+
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
173157
@Override
174-
public boolean onPreferenceChange(Preference preference, Object newValue) {
175-
mmsProxyPreference.setSummary(newValue == null ? "Not set" : (String)newValue);
158+
public boolean onPreferenceChange(Preference pref, Object newValue) {
159+
preference.setSummary(newValue == null ? "Not set" : (String)newValue);
176160
return true;
177161
}
178162
});
179163
}
180164

165+
private void initializeEditTextSummaries() {
166+
final EditTextPreference mmscUrlPreference = (EditTextPreference)this.findPreference(MMSC_HOST_PREF);
167+
final EditTextPreference mmsProxyHostPreference = (EditTextPreference)this.findPreference(MMSC_PROXY_HOST_PREF);
168+
final EditTextPreference mmsProxyPortPreference = (EditTextPreference)this.findPreference(MMSC_PROXY_PORT_PREF);
169+
170+
initializeEditTextSummary(mmscUrlPreference);
171+
initializeEditTextSummary(mmsProxyHostPreference);
172+
initializeEditTextSummary(mmsProxyPortPreference);
173+
}
174+
181175
private void initializeIdentitySelection() {
182176
ContactIdentityManager identity = ContactIdentityManager.getInstance(this);
183177

src/org/thoughtcrime/securesms/mms/MmsCommunication.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ protected static MmsConnectionParameters getLocallyConfiguredMmsConnectionParame
6363
if (mmsc == null || !mmsc.startsWith("http"))
6464
throw new ApnUnavailableException("Malformed locally configured MMSC: " + mmsc);
6565

66-
String proxy = preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_PREF, null);
66+
String proxy = preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_HOST_PREF, null);
67+
String port = preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_PORT_PREF, null);
6768

68-
return new MmsConnectionParameters(mmsc, proxy, null);
69+
return new MmsConnectionParameters(mmsc, proxy, port);
6970
}
7071

7172
throw new ApnUnavailableException("No locally configured parameters available");
@@ -180,6 +181,9 @@ public String getMmsc() {
180181
}
181182

182183
public String getProxy() {
184+
if (!hasProxy())
185+
return null;
186+
183187
return proxy;
184188
}
185189

0 commit comments

Comments
 (0)