fonbot.git
9 years agoBump version and add changelog 0.000_002
Marius Gavrilescu [Sun, 21 Sep 2014 08:24:08 +0000 (11:24 +0300)]
Bump version and add changelog

9 years agoLet users disable command confirmations over SMS
Marius Gavrilescu [Mon, 1 Sep 2014 21:49:14 +0000 (00:49 +0300)]
Let users disable command confirmations over SMS

Most FonBot commands confirm their execution with a short message, but
this can be wasteful is SMS messages are used. This commit adds a new
preference that disables confirmation messages if the command was sent
over SMS. Thanks to Valerio Bozzolan for the suggestion in bug 14.

9 years agoClean up sendMessage calls
Marius Gavrilescu [Mon, 1 Sep 2014 21:28:50 +0000 (00:28 +0300)]
Clean up sendMessage calls

9 years agoAdd SMSQ command that skips delivery reports
Marius Gavrilescu [Mon, 1 Sep 2014 20:47:33 +0000 (23:47 +0300)]
Add SMSQ command that skips delivery reports

9 years agoFix GETFILE documentation and reply when a command is undocumented
Marius Gavrilescu [Mon, 1 Sep 2014 20:19:44 +0000 (23:19 +0300)]
Fix GETFILE documentation and reply when a command is undocumented

9 years agoAdd SH and ROOTSH commands
Marius Gavrilescu [Tue, 26 Aug 2014 11:39:22 +0000 (14:39 +0300)]
Add SH and ROOTSH commands

9 years agoMove to /system/priv-app instead of /system/app when api level >= 19
Marius Gavrilescu [Mon, 25 Aug 2014 11:21:21 +0000 (14:21 +0300)]
Move to /system/priv-app instead of /system/app when api level >= 19

9 years agoExecute commands received via SMS on the main service
Marius Gavrilescu [Mon, 25 Aug 2014 10:54:48 +0000 (13:54 +0300)]
Execute commands received via SMS on the main service

Until now, commands received via SMS were executed on the
BroadcastReceiver, breaking some commands (such as speak). Thanks to
Valerio Bozzolan for reporting this issue.

9 years agoFix reboot
Marius Gavrilescu [Mon, 25 Aug 2014 10:53:44 +0000 (13:53 +0300)]
Fix reboot

9 years agoUse permission BLUETOOTH_ADMIN in AndroidManifest.xml
Marius Gavrilescu [Tue, 19 Aug 2014 21:55:08 +0000 (00:55 +0300)]
Use permission BLUETOOTH_ADMIN in AndroidManifest.xml

Oversight reported by Valerio Bozzolan in bug 1

9 years agoCall reboot command as root if PowerManager#reboot fails
Marius Gavrilescu [Tue, 19 Aug 2014 21:53:33 +0000 (00:53 +0300)]
Call reboot command as root if PowerManager#reboot fails

This should resolve bug 1, reported by treaki.

9 years agoSplit text messages in sendMessage
Marius Gavrilescu [Tue, 19 Aug 2014 21:08:13 +0000 (00:08 +0300)]
Split text messages in sendMessage

This way messages longer than 140 characters are sent correctly
instead of being discarded. Thanks to Valerio Bozzolan for reporting
bug 11.

9 years agoUpdate target to android-19
Marius Gavrilescu [Tue, 19 Aug 2014 20:58:43 +0000 (23:58 +0300)]
Update target to android-19

10 years agoBump version code to 1 0.000_001
Marius Gavrilescu [Tue, 15 Oct 2013 21:39:08 +0000 (00:39 +0300)]
Bump version code to 1

10 years agoSet version to 0.000_001
Marius Gavrilescu [Wed, 2 Oct 2013 09:04:21 +0000 (12:04 +0300)]
Set version to 0.000_001

10 years agoMake FonBot usable
Marius Gavrilescu [Wed, 2 Oct 2013 09:00:45 +0000 (12:00 +0300)]
Make FonBot usable

