1 package com.example.lede2;
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;
14 import java.io.IOException;
15 import java.io.InputStream;
17 public class AddRelationActivity extends AppCompatActivity implements View.OnClickListener,View.OnFocusChangeListener {
20 TextView databaseInfo;
21 private SSH_MySQL ssh;//Connection object between Android & Host
24 protected void onCreate(Bundle savedInstanceState) {
25 super.onCreate(savedInstanceState);
26 setContentView(R.layout.activity_add_relation);
28 doneButton = (Button) findViewById(R.id.doneButton);
29 databaseInfo = (EditText)findViewById(R.id.textInfoComm);
31 doneButton.setOnClickListener(this);
32 databaseInfo.setOnFocusChangeListener(this);
33 ssh = new SSH_MySQL();
34 // Set config text from file for device
36 InputStream is = getAssets().open(MainActivity.DEF_ADD_DEVICE_COMM_FILE);
37 int size = is.available();
38 byte[] buffer = new byte[size];
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!");
52 public void onClick(View v) {
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);
66 public void onFocusChange(View view, boolean hasFocus) {
67 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
69 imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
71 imm.hideSoftInputFromWindow(view.getWindowToken(), 0);