7374bf1021148d54ce28c40348610d29473917c6
[iot2.git] / others / lede-gui / src / main / java / com / example / lede2 / MainActivity.java
1 package com.example.lede2;\r
2 \r
3 import android.content.Context;\r
4 import android.content.Intent;\r
5 import android.net.ConnectivityManager;\r
6 import android.net.NetworkInfo;\r
7 import android.net.wifi.WifiManager;\r
8 import android.support.v7.app.AppCompatActivity;\r
9 import android.os.Bundle;\r
10 import android.util.Log;\r
11 import android.view.View;\r
12 import android.widget.Button;\r
13 import android.widget.TextView;\r
14 import android.widget.Toast;\r
15 \r
16 public class MainActivity extends AppCompatActivity implements View.OnClickListener {\r
17 \r
18     Button registerButton;\r
19     Button listButton;\r
20     Button insertDBButton;\r
21     Button deleteDBButton;\r
22     Button configButton;\r
23     Button relationButton;\r
24     TextView ssid;\r
25     protected static Context context;\r
26     protected static String DEF_RSSID;\r
27     protected static String DEF_RPWD;\r
28     protected static String DEF_ROUTERIP;\r
29     protected static String DEF_ROUTERUSER;\r
30     protected static String DEF_MYSQLHOSTUSER;\r
31     protected static String DEF_MYSQLHOSTIP;\r
32     protected static String DEF_MYSQLHOSTPASSWORD;\r
33     protected static String DEF_CHANGE_DEFAULT_SCRIPT;\r
34     protected static String DEF_CONNECT_DEVICE_SCRIPT;\r
35     protected static String DEF_REGISTER_DEVICE_SCRIPT;\r
36     protected static String DEF_ADD_DEVICE_FILE;\r
37     protected static String DEF_ADD_DEVICE_ADDRESS_FILE;\r
38     protected static String DEF_ADD_DEVICE_COMM_FILE;\r
39     protected static String DEF_ADD_DEVICE_TO_MYSQL;\r
40     protected static String DEF_MYSQL_CONFIG_FILE;\r
41     protected static String DEF_INSTALL_CMD;\r
42     protected static String DEF_DELETE_CMD;\r
43     protected static String DEF_INSTALL_ADDRESS_CMD;\r
44     protected static String DEF_DELETE_ADDRESS_CMD;\r
45     protected static String DEF_INSTALL_RELATION_CMD;\r
46 \r
47     @Override\r
48     protected void onCreate(Bundle savedInstanceState) {\r
49         super.onCreate(savedInstanceState);\r
50         setContentView(R.layout.activity_main);\r
51 \r
52         registerButton = (Button) findViewById(R.id.register);\r
53         listButton = (Button) findViewById(R.id.list);\r
54         insertDBButton = (Button) findViewById(R.id.insert_db);\r
55         deleteDBButton = (Button) findViewById(R.id.delete_db);\r
56         configButton = (Button) findViewById(R.id.config);\r
57         relationButton = (Button) findViewById(R.id.add_comm);\r
58         ssid = (TextView)findViewById(R.id.device_subtype);\r
59 \r
60         registerButton.setOnClickListener(this);\r
61         listButton.setOnClickListener(this);\r
62         insertDBButton.setOnClickListener(this);\r
63         deleteDBButton.setOnClickListener(this);\r
64         configButton.setOnClickListener(this);\r
65         relationButton.setOnClickListener(this);\r
66 \r
67         context = getApplicationContext();\r
68         DEF_RSSID = context.getResources().getString(R.string.default_rssid);\r
69         DEF_RPWD = context.getResources().getString(R.string.default_rpwd);\r
70         DEF_ROUTERIP = context.getResources().getString(R.string.default_routerip);\r
71         DEF_ROUTERUSER = context.getResources().getString(R.string.default_routeruser);\r
72         DEF_CHANGE_DEFAULT_SCRIPT = context.getResources().getString(R.string.change_default_script);\r
73         DEF_CONNECT_DEVICE_SCRIPT = context.getResources().getString(R.string.connect_device_script);\r
74         DEF_REGISTER_DEVICE_SCRIPT = context.getResources().getString(R.string.register_device_script);\r
75         DEF_ADD_DEVICE_FILE = context.getResources().getString(R.string.add_device_file);\r
76         DEF_ADD_DEVICE_ADDRESS_FILE = context.getResources().getString(R.string.add_device_address_file);\r
77         DEF_ADD_DEVICE_COMM_FILE = context.getResources().getString(R.string.add_device_comm_file);\r
78         DEF_MYSQLHOSTUSER = context.getResources().getString(R.string.mysql_hostuser);\r
79         DEF_MYSQLHOSTIP = context.getResources().getString(R.string.mysql_hostip);\r
80         DEF_MYSQLHOSTPASSWORD = context.getResources().getString(R.string.mysql_hostpassword);\r
81         DEF_ADD_DEVICE_TO_MYSQL = context.getResources().getString(R.string.add_device_to_mysql);\r
82         DEF_MYSQL_CONFIG_FILE = context.getResources().getString(R.string.mysql_config_file);\r
83         DEF_INSTALL_CMD = context.getResources().getString(R.string.install_cmd);\r
84         DEF_DELETE_CMD = context.getResources().getString(R.string.delete_cmd);\r
85         DEF_INSTALL_ADDRESS_CMD = context.getResources().getString(R.string.install_address_cmd);\r
86         DEF_DELETE_ADDRESS_CMD = context.getResources().getString(R.string.delete_address_cmd);\r
87         DEF_INSTALL_RELATION_CMD = context.getResources().getString(R.string.add_comm_cmd);\r
88         ssid.setText(DEF_RSSID);\r
89     }\r
90 \r
91     public void onClick(View v) {\r
92 \r
93         if(v == configButton){\r
94             startActivityForResult(new Intent(this,ConfigActivity.class),1000);\r
95         }\r
96 \r
97         //Users try to execute shell scripts by pushing button,\r
98         //but problem could occur(application stop) if user push the button without wifi connection\r
99         //As a result, below function have to be implemented.\r
100         if (isNetworkAvailable() == false) {//without wifi connection\r
101             Toast t = Toast.makeText(this, R.string.connect, Toast.LENGTH_SHORT);\r
102             t.show();\r
103             startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));\r
104         } else {//with wifi connection\r
105             if (v == registerButton) {\r
106                 Log.d("CLICKING", "Clicking on register!");\r
107                 startActivity(new Intent(this, EnrollDeviceActivity.class));\r
108                 //startActivity(new Intent(this, AddDeviceActivity.class));\r
109             } else if (v == listButton) {\r
110                 Log.d("CLICKING", "Clicking on list activity!");\r
111                 startActivity(new Intent(this, ListActivity.class));\r
112             } else if (v == insertDBButton) {\r
113                 Log.d("CLICKING", "Clicking on add device!");\r
114                 startActivity(new Intent(this, AddDeviceActivity.class));\r
115             } else if (v == deleteDBButton) {\r
116                 Log.d("CLICKING", "Clicking on delete device!");\r
117                 startActivity(new Intent(this, DeleteDeviceActivity.class));\r
118             } else if (v == relationButton) {\r
119                 Log.d("CLICKING", "Clicking on add communication!");\r
120                 startActivity(new Intent(this, AddRelationActivity.class));\r
121             }\r
122         }\r
123     }\r
124 \r
125     boolean isNetworkAvailable() {//check whether wifi connection is or not\r
126         Context context = getApplicationContext();\r
127         ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);\r
128         NetworkInfo activeNetwork = cm.getActiveNetworkInfo();\r
129         boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();\r
130         return isConnected;\r
131     }\r
132 \r
133     @Override\r
134     protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
135         super.onActivityResult(requestCode, resultCode, data);\r
136 \r
137         if(requestCode == 1000){\r
138             ssid.setText(ConfigActivity.RSSID);\r
139         }\r
140     }\r
141 }\r