This commit fixes the worst bug in FonBot. Before this, the long polling
service stopped when the request returned with HTTP 504 Gateway Timeout.

This no longer happens, so FonBot is finally usable.

The first version will be released soon

10 years agoRemove some unnecessary permissions
Marius Gavrilescu [Mon, 30 Sep 2013 12:30:38 +0000 (15:30 +0300)]
Remove some unnecessary permissions

10 years agoFix sms sent/received notifications
Marius Gavrilescu [Mon, 30 Sep 2013 12:29:51 +0000 (15:29 +0300)]
Fix sms sent/received notifications

10 years agoMake FonBot more reliable
Marius Gavrilescu [Sat, 31 Aug 2013 19:29:41 +0000 (22:29 +0300)]
Make FonBot more reliable

Reading from sockets now times out after 24 minutes, fixing the
major bug when FonBot would stop responding to commands after
some time of not using it.

The other change in this commit is that ExecutableRunnables are retried
at each service ping.

10 years agoThrow NPE when toNonNull gets a null
Marius Gavrilescu [Sat, 10 Aug 2013 11:32:05 +0000 (14:32 +0300)]
Throw NPE when toNonNull gets a null

10 years agoAllow SMSes to/from null numbers
Marius Gavrilescu [Fri, 9 Aug 2013 20:29:01 +0000 (23:29 +0300)]
Allow SMSes to/from null numbers

10 years agoRevert "Prevent against future use-up-lots-of-mobile-data bugs"
Marius Gavrilescu [Fri, 9 Aug 2013 18:44:53 +0000 (21:44 +0300)]
Revert "Prevent against future use-up-lots-of-mobile-data bugs"

This reverts commit 471a079f9631cd86c0f510b1277c80d040b943fb.

10 years agoPrevent against future use-up-lots-of-mobile-data bugs
Marius Gavrilescu [Sun, 4 Aug 2013 05:43:08 +0000 (08:43 +0300)]
Prevent against future use-up-lots-of-mobile-data bugs

10 years agoFix detection of empty username or passwords
Marius Gavrilescu [Sat, 3 Aug 2013 20:25:22 +0000 (23:25 +0300)]
Fix detection of empty username or passwords

10 years agoUpdate the POLL command's documentation
Marius Gavrilescu [Wed, 31 Jul 2013 05:24:13 +0000 (08:24 +0300)]
Update the POLL command's documentation

10 years agoStop long polling on error
Marius Gavrilescu [Wed, 31 Jul 2013 05:20:52 +0000 (08:20 +0300)]
Stop long polling on error

10 years agoDo not crash when takePicture fails
Marius Gavrilescu [Wed, 31 Jul 2013 05:08:27 +0000 (08:08 +0300)]
Do not crash when takePicture fails

10 years agoSend all sms messages from the main thread
Marius Gavrilescu [Mon, 29 Jul 2013 08:51:36 +0000 (11:51 +0300)]
Send all sms messages from the main thread

10 years agoUpdate help screen
Marius Gavrilescu [Mon, 29 Jul 2013 08:42:15 +0000 (11:42 +0300)]
Update help screen

10 years agoLet user disable showing ongoing events
Marius Gavrilescu [Mon, 29 Jul 2013 08:40:31 +0000 (11:40 +0300)]
Let user disable showing ongoing events

10 years agoDo not "fix" HTTP message when not broken
Marius Gavrilescu [Mon, 29 Jul 2013 08:29:37 +0000 (11:29 +0300)]
Do not "fix" HTTP message when not broken

10 years agoMake server protocol configurable
Marius Gavrilescu [Mon, 29 Jul 2013 08:26:13 +0000 (11:26 +0300)]
Make server protocol configurable

10 years agoAdd request ID
Marius Gavrilescu [Sun, 28 Jul 2013 15:24:25 +0000 (18:24 +0300)]
Add request ID

Each HTTP Address now sports an optional request ID, which is prepended
to each message sent to that address.

