mirror of
https://github.com/cwinfo/envayasms.git
synced 2024-11-09 10:20:25 +00:00
rename to EnvayaSMS; add icon
This commit is contained in:
parent
73bc3c9fc6
commit
7df89cd5d0
@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="org.envaya.kalsms"
|
package="org.envaya.sms"
|
||||||
android:versionCode="3"
|
android:versionCode="6"
|
||||||
android:versionName="2.0-beta 3">
|
android:versionName="2.0-beta 4">
|
||||||
|
|
||||||
<uses-sdk android:minSdkVersion="4" />
|
<uses-sdk android:minSdkVersion="4" />
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||||
|
|
||||||
<application android:name="org.envaya.kalsms.App"
|
<application android:name="org.envaya.sms.App"
|
||||||
android:icon="@drawable/icon" android:label="@string/app_name">
|
android:icon="@drawable/icon" android:label="@string/app_name">
|
||||||
<activity android:name=".ui.Main" android:label="@string/app_name">
|
<activity android:name=".ui.Main" android:label="@string/app_name">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
@ -25,16 +25,16 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".ui.Help" android:label="KalSMS : Help">
|
<activity android:name=".ui.Help" android:label="EnvayaSMS : Help">
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".ui.TestPhoneNumbers" android:label="KalSMS : Test Phone Numbers">
|
<activity android:name=".ui.TestPhoneNumbers" android:label="EnvayaSMS : Test Phone Numbers">
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".ui.ForwardInbox" android:label="KalSMS : Forward Inbox">
|
<activity android:name=".ui.ForwardInbox" android:label="EnvayaSMS : Forward Inbox">
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".ui.Prefs" android:label="KalSMS : Settings">
|
<activity android:name=".ui.Prefs" android:label="EnvayaSMS : Settings">
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<receiver android:name=".receiver.SmsReceiver">
|
<receiver android:name=".receiver.SmsReceiver">
|
||||||
@ -45,14 +45,14 @@
|
|||||||
|
|
||||||
<receiver android:name=".receiver.OutgoingSmsReceiver">
|
<receiver android:name=".receiver.OutgoingSmsReceiver">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="org.envaya.kalsms.OUTGOING_SMS" />
|
<action android:name="org.envaya.sms.OUTGOING_SMS" />
|
||||||
<data android:scheme="content" />
|
<data android:scheme="content" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<receiver android:name=".receiver.MessageStatusNotifier" android:exported="true">
|
<receiver android:name=".receiver.MessageStatusNotifier" android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="org.envaya.kalsms.MESSAGE_STATUS" />
|
<action android:name="org.envaya.sms.MESSAGE_STATUS" />
|
||||||
<data android:scheme="content" />
|
<data android:scheme="content" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
12
LICENSE
Normal file → Executable file
12
LICENSE
Normal file → Executable file
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
Except for the parts noted otherwise (see Third-Party Libraries section below),
|
Except for the parts noted otherwise (see Third-Party Libraries section below),
|
||||||
KalSMS' source code is licensed under the MIT license:
|
EnvayaSMS' source code is licensed under the MIT license:
|
||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
@ -31,14 +31,14 @@ Third-Party Libraries
|
|||||||
libs/httpmime-4.1.2.jar is (c) Apache Software Foundation
|
libs/httpmime-4.1.2.jar is (c) Apache Software Foundation
|
||||||
released under Apache License, Version 2.0
|
released under Apache License, Version 2.0
|
||||||
|
|
||||||
org.envaya.kalsms.Base64Coder is (c) 2003-2010 Christian d'Heureuse,
|
org.envaya.sms.Base64Coder is (c) 2003-2010 Christian d'Heureuse,
|
||||||
released under MIT License (and others)
|
released under MIT License (and others)
|
||||||
|
|
||||||
org.envaya.kalsms.ui.InertCheckBox and org.envaya.kalsms.ui.CheckableRelativeLayout
|
org.envaya.sms.ui.InertCheckBox and org.envaya.sms.ui.CheckableRelativeLayout
|
||||||
is (c) Cédric Caron, released presumably into the public domain at
|
is (c) C<EFBFBD>dric Caron, released presumably into the public domain at
|
||||||
http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/
|
http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/
|
||||||
|
|
||||||
org.envaya.kalsms.App.chooseOutgoingSmsPackage and
|
org.envaya.sms.App.chooseOutgoingSmsPackage and
|
||||||
org.envaya.kalsms.ForegroundService include code from Android,
|
org.envaya.sms.ForegroundService include code from Android,
|
||||||
Copyright 2005-2009 The Android Open Source Project
|
Copyright 2005-2009 The Android Open Source Project
|
||||||
See NOTICE
|
See NOTICE
|
2
README
2
README
@ -1,4 +1,4 @@
|
|||||||
KalSMS is an Android app that acts as a SMS and MMS gateway.
|
EnvayaSMS is an Android app that acts as a SMS and MMS gateway.
|
||||||
|
|
||||||
For more information and installation instructions,
|
For more information and installation instructions,
|
||||||
see http://kalsms.net/
|
see http://kalsms.net/
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project name="KalSMS" default="help">
|
<project name="EnvayaSMS" default="help">
|
||||||
|
|
||||||
<!-- The local.properties file is created and updated by the 'android'
|
<!-- The local.properties file is created and updated by the 'android'
|
||||||
tool.
|
tool.
|
||||||
|
BIN
res/drawable-hdpi/icon.png
Normal file → Executable file
BIN
res/drawable-hdpi/icon.png
Normal file → Executable file
Binary file not shown.
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 7.5 KiB |
BIN
res/drawable-ldpi/icon.png
Normal file → Executable file
BIN
res/drawable-ldpi/icon.png
Normal file → Executable file
Binary file not shown.
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 2.6 KiB |
BIN
res/drawable-mdpi/icon.png
Normal file → Executable file
BIN
res/drawable-mdpi/icon.png
Normal file → Executable file
Binary file not shown.
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 4.3 KiB |
@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<org.envaya.kalsms.ui.CheckableRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<org.envaya.sms.ui.CheckableRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="#cccccc">
|
android:background="#cccccc">
|
||||||
<org.envaya.kalsms.ui.InertCheckBox android:id="@+id/inbox_checkbox"
|
<org.envaya.sms.ui.InertCheckBox android:id="@+id/inbox_checkbox"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
@ -31,4 +31,4 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:paddingBottom="6sp"
|
android:paddingBottom="6sp"
|
||||||
android:textSize="14sp"></TextView>
|
android:textSize="14sp"></TextView>
|
||||||
</org.envaya.kalsms.ui.CheckableRelativeLayout>
|
</org.envaya.sms.ui.CheckableRelativeLayout>
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">KalSMS</string>
|
<string name="app_name">EnvayaSMS</string>
|
||||||
<string name="settings">Settings</string>
|
<string name="settings">Settings</string>
|
||||||
<string name="test">Test Connection</string>
|
<string name="test">Test Connection</string>
|
||||||
<string name="check_now">Check Messages</string>
|
<string name="check_now">Check Messages</string>
|
||||||
@ -8,8 +8,8 @@
|
|||||||
<string name="retry_now">Retry</string>
|
<string name="retry_now">Retry</string>
|
||||||
<string name="forward_inbox">Fwd Inbox...</string>
|
<string name="forward_inbox">Fwd Inbox...</string>
|
||||||
<string name='service_started'>New SMS will be forwarded to server</string>
|
<string name='service_started'>New SMS will be forwarded to server</string>
|
||||||
<string name='test_senders'>When running KalSMS in Test Mode,
|
<string name='test_senders'>When running EnvayaSMS in Test Mode,
|
||||||
KalSMS will only forward SMS messages from the phone numbers
|
EnvayaSMS will only forward SMS messages from the phone numbers
|
||||||
listed below. (Incoming SMS messages from other phone numbers will be saved
|
listed below. (Incoming SMS messages from other phone numbers will be saved
|
||||||
in the normal Messaging inbox, and outgoing messages will be ignored.)</string>
|
in the normal Messaging inbox, and outgoing messages will be ignored.)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="enabled"
|
android:key="enabled"
|
||||||
android:title="Enable KalSMS"
|
android:title="Enable EnvayaSMS"
|
||||||
android:defaultValue='false'
|
android:defaultValue='false'
|
||||||
android:summaryOn="All new SMS will be forwarded between phone and server"
|
android:summaryOn="All new SMS will be forwarded between phone and server"
|
||||||
android:summaryOff="New SMS will not be forwarded between phone and server"
|
android:summaryOff="New SMS will not be forwarded between phone and server"
|
||||||
@ -57,20 +57,20 @@
|
|||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="test_mode"
|
android:key="test_mode"
|
||||||
android:title="Test mode"
|
android:title="Test mode"
|
||||||
android:summaryOff="Test mode is off (KalSMS forwards all SMS)"
|
android:summaryOff="Test mode is off (EnvayaSMS forwards all SMS)"
|
||||||
android:summaryOn="Test mode is on (KalSMS only forwards SMS to/from specific phones)"
|
android:summaryOn="Test mode is on (EnvayaSMS only forwards SMS to/from specific phones)"
|
||||||
></CheckBoxPreference>
|
></CheckBoxPreference>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:key="test_numbers"
|
android:key="test_numbers"
|
||||||
android:title="Sender phones"
|
android:title="Sender phones"
|
||||||
android:dependency="test_mode"
|
android:dependency="test_mode"
|
||||||
android:summary="Configure the phone numbers that KalSMS will handle"
|
android:summary="Configure the phone numbers that EnvayaSMS will handle"
|
||||||
>
|
>
|
||||||
<intent
|
<intent
|
||||||
android:action="android.intent.action.MAIN"
|
android:action="android.intent.action.MAIN"
|
||||||
android:targetPackage="org.envaya.kalsms"
|
android:targetPackage="org.envaya.sms"
|
||||||
android:targetClass="org.envaya.kalsms.ui.TestPhoneNumbers" />
|
android:targetClass="org.envaya.sms.ui.TestPhoneNumbers" />
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@ -1,12 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PHP server library for KalSMS
|
* PHP server library for EnvayaSMS
|
||||||
*
|
*
|
||||||
* For example usage see example/www/index.php
|
* For example usage see example/www/index.php
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class KalSMS
|
class EnvayaSMS
|
||||||
{
|
{
|
||||||
const ACTION_INCOMING = 'incoming';
|
const ACTION_INCOMING = 'incoming';
|
||||||
const ACTION_OUTGOING = 'outgoing';
|
const ACTION_OUTGOING = 'outgoing';
|
||||||
@ -19,55 +19,65 @@ class KalSMS
|
|||||||
const MESSAGE_TYPE_SMS = 'sms';
|
const MESSAGE_TYPE_SMS = 'sms';
|
||||||
const MESSAGE_TYPE_MMS = 'mms';
|
const MESSAGE_TYPE_MMS = 'mms';
|
||||||
|
|
||||||
static function new_from_request()
|
|
||||||
{
|
|
||||||
$version = @$_POST['version'];
|
|
||||||
|
|
||||||
// If API version changes, could return different KalSMS instance
|
|
||||||
// to support multiple phone versions
|
|
||||||
|
|
||||||
return new KalSMS();
|
|
||||||
}
|
|
||||||
|
|
||||||
static function escape($val)
|
static function escape($val)
|
||||||
{
|
{
|
||||||
return htmlspecialchars($val, ENT_QUOTES, 'UTF-8');
|
return htmlspecialchars($val, ENT_QUOTES, 'UTF-8');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static $request;
|
||||||
|
|
||||||
|
static function get_request()
|
||||||
|
{
|
||||||
|
if (!isset(static::$request))
|
||||||
|
{
|
||||||
|
$version = @$_POST['version'];
|
||||||
|
|
||||||
|
// If API version changes, could return
|
||||||
|
// different EnvayaSMS_Request instance
|
||||||
|
// to support multiple phone versions
|
||||||
|
|
||||||
|
static::$request = new EnvayaSMS_Request();
|
||||||
|
}
|
||||||
|
return static::$request;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class EnvayaSMS_Request
|
||||||
|
{
|
||||||
private $request_action;
|
private $request_action;
|
||||||
|
|
||||||
function get_request_action()
|
function get_action()
|
||||||
{
|
{
|
||||||
if (!$this->request_action)
|
if (!$this->request_action)
|
||||||
{
|
{
|
||||||
$this->request_action = $this->_get_request_action();
|
$this->request_action = $this->_get_action();
|
||||||
}
|
}
|
||||||
return $this->request_action;
|
return $this->request_action;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function _get_request_action()
|
private function _get_action()
|
||||||
{
|
{
|
||||||
switch (@$_POST['action'])
|
switch (@$_POST['action'])
|
||||||
{
|
{
|
||||||
case static::ACTION_INCOMING:
|
case EnvayaSMS::ACTION_INCOMING:
|
||||||
return new KalSMS_Action_Incoming($this);
|
return new EnvayaSMS_Action_Incoming($this);
|
||||||
case static::ACTION_OUTGOING:
|
case EnvayaSMS::ACTION_OUTGOING:
|
||||||
return new KalSMS_Action_Outgoing($this);
|
return new EnvayaSMS_Action_Outgoing($this);
|
||||||
case static::ACTION_SEND_STATUS:
|
case EnvayaSMS::ACTION_SEND_STATUS:
|
||||||
return new KalSMS_Action_SendStatus($this);
|
return new EnvayaSMS_Action_SendStatus($this);
|
||||||
default:
|
default:
|
||||||
return new KalSMS_Action($this);
|
return new EnvayaSMS_Action($this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_request_phone_number()
|
function get_phone_number()
|
||||||
{
|
{
|
||||||
return @$_POST['phone_number'];
|
return @$_POST['phone_number'];
|
||||||
}
|
}
|
||||||
|
|
||||||
function is_validated_request($correct_password)
|
function is_validated($correct_password)
|
||||||
{
|
{
|
||||||
$signature = @$_SERVER['HTTP_X_KALSMS_SIGNATURE'];
|
$signature = @$_SERVER['HTTP_X_REQUEST_SIGNATURE'];
|
||||||
if (!$signature)
|
if (!$signature)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@ -100,34 +110,34 @@ class KalSMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalSMS_OutgoingMessage
|
class EnvayaSMS_OutgoingMessage
|
||||||
{
|
{
|
||||||
public $id = ''; // ID generated by server
|
public $id = ''; // ID generated by server
|
||||||
public $to; // destination phone number
|
public $to; // destination phone number
|
||||||
public $message; // content of SMS message
|
public $message; // content of SMS message
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalSMS_Action
|
class EnvayaSMS_Action
|
||||||
{
|
{
|
||||||
public $type;
|
public $type;
|
||||||
public $kalsms;
|
public $request;
|
||||||
|
|
||||||
function __construct($kalsms)
|
function __construct($request)
|
||||||
{
|
{
|
||||||
$this->kalsms = $kalsms;
|
$this->request = $request;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalSMS_Action_Test extends KalSMS_Action
|
class EnvayaSMS_Action_Test extends EnvayaSMS_Action
|
||||||
{
|
{
|
||||||
function __construct($kalsms)
|
function __construct($request)
|
||||||
{
|
{
|
||||||
parent::__construct($kalsms);
|
parent::__construct($request);
|
||||||
$this->type = KalSMS::ACTION_TEST;
|
$this->type = EnvayaSMS::ACTION_TEST;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalSMS_MMS_Part
|
class EnvayaSMS_MMS_Part
|
||||||
{
|
{
|
||||||
public $form_name; // name of form field with MMS part content
|
public $form_name; // name of form field with MMS part content
|
||||||
public $cid; // MMS Content-ID
|
public $cid; // MMS Content-ID
|
||||||
@ -152,27 +162,27 @@ class KalSMS_MMS_Part
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalSMS_Action_Incoming extends KalSMS_Action
|
class EnvayaSMS_Action_Incoming extends EnvayaSMS_Action
|
||||||
{
|
{
|
||||||
public $from; // Sender phone number
|
public $from; // Sender phone number
|
||||||
public $message; // The message body of the SMS, or the content of the text/plain part of the MMS.
|
public $message; // The message body of the SMS, or the content of the text/plain part of the MMS.
|
||||||
public $message_type; // KalSMS::MESSAGE_TYPE_MMS or KalSMS::MESSAGE_TYPE_SMS
|
public $message_type; // EnvayaSMS::MESSAGE_TYPE_MMS or EnvayaSMS::MESSAGE_TYPE_SMS
|
||||||
public $mms_parts; // array of KalSMS_MMS_Part instances
|
public $mms_parts; // array of EnvayaSMS_MMS_Part instances
|
||||||
|
|
||||||
function __construct($kalsms)
|
function __construct($request)
|
||||||
{
|
{
|
||||||
parent::__construct($kalsms);
|
parent::__construct($request);
|
||||||
$this->type = KalSMS::ACTION_INCOMING;
|
$this->type = EnvayaSMS::ACTION_INCOMING;
|
||||||
$this->from = $_POST['from'];
|
$this->from = $_POST['from'];
|
||||||
$this->message = $_POST['message'];
|
$this->message = $_POST['message'];
|
||||||
$this->message_type = $_POST['message_type'];
|
$this->message_type = $_POST['message_type'];
|
||||||
|
|
||||||
if ($this->message_type == KalSMS::MESSAGE_TYPE_MMS)
|
if ($this->message_type == EnvayaSMS::MESSAGE_TYPE_MMS)
|
||||||
{
|
{
|
||||||
$this->mms_parts = array();
|
$this->mms_parts = array();
|
||||||
foreach (json_decode($_POST['mms_parts'], true) as $mms_part)
|
foreach (json_decode($_POST['mms_parts'], true) as $mms_part)
|
||||||
{
|
{
|
||||||
$this->mms_parts[] = new KalSMS_MMS_Part($mms_part);
|
$this->mms_parts[] = new EnvayaSMS_MMS_Part($mms_part);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -184,19 +194,19 @@ class KalSMS_Action_Incoming extends KalSMS_Action
|
|||||||
echo "<messages>";
|
echo "<messages>";
|
||||||
foreach ($messages as $message)
|
foreach ($messages as $message)
|
||||||
{
|
{
|
||||||
echo "<sms id='".KalSMS::escape($message->id)."'>".KalSMS::escape($message->message)."</sms>";
|
echo "<sms id='".EnvayaSMS::escape($message->id)."'>".EnvayaSMS::escape($message->message)."</sms>";
|
||||||
}
|
}
|
||||||
echo "</messages>";
|
echo "</messages>";
|
||||||
return ob_get_clean();
|
return ob_get_clean();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalSMS_Action_Outgoing extends KalSMS_Action
|
class EnvayaSMS_Action_Outgoing extends EnvayaSMS_Action
|
||||||
{
|
{
|
||||||
function __construct($kalsms)
|
function __construct($request)
|
||||||
{
|
{
|
||||||
parent::__construct($kalsms);
|
parent::__construct($request);
|
||||||
$this->type = KalSMS::ACTION_OUTGOING;
|
$this->type = EnvayaSMS::ACTION_OUTGOING;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_response_xml($messages)
|
function get_response_xml($messages)
|
||||||
@ -206,22 +216,23 @@ class KalSMS_Action_Outgoing extends KalSMS_Action
|
|||||||
echo "<messages>";
|
echo "<messages>";
|
||||||
foreach ($messages as $message)
|
foreach ($messages as $message)
|
||||||
{
|
{
|
||||||
echo "<sms id='".KalSMS::escape($message->id)."' to='".KalSMS::escape($message->to)."'>".
|
echo "<sms id='".EnvayaSMS::escape($message->id)."' to='".EnvayaSMS::escape($message->to)."'>".
|
||||||
KalSMS::escape($message->message)."</sms>";
|
EnvayaSMS::escape($message->message)."</sms>";
|
||||||
}
|
}
|
||||||
echo "</messages>";
|
echo "</messages>";
|
||||||
return ob_get_clean();
|
return ob_get_clean();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalSMS_Action_SendStatus extends KalSMS_Action
|
class EnvayaSMS_Action_SendStatus extends EnvayaSMS_Action
|
||||||
{
|
{
|
||||||
public $status; // KalSMS::STATUS_* values
|
public $status; // EnvayaSMS::STATUS_* values
|
||||||
public $id; // server ID previously used in KalSMS_OutgoingMessage
|
public $id; // server ID previously used in EnvayaSMS_OutgoingMessage
|
||||||
|
|
||||||
function __construct($type)
|
function __construct($request)
|
||||||
{
|
{
|
||||||
$this->type = KalSMS::ACTION_SEND_STATUS;
|
parent::__construct($request);
|
||||||
|
$this->type = EnvayaSMS::ACTION_SEND_STATUS;
|
||||||
$this->status = $_POST['status'];
|
$this->status = $_POST['status'];
|
||||||
$this->id = $_POST['id'];
|
$this->id = $_POST['id'];
|
||||||
}
|
}
|
@ -1,9 +1,8 @@
|
|||||||
|
PHP server library for EnvayaSMS, with example implementation
|
||||||
|
|
||||||
PHP server library for KalSMS, with example implementation
|
The EnvayaSMS.php library is intended to be used as part of a PHP application
|
||||||
|
|
||||||
The KalSMS.php library is intended to be used as part of a PHP application
|
|
||||||
running on an HTTP server that receives incoming SMS messages from, and sends
|
running on an HTTP server that receives incoming SMS messages from, and sends
|
||||||
outgoing SMS messages to, an Android phone running KalSMS.
|
outgoing SMS messages to, an Android phone running EnvayaSMS.
|
||||||
|
|
||||||
To run the example implementation, the example/www/ directory should be made available
|
To run the example implementation, the example/www/ directory should be made available
|
||||||
via a web server running PHP (e.g. Apache). You can also use the included standalone
|
via a web server running PHP (e.g. Apache). You can also use the included standalone
|
||||||
@ -11,9 +10,9 @@ PHP web server, by running the following commands:
|
|||||||
git submodule init
|
git submodule init
|
||||||
php server.php
|
php server.php
|
||||||
|
|
||||||
example/config.php contains the list of phone numbers and passwords for phones running KalSMS.
|
example/config.php contains the list of phone numbers and passwords for phones running EnvayaSMS.
|
||||||
|
|
||||||
On a phone running KalSMS, go to Menu -> Settings and enter:
|
On a phone running EnvayaSMS, go to Menu -> Settings and enter:
|
||||||
* Server URL: The URL to example/www/index.php.
|
* Server URL: The URL to example/www/index.php.
|
||||||
If you're using server.php, this will be http://<your_ip_address>:8002/
|
If you're using server.php, this will be http://<your_ip_address>:8002/
|
||||||
* Your phone number: One of the phone numbers listed in example/config.php
|
* Your phone number: One of the phone numbers listed in example/config.php
|
||||||
@ -22,4 +21,4 @@ On a phone running KalSMS, go to Menu -> Settings and enter:
|
|||||||
To send an outgoing SMS, use
|
To send an outgoing SMS, use
|
||||||
php example/send_sms.php
|
php example/send_sms.php
|
||||||
|
|
||||||
See KalSMS.php and example/www/index.php
|
See EnvayaSMS.php and example/www/index.php
|
@ -3,7 +3,8 @@
|
|||||||
/*
|
/*
|
||||||
* Command line script to simulate sending an outgoing SMS from the server.
|
* Command line script to simulate sending an outgoing SMS from the server.
|
||||||
*
|
*
|
||||||
* The message will be queued on the server until the next time KalSMS checks for outgoing messages.
|
* The message will be queued on the server until the next time
|
||||||
|
* EnvayaSMS checks for outgoing messages.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once __DIR__."/config.php";
|
require_once __DIR__."/config.php";
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once dirname(__DIR__)."/config.php";
|
require_once dirname(__DIR__)."/config.php";
|
||||||
require_once dirname(dirname(__DIR__))."/KalSMS.php";
|
require_once dirname(dirname(__DIR__))."/EnvayaSMS.php";
|
||||||
|
|
||||||
ini_set('display_errors','0');
|
ini_set('display_errors','0');
|
||||||
|
|
||||||
// this example implementation uses the filesystem to store outgoing SMS messages,
|
// this example implementation uses the filesystem to store outgoing SMS messages,
|
||||||
// but presumably a production implementation would use another storage method
|
// but presumably a production implementation would use another storage method
|
||||||
|
|
||||||
$kalsms = KalSMS::new_from_request();
|
$request = EnvayaSMS::get_request();
|
||||||
|
|
||||||
$phone_number = $kalsms->get_request_phone_number();
|
$phone_number = $request->get_phone_number();
|
||||||
|
|
||||||
$password = @$PASSWORDS[$phone_number];
|
$password = @$PASSWORDS[$phone_number];
|
||||||
|
|
||||||
if (!isset($password) || !$kalsms->is_validated_request($password))
|
if (!isset($password) || !$request->is_validated($password))
|
||||||
{
|
{
|
||||||
header("HTTP/1.1 403 Forbidden");
|
header("HTTP/1.1 403 Forbidden");
|
||||||
error_log("Invalid request signature");
|
error_log("Invalid request signature");
|
||||||
@ -22,14 +22,14 @@ if (!isset($password) || !$kalsms->is_validated_request($password))
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$action = $kalsms->get_request_action();
|
$action = $request->get_action();
|
||||||
|
|
||||||
switch ($action->type)
|
switch ($action->type)
|
||||||
{
|
{
|
||||||
case KalSMS::ACTION_INCOMING:
|
case EnvayaSMS::ACTION_INCOMING:
|
||||||
error_log("Received SMS from {$action->from}");
|
error_log("Received SMS from {$action->from}");
|
||||||
|
|
||||||
$reply = new KalSMS_OutgoingMessage();
|
$reply = new EnvayaSMS_OutgoingMessage();
|
||||||
$reply->message = "You said: {$action->message}";
|
$reply->message = "You said: {$action->message}";
|
||||||
|
|
||||||
error_log("Sending reply: {$reply->message}");
|
error_log("Sending reply: {$reply->message}");
|
||||||
@ -38,7 +38,7 @@ switch ($action->type)
|
|||||||
echo $action->get_response_xml(array($reply));
|
echo $action->get_response_xml(array($reply));
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case KalSMS::ACTION_OUTGOING:
|
case EnvayaSMS::ACTION_OUTGOING:
|
||||||
$messages = array();
|
$messages = array();
|
||||||
|
|
||||||
$dir = opendir($OUTGOING_DIR_NAME);
|
$dir = opendir($OUTGOING_DIR_NAME);
|
||||||
@ -49,7 +49,7 @@ switch ($action->type)
|
|||||||
$data = json_decode(file_get_contents("$OUTGOING_DIR_NAME/$file"), true);
|
$data = json_decode(file_get_contents("$OUTGOING_DIR_NAME/$file"), true);
|
||||||
if ($data && @$data['from'] == $phone_number)
|
if ($data && @$data['from'] == $phone_number)
|
||||||
{
|
{
|
||||||
$sms = new KalSMS_OutgoingMessage();
|
$sms = new EnvayaSMS_OutgoingMessage();
|
||||||
$sms->id = $data['id'];
|
$sms->id = $data['id'];
|
||||||
$sms->to = $data['to'];
|
$sms->to = $data['to'];
|
||||||
$sms->from = $data['from'];
|
$sms->from = $data['from'];
|
||||||
@ -64,7 +64,7 @@ switch ($action->type)
|
|||||||
echo $action->get_response_xml($messages);
|
echo $action->get_response_xml($messages);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case KalSMS::ACTION_SEND_STATUS:
|
case EnvayaSMS::ACTION_SEND_STATUS:
|
||||||
|
|
||||||
$id = $action->id;
|
$id = $action->id;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlarmManager;
|
import android.app.AlarmManager;
|
||||||
@ -36,9 +36,9 @@ import org.apache.http.params.BasicHttpParams;
|
|||||||
import org.apache.http.params.HttpConnectionParams;
|
import org.apache.http.params.HttpConnectionParams;
|
||||||
import org.apache.http.params.HttpParams;
|
import org.apache.http.params.HttpParams;
|
||||||
import org.apache.http.params.HttpProtocolParams;
|
import org.apache.http.params.HttpProtocolParams;
|
||||||
import org.envaya.kalsms.receiver.OutgoingMessagePoller;
|
import org.envaya.sms.receiver.OutgoingMessagePoller;
|
||||||
import org.envaya.kalsms.task.HttpTask;
|
import org.envaya.sms.task.HttpTask;
|
||||||
import org.envaya.kalsms.task.PollerTask;
|
import org.envaya.sms.task.PollerTask;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
|
|
||||||
@ -55,12 +55,12 @@ public final class App extends Application {
|
|||||||
public static final String MESSAGE_TYPE_MMS = "mms";
|
public static final String MESSAGE_TYPE_MMS = "mms";
|
||||||
public static final String MESSAGE_TYPE_SMS = "sms";
|
public static final String MESSAGE_TYPE_SMS = "sms";
|
||||||
|
|
||||||
public static final String LOG_NAME = "KALSMS";
|
public static final String LOG_NAME = "EnvayaSMS";
|
||||||
|
|
||||||
// intent to signal to Main activity (if open) that log has changed
|
// intent to signal to Main activity (if open) that log has changed
|
||||||
public static final String LOG_INTENT = "org.envaya.kalsms.LOG";
|
public static final String LOG_INTENT = "org.envaya.sms.LOG";
|
||||||
|
|
||||||
public static final String QUERY_EXPANSION_PACKS_INTENT = "org.envaya.kalsms.QUERY_EXPANSION_PACKS";
|
public static final String QUERY_EXPANSION_PACKS_INTENT = "org.envaya.sms.QUERY_EXPANSION_PACKS";
|
||||||
public static final String QUERY_EXPANSION_PACKS_EXTRA_PACKAGES = "packages";
|
public static final String QUERY_EXPANSION_PACKS_EXTRA_PACKAGES = "packages";
|
||||||
|
|
||||||
// Interface for sending outgoing messages to expansion packs
|
// Interface for sending outgoing messages to expansion packs
|
||||||
@ -71,15 +71,15 @@ public final class App extends Application {
|
|||||||
|
|
||||||
// intent for MessageStatusNotifier to receive status updates for outgoing SMS
|
// intent for MessageStatusNotifier to receive status updates for outgoing SMS
|
||||||
// (even if sent by an expansion pack)
|
// (even if sent by an expansion pack)
|
||||||
public static final String MESSAGE_STATUS_INTENT = "org.envaya.kalsms.MESSAGE_STATUS";
|
public static final String MESSAGE_STATUS_INTENT = "org.envaya.sms.MESSAGE_STATUS";
|
||||||
|
|
||||||
public static final int MAX_DISPLAYED_LOG = 4000;
|
public static final int MAX_DISPLAYED_LOG = 4000;
|
||||||
public static final int LOG_TIMESTAMP_INTERVAL = 60000;
|
public static final int LOG_TIMESTAMP_INTERVAL = 60000;
|
||||||
|
|
||||||
// Each QueuedMessage is identified within our internal Map by its Uri.
|
// Each QueuedMessage is identified within our internal Map by its Uri.
|
||||||
// Currently QueuedMessage instances are only available within KalSMS,
|
// Currently QueuedMessage instances are only available within EnvayaSMS,
|
||||||
// (but they could be made available to other applications later via a ContentProvider)
|
// (but they could be made available to other applications later via a ContentProvider)
|
||||||
public static final Uri CONTENT_URI = Uri.parse("content://org.envaya.kalsms");
|
public static final Uri CONTENT_URI = Uri.parse("content://org.envaya.sms");
|
||||||
public static final Uri INCOMING_URI = Uri.withAppendedPath(CONTENT_URI, "incoming");
|
public static final Uri INCOMING_URI = Uri.withAppendedPath(CONTENT_URI, "incoming");
|
||||||
public static final Uri OUTGOING_URI = Uri.withAppendedPath(CONTENT_URI, "outgoing");
|
public static final Uri OUTGOING_URI = Uri.withAppendedPath(CONTENT_URI, "outgoing");
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ public final class App extends Application {
|
|||||||
|
|
||||||
private PackageInfo packageInfo;
|
private PackageInfo packageInfo;
|
||||||
|
|
||||||
// list of package names (e.g. org.envaya.kalsms, or org.envaya.kalsms.packXX)
|
// list of package names (e.g. org.envaya.sms, or org.envaya.sms.packXX)
|
||||||
// for this package and all expansion packs
|
// for this package and all expansion packs
|
||||||
private List<String> outgoingMessagePackages = new ArrayList<String>();
|
private List<String> outgoingMessagePackages = new ArrayList<String>();
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
//
|
//
|
||||||
// Please contact the author if you need another license.
|
// Please contact the author if you need another license.
|
||||||
// This module is provided "as is", without warranties of any kind.
|
// This module is provided "as is", without warranties of any kind.
|
||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Base64 encoder/decoder.
|
* A Base64 encoder/decoder.
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.app.IntentService;
|
import android.app.IntentService;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@ -39,7 +39,7 @@ public class CheckMmsInboxService extends IntentService
|
|||||||
{
|
{
|
||||||
app.log("New MMS id=" + mms.getId() + " in inbox");
|
app.log("New MMS id=" + mms.getId() + " in inbox");
|
||||||
// prevent forwarding MMS messages that existed in inbox
|
// prevent forwarding MMS messages that existed in inbox
|
||||||
// before KalSMS started, or re-forwarding MMS multiple
|
// before EnvayaSMS started, or re-forwarding MMS multiple
|
||||||
// times if we don't delete them.
|
// times if we don't delete them.
|
||||||
mmsUtils.markOldMms(mms);
|
mmsUtils.markOldMms(mms);
|
||||||
|
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
@ -26,7 +26,8 @@ import android.util.Log;
|
|||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import org.envaya.kalsms.ui.Main;
|
import org.envaya.sms.R;
|
||||||
|
import org.envaya.sms.ui.Main;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Service running in foreground to make sure App instance stays
|
* Service running in foreground to make sure App instance stays
|
||||||
@ -162,7 +163,7 @@ public class ForegroundService extends Service {
|
|||||||
new Intent(this, Main.class), 0);
|
new Intent(this, Main.class), 0);
|
||||||
|
|
||||||
notification.setLatestEventInfo(this,
|
notification.setLatestEventInfo(this,
|
||||||
"KalSMS running",
|
"EnvayaSMS running",
|
||||||
text, contentIntent);
|
text, contentIntent);
|
||||||
|
|
||||||
startForegroundCompat(R.string.service_started, notification);
|
startForegroundCompat(R.string.service_started, notification);
|
@ -1,8 +1,8 @@
|
|||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import org.envaya.kalsms.receiver.IncomingMessageRetry;
|
import org.envaya.sms.receiver.IncomingMessageRetry;
|
||||||
|
|
||||||
public abstract class IncomingMessage extends QueuedMessage {
|
public abstract class IncomingMessage extends QueuedMessage {
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -12,7 +12,7 @@ import org.apache.http.entity.mime.FormBodyPart;
|
|||||||
import org.apache.http.entity.mime.content.ByteArrayBody;
|
import org.apache.http.entity.mime.content.ByteArrayBody;
|
||||||
import org.apache.http.entity.mime.content.ContentBody;
|
import org.apache.http.entity.mime.content.ContentBody;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.envaya.kalsms.task.ForwarderTask;
|
import org.envaya.sms.task.ForwarderTask;
|
||||||
|
|
||||||
public class IncomingMms extends IncomingMessage {
|
public class IncomingMms extends IncomingMessage {
|
||||||
List<MmsPart> parts;
|
List<MmsPart> parts;
|
@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.telephony.SmsMessage;
|
import android.telephony.SmsMessage;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.envaya.kalsms.task.ForwarderTask;
|
import org.envaya.sms.task.ForwarderTask;
|
||||||
|
|
||||||
|
|
||||||
public class IncomingSms extends IncomingMessage {
|
public class IncomingSms extends IncomingMessage {
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import java.io.File;
|
import java.io.File;
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
@ -146,7 +146,7 @@ public class MmsUtils
|
|||||||
// remove id from set because Messaging app reuses ids
|
// remove id from set because Messaging app reuses ids
|
||||||
// of deleted messages.
|
// of deleted messages.
|
||||||
// TODO: handle reuse of IDs deleted directly through Messaging
|
// TODO: handle reuse of IDs deleted directly through Messaging
|
||||||
// app while KalSMS is running
|
// app while EnvayaSMS is running
|
||||||
seenMmsIds.remove(id);
|
seenMmsIds.remove(id);
|
||||||
}
|
}
|
||||||
else
|
else
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import org.envaya.kalsms.receiver.OutgoingMessageRetry;
|
import org.envaya.sms.receiver.OutgoingMessageRetry;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms;
|
package org.envaya.sms;
|
||||||
|
|
||||||
import android.app.AlarmManager;
|
import android.app.AlarmManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
@ -1,9 +1,9 @@
|
|||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
|
|
||||||
public class ExpansionPackInstallReceiver extends BroadcastReceiver
|
public class ExpansionPackInstallReceiver extends BroadcastReceiver
|
||||||
{
|
{
|
@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
|
|
||||||
public class IncomingMessageRetry extends BroadcastReceiver
|
public class IncomingMessageRetry extends BroadcastReceiver
|
||||||
{
|
{
|
@ -2,13 +2,13 @@
|
|||||||
* To change this template, choose Tools | Templates
|
* To change this template, choose Tools | Templates
|
||||||
* and open the template in the editor.
|
* and open the template in the editor.
|
||||||
*/
|
*/
|
||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
|
|
||||||
public class MessageStatusNotifier extends BroadcastReceiver {
|
public class MessageStatusNotifier extends BroadcastReceiver {
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
|
|
||||||
public class OutgoingMessagePoller extends BroadcastReceiver {
|
public class OutgoingMessagePoller extends BroadcastReceiver {
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
|
|
||||||
public class OutgoingMessageRetry extends BroadcastReceiver
|
public class OutgoingMessageRetry extends BroadcastReceiver
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
@ -6,7 +6,7 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.telephony.SmsManager;
|
import android.telephony.SmsManager;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
|
|
||||||
public class OutgoingSmsReceiver extends BroadcastReceiver {
|
public class OutgoingSmsReceiver extends BroadcastReceiver {
|
||||||
@Override
|
@Override
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms.receiver;
|
package org.envaya.sms.receiver;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -7,9 +7,9 @@ import android.os.Bundle;
|
|||||||
import android.telephony.SmsMessage;
|
import android.telephony.SmsMessage;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.IncomingMessage;
|
import org.envaya.sms.IncomingMessage;
|
||||||
import org.envaya.kalsms.IncomingSms;
|
import org.envaya.sms.IncomingSms;
|
||||||
|
|
||||||
|
|
||||||
public class SmsReceiver extends BroadcastReceiver {
|
public class SmsReceiver extends BroadcastReceiver {
|
@ -1,10 +1,10 @@
|
|||||||
package org.envaya.kalsms.task;
|
package org.envaya.sms.task;
|
||||||
|
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.IncomingMessage;
|
import org.envaya.sms.IncomingMessage;
|
||||||
import org.envaya.kalsms.OutgoingMessage;
|
import org.envaya.sms.OutgoingMessage;
|
||||||
|
|
||||||
public class ForwarderTask extends HttpTask {
|
public class ForwarderTask extends HttpTask {
|
||||||
|
|
@ -2,7 +2,7 @@
|
|||||||
* To change this template, choose Tools | Templates
|
* To change this template, choose Tools | Templates
|
||||||
* and open the template in the editor.
|
* and open the template in the editor.
|
||||||
*/
|
*/
|
||||||
package org.envaya.kalsms.task;
|
package org.envaya.sms.task;
|
||||||
|
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -31,9 +31,9 @@ import org.apache.http.impl.client.DefaultHttpClient;
|
|||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.apache.http.params.HttpParams;
|
import org.apache.http.params.HttpParams;
|
||||||
import org.apache.http.params.HttpProtocolParams;
|
import org.apache.http.params.HttpProtocolParams;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.Base64Coder;
|
import org.envaya.sms.Base64Coder;
|
||||||
import org.envaya.kalsms.OutgoingMessage;
|
import org.envaya.sms.OutgoingMessage;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
@ -136,7 +136,7 @@ public class HttpTask extends AsyncTask<String, Void, HttpResponse> {
|
|||||||
|
|
||||||
String signature = getSignature();
|
String signature = getSignature();
|
||||||
|
|
||||||
post.setHeader("X-Kalsms-Signature", signature);
|
post.setHeader("X-Request-Signature", signature);
|
||||||
|
|
||||||
HttpResponse response = client.execute(post);
|
HttpResponse response = client.execute(post);
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms.task;
|
package org.envaya.sms.task;
|
||||||
|
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.OutgoingMessage;
|
import org.envaya.sms.OutgoingMessage;
|
||||||
|
|
||||||
public class PollerTask extends HttpTask {
|
public class PollerTask extends HttpTask {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms.ui;
|
package org.envaya.sms.ui;
|
||||||
|
|
||||||
// from http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/
|
// from http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/
|
||||||
// package fr.marvinlabs.widget;
|
// package fr.marvinlabs.widget;
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
package org.envaya.kalsms.ui;
|
package org.envaya.sms.ui;
|
||||||
|
|
||||||
import android.app.ListActivity;
|
import android.app.ListActivity;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
@ -9,10 +9,10 @@ import android.util.SparseBooleanArray;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.SimpleCursorAdapter;
|
import android.widget.SimpleCursorAdapter;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.IncomingMessage;
|
import org.envaya.sms.IncomingMessage;
|
||||||
import org.envaya.kalsms.IncomingSms;
|
import org.envaya.sms.IncomingSms;
|
||||||
import org.envaya.kalsms.R;
|
import org.envaya.sms.R;
|
||||||
|
|
||||||
|
|
||||||
public class ForwardInbox extends ListActivity {
|
public class ForwardInbox extends ListActivity {
|
@ -1,11 +1,11 @@
|
|||||||
package org.envaya.kalsms.ui;
|
package org.envaya.sms.ui;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.R;
|
import org.envaya.sms.R;
|
||||||
|
|
||||||
public class Help extends Activity {
|
public class Help extends Activity {
|
||||||
|
|
||||||
@ -19,12 +19,12 @@ public class Help extends Activity {
|
|||||||
|
|
||||||
App app = (App)getApplication();
|
App app = (App)getApplication();
|
||||||
|
|
||||||
String html = "<b>KalSMS " + app.getPackageInfo().versionName + "</b><br /><br />"
|
String html = "<b>EnvayaSMS " + app.getPackageInfo().versionName + "</b><br /><br />"
|
||||||
+ "KalSMS is a SMS gateway.<br /><br /> "
|
+ "EnvayaSMS is a SMS gateway.<br /><br /> "
|
||||||
+ "It forwards all incoming SMS messages received by this phone to a server on the internet, "
|
+ "It forwards all incoming SMS messages received by this phone to a server on the internet, "
|
||||||
+ "and also sends outgoing SMS messages from that server to other phones.<br /><br />"
|
+ "and also sends outgoing SMS messages from that server to other phones.<br /><br />"
|
||||||
+ "(See https://kalsms.net for more information.)<br /><br />"
|
+ "(See https://kalsms.net for more information.)<br /><br />"
|
||||||
+ "The Settings screen allows you configure KalSMS to work with a particular server, "
|
+ "The Settings screen allows you configure EnvayaSMS to work with a particular server, "
|
||||||
+ "by entering the server URL, your phone number, "
|
+ "by entering the server URL, your phone number, "
|
||||||
+ "and the password assigned to your phone on the server.<br /><br />"
|
+ "and the password assigned to your phone on the server.<br /><br />"
|
||||||
+ "Menu icons cc/by www.androidicons.com<br /><br />";
|
+ "Menu icons cc/by www.androidicons.com<br /><br />";
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms.ui;
|
package org.envaya.sms.ui;
|
||||||
|
|
||||||
// from http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/
|
// from http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/
|
||||||
// package fr.marvinlabs.widget;
|
// package fr.marvinlabs.widget;
|
@ -1,6 +1,6 @@
|
|||||||
package org.envaya.kalsms.ui;
|
package org.envaya.sms.ui;
|
||||||
|
|
||||||
import org.envaya.kalsms.task.HttpTask;
|
import org.envaya.sms.task.HttpTask;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -18,10 +18,10 @@ import android.widget.TextView;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.IncomingMms;
|
import org.envaya.sms.IncomingMms;
|
||||||
import org.envaya.kalsms.MmsUtils;
|
import org.envaya.sms.MmsUtils;
|
||||||
import org.envaya.kalsms.R;
|
import org.envaya.sms.R;
|
||||||
|
|
||||||
public class Main extends Activity {
|
public class Main extends Activity {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms.ui;
|
package org.envaya.sms.ui;
|
||||||
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
||||||
@ -11,8 +11,8 @@ import android.preference.PreferenceScreen;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.provider.Settings.SettingNotFoundException;
|
import android.provider.Settings.SettingNotFoundException;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.R;
|
import org.envaya.sms.R;
|
||||||
|
|
||||||
public class Prefs extends PreferenceActivity implements OnSharedPreferenceChangeListener {
|
public class Prefs extends PreferenceActivity implements OnSharedPreferenceChangeListener {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package org.envaya.kalsms.ui;
|
package org.envaya.sms.ui;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.ListActivity;
|
import android.app.ListActivity;
|
||||||
@ -13,8 +13,8 @@ import android.widget.ArrayAdapter;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import org.envaya.kalsms.App;
|
import org.envaya.sms.App;
|
||||||
import org.envaya.kalsms.R;
|
import org.envaya.sms.R;
|
||||||
|
|
||||||
public class TestPhoneNumbers extends ListActivity {
|
public class TestPhoneNumbers extends ListActivity {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user