Skip to content

swooby/alfred.2017

Folders and files

NameName
Last commit message
Last commit date
Mar 10, 2025
Mar 14, 2025
Mar 14, 2025
Apr 15, 2017
Mar 14, 2025
Mar 11, 2025
Mar 10, 2025
Mar 11, 2025
Jan 10, 2016
Mar 13, 2025
Mar 11, 2025
Mar 10, 2025
Mar 10, 2025
Mar 10, 2025
Mar 11, 2025

Repository files navigation

Alfred: Personal Assistant [for Android]

Journal

Alfred[.2017] is an Open Source personal project of mine to get my Android to eventually do all of the following [and more]:

  1. Text-To-Speech all current/incoming notifications.
  2. BT/BLE Scanner that detects when a button is pressed on certain BT/BLE devices.
  3. Speech-To-Text various commands.
  4. Do all of this in an always helpful non-annoying way.

The target audience is me: I ride my motorcycle a lot and do not have any desire to look at or manipulate the screen. I would like to know when my wife texts me and what she said, or when I get an important reminder/email/call. It is also nice to know any other useful information such as the current time, weather, traffic conditions, or current song that is playing; automatically attenuating the volume of commercials is another bonus.

Anyone that regularly finds themself using a hands-and-screen-free environment might find this app useful.

Milestones

* = Not Yet Implemented

  • M4: Speech-To-Text (aka: Voice Recognition & Commands)
  • M3: BLE Scanner that detects button presses
  • M2: More useful app state and UI This is where the app starts to crystallize in to something useful.
    • *Bluetooth Headset Listener and Profile Handling
    • *Offline Storage (Firebase?)
    • *Location Listener
    • *Analytics
      • *Volume up/down; time in song
      • *...
  • M1: Generally reliable speaking of the notifications that I encounter on a daily basis.
    • Release to store
    • Sign TravisCI build
    • Upload TravisCI build to Store
    • Force disabled while Phone offhook
    • Notification Parsers:
      • Pandora
      • Spotify
    • Speak Volume, Cellular, WiFi, Screen, Charging, Phone states
    • Reliable startup and detection of profiles and notification access

Issues:

  1. Phone numbers may be spoken as "six billion one hundred ninety seven million nine hundred sixty six thousand two hundred ninety nine".
  2. Notifications may repeat a lot (ex: MyGlass Connected, Chrome Media Playing, Google Play Updates, etc).
    I have a temporary mitigation for this, but will hopefully eliminate this with a future refactor of NotificationParserManager.
  3. 20170501: Not disabling when Profile == "Any" and turning off my Bluetooth Interphone F5MC
  4. 20170501: DebugActivity Share doesn't sent file (99% certain this is just a permissions issue)

Unscheduled Ideas (Unsorted; typically most recent at top):

R&D:

Related Projects:

Development

  • If Mobile or Wear physical device wireless debugging does not connect in Android Studio:
    (from https://youtu.be/lLUYPdaf_Ow)
    1. Look on device Dev options Wireless debugging for pairing ip address and port
    2. Example: adb pair 10.0.0.113:42145
      (replace the ip address and port with yours)
    3. Look on device Dev options Wireless debugging for connection ip address and port
    4. Example: adb connect 10.0.0.113:43999
      (replace the ip address and port with yours)
  • To record videos, use https://github.com/Genymobile/scrcpy
    https://github.com/Genymobile/scrcpy/blob/master/doc/recording.md#recording
    (confimed works on both Mobile/Phone and Wear/Watch!):
    • brew install scrcpy
    • scrcpy -s 10.0.0.113:43999 --record=wear.mp4 & scrcpy -s 10.0.0.137:46129 --record=mobile.mp4 &
      (replace the ip address and port with yours)
  • WATCH OUT FOR http://stackoverflow.com/a/37081128/252308!!!
  • To list packages:
    adb -s 10.0.0.161 shell pm list packages | grep com.lockly.smartlock