123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- package com.rob57530.smsserver;
-
- import android.os.Build;
- import android.os.Bundle;
- import android.preference.PreferenceManager;
- import android.app.Activity;
- import android.app.ActivityManager;
- import android.app.ActivityManager.RunningServiceInfo;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.content.SharedPreferences.Editor;
- import android.telephony.TelephonyManager;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.CompoundButton;
- import android.widget.EditText;
- import android.widget.Toast;
-
- public class MainActivity extends Activity
- {
- private Button m_btnStart;
- private Button m_btnStop;
- private EditText m_textPort;
- private EditText m_textHttp;
- private EditText m_textName;
- private EditText m_textNumber;
-
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- m_btnStart = (Button) findViewById(R.id.btnStart);
- m_btnStop = (Button) findViewById(R.id.btnStop);
- m_textPort = (EditText) findViewById(R.id.editTextPort);
- m_textHttp = (EditText) findViewById(R.id.editTextHttp);
- m_textName = (EditText) findViewById(R.id.editTextName);
- m_textNumber = (EditText) findViewById(R.id.editTextNumber);
- m_btnStart.setOnClickListener(new View.OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
- startServer();
- }
- });
- m_btnStop.setOnClickListener(new View.OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
- stopServer();
- }
- });
- m_textName.setHint(Build.MODEL);
- try
- {
- m_textNumber.setHint(((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number());
- }
- catch (Exception e)
- {
-
- }
-
- final SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(this);
- m_textHttp.setText(p.getString("http", m_textHttp.getHint().toString()));
- m_textName.setText(p.getString("name", m_textName.getHint().toString()));
- m_textPort.setText("" + p.getInt("port", 8080));
- m_textNumber.setText(p.getString("number", m_textNumber.getHint().toString()));
-
- CheckBox checkBoot = ((CheckBox) findViewById(R.id.checkBoxBoot));
- checkBoot.setChecked(p.getBoolean("boot", true));
- checkBoot.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
- {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
- {
- Editor e = p.edit();
- e.putBoolean("boot", isChecked);
- e.commit();
- }
- });
-
- updateButtons();
- startServer();
- }
-
- public void startServer()
- {
- int p = 0;
- try
- {
- p = Integer.parseInt(m_textPort.getText().toString());
- }
- catch (Exception e)
- {
-
- }
- String http = m_textHttp.getText().toString();
- String name = m_textName.getText().toString();
- String number = m_textNumber.getText().toString();
-
- SharedPreferences pr = PreferenceManager.getDefaultSharedPreferences(this);
- Editor edit = pr.edit();
- edit.putString("http", http);
- edit.putString("name", name);
- edit.putInt("port", p);
- edit.putString("number", number);
- edit.commit();
-
- try
- {
-
- if (http.length() == 0)
- throw new Exception("Empty SMS Server");
- if (name.length() == 0)
- throw new Exception("Empty Name");
- if (number.length() == 0)
- throw new Exception("Empty Number");
- if (p < 1 || p > 65535)
- throw new Exception("Invalid Port (1 <= port <= 65535)");
-
- startService(new Intent(MainActivity.this, SMSServerService.class));
- updateButtons();
-
- }
- catch (Exception e)
- {
- Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
- }
- }
-
- public void stopServer()
- {
- stopService(new Intent(MainActivity.this, SMSServerService.class));
- updateButtons();
- }
-
- private boolean isServiceRunning()
- {
- ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
- for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE))
- if (SMSServerService.class.getName().equals(service.service.getClassName()))
- return true;
- return false;
- }
-
- private void updateButtons()
- {
- boolean is = isServiceRunning();
- m_btnStart.setEnabled(!is);
- m_btnStop.setEnabled(is);
- m_textPort.setEnabled(!is);
- m_textHttp.setEnabled(!is);
- m_textName.setEnabled(!is);
- m_textNumber.setEnabled(!is);
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu)
- {
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
-
- }
|