blob: 95f39548a78905e761fe0b62294e7b89c92e6a34 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
package de.blinkt.openvpn;
import java.util.List;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.view.Menu;
import android.view.MenuItem;
public class VPNPreferences extends PreferenceActivity {
private String mProfileUUID;
private VpnProfile mProfile;
public VPNPreferences() {
super();
}
@Override
protected void onStop() {
super.onStop();
};
@Override
protected void onCreate(Bundle savedInstanceState) {
mProfileUUID = getIntent().getStringExtra(getPackageName() + ".profileUUID");
mProfile = ProfileManager.get(this,mProfileUUID);
if(mProfile!=null) {
setTitle(getString(R.string.edit_profile_title, mProfile.getName()));
}
super.onCreate(savedInstanceState);
}
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.vpn_headers, target);
for (Header header : target) {
if(header.fragmentArguments==null)
header.fragmentArguments = new Bundle();
header.fragmentArguments.putString(getPackageName() + ".profileUUID",mProfileUUID);
}
}
@Override
public void onBackPressed() {
setResult(RESULT_OK, getIntent());
super.onBackPressed();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.remove_vpn)
askProfileRemoval();
return super.onOptionsItemSelected(item);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.vpnpreferences_menu, menu);
return super.onCreateOptionsMenu(menu);
}
private void askProfileRemoval() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("Confirm deletion");
dialog.setMessage(getString(R.string.remove_vpn_query, mProfile.mName));
dialog.setPositiveButton(android.R.string.yes,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeProfile(mProfile);
}
});
dialog.setNegativeButton(android.R.string.no,null);
dialog.create().show();
}
protected void removeProfile(VpnProfile profile) {
ProfileManager.getInstance(this).removeProfile(this,profile);
setResult(VPNProfileList.RESULT_VPN_DELETED);
finish();
}
}
|