MarschOSX / Responder

Senior Design I project for an Android auto-response application
0 stars 0 forks source link

Martin's Jorunal #10

Closed MarschOSX closed 8 years ago

MarschOSX commented 8 years ago

This is my weekly journal of progress, updates will be comments listed below!

MarschOSX commented 8 years ago

Research performed -Walking through Android Studio Tutorials: (https://developer.android.com/training/index.html)

Design work -Getting Emulator to run my practice application, fixing BIOS and importing emulator software -Sketching UI Diagram for understanding the view part of our app -Set up environment to begin UML diagram (on machine but will use GitHub for commits) -Writing in Issues in GitHub issue tracker for work distribution towards a minimal working system -Creating a local application practicing with AVS (this is local on my machine will show in class) -Actively push commits from AVS to GitHub (https://github.com/MarschOSX/Responder/commit/4a31264e7f6f69ff2c7a39e068e808f0fce1db89)

MarschOSX commented 8 years ago

Research Preformed -More walking through Android Studio Tutorials: (https://developer.android.com/training/index.html)

Design work -Created first draft of UML Diagram and pushed to Github, available locally on my machine(40b9c8fe3f99f5946f4e5b13bba3ebcd1b1d9a57) -Continued to edit/add issues in issue tracker -Created our actual application using UI diagrams we drew -Created activities with buttons that link together -Further local practice in AVS -Also set up Genymotion Emulator for app

MarschOSX commented 8 years ago

Research Preformed -http://stackoverflow.com/questions/7089313/android-listen-for-incoming-sms-messages -http://www.sitepoint.com/how-to-handle-sms-in-android/

Design work -Deployed to a physical Android Phone -Fixed bug with custom time setting that would cause app to crash -Gathered information from user (general reply, timer delay, toggle off/on) -Respond to an incoming SMS via an EventHandler (this was difficult) -Send an SMS to hard coded (my) personal phone number -Upgraded android API level from 16--->19 -UI and UML Diagram updates

MarschOSX commented 8 years ago

Research Preformed -http://stackoverflow.com/questions/9378328/android-how-to-get-phone-number-from-a-incoming-sms -http://developer.android.com/reference/android/telephony/gsm/SmsMessage.html#getTimestampMillis -https://developer.android.com/training/testing/unit-testing/local-unit-tests.html Database Viewing: -http://stackoverflow.com/questions/18370219/how-to-use-adb-in-android-studio-to-view-an-sqlite-db -http://developer.android.com/tools/help/monitor.html

Design Work -Prepping DB access, need 4 things to push to DB and the same 4 to pull DB(https://github.com/MarschOSX/Responder/commit/ba4cda64d9a14e007af1f04e3db958b2246f7a13) -Garlan taught me the basics of the DB access, adding tables, columns, set/getters (https://github.com/MarschOSX/Responder/commit/898aaadbc4eac99da1fcb076906fe4fa6dbc2651) -Added delay response to prevent from spam responding -Able to access SQLLite DB from an Emulator and view the contents -refactored EventListener, EventHandler -Began to look up Unit testing methods for future unit tests -various bugs worked out

MarschOSX commented 8 years ago

Research Preformed http://evgenii.com/blog/testing-activity-in-android-studio-tutorial-part-1/ http://stackoverflow.com/questions/8017443/android-junit-test-fails-with-only-the-original-thread-that-created-a-view-hie http://stackoverflow.com/questions/5601730/should-private-protected-methods-be-under-unit-test http://rexstjohn.com/unit-testing-with-android-studio/ http://stackoverflow.com/questions/20299854/android-junit-test-broadcastreceiver-fails-on-abortbroadcast

Design Work With Garlan, we have created out Minimum Working System(https://github.com/MarschOSX/Responder/commit/1ce51c1ceafb68ad5bd00d43e15a8517078871ae) Implemented JUnit Tests for classes and variables important to our system(https://github.com/MarschOSX/Responder/commit/4b8276f1ceb876ef07820123ba71c20bf87a0aa5) Rework EventHandler after testing discovered bugs(https://github.com/MarschOSX/Responder/commit/f177d864f0a49e4aa06e1d10209c02d816010e6e) Fixed an issue that caused crashing when ReplyText was left blank Now able to validate phone numbers and message fields to prevent corrupt or blank SMS that would cause app to crash

MarschOSX commented 8 years ago

Research Preformed: http://www.androidhive.info/2011/10/android-listview-tutorial/ http://code.tutsplus.com/tutorials/android-essentials-using-the-contact-picker--mobile-2017 https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView http://android-er.blogspot.com/2012/11/get-phone-number-from-contacts-database.html

Design Work Created a Contact List UI(00876591ce316824cbdd706d41e01e6398940f61) Contact List can open individual activities on the selected contact via a scrolling TextView(2433482ddc3e79bea9957f01c2ab588b5323acbf) Upgraded the textView List to a ListView List for better handling and UI structure(dbbc6eb22ad2c60cfc62f73f69baa8ac542cfa01) Now able to access the Android Contact Picker and handle the contact selected, getting name and phone number data from it(01b33ee2a74b55f89b12656d55f81d524b8e272b)

MarschOSX commented 8 years ago

Research Preformed: http://stackoverflow.com/questions/4233873/how-to-get-extra-data-from-intent-in-android http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-in-android https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView http://developer.android.com/guide/topics/ui/notifiers/toasts.html

Design Work Helped debug a DB issue that caused app to crash at startup Contact List will be blank at start, and can populate from System Address Book, and will be updated with existing contacts in the database(61d3d1a71e65bf4d290dc0b97ed952cebc747e7a) Created the Single Contact activity to be populated based on the selected contact from the ListView(64de6b9b051c27ca83455713d082d444a737c17f) Added fields to Single Contact UI, not implemented yet (73dbad36f144c70f960965b5945dcb7e39c85942)

Outlined a game plan for this week, Contacts and its implementation into the system should be done soon!

MarschOSX commented 8 years ago

Design Work Huge dissusion of inheritance between contacts and groups, see other issue for more info Finished Contacts UI (c2c729940bdd23af8274eeaf4d7945b610922120) Started and Finished the Groups UI (184b8951e71104cfc473c202a92904a8fe714ccc) Connected buttons between the Groups and Settings to add/change/remove from eachother (a6e229b30c97d27d0897c341aae57882702e6f44) Added more JUnitTests (cde281898fca8af0ee01037d379908b6b5dada46)(8a9b21932fb8bc48c0d28e137c1f9227e38f8437) Prep for presentation of 50% working system

MarschOSX commented 8 years ago

Design Work Implemented Inheritance between Contacts and Groups (Custom and DEFUALT) (59b697bf1833b6e598bce0bfd208b129b3caa046) Polished Contacts UI (fd271d57e786be894a71b2e2151993ae8a7047ed) All back button presses correctly take user to corrected screen (3aa795a64faa1e3ad49eb4743e3bce092f8a59ae)(11481bc53d35c5e5263c0c533207b48f15046f44) Can now create new groups from inside a single contact (b17b948899e558f28a792c7ad79f7926e8a8fa53)

MarschOSX commented 8 years ago

Research Preformed: http://www.grokkingandroid.com/androids-calendarcontract-provider/ http://stackoverflow.com/questions/10069319/how-to-get-device-calendar-event-list-in-android-device http://stackoverflow.com/questions/10329500/sqlite-how-to-get-string-items-using-cursor-android

Design Work: Restructured EventHandler so we don't have duplicated checks with Inheritance(1eface3be05a091a581bbc52fc9c56e63af69a05) Successfully read an SMS to see if location or activity was requested Checked permissions of contact to see if we could reply with location/activity Replied with a static string for location/activity(6e57c4fd31144e9b5c128d31ce2a2783924409c9) Working on reading Calendar in system to see if there is an event at the current time (f866a329cdd5aa8a6c550df50867e9786210984e) Final paper structure setup with basic outline

MarschOSX commented 8 years ago

Was away all weekend at a swim invite, sorry for the late entry!

Research Preformed: https://groups.google.com/forum/#!topic/android-developers/NK-qnkyWv_4 http://www.grokkingandroid.com/androids-calendarcontract-provider/

Design Work: Continuing to work on Calendar access (02ab636e71fdc4dab443785ba310e822730d33d0) Got basic access to Calendar (726a0854c96f8e10b8ae2eb2a2cdcac5a703ae40) Checks Calendar to see if user is busy or free, still buggy but can work (5bb795482a4a3b1c2ff570d3ca84fd07f7ea1cdb)

MarschOSX commented 8 years ago

Design Work: App reads the calendar and can identify events within 48 hours (bbea57f34f13adf66aab15ba7bc3f430aef951c0) EventHandler can see if an event is taking place at the current time, and responds with the event title and end time if the user is currently busy (6e0ee0f0bfa9a119c12ef79cdef38ca14944c744) Added checks to make switches in Main activity work for turning off/on location and activity(8ebac631db8f77781ee6eac86bdd9d422c5dcd8b) Started work on the rough draft of the final report, 6 pages in now! Uploaded Screenshots

MarschOSX commented 8 years ago

Wrote Up Project Proposal for CS482 Listed Development Milestones, agreed on by Garlan Discussed future ideas to implement with Garlan Planned out next few weeks worth of work Started to create Universal Reply from old General Reply Four JUnit Errors and made an issue of it

MarschOSX commented 8 years ago

Finished Universal Reply Fixed UI Navigation issues with keyboard popping up unexpectedly Started to look into a readable Event Log

MarschOSX commented 8 years ago

Working on ReadableEventLog Changed ExpandableListAdapter to use just ArrayLists instead of Hashmaps Created Notification Class Still need to fix bug where notifications crash app, because system services are not avaliable??? Trying to fix context in EH