Checking in LEDE GUI for device registration; this was ported from the implementation...
[iot2.git] / others / lede-gui / src / main / java / com / example / lede2 / MainActivity.java
diff --git a/others/lede-gui/src/main/java/com/example/lede2/MainActivity.java b/others/lede-gui/src/main/java/com/example/lede2/MainActivity.java
new file mode 100644 (file)
index 0000000..d4ee5ea
--- /dev/null
@@ -0,0 +1,100 @@
+package com.example.lede2;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.net.ConnectivityManager;\r
+import android.net.NetworkInfo;\r
+import android.net.wifi.WifiManager;\r
+import android.support.v7.app.AppCompatActivity;\r
+import android.os.Bundle;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.widget.Button;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import iotinstaller.IoTInstaller;\r
+\r
+public class MainActivity extends AppCompatActivity implements View.OnClickListener {\r
+\r
+    Button registerButton;\r
+    Button listButton;\r
+    Button configButton;\r
+    TextView ssid;\r
+    protected static Context context;\r
+    protected static String DEF_RSSID;\r
+    protected static String DEF_RPWD;\r
+    protected static String DEF_ROUTERIP;\r
+    protected static String DEF_ROUTERUSER;\r
+    protected static String DEF_CHANGE_DEFAULT_SCRIPT;\r
+    protected static String DEF_CONNECT_DEVICE_SCRIPT;\r
+    protected static String DEF_REGISTER_DEVICE_SCRIPT;\r
+\r
+    @Override\r
+    protected void onCreate(Bundle savedInstanceState) {\r
+        super.onCreate(savedInstanceState);\r
+        setContentView(R.layout.activity_main);\r
+\r
+        registerButton = (Button) findViewById(R.id.register);\r
+        listButton = (Button) findViewById(R.id.list);\r
+        configButton = (Button) findViewById(R.id.config);\r
+        ssid = (TextView)findViewById(R.id.ssid);\r
+\r
+        registerButton.setOnClickListener(this);\r
+        listButton.setOnClickListener(this);\r
+        configButton.setOnClickListener(this);\r
+\r
+        context = getApplicationContext();\r
+        DEF_RSSID = context.getResources().getString(R.string.default_rssid);\r
+        DEF_RPWD = context.getResources().getString(R.string.default_rpwd);\r
+        DEF_ROUTERIP = context.getResources().getString(R.string.default_routerip);\r
+        DEF_ROUTERUSER = context.getResources().getString(R.string.default_routeruser);\r
+        DEF_CHANGE_DEFAULT_SCRIPT = context.getResources().getString(R.string.change_default_script);\r
+        DEF_CONNECT_DEVICE_SCRIPT = context.getResources().getString(R.string.connect_device_script);\r
+        DEF_REGISTER_DEVICE_SCRIPT = context.getResources().getString(R.string.register_device_script);\r
+        ssid.setText(DEF_RSSID);\r
+    }\r
+\r
+    public void onClick(View v) {\r
+\r
+        if(v == configButton){\r
+            startActivityForResult(new Intent(this,ConfigActivity.class),1000);\r
+        }\r
+\r
+        //Users try to execute shell scripts by pushing button,\r
+        //but problem could occur(application stop) if user push the button without wifi connection\r
+        //As a result, below function have to be implemented.\r
+        if (isNetworkAvailable() == false) {//without wifi connection\r
+            Toast t = Toast.makeText(this, R.string.connect, Toast.LENGTH_SHORT);\r
+            t.show();\r
+            startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));\r
+        } else {//with wifi connection\r
+            if (v == registerButton) {\r
+                Log.d("CLICKING", "Clicking on register!");\r
+                startActivity(new Intent(this, EnrollDeviceActivity.class));\r
+            } else if (v == listButton) {\r
+                startActivity(new Intent(this, ListActivity.class));\r
+            }\r
+        }\r
+        //IoTInstaller ioTInstaller = new IoTInstaller();\r
+        //ioTInstaller.helpMessages();\r
+\r
+    }\r
+\r
+    boolean isNetworkAvailable() {//check whether wifi connection is or not\r
+        Context context = getApplicationContext();\r
+        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);\r
+        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();\r
+        boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();\r
+        return isConnected;\r
+    }\r
+\r
+    @Override\r
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+        super.onActivityResult(requestCode, resultCode, data);\r
+\r
+        if(requestCode == 1000){\r
+            ssid.setText(ConfigActivity.RSSID);\r
+        }\r
+    }\r
+}\r