23
23
import android .app .admin .DevicePolicyManager ;
24
24
import android .content .ComponentName ;
25
25
import android .content .Context ;
26
+ import android .net .Uri ;
26
27
import android .os .Bundle ;
27
28
import android .support .v14 .preference .SwitchPreference ;
28
29
import android .support .v7 .preference .Preference ;
32
33
import android .view .View ;
33
34
import android .widget .EditText ;
34
35
import android .widget .Toast ;
36
+
35
37
import com .afwsamples .testdpc .DeviceAdminReceiver ;
36
38
import com .afwsamples .testdpc .R ;
37
39
import com .afwsamples .testdpc .common .BaseSearchablePolicyPreferenceFragment ;
40
+
38
41
import java .net .InetAddress ;
39
- import java .net .MalformedURLException ;
40
- import java .net .URL ;
41
42
import java .net .UnknownHostException ;
42
- import java .util .Arrays ;
43
43
import java .util .List ;
44
44
45
45
@ TargetApi (28 )
@@ -180,18 +180,18 @@ void showInsertOverrideApnDialog() {
180
180
apnName ,
181
181
inetAddressFromString (proxyEditText .getText ().toString ()),
182
182
parseInt (portEditText .getText ().toString (), -1 ),
183
- URLFromString (mmscEditText .getText ().toString ()),
183
+ UriFromString (mmscEditText .getText ().toString ()),
184
184
inetAddressFromString (mmsProxyEditText .getText ().toString ()),
185
185
parseInt (mmsPortEditText .getText ().toString (), -1 ),
186
186
userEditText .getText ().toString (),
187
187
passwordEditText .getText ().toString (),
188
188
authType ,
189
- Arrays . asList ( parseTypes ( typeEditText .getText ().toString ()) ),
190
- protocolEditText .getText ().toString (),
191
- roamingProtocolEditText .getText ().toString (),
189
+ parseInt ( typeEditText .getText ().toString (), 0 ),
190
+ parseInt ( protocolEditText .getText ().toString (), - 1 ),
191
+ parseInt ( roamingProtocolEditText .getText ().toString (), - 1 ),
192
192
enabled == 1 ,
193
193
networkbitmask ,
194
- mvnoTypeEditText .getText ().toString ()
194
+ parseInt ( mvnoTypeEditText .getText ().toString (), - 1 )
195
195
);
196
196
int insertedId = mDevicePolicyManager .addOverrideApn (mAdminComponentName , apn );
197
197
if (insertedId == -1 ) {
@@ -221,23 +221,23 @@ private int parseInt(String str, int defaultValue) {
221
221
}
222
222
223
223
private ApnSetting makeApnSetting (String operatorNumeric , String entryName , String apnName ,
224
- InetAddress proxy , int port , URL mmsc , InetAddress mmsProxy , int mmsPort ,
225
- String user , String password , int authType , List < String > types , String protocol ,
226
- String roamingProtocol , boolean carrierEnabled , int networkTypeBitmask ,
227
- String mvnoType ) {
228
- ApnSetting . Builder builder = new ApnSetting .Builder ();
229
- return builder .setOperatorNumeric (operatorNumeric )
224
+ InetAddress proxyAddress , int proxyPort , Uri mmsc , InetAddress mmsProxyAddress ,
225
+ int mmsProxyPort , String user , String password , int authType , int apnTypeBitmask ,
226
+ int protocol , int roamingProtocol , boolean carrierEnabled , int networkTypeBitmask ,
227
+ int mvnoType ) {
228
+ return new ApnSetting .Builder ()
229
+ .setOperatorNumeric (operatorNumeric )
230
230
.setEntryName (entryName )
231
231
.setApnName (apnName )
232
- .setProxy ( proxy )
233
- .setPort ( port )
232
+ .setProxyAddress ( proxyAddress )
233
+ .setProxyPort ( proxyPort )
234
234
.setMmsc (mmsc )
235
- .setMmsProxy ( mmsProxy )
236
- .setMmsPort ( mmsPort )
235
+ .setMmsProxyAddress ( mmsProxyAddress )
236
+ .setMmsProxyPort ( mmsProxyPort )
237
237
.setUser (user )
238
238
.setPassword (password )
239
239
.setAuthType (authType )
240
- .setTypes ( types )
240
+ .setApnTypeBitmask ( apnTypeBitmask )
241
241
.setProtocol (protocol )
242
242
.setRoamingProtocol (roamingProtocol )
243
243
.setCarrierEnabled (carrierEnabled )
@@ -246,14 +246,8 @@ private ApnSetting makeApnSetting(String operatorNumeric, String entryName, Stri
246
246
.build ();
247
247
}
248
248
249
- private URL URLFromString (String url ) {
250
- try {
251
- return TextUtils .isEmpty (url ) ? null : new URL (url );
252
- } catch (MalformedURLException e ) {
253
- Log .e (LOG_TAG , "Can't parse URL from string." );
254
- showToast (R .string .apn_wrong_url );
255
- return null ;
256
- }
249
+ private Uri UriFromString (String uri ) {
250
+ return TextUtils .isEmpty (uri ) ? null : Uri .parse (uri );
257
251
}
258
252
259
253
private InetAddress inetAddressFromString (String inetAddress ) {
@@ -269,18 +263,6 @@ private InetAddress inetAddressFromString(String inetAddress) {
269
263
}
270
264
}
271
265
272
- private String [] parseTypes (String types ) {
273
- String [] result ;
274
- // If unset, set to DEFAULT.
275
- if (TextUtils .isEmpty (types )) {
276
- result = new String [1 ];
277
- result [0 ] = "*" ;
278
- } else {
279
- result = types .split ("," );
280
- }
281
- return result ;
282
- }
283
-
284
266
private void reloadEnableOverrideApnUi () {
285
267
boolean enabled = mDevicePolicyManager .isOverrideApnEnabled (mAdminComponentName );
286
268
if (mEnableOverrideApnPreference .isEnabled ()) {
0 commit comments