d4ee5ea4f25a6c3cde2f8a405c8cde6fab032913
[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 import iotinstaller.IoTInstaller;\r
17 \r
18 public class MainActivity extends AppCompatActivity implements View.OnClickListener {\r
19 \r
20     Button registerButton;\r
21     Button listButton;\r
22     Button configButton;\r
23     TextView ssid;\r
24     protected static Context context;\r
25     protected static String DEF_RSSID;\r
26     protected static String DEF_RPWD;\r
27     protected static String DEF_ROUTERIP;\r
28     protected static String DEF_ROUTERUSER;\r
29     protected static String DEF_CHANGE_DEFAULT_SCRIPT;\r
30     protected static String DEF_CONNECT_DEVICE_SCRIPT;\r
31     protected static String DEF_REGISTER_DEVICE_SCRIPT;\r
32 \r
33     @Override\r
34     protected void onCreate(Bundle savedInstanceState) {\r
35         super.onCreate(savedInstanceState);\r
36         setContentView(R.layout.activity_main);\r
37 \r
38         registerButton = (Button) findViewById(R.id.register);\r
39         listButton = (Button) findViewById(R.id.list);\r
40         configButton = (Button) findViewById(R.id.config);\r
41         ssid = (TextView)findViewById(R.id.ssid);\r
42 \r
43         registerButton.setOnClickListener(this);\r
44         listButton.setOnClickListener(this);\r
45         configButton.setOnClickListener(this);\r
46 \r
47         context = getApplicationContext();\r
48         DEF_RSSID = context.getResources().getString(R.string.default_rssid);\r
49         DEF_RPWD = context.getResources().getString(R.string.default_rpwd);\r
50         DEF_ROUTERIP = context.getResources().getString(R.string.default_routerip);\r
51         DEF_ROUTERUSER = context.getResources().getString(R.string.default_routeruser);\r
52         DEF_CHANGE_DEFAULT_SCRIPT = context.getResources().getString(R.string.change_default_script);\r
53         DEF_CONNECT_DEVICE_SCRIPT = context.getResources().getString(R.string.connect_device_script);\r
54         DEF_REGISTER_DEVICE_SCRIPT = context.getResources().getString(R.string.register_device_script);\r
55         ssid.setText(DEF_RSSID);\r
56     }\r
57 \r
58     public void onClick(View v) {\r
59 \r
60         if(v == configButton){\r
61             startActivityForResult(new Intent(this,ConfigActivity.class),1000);\r
62         }\r
63 \r
64         //Users try to execute shell scripts by pushing button,\r
65         //but problem could occur(application stop) if user push the button without wifi connection\r
66         //As a result, below function have to be implemented.\r
67         if (isNetworkAvailable() == false) {//without wifi connection\r
68             Toast t = Toast.makeText(this, R.string.connect, Toast.LENGTH_SHORT);\r
69             t.show();\r
70             startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));\r
71         } else {//with wifi connection\r
72             if (v == registerButton) {\r
73                 Log.d("CLICKING", "Clicking on register!");\r
74                 startActivity(new Intent(this, EnrollDeviceActivity.class));\r
75             } else if (v == listButton) {\r
76                 startActivity(new Intent(this, ListActivity.class));\r
77             }\r
78         }\r
79         //IoTInstaller ioTInstaller = new IoTInstaller();\r
80         //ioTInstaller.helpMessages();\r
81 \r
82     }\r
83 \r
84     boolean isNetworkAvailable() {//check whether wifi connection is or not\r
85         Context context = getApplicationContext();\r
86         ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);\r
87         NetworkInfo activeNetwork = cm.getActiveNetworkInfo();\r
88         boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();\r
89         return isConnected;\r
90     }\r
91 \r
92     @Override\r
93     protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
94         super.onActivityResult(requestCode, resultCode, data);\r
95 \r
96         if(requestCode == 1000){\r
97             ssid.setText(ConfigActivity.RSSID);\r
98         }\r
99     }\r
100 }\r