Category Archives: Android

Still going strong…

Just wanted to let you guys know I haven’t fallen off the face of the earth. I’m still working, but my medicine is making things tough. Not only do I not have as much energy as normal, but it’s kinda hard to think straight sometimes. (Yeah, this stuff really throws you for a loop.)

OK onto the news: this schedule thing is tough. I knew it was going to be, and it has proven that my initial thoughts were correct. There’s a lot of variables, a lot of information, and a lot of different ways to possibly organize all of that data. But I’m getting close. Also, it’s something I’ve never really done before, so I’m learning as I go. I’m the kind of person though, that I don’t release something until it’s done right and I’m completely satisfied with it. My dad always said “If you’re going to do something, do it right the first time.”

The good part about that, is that when I finally release the next version, you can assume that there will be no issues, and it will work 100% as expected. The bad part is that it will take a bit longer, because I’m always looking into new and better ways to do things and constantly testing.

That being said, here’s the new stuff I’ve got for you:

  1. All of the pieces of the screen that I showed you last time are working now
  2. I’ve created a once-per-update screen that asks users to rate my app or report issues
    1. This is very important to me and other developers. It helps get our apps seen, and helps us as developers improve our apps.
    2. If you have any suggestions, issues, anything else, please let me know via email before giving my app a bad rating.
  3. I’ve changed/improved some of the existing layouts. 
    1. I’ve learned some new techniques as I go, and have put them to use to make things more consistent throughout the app.
Right now there is very little left to do for the scheduler:
  1. save the information somewhere so that I can display your existing schedules
  2. create the schedule itself 
  3. Allow the schedules to be edited, deleted, and enabled/disable once they are created

I’ve already created the piece that reacts once the schedule is triggered, so even that is done.

Here are some screenshots of my recent work
NOTE: I have noticed (here in this screenshot and previously) that the empty space in the “Days of the Week” dialog is larger than the empty space in the “Months” dialog. I just fixed that, so they will look more consistent in the final version.

Progress

OK, I have made some small progress this week (most of which was today.)

I fixed the issues listed in the previous post: The time/date now updates every minute, and it no longer switches tabs on orientation change. I still haven’t looked into how to switch tabs with a swipe, but that’s more of a feature than an issue. (I am planning on adding that before releasing the next version though. As long as it doesn’t prove to be too much of a pain.)

I’ve designed a basic setup for the schedule creator. It doesn’t do anything yet, but the layout is there. This is probably what the “final” version will look like. I say “final” in quotes because I have more plans for it, but those plans will likely not happen until future versions. This is what the initial version will likely look like though.

I’ve also made some other small changes/enhancements throughout different parts of the app. Today I went through and did away with a lot of duplicate layouts, and optimized some small code bits as well. Since this is my first Android app, I’m still learning the best way to do some things. The more I program, the more I realize that some of my initial code was not the best that it could be, so I’ve re-looked at some of that old code and optimized it. Hopefully that will result in a smaller .apk file, and possibly a smoother running app.

In case you haven’t noticed, I’m constantly changing the look and the ROM on my phone, so the navigation bar (among other things) is always changing in my screenshots. I point this out because I have a permanent menu button in the nav bar in this shot. That will not be there if you are running stock. (Or if you are running a device with hardware keys instead of software keys.)

Auto Respond – Scheduled response times

I’m working on a pretty beefy scheduler for Auto Respond, which.right now is still in the early stages. I’ve got the basic layout pretty much setup, and I’m working on starting work on the scheduler itself.

I’ve changed the layout of the main app screen. It is now a tabbed screen. The first tab is the Auto Respond tab, which includes the layout that you are used to seeing when you open the app, and the second tab is the scheduler. When I start work on a timer, there will be a third tab for that.

A few small issues that I have noticed, that I have not even attempted to tackle yet:
1) The date and time on the scheduler screen do not update dynamically. That means that if it is 1:00 right now, it will still display 1:00 when it turns to 1:01. I will work on fixing this, it is not priority #1 though.
2) When you change orientation of the device, you return to the first tab. Again, this is something I will work on later.
3) It doesn’t switch tabs on swipe, only when the tab is clicked (I’ll have to research how to do this)

Here is a preview look at what the screen will look like:

Obviously, once you hit that “New Schedule” button, it will take you to a new screen to create a new schedule. The goal is to then create a list of schedules underneath that “New Schedule” button, and have that list long-clickable so that they can also be edited and deleted. (Now that I think about it, I should probably make them toggle-able as well.)

I have not yet completed any of that, what you see in the screenshot is as far as I am right now.