10 years agoAdd partially-functioning getfile command
Marius Gavrilescu [Sun, 28 Jul 2013 10:52:17 +0000 (13:52 +0300)]
Add partially-functioning getfile command

10 years agoLet the user choose which camera to take photos with
Marius Gavrilescu [Sat, 27 Jul 2013 15:25:43 +0000 (18:25 +0300)]
Let the user choose which camera to take photos with

10 years agoAdd OSM links to location updates
Marius Gavrilescu [Sat, 27 Jul 2013 14:24:45 +0000 (17:24 +0300)]
Add OSM links to location updates

10 years agoRemove some remaining GCM parts
Marius Gavrilescu [Sat, 27 Jul 2013 13:35:23 +0000 (16:35 +0300)]
Remove some remaining GCM parts

10 years agoHandle HTTP 401 and beautify HTTP messages
Marius Gavrilescu [Sat, 27 Jul 2013 07:18:26 +0000 (10:18 +0300)]
Handle HTTP 401 and beautify HTTP messages

10 years agoSet default server port to 7777
Marius Gavrilescu [Sat, 27 Jul 2013 06:59:47 +0000 (09:59 +0300)]
Set default server port to 7777

10 years agoReplace GCM and polling with long polling
Marius Gavrilescu [Sat, 27 Jul 2013 06:55:02 +0000 (09:55 +0300)]
Replace GCM and polling with long polling

* Remove everything related to GCM
* Remove simple polling and related things (such as the Poll server
  on screen on pref)
* Add long polling

10 years agoSet target to android 18
Marius Gavrilescu [Sat, 27 Jul 2013 06:12:06 +0000 (09:12 +0300)]
Set target to android 18

10 years agoAdd BOOT notification
Marius Gavrilescu [Fri, 26 Jul 2013 15:44:31 +0000 (18:44 +0300)]
Add BOOT notification

10 years agoAdd torch command
Marius Gavrilescu [Fri, 26 Jul 2013 10:36:35 +0000 (13:36 +0300)]
Add torch command

10 years agoAdd screencap command
Marius Gavrilescu [Fri, 26 Jul 2013 10:03:41 +0000 (13:03 +0300)]
Add screencap command

10 years agoAdd ACCESS_SUPERUSER permission
Marius Gavrilescu [Thu, 25 Jul 2013 17:58:56 +0000 (20:58 +0300)]
Add ACCESS_SUPERUSER permission

10 years agoClear status image when checking connectivity
Marius Gavrilescu [Mon, 8 Jul 2013 06:54:08 +0000 (09:54 +0300)]
Clear status image when checking connectivity

10 years agoConvert to Ant from Eclipse
Marius Gavrilescu [Mon, 8 Jul 2013 06:26:46 +0000 (09:26 +0300)]
Convert to Ant from Eclipse

10 years agoRemove the SHUTDOWN command
Marius Gavrilescu [Sun, 16 Jun 2013 19:32:27 +0000 (22:32 +0300)]
Remove the SHUTDOWN command

10 years agoDo some PMD-driven cleanups
Marius Gavrilescu [Sun, 16 Jun 2013 19:25:58 +0000 (22:25 +0300)]
Do some PMD-driven cleanups

10 years agoRemove trust managers from HttpCallExecutableRunnable
Marius Gavrilescu [Fri, 31 May 2013 20:29:45 +0000 (23:29 +0300)]
Remove trust managers from HttpCallExecutableRunnable

They are useless now, as we can assume that all servers use a trusted SSL
certificate.

10 years agoChange default server port to 443
Marius Gavrilescu [Fri, 31 May 2013 20:16:28 +0000 (23:16 +0300)]
Change default server port to 443

11 years agoMake location updates cancelable
Marius Gavrilescu [Fri, 5 Apr 2013 22:05:37 +0000 (01:05 +0300)]
Make location updates cancelable

LocationManager instances are now got from the application context,
so canceling always works.

11 years agoFix some messages
Marius Gavrilescu [Sat, 30 Mar 2013 11:09:44 +0000 (13:09 +0200)]
Fix some messages

