da54025ffa6e3056bedfa5fc56bd8eb129f71462
[iot2.git] / others / lede-gui / src / main / java / com / example / lede2 / AddRelationActivity.java
1 package com.example.lede2;
2
3 import android.content.Context;
4 import android.os.Bundle;
5 import android.support.v7.app.AppCompatActivity;
6 import android.util.Log;
7 import android.view.Gravity;
8 import android.view.View;
9 import android.view.inputmethod.InputMethodManager;
10 import android.widget.Button;
11 import android.widget.EditText;
12 import android.widget.TextView;
13
14 import java.io.IOException;
15 import java.io.InputStream;
16
17 public class AddRelationActivity extends AppCompatActivity implements View.OnClickListener,View.OnFocusChangeListener {
18
19     Button doneButton;
20     TextView databaseInfo;
21     private SSH_MySQL ssh;//Connection object between Android & Host
22
23     @Override
24     protected void onCreate(Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.activity_add_relation);
27
28         doneButton = (Button) findViewById(R.id.doneButton);
29         databaseInfo = (EditText)findViewById(R.id.textInfoComm);
30
31         doneButton.setOnClickListener(this);
32         databaseInfo.setOnFocusChangeListener(this);
33         ssh = new SSH_MySQL();
34         // Set config text from file for device
35         try {
36             InputStream is = getAssets().open(MainActivity.DEF_ADD_DEVICE_COMM_FILE);
37             int size = is.available();
38             byte[] buffer = new byte[size];
39             is.read(buffer);
40             is.close();
41             String text = new String(buffer);
42             databaseInfo.setGravity(Gravity.LEFT);
43             databaseInfo.setText(text);
44             Log.d("LOADINGFILE", "Add comm info file is already loaded!");
45         } catch (IOException ex) {
46             Log.d("LOADINGFILE", "Add comm info file is NOT loaded!");
47             ex.printStackTrace();
48         }
49     }
50
51     @Override
52     public void onClick(View v) {
53         if(v == doneButton){
54             // 1) Create a new file and insert the configuration
55             // 2) Run iotinstaller code for communication/relation installation
56             // 3) Remove the existing config file
57             ssh.execute("echo \"" + databaseInfo.getText().toString() + "\" >> " +
58                     MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +
59                     MainActivity.DEF_INSTALL_RELATION_CMD + " " + MainActivity.DEF_MYSQL_CONFIG_FILE + ";" +
60                     "rm -rf " + MainActivity.DEF_MYSQL_CONFIG_FILE);
61             finish();
62         }
63     }
64
65     @Override
66     public void onFocusChange(View view, boolean hasFocus) {
67         InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
68         if (hasFocus) {
69             imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
70         } else {
71             imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
72         }
73     }
74
75 }