mirror of
https://github.com/cwyark/ameba-sdk-gcc-make.git
synced 2024-11-22 05:54:18 +00:00
245 lines
9.3 KiB
Text
245 lines
9.3 KiB
Text
|
04-13-2015
|
||
|
create new project
|
||
|
add list drawer ui
|
||
|
|
||
|
04-16-2015
|
||
|
add DeviceList class
|
||
|
+json array
|
||
|
+add device, remove device, save changes
|
||
|
|
||
|
add popup dialog menu and ImageListAdapter for myDevice fragment
|
||
|
+display option menu to "Rename Device" & "Remove Device" (UI only)
|
||
|
|
||
|
04-17-2015
|
||
|
update DeviceList class: map device from JSONArray to DeviceIcon ArrayList to display on UI
|
||
|
+getDeviceIcon() function
|
||
|
+getDeviceMac() function
|
||
|
+getDeviceDescription()
|
||
|
|
||
|
rename ImageItem class to DeviceIcon class, and
|
||
|
+ add attribute and getter/setter function of "mac"
|
||
|
|
||
|
add package jdb curve25519 to project
|
||
|
|
||
|
add Apache Commons Codec library commons-codec-1.9 to project
|
||
|
|
||
|
add Apache Commons Codec library commons-io-2.4 to project
|
||
|
|
||
|
04-17-2015
|
||
|
removed <android:layout_margin="5dp"> attribute in fragment_my_device.xml to fix the empty
|
||
|
gridview field problem when swipe-down
|
||
|
|
||
|
04-21-2015
|
||
|
increased api level to api-21
|
||
|
added test data to test MyDeviceFragment & FindDeviceFragment
|
||
|
|
||
|
changed all serviceInfo.getAttributes().get(KEY).toString() functions
|
||
|
|
||
|
04-22-2015:
|
||
|
add tcpClient & tcpController class
|
||
|
add NsdHelper
|
||
|
|
||
|
*note : this version is not working: nsd could not resolve txtRecord
|
||
|
|
||
|
04-23-2015:
|
||
|
removed android nsd, added JmDNS library, use JmDNS to discovery and resolve network service, now mDNS resolving runs as a AsyncTask
|
||
|
changed build minSdkVersion from 21 to 16
|
||
|
add Constants class, migrating all constant values to one place
|
||
|
|
||
|
04-27-2015:
|
||
|
moved nsd discovery to MainActivity
|
||
|
add a trackingList in DeviceList
|
||
|
|
||
|
04-27-2015
|
||
|
removed TcpController class
|
||
|
renamed TcpClient to TcpHelper, and reconstructed class functions
|
||
|
|
||
|
04-28-2015
|
||
|
changed commons-codec-1.9 to commons-codec-1.6-repack to resolve class name confilics
|
||
|
removed commons-io-2.4
|
||
|
add android:configChanges="screenSize|orientation" in manifest
|
||
|
|
||
|
04-29-2015
|
||
|
changed tcpThread class
|
||
|
changed tcp waiting time
|
||
|
move pairing function to another thread, now paring runs outside the UI thread
|
||
|
added a progress dialog when device pairing
|
||
|
|
||
|
05-05-2015
|
||
|
update UI: checking if the device is online every 1s in MyDeviceFragment : 1 if the device's control type is cloud, it will always be online. 2 if the device's control type is local, it will be online only if its mac,ip,port are all same in trackingList.
|
||
|
|
||
|
device will be added into trackingList if 1. the device is not added yet AND 2. its already in saved list AND 3.the conltorl type is local control
|
||
|
|
||
|
related function update: when repairing device (that ip or port changed): remove the device (with old ip or port) from DeviceList first and add the device (with new ip or port)
|
||
|
|
||
|
Changed the condition to add a device to tempList: 1) if the mac is not already in tempList AND 2) the mac is not found in saved list or the mac is found in the saved list but device's port or ip has changed
|
||
|
|
||
|
05-06-2015
|
||
|
added AES128 class
|
||
|
added HTSensorActivity class
|
||
|
|
||
|
05-08-2015
|
||
|
Major update:
|
||
|
|
||
|
changes in DeviceList:
|
||
|
added a new list: transientList
|
||
|
added trackingListFindDeviceOnline()
|
||
|
trackingListAddDevice->trackingListUpdate , tempListAddDevice->tempListUpdate
|
||
|
removeDevice() -> add transientListRemoveDevice(mac) & trackingListRemoveDevice(mac)
|
||
|
removed ip & port field in JSONArray, for local link, ip and port will be retrieved from txtRecord
|
||
|
|
||
|
changes in FindDeviceFragment:
|
||
|
in pairing():
|
||
|
added mDeviceList.transientListAddDevice
|
||
|
removed mDeviceList.tempListRemoveDevice
|
||
|
|
||
|
changes in NsdHelper:
|
||
|
in doInBackground():
|
||
|
turn on/off of mDNS discovery periodically
|
||
|
|
||
|
changes in TcpThread:
|
||
|
in run():
|
||
|
add a Thread.sleep()
|
||
|
|
||
|
05-11-2015.a:
|
||
|
updated: functions in trackingListFindDeviceOnline()
|
||
|
removed device list length check in both MyDeviceFragment & FindDeviceFragment - > UI is forced to update periodically
|
||
|
-- local link done
|
||
|
|
||
|
05-11-2015.b:
|
||
|
updated pairing() function, add support of pairing cloud controlled device
|
||
|
renamed all "firebaseAccount" to "firebaseAppId"
|
||
|
in FidDeviceFragment: + add getFirebaseAppId() function
|
||
|
add activity class : RegisterFirebaseAccountActivity
|
||
|
|
||
|
05-13-2015:
|
||
|
updated UI and function for cloud device pairing (need test):
|
||
|
if device is a cloud controlled device:
|
||
|
--> a pop up EditText dialog will prompt to user to enter the firebase app id
|
||
|
if user doesn't have a firebase account:
|
||
|
--> RegisterFirebaseAccountActivity will start and open firebase registration page
|
||
|
--> start pairing process (3-handshake-pairing)
|
||
|
else start pairing process directly (2-handshake-pairing)
|
||
|
|
||
|
investigate the JmDNS crash problem:
|
||
|
--> on/off mdns discovery service frequently can increase the change of crush
|
||
|
--> the cause of crush is related to listener socket binding
|
||
|
--> solution not found yet, debugging ...
|
||
|
|
||
|
05-15-2015.a:
|
||
|
important update:
|
||
|
JmDNS crash problem solved:
|
||
|
+JmDNS discovery service is turned on once and continuously checking txtRecord change
|
||
|
+JmDNS txtRecord update bug is solved by replacing "jmdns.jar" library to "javax" source code package
|
||
|
|
||
|
|
||
|
05-18-2015:
|
||
|
Fixed a bug:
|
||
|
jmdns registers on IPv4 interface, but broadcasts IPv6 query
|
||
|
update JmDNS functions:
|
||
|
added a multicast lock
|
||
|
passed ip and host name to jmdns constructor
|
||
|
co-respond update of user permissions:
|
||
|
add permission "android.permission.ACCESS_WIFI_STATE"
|
||
|
add permission "android.permission.CHANGE_WIFI_MULTICAST_STATE"
|
||
|
|
||
|
Update on UI:
|
||
|
switch to "my device" UI once pairing is done
|
||
|
checking device availability before start connection
|
||
|
|
||
|
05-20-2015:
|
||
|
Add cloud control -> receive data from firebase
|
||
|
|
||
|
Update on UI & function:
|
||
|
Check firebase app Id before pairing: firebase app id -> generate app URL -> use "GET" method check http response:
|
||
|
if response=200, process pairing, otherwise terminate pairing.
|
||
|
|
||
|
05-21-2015.a:
|
||
|
add a function to hang-up tcp thread:
|
||
|
tcp thread will stop polling command when pairing/local transaction is done
|
||
|
add json parser to parse data get form local control
|
||
|
get temperature and humidity data form json data
|
||
|
changes on functions:
|
||
|
HTSensorActivity --> handle onDestroy(), moved amebaLocalLink() off UI-thread
|
||
|
FindDeviceFragment--> in pairing() function: hang() tcpThread
|
||
|
MyDeviceFragment--> startAmebaActivity(): checking if cloud control (firebase app URL) is available before start activity
|
||
|
|
||
|
05-22-2015:
|
||
|
UI update:
|
||
|
add 2 types of icons for cloud devices -> now total 4 types of icons can be shown on UI : cloud-online, cloud-offline, local-online, local-offline
|
||
|
limit description for saved devices to two-lines
|
||
|
|
||
|
Function update:
|
||
|
renamed TcpThread -> to TcpClient : echo() function in tcp is no more an async tack -> stability is improved on Sony c2105
|
||
|
updated testConnection() method for local device, ping device with a predefined time-out, ping result is returned within 5s
|
||
|
handel firebase empty data exception
|
||
|
|
||
|
05-28-2015:
|
||
|
UI & Function update:
|
||
|
added Androidplot library
|
||
|
plot sensor readings in HTSensorActivity with anddroidplot APIs
|
||
|
Find an issue : map object returned from firebase failed to be casted into double data type, see to-do tag in HTSensorActivity
|
||
|
|
||
|
05-29-2015:
|
||
|
Function update:
|
||
|
ameba-side will now push sensor readings as string type to firebase, app casts the map object returned from firebase into string type and parse it into double
|
||
|
updated the method to set graph upper and lower boundaries in HTSensorActivity
|
||
|
UI update:
|
||
|
display real values on navigation drawer instead of using the hardcoded numbers
|
||
|
add an database icon on prompt firebase app id layout
|
||
|
|
||
|
|
||
|
06-04-2015:
|
||
|
Function Update:
|
||
|
Remove device: added an unpairing process before remove device from UI
|
||
|
UI Update:
|
||
|
Remove device: added a prompt to force remove device from UI once unpairing is failed
|
||
|
add an icon for rename-device-dialog
|
||
|
|
||
|
06-08-2015:
|
||
|
Function & UI Update:
|
||
|
added preference settings to H&T Sensor activity
|
||
|
|
||
|
06-09-2015:
|
||
|
Function update:
|
||
|
H&T Sensor activity applies settings form shared preference
|
||
|
UI update:
|
||
|
H&T sensor activity displays description as title on action bar
|
||
|
|
||
|
06-10-2015:
|
||
|
Function update:
|
||
|
Added play alarm function for cloud link in HTSensorActivity
|
||
|
Added "double click to quit" feature no MainActivity
|
||
|
|
||
|
06-16-2015:
|
||
|
UI update:
|
||
|
Overwrite onCreate() method for About/MyDevice/FindDevice Fragment to set corresponding title on action bar
|
||
|
|
||
|
06-17-2015:
|
||
|
Changed error code numbers in Constants class:
|
||
|
err_unknown_error = -9 --> err_unknown_error = -10
|
||
|
err_firebase_app_url_cannot_be_verified = -10 --> err_firebase_app_url_cannot_be_verified = -9
|
||
|
|
||
|
|
||
|
06-30-2015:
|
||
|
Renamed project from "AmebaZeroconf" to "WiGadget" updated package name & app name
|
||
|
Changed app launcher icon
|
||
|
|
||
|
07-16-2015:
|
||
|
Fixed a bug in HTSensorActivity class that can cause alarm sound keep playing in background when cloud-control is used
|
||
|
Changed animation of "finding device" in FindDevice fragment
|
||
|
|
||
|
08-04-2015:
|
||
|
Fixed bugs reported by QC:
|
||
|
1. Turn displayed device status to be "online" when reconnected to Ameba via local link
|
||
|
2. Toggle device icon to be "online" after local/cloud link ie reachable
|
||
|
|
||
|
08-05-2015:
|
||
|
updated UI & icons
|
||
|
|
||
|
08-06-2015:
|
||
|
Fixed a bug that can cause app hang during unpairing process: Added a connection checking before sending unpairing request to Ameba
|
||
|
|
||
|
08-21-2015:
|
||
|
updated ConnectionChecker class, user can use both "xxx" or "xxx.firebaseio.com" as firebase app id
|