The location messages lacked a space and the command disabled
message was incorrect. These were fixed.

11 years agoFix the service notification
Marius Gavrilescu [Wed, 27 Mar 2013 09:03:51 +0000 (11:03 +0200)]
Fix the service notification

The service notification is no longer updated on each service call, and the InboxStyle finally works.

11 years agoConvert HashSet to EnumSet for better performance
Marius Gavrilescu [Tue, 26 Mar 2013 11:53:50 +0000 (13:53 +0200)]
Convert HashSet to EnumSet for better performance

11 years agoRemove LocalBroadcastReceiver
Marius Gavrilescu [Tue, 26 Mar 2013 10:55:05 +0000 (12:55 +0200)]
Remove LocalBroadcastReceiver

Since adding FonBotMainService#ACTION_TRIGGER_POLL, LocalBroadcastReceiver became useless, as the alarm can directly poll via the service.

11 years agoFix the notify command help
Marius Gavrilescu [Mon, 25 Mar 2013 07:46:59 +0000 (09:46 +0200)]
Fix the notify command help

The notify command now has help text and it no longer fails when calling it with a wrong number of arguments

11 years agoDon't call pollServer from a BroadcastRecevier
Marius Gavrilescu [Mon, 25 Mar 2013 06:59:00 +0000 (08:59 +0200)]
Don't call pollServer from a BroadcastRecevier

LocalBroadcastRecevier and DynamicBroadcastRecevier used to call pollServer directly. Thus, processCommand was called from a BroadcastRecevier context, which broke some commands (e.g. SPEAK). Now, they call a new function, safePollServer, which calls pollServer from FonBotMainService.

11 years agoAdd retries to message sending
Marius Gavrilescu [Sat, 23 Mar 2013 11:56:06 +0000 (13:56 +0200)]
Add retries to message sending

HttpCallExecutableRunnable now takes a new parameter which determines whether it should be retried if it fails. The flag is currently set for calls that send messages to the user (since these are very important).

11 years agoMake ExecutableRunnable usable
Marius Gavrilescu [Sat, 23 Mar 2013 11:54:39 +0000 (13:54 +0200)]
Make ExecutableRunnable usable

First of all, the retry mechanism did not work at all until now (if a task was retried ExecutableRunnable would stack overflow).

Secondly, ExecutableRunnable now prevents retryTasks from being called too frequently. If it detects that retryTasks was called twice in 30 seconds, it reschedules the call 30 seconds later.

11 years agoDo not go OOM on malformed poll result
Marius Gavrilescu [Fri, 22 Mar 2013 22:03:39 +0000 (00:03 +0200)]
Do not go OOM on malformed poll result

A bug in the server caused it to send a single space as the response to a poll. This space was stored into a fixed-size 4MB string and passed to the json.org library, which finally OOMed. The string is variable-size and the maximum size was lowered to 2MB.

11 years agoCheck the SSL certificate if the server is fonbot.ieval.ro
Marius Gavrilescu [Fri, 22 Mar 2013 11:56:16 +0000 (13:56 +0200)]
Check the SSL certificate if the server is fonbot.ieval.ro

If the server hostname is fonbot.ieval.ro, the app now checks if the certificate signature is equal to a hardcoded value, and it fails if it's not.

This will work well until Nov 29 11:07:58 2026 GMT, when the certificate will expire.

11 years agoDrop Utils#parseHttpMessage
Marius Gavrilescu [Fri, 22 Mar 2013 11:22:38 +0000 (13:22 +0200)]
Drop Utils#parseHttpMessage

The new modperl-based server does not send weird response messages, so the response message can be used without being transformed by this method.

11 years agoConvert everything to HTTPS
Marius Gavrilescu [Fri, 22 Mar 2013 11:20:44 +0000 (13:20 +0200)]
Convert everything to HTTPS

HttpCallExecutableRunnable and others now use HTTPS instead of HTTP. The default server hostname was also changed to fonbot.ieval.ro.

