root / src / com / rackspacecloud / android / AddNodeActivity.java @ 96a8e632
History | View | Annotate | Download (3.9 kB)
1 | 96a8e632 | Adam Menz | package com.rackspacecloud.android; |
---|---|---|---|
2 | 96a8e632 | Adam Menz | |
3 | 96a8e632 | Adam Menz | import android.app.Activity; |
4 | 96a8e632 | Adam Menz | import android.app.AlertDialog; |
5 | 96a8e632 | Adam Menz | import android.content.Context; |
6 | 96a8e632 | Adam Menz | import android.content.DialogInterface; |
7 | 96a8e632 | Adam Menz | import android.content.Intent; |
8 | 96a8e632 | Adam Menz | import android.os.Bundle; |
9 | 96a8e632 | Adam Menz | import android.view.View; |
10 | 96a8e632 | Adam Menz | import android.view.View.OnClickListener; |
11 | 96a8e632 | Adam Menz | import android.view.Window; |
12 | 96a8e632 | Adam Menz | import android.widget.AdapterView; |
13 | 96a8e632 | Adam Menz | import android.widget.AdapterView.OnItemSelectedListener; |
14 | 96a8e632 | Adam Menz | import android.widget.ArrayAdapter; |
15 | 96a8e632 | Adam Menz | import android.widget.Button; |
16 | 96a8e632 | Adam Menz | import android.widget.Spinner; |
17 | 96a8e632 | Adam Menz | import android.widget.EditText; |
18 | 96a8e632 | Adam Menz | |
19 | 96a8e632 | Adam Menz | public class AddNodeActivity extends Activity{ |
20 | 96a8e632 | Adam Menz | |
21 | 96a8e632 | Adam Menz | private static final int NODE_ADDED_RESULT_CODE = 111; |
22 | 96a8e632 | Adam Menz | private static final int CANCEL_RESULT_CODE = 112; |
23 | 96a8e632 | Adam Menz | private final String[] CONDITIONS = {"Enabled", "Disabled", "Draining"}; |
24 | 96a8e632 | Adam Menz | private String[] ipAddresses; |
25 | 96a8e632 | Adam Menz | private Spinner conditionSpinner;
|
26 | 96a8e632 | Adam Menz | private Spinner ipAddressSpinner;
|
27 | 96a8e632 | Adam Menz | private String selectedPort; |
28 | 96a8e632 | Adam Menz | private String selectedIp; |
29 | 96a8e632 | Adam Menz | private String selectedCondition; |
30 | 96a8e632 | Adam Menz | |
31 | 96a8e632 | Adam Menz | public void onCreate(Bundle savedInstanceState) { |
32 | 96a8e632 | Adam Menz | super.onCreate(savedInstanceState);
|
33 | 96a8e632 | Adam Menz | requestWindowFeature(Window.FEATURE_NO_TITLE);
|
34 | 96a8e632 | Adam Menz | setContentView(R.layout.addnode); |
35 | 96a8e632 | Adam Menz | ipAddresses = (String[]) this.getIntent().getExtras().get("ipAddresses"); |
36 | 96a8e632 | Adam Menz | restoreState(savedInstanceState); |
37 | 96a8e632 | Adam Menz | loadConditionSpinner(); |
38 | 96a8e632 | Adam Menz | loadIpSpinner(); |
39 | 96a8e632 | Adam Menz | setUpButton(); |
40 | 96a8e632 | Adam Menz | } |
41 | 96a8e632 | Adam Menz | |
42 | 96a8e632 | Adam Menz | private void restoreState(Bundle state) { |
43 | 96a8e632 | Adam Menz | |
44 | 96a8e632 | Adam Menz | } |
45 | 96a8e632 | Adam Menz | |
46 | 96a8e632 | Adam Menz | private void setUpButton(){ |
47 | 96a8e632 | Adam Menz | Button submit = (Button) findViewById(R.id.add_node_button); |
48 | 96a8e632 | Adam Menz | submit.setOnClickListener(new OnClickListener() {
|
49 | 96a8e632 | Adam Menz | |
50 | 96a8e632 | Adam Menz | @Override
|
51 | 96a8e632 | Adam Menz | public void onClick(View v) { |
52 | 96a8e632 | Adam Menz | selectedPort = ((EditText)findViewById(R.id.node_port_text)).getText().toString(); |
53 | 96a8e632 | Adam Menz | if(!validPort()){
|
54 | 96a8e632 | Adam Menz | showAlert("Error", "Must have a protocol port number that is between 1 and 65535."); |
55 | 96a8e632 | Adam Menz | } |
56 | 96a8e632 | Adam Menz | else{
|
57 | 96a8e632 | Adam Menz | Intent data = new Intent();
|
58 | 96a8e632 | Adam Menz | data.putExtra("nodeIp", selectedIp);
|
59 | 96a8e632 | Adam Menz | data.putExtra("nodePort", selectedPort);
|
60 | 96a8e632 | Adam Menz | data.putExtra("nodeCondition", selectedCondition);
|
61 | 96a8e632 | Adam Menz | setResult(NODE_ADDED_RESULT_CODE, data); |
62 | 96a8e632 | Adam Menz | finish(); |
63 | 96a8e632 | Adam Menz | } |
64 | 96a8e632 | Adam Menz | |
65 | 96a8e632 | Adam Menz | } |
66 | 96a8e632 | Adam Menz | }); |
67 | 96a8e632 | Adam Menz | } |
68 | 96a8e632 | Adam Menz | |
69 | 96a8e632 | Adam Menz | public void onBackPressed(){ |
70 | 96a8e632 | Adam Menz | setResult(CANCEL_RESULT_CODE); |
71 | 96a8e632 | Adam Menz | finish(); |
72 | 96a8e632 | Adam Menz | } |
73 | 96a8e632 | Adam Menz | |
74 | 96a8e632 | Adam Menz | private void loadIpSpinner(){ |
75 | 96a8e632 | Adam Menz | ipAddressSpinner = (Spinner) findViewById(R.id.node_ip_spinner); |
76 | 96a8e632 | Adam Menz | ArrayAdapter<String> ipAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, ipAddresses); |
77 | 96a8e632 | Adam Menz | ipAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
78 | 96a8e632 | Adam Menz | ipAddressSpinner.setAdapter(ipAdapter); |
79 | 96a8e632 | Adam Menz | |
80 | 96a8e632 | Adam Menz | ipAddressSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
|
81 | 96a8e632 | Adam Menz | |
82 | 96a8e632 | Adam Menz | @Override
|
83 | 96a8e632 | Adam Menz | public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { |
84 | 96a8e632 | Adam Menz | selectedIp = ipAddresses[pos]; |
85 | 96a8e632 | Adam Menz | } |
86 | 96a8e632 | Adam Menz | |
87 | 96a8e632 | Adam Menz | @Override
|
88 | 96a8e632 | Adam Menz | public void onNothingSelected(AdapterView<?> arg0) { |
89 | 96a8e632 | Adam Menz | |
90 | 96a8e632 | Adam Menz | } |
91 | 96a8e632 | Adam Menz | |
92 | 96a8e632 | Adam Menz | }); |
93 | 96a8e632 | Adam Menz | } |
94 | 96a8e632 | Adam Menz | |
95 | 96a8e632 | Adam Menz | private void loadConditionSpinner(){ |
96 | 96a8e632 | Adam Menz | conditionSpinner = (Spinner) findViewById(R.id.node_condition_spinner); |
97 | 96a8e632 | Adam Menz | |
98 | 96a8e632 | Adam Menz | ArrayAdapter<String> conditionAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, CONDITIONS); |
99 | 96a8e632 | Adam Menz | conditionAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
100 | 96a8e632 | Adam Menz | conditionSpinner.setAdapter(conditionAdapter); |
101 | 96a8e632 | Adam Menz | |
102 | 96a8e632 | Adam Menz | conditionSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
|
103 | 96a8e632 | Adam Menz | |
104 | 96a8e632 | Adam Menz | @Override
|
105 | 96a8e632 | Adam Menz | public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { |
106 | 96a8e632 | Adam Menz | selectedCondition = CONDITIONS[pos]; |
107 | 96a8e632 | Adam Menz | } |
108 | 96a8e632 | Adam Menz | |
109 | 96a8e632 | Adam Menz | @Override
|
110 | 96a8e632 | Adam Menz | public void onNothingSelected(AdapterView<?> arg0) { |
111 | 96a8e632 | Adam Menz | |
112 | 96a8e632 | Adam Menz | } |
113 | 96a8e632 | Adam Menz | |
114 | 96a8e632 | Adam Menz | }); |
115 | 96a8e632 | Adam Menz | } |
116 | 96a8e632 | Adam Menz | |
117 | 96a8e632 | Adam Menz | private boolean validPort(){ |
118 | 96a8e632 | Adam Menz | return !selectedPort.equals("") && Integer.valueOf(selectedPort) > 0 && Integer.valueOf(selectedPort) < 65536; |
119 | 96a8e632 | Adam Menz | } |
120 | 96a8e632 | Adam Menz | |
121 | 96a8e632 | Adam Menz | private void showAlert(String title, String message) { |
122 | 96a8e632 | Adam Menz | AlertDialog alert = new AlertDialog.Builder(this).create(); |
123 | 96a8e632 | Adam Menz | alert.setTitle(title); |
124 | 96a8e632 | Adam Menz | alert.setMessage(message); |
125 | 96a8e632 | Adam Menz | alert.setButton("OK", new DialogInterface.OnClickListener() { |
126 | 96a8e632 | Adam Menz | public void onClick(DialogInterface dialog, int which) { |
127 | 96a8e632 | Adam Menz | return;
|
128 | 96a8e632 | Adam Menz | } }); |
129 | 96a8e632 | Adam Menz | alert.show(); |
130 | 96a8e632 | Adam Menz | } |
131 | 96a8e632 | Adam Menz | |
132 | 96a8e632 | Adam Menz | } |