Another goal is to make the schedules able to be based on time, day of the week, day of the month, and even month. So you can setup an auto response that is active from 10:00-12:00 every Tuesday in February and March. Or you can setup an auto response to be active from 9:00-1:00 every Monday. And you will be able to attach a specific message to this scheduled response. This message will be able to be entered at the time of creation of the schedule, you’ll be able to select a preset message, or you can enter your currently active Auto Respond message.

Again, these are just goals, and I may not be able to do all of these things (especially in the first iteration of the feature.)

The screenshot above is from my Galaxy Nexus, but I have tested this on my Droid 2 as well, and it looks nice on both devices.

Another One Down…

After about 10 minutes of programming, the Auto Respond default message is now editable. So that’s one more thing off of that to-do list I posted a few hours ago.

The default message is not just something that is clickable in the message list. It is also used when the auto respond message on the main screen is emptied. Therefore, if you want to set a new default message, you have two easy ways of getting to that message as well. (Hopefully 3 when I get widgets working)

This feature has not been released yet. I want to make a few more changes/addition before releasing a new version.

Poll for next Auto Respond feature

I’ve got a list of ideas for future versions, and want your input. What do you think I should work on next? Here’s my list:

  • Schedule for responses (useful during a daily/weekly meeting)
    • This is one that I would find useful myself, as I have a meeting every Monday morning
  • Timer to automatically turn off auto respond after certain time period, or at specific time (useful while watching a movie)
  • Jelly Bean style notifications (I have some ideas for things to put in the pull-down)
  • Ability to change the “default” message
  • Message-specific settings, as well as global settings
    • I need to think a little on the best way to do this, but it has been an idea for a while now
  • Backup and restore of settings and messages
    • I’ve been thinking about the best way to save this stuff, I have a couple of ideas to try
  • Widgets to easily enable auto respond with a specific preset message
    • I tried this once and failed, but I can try again
  • Tabbed Settings screen
    • I tried this as well, but I am willing to continue trying

Leave a comment with the feature you want the most. If you have any suggestions that aren’t on this list, feel free to add them in the comments as well!

Auto Respond V0.7

The new version of Auto Respond has been published. I did not get the “Do Not Respond” text list working exactly as I wanted, so I left that out for now. I want it to be case insensitive, and it was not quite working when I tried that. The contact picker option IS included, and has been tested and verified working. Contact pictures may not show up correctly in the contact picker Do Not Respond list (last I checked on my Droid 2 they didn’t work, but the same code worked fine on my Galaxy Nexus.)

I also fixed some other small issues in the new version, including a FC in Froyo, and an issue with the way ads displayed in the free version.

Check out the “What’s New” tab when it is published for all the details:
https://play.google.com/store/apps/details?id=com.havens1515.autorespond

Do Not Respond lists… So close!

The newest Auto Respond function is almost finished! “Do Not Respond” lists are the latest addition to Auto Respond’s quickly growing feature list. I’ve created two ways to add contacts to your do not respond lists:

1) Contact Picker – This is a very precise method to select an individual contact to not send auto replies to
2) Text List – Add names such as “John” or “John Smith” and Auto Respond will not send replies to any name that matches the text in the list.

The contact picker option is what took so long to create. Getting information from the contact picker is a bit of a process, then processing that data was another process. All of that is done now.

There is just some small tidying up that is left on the “to-do list”. Part of that is checking for duplicates in the Contact Picker list, and then comparing the incoming number to the contacts in the Contact Picker list to decide whether or not a response should be sent. These are fairly simple tasks when compared to what I’ve done so far.

Things that do work:

A list can be created from the contact picker
The list contains contacts’ photo, name, and number
Items in the list can be edited or deleted
A text list can be created
Names in the text list are not responded to

Update should be released within a couple days if all goes well. 🙂

Auto Respond "Do Not Respond" list (WIP)

I’m working on a custom “Do Not Respond” list. I initially started building it as just a text list, but decided that’s a stupid way to go about it. If you have two people listed in your contact list with the same name (Which, amazingly I do have at lease 1 set of contacts with the same first AND last name) it would block them both, since it is blocking by name.

So I decided to try to implement a contact selector instead. This idea should block based on contact number, which is a number unique to each contact in your address book, instead of by name. I haven’t implemented the actual contact selector yet, but looking at some sample code, it doesn’t look to be too outrageously difficult. It may take some time though.

Here is a preview of what the “Do Not Respond” list will look like. If the contact has a picture associated with it, it will display that picture instead of the generic contact picture.

I may keep the blocking by name in as well, but I’ll have to think about how to implement both of them at once. (I’m sure it won’t be too hard, I just have to take the time to do it.)

Auto Respond to phone calls

A new version of Auto Respond has been published to the Google Play Store! It adds the ability to auto respond to phone calls that you receive. Both the free version and the pay version have been updated.

It may be an hour or so until it is actually updated in the Play Store, but the update has been uploaded and published. Now it’s up to Google’s servers to do the rest.