11 years agoHandle multi-line SMSes in SmsReceiver
Marius Gavrilescu [Fri, 22 Mar 2013 11:10:01 +0000 (13:10 +0200)]
Handle multi-line SMSes in SmsReceiver

11 years agoFix a bug in making FonBot a user/system app
Marius Gavrilescu [Thu, 14 Mar 2013 15:10:49 +0000 (17:10 +0200)]
Fix a bug in making FonBot a user/system app

If FonBot was moved to /system and then updated, it will have apks in
both /system/app and /data/app and ApplicationInfo.sourceDir will point
to the second one.

11 years agoFix NPE in HCER when callback == null and connection errors
Marius Gavrilescu [Thu, 14 Mar 2013 14:52:20 +0000 (16:52 +0200)]
Fix NPE in HCER when callback == null and connection errors

If the connection error'd, HttpCallExecutableRunnable would call
callback.onError even if the callback was null. This is fixed now.

11 years agoRemove the login broadcast
Marius Gavrilescu [Tue, 12 Mar 2013 16:39:53 +0000 (18:39 +0200)]
Remove the login broadcast

The login status is now updated directly in the ResultCallback, so
the login broadcast is no longer needed.

11 years agoMerge SendHttpMessageAsyncTask and PollServerAsyncTask
Marius Gavrilescu [Tue, 12 Mar 2013 16:27:54 +0000 (18:27 +0200)]
Merge SendHttpMessageAsyncTask and PollServerAsyncTask

The resulting class is named HttpCallExxecutableRunnable. It uses
the new ExecutableRunnable class and lets the users make a HTTP
call to a server URL and pass in a callback to use the response.

11 years agoAdd ExecutableRunnable
Marius Gavrilescu [Tue, 12 Mar 2013 16:16:34 +0000 (18:16 +0200)]
Add ExecutableRunnable

ExecutableRunnable is a lightweight replacement for AsyncTask.

It does not support onPreExecute()/onPostExecute() or showing progress,
but it can be ran multiple times and retried if it fails.

11 years agoImprove JSON parsing
Marius Gavrilescu [Tue, 12 Mar 2013 08:56:52 +0000 (10:56 +0200)]
Improve JSON parsing

Command arguments are now represented as JSON arrays, and the
JSON parsing code uses less memory. Previous versions can no
longer receive commands, since they expect command arguments in
the old arg0, arg1, ... form.

11 years agoRemove the global FonBotApplication instance.
Marius Gavrilescu [Mon, 11 Mar 2013 16:02:23 +0000 (18:02 +0200)]
Remove the global FonBotApplication instance.

11 years agoUpgrade to the latest server protocol.
Marius Gavrilescu [Mon, 11 Mar 2013 15:27:54 +0000 (17:27 +0200)]
Upgrade to the latest server protocol.

Server protocol changes:
* All server requests use Basic access authentication
* There is no more X-Action. Server paths are used instead:
- /send for sending messages, with the destination address
in the X-Destination header.
- /ok for doing nothing. Used for the main activity login status.

Other minor changes:
* Centered the resultTextView in main.xml.
* Utils#parseHttpMessage can parse messages like "(text)".

11 years agoMake custom server work when polling
Marius Gavrilescu [Wed, 6 Mar 2013 22:08:38 +0000 (00:08 +0200)]
Make custom server work when polling

Until now, the custom server hostname:port were only used in
SendHttpMessageAsyncTask, while PollServerAsyncTask used the
hardcoded http://ieval.ro:7777/get.

11 years agoLet user change server hostname/port
Marius Gavrilescu [Tue, 5 Mar 2013 22:32:22 +0000 (00:32 +0200)]
Let user change server hostname/port

11 years agoInitial commit
Marius Gavrilescu [Tue, 5 Mar 2013 19:12:17 +0000 (21:12 +0200)]
Initial commit

This page took 0.028142 seconds and 4 git commands to generate.