Hey there,
I wrote a little Calendar Extension as I wanted to get more entries and possibility to get location displayed.
As I don't have any chance to test this app outside my own use, please feel free to report bugs/errors, if you use this app.
Runs fine on my Galaxy Nexus since 1 week, without any FC or problems on the extension.
I want to make sure not to publish any trash at all, so I need your help to find that last little bugs and problems!
Features of BetterCalendar:
Display up to 4 events on Dashclock
Calendars selectable
Display event location
Display full day events
Output format changeable
Date format selectable
Select a tap action
Hide Date
Show Weekday
Hide AM/PM
Show events until start/end
Add leading zeroes to date
Show all events in same style
Time range from "just today" to 3 weeks
Show Today/Tomorrow instead of Date
Show event title in collapsed state
Show date & time for next event if Dashclock is collapsed
English, German, French, Italian, Spanish,Portuguese, Danish, Dutch and Polish translation
Just hit play store!
Some Images:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Enjoy it!
If you want to have any additional options or features, or some feedback in general, please tell me, and I will see, what I can do
If you want to help me with translations, feel free to PM me. As of now there is an English, German, Italian (Thanks to Marco!), Spanish (Thanks to Roberto!) and Danish (Thanks to Hernik!) translation.
Know Issues
Calendar about contact birth dates are empty, so no entries on that Was a problem with Android not syncing the calendar correctly. Works fine if you delete appdata for calendar and calendarstorage and then resync.
Corporate Calendars not shown
Problem with a method returning null in some cases
Showing up events from past, if not enough events are available
if you have long titles/locations, there might be a problem, that only 3 events will be displayed, even if you selected 4
not all events are showing up
CHANGELOG
07/15 - updated some translations
07/16 - solved contact mystery and added 3 weeks and 1 month to time range
08/06 - Fixed a bug where an older entry pops up on first place. Added ability to show events until their end. Refactored some parts of the code, easier to maintain and should work faster.
08/09 - New Icon to suite usual Dashclock design a bit better
08/10 - Updated some Strings. Left Beta phase. App now available on Play Store.
08/12 - Date format is no longer depended of your localization, you can either choose DD.MM or MM/DD. Added a work around for devices with lower resolution. They can't show as much signs per row, so for now your title will be cut down 3 sings earlier.
08/13 - Added ability to display first event with linefeed. Adjusted some smaller strings. Fixed a bug that caused a nullpointer exception. Fixed a problem with parsing date.
08/15 - Fixed an evil bug that showed events from outer time! Added 2 new date formats. Separated the date format from the format you get displayed.
08/16 - Smaller code improvement. Added possibility to show Today/Tomorrow instead of Date. Reordered preference screen. Fixed a small bug. Added option for leading zeroes
08/17 - small bug fixes
08/19 - Fixed a bug that caused a ForceClose. Changed the click Intent to show Calendar. Improved check for today/tomorrow due to some errors
08/21 - Bugfixing. Touched the query for events, the problem with allDay events having wrong dates, removed the empty line below the extension and worked on the problem with upcoming events time period.
08/23 - Bigger update on calendar query. Customizable click action added. Error handling. Bug fixing. Now with Italian language! (Thanks to Marco).
08/24 - Danish translation added. (Thanks to Henrik!).Bugfixing. Select, what calendar app to open up. (This works only if the calendar app supports´it)
08/24 - Spanish translation added. (Thanks to Roberto!). Updated translations. Increased calendar query time. Should solve a bug.
09/16 - Major update. Fixed bug with wrong dates on allDay events. New date format (Day-Month/Month-Day). Added check on textlength. Added possibility to show all events in the same style. Updated strings and translations. Refactoring.
09/17 - Bugfixing!
09/17 - added Polish translation (Thanks to Jakub!). Solved a bug where events didn't dissapear. Additional bugfixing.
10/06 - fixed problems with status info. Fixed problem with events not vanishing if there is an allDay event on the same day. Added check for double event entries. Added check for a FC related to the start time of the event.
10/11 - Fixed bug with missing events within time range. Added sorting algorithm to prevent wrong sorted events (as some encounter this error). Smaller bug fixes.
10/20 - Removed toast message if there was an error with start time. Smaller bug fixing
11/16 - Added option to show the name of the day before the date
11/18 - Bugfixing
01/12 - Added French translation (thanks to David)
01/18 - Added Portuguese translation (thanks to André)
01/27 - Added Dutch translation (thanks to Benny)
04/15 - Major rewrite! Fixed various bugs and added some new options
updated translations. New .apk included in first post.
No more problems with birthday entries.
Added 3 weeks and 1 month to the possible time range.
New .apk included in first post.
Fixed a bug where an older entry pops up on first place. Added ability to show events until their end. Refactored some parts of the code, easier to maintain and should work faster.
New .*apk file with version 0.2.2 included in first post.
New Icon that matches better on the usual Dashclock design
Just hit play store!
Updated some Stings. Left Beta stadium. New *.apk in first post.
Version 0.2.5 just went to play store. Update should be there within an hour for you guys.
Date format is no longer depended of your localization, you can either choose DD.MM or MM/DD.
Added a work around for devices with lower resolution. They can't show as much signs per row, so for now your title will be cut down 3 sings earlier.
zonte said:
Version 0.2.5 just went to play store. Update should be there within an hour for you guys.
Date format is no longer depended of your localization, you can either choose DD.MM or MM/DD.
Added a work around for devices with lower resolution. They can't show as much signs per row, so for now your title will be cut down 3 sings earlier.
Click to expand...
Click to collapse
hi, im currently having a couple of bugs.
1. i set up to 3 days to display..
and its displaying events 3 days AGO and 3 days UPCOMING..
2. the date will still show " / " even if i selected "."
Really useful! Thank you
leongzxc said:
hi, im currently having a couple of bugs.
1. i set up to 3 days to display..
and its displaying events 3 days AGO and 3 days UPCOMING..
2. the date will still show " / " even if i selected "."
Click to expand...
Click to collapse
1. That sounds weird. Could you send me a screenshot of that?
2. Which one of the 4 entries for the date format did you select? Only possibility that comes to my mind, is that I don't handle every possible date format so this is a parsing error. Where do you come from? Could you provide me with a screenshot of that issue too?
Thanks in advance.
zonte said:
1. That sounds weird. Could you send me an screenshot of that?
2. Which one of the 4 entries for the date format did you select? Only possibility that comes to my mind, is that I don't handle every possible date format so this is a parsing error. Where do you come from? Could you provide me with a screenshot of that issue too?
Thanks in advance.
Click to expand...
Click to collapse
I also have extra "/" or "." With different formats...
I see what's wrong. I assumed that day and month are always in 2 sign notation (leading zero), this causes this strange behaviour in your case, knapz. I'm looking forward, to solve this today.
zonte said:
I see what's wrong. I assumed that day and month are always in 2 sign notation (leading zero), this causes this strange behaviour in your case, knapz. I'm looking forward, to solve this today.
Click to expand...
Click to collapse
The date is also being displayed wrong. I have labs today and it says 8/3? Probably related to the same issue you just mentioned.
BetterCalendar 0.2.6 released. You should receive your update through play store soon.
Added ability to display first event with linefeed.
Adjusted some smaller strings.
Fixed a bug that caused a nullpointer exception.
Fixed a problem with parsing date. (thanks to knapz)
zonte said:
1. That sounds weird. Could you send me a screenshot of that?
2. Which one of the 4 entries for the date format did you select? Only possibility that comes to my mind, is that I don't handle every possible date format so this is a parsing error. Where do you come from? Could you provide me with a screenshot of that issue too?
Thanks in advance.
Click to expand...
Click to collapse
hi there..
my current configurations:
1. Show all day events [Checked]
2. Show location [Not Checked]
3. Enable Line feed [Checked]
4. Preview time [3 days]
5. Keep entry [till it ends]
6. Number of entries [4 events]
7. Date format [mm/dd]
8. Calendars to display [[email protected], contact's birthdays and events, country's holiday] (basically all 3)
problem: its showing events way longer than 3 days (BEFORE) as you see the date, its showing events way back to 30th of July (a public holiday in my country)
- and the dates are wrong, it should be on the 9th of August, but its displaying it as 30th July? :weird:
I know that error. It happens, when you don't have enough events in your calendar. It happend to me too with birthdays of contacts. Thought I solved that, but looks like I need to think of another work around to fix that problem. Is the Problem with the date format solved for you?
Everything is working fine for me now. Haven't tried touching to many things as I am quite busy lately but all the issues I reported have been fixed and don't give me "problems" anymore. I don't have problems making it show previous events and the "." or "\" works fine and always displays the full event on title with linefeed selected.
A suggestion I would make is maybe it could be nice if the event of the first calendar entry is for today there is no need to have the date in it (like have only title and hour in the order you choose). That could help gain some space and I think is more intuitive (at least for me that I don't know on what day I live and I don't have to think then if the event is today or another day).
zonte said:
I know that error. It happens, when you don't have enough events in your calendar. It happend to me too with birthdays of contacts. Thought I solved that, but looks like I need to think of another work around to fix that problem. Is the Problem with the date format solved for you?
Click to expand...
Click to collapse
yes date format is solved
however, i do have a suggestion..
is it possible to make it as "DD/MM" for the / ?
as i've noticed only the " . " has DD/MM
in my country we use DD/MM instead
hope you can consider this suggestion.
Didn't had the time for coding yesterday, as I was involved setting up an local subversion repo on my raspberry pi and some bug tracking/project management (Jira <3).
Just went through all your feedback and created tasks to make BetterCalendar even better and full fill all of your wishes. Only thing that stops you from getting a better version, is me, coding, but I'm on it :laugh:
Related
actually i wanted to make it exclusive to the german ppc welt community forum, but i figured this community is very cool too
from the readme:
Phone Profiler v1.0
-------------------
Phone Profiler detects the "Mobile Phone Cell" your PDA is currently logged into.
You can enter a different profile for every cell that gets applied once your PDA gets logged into
the cell.
Features:
-Volume Profile
-Phone Volume Profile
-Ability to execute a programm by entering a cell
-Start the Phone Profiler with windows
-Real C code (no mfc and no visual basic) for a fast programm with a low memory footprint
-Ability to work hidden in the background
-Pocket OOZ (2004)
Click to expand...
Click to collapse
get the files here: http://www.ppc-welt.info/community/showthread.php?t=46338
this is the betea demo, you can only change the profile for the first cell(all others will work as default). haven't done any testing yet, but i've decided to go for an public beta test..
if you got ideas for improvements then please post it here i'm open for suggestions until the release
thanks
(screenshots from earlier versions)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hello Dutty,
Don't quite understand what this is used for, could you provide a bit more information. I downloaded and it advised it cannot find a cell, what cell is it looking for???
maybe it's only working on XDA2, the beta test just started..
it's like mini-gps for the S60, it uses the cell your mobile phone is logged into to create profiles (with volume, app to execute etc.) which will get automatically executed once you log into a cell.
miniGPS is a powerful tool to locate yourself in the GSM network. Its main goal is to perform defined actions based on your location taken from your network. It also shows the details of the network cell, to which your phone is logged in at the moment. At the current stage, due to some problems in SE firmware the program shows only cell id, but it seems to be good enough for performing events.
Click to expand...
Click to collapse
it's the first application on the xda that allows something like this if i'm right.
changelog:
+possiblity to execute a wav file, simply select wave file *.wav in the filedialog
+signal strength of cell visible in cell info dialog
+sending only one command at every intervall.
PUBLIC BETA 1.0
interesting software, i like it!
useful for day to day operations, leaving my GPS in my car
how much do you intend to sell it for?
This program sounds good mate.
If I understand this correctly I can basically set a profile for say the cell I would be connected to when I'm at work? so that the phone automatically goes to vibrate mode or something ?
I will give this a try when I get home.
Cheers
Neil
Great Program
Great program, worked perfectly on my XDAII in Ireland.
A couple of suggestions for future version that you might consider...
The ability to bind multiple cells to a single profile. While in my house my phone picks up 3 different cells depending on where in the house I am. If I could just have a single profile called home and then add cells to that it would be nice.
Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software.
Can't wait to see the final version of this, it's shaping up very well.
I can't get it working on my XDA 1 (AT&T A30.09 Rom) I am told no cell information available then after 60 seconds it gives an error message stating "Failed to set IoControl" if I OK that error then it throws up back up every 60 seconds when it scans.
If you want someone to test developments on the XDA1 I am more than willing to help out..
Cheers
Neil
probably it won't work on the XDA1 for now, i'll have to finish version 1.0 and then, if it's not working on XDA i'm going to find out why(are you running wm2k3 or ppc2002)
it should work on all xda2 so far it worked on all devices in the german ppc-welt community forums. can you give more informations about your device, what errors etc?
what kind of price would be ok? minigps is beeing sold for 20$ i think, but that's a little bit too much for a ppc software
Re: Great Program
qtzar said:
Great program, worked perfectly on my XDAII in Ireland.
A couple of suggestions for future version that you might consider...
The ability to bind multiple cells to a single profile. While in my house my phone picks up 3 different cells depending on where in the house I am. If I could just have a single profile called home and then add cells to that it would be nice.
Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software.
Can't wait to see the final version of this, it's shaping up very well.
Click to expand...
Click to collapse
yes this idea has already been suggested and i'm going to work on it tonight if i have free time!
i'll also add the ability to turn off the notifications popping up automatically.
Hi Dutty,
Hopefully you can get this working on XDA1 because its a great idea.
I'm running WM2003 on my XDA, the only error message I receive is the one posted earlier..
As i said, if you want anyone to test on XDA1 or provide any info just let me know.
Cheers
Neil
once i will release the official version, it contains logging options and stuff like that, we can go on with the xda1 testing!
in the meantime, enjoy this logfile from today
+added logging capabilities to control the network responses
+added 'assign group' dialog ( added possibility of assigning groups.. if you switch from one cell
to another and it's the same group, then there is no notify bubble displayed )
-added 'add group'
-added 'group list'
-added 'delete group'
-added 'assign group'
+added 'cell profile' dialog
-all cellprofile settings displayed there
-added group display
+redesigned cell options
-added 'Assign Group'
-added 'Cell Profile'
-removed all cell profile options
+possiblity to execute a wav file, simply select wave file *.wav in the filedialog
( alarm? possibilitiy.. now possible, that the device tells you when you have to drive slower etc.
or it could remind you with a note you've recorded that you have to do XXX once you enter your homezone )
+signal strength of cell visible in cell info dialog
+one command after init
+sending only one command at every intervall.
PUBLIC BETA 1.0 ----
notes:
if you switch to a new cell and both cell profiles got the same group then there will be no
notification (no icon AND no textbubble)
you can get the signal strength in the cell information dialog
don't enable the logfile if you don't need it, it could grow to the size of 1GB
if you disable popup notification then there will only be an icon displayed if you switch cell/group
if you're in hidden mode to get back into the options of the programm, just execute it again while it's running
Click to expand...
Click to collapse
Excellent idea! Seems pretty robust too for a beta. Well done.
Humble suggestion... Please see my post at
http://forum.xda-developers.com/viewtopic.php?p=38761#38761
Zendrui has achieved a lot in the profile management area and perhaps you can work with him to combine the great new functionality into his product rather than re-inventing the wheel or should I say, profile ...
qtzar said : "Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software. "
Can you provide an alternative to go at the bottom right hand side of the screen, next to the BT indicator? This may be a good option for people with busy Today screens too.
I was looking at the miniGPS site. Taking the idea from them, sending SMSses from your product would be cool too. Also note you only generate alerts, actions on login. It would also be good to have the option to attibute actions / alerts to logouts.
During the beta phase can you also enable the ability for the user to update the cell info on all cells? It is very hard to test the product where you can only manipulate the first record. Suggest you change to a time based trial mechanism rather than the one record manageability option you have now. Just a humbe "consumer" opinion.
Last but not least, It would be great to be able to stop scanning for new cells but continue to detect login/logouts at the knowns (in database) cells. Example : after you train the application, you have all cells of interest in your database. In the current form the application keeps on recording all cells thats you pass through. After a month in a big city I presume I would have a huge list...
All in all, great job ! Best Regards
Installed it tonight at my xda I device, and it looks running fine.
Played a little bit and found that the tool is very interesting.
I also got some ideas to enhance the tool.
Wouldn't it be better that you can disable the Option "finding a new cell" and get instead a learning mode?
If you use the xda in your car, you get a lot of messages concernig a new cell. And all the time, all the volumes are set to 100%.
Maybe it will also be interesting to set the default values. In my case for example, the telephone volume is always much higher than the normal volume...
HTH
Stefan
PS: Would be nice, if there will be a "low cost edition" for including it into the kitchen....
i will make it opensource after i got some little profit, i'm living a hard life as a student, coding in freetime is bad, i should go working in freetime
great idea this learning mode, but it's already been implemented like this:
go into the system options, select hide popup notifications..
if it detects a cell then it won't display any popup, just an icon on the top, clicking on it will remove it. to go back into the programmoptions restart the programm
btw, if it detects a new cell it won't set any profile.. maybe i will make the default profile = no profile, it will not set anything until you've set the profile correctly!
During the beta phase can you also enable the ability for the user to update the cell info on all cells? It is very hard to test the product where you can only manipulate the first record. Suggest you change to a time based trial mechanism rather than the one record manageability option you have now. Just a humbe "consumer" opinion.
Last but not least, It would be great to be able to stop scanning for new cells but continue to detect login/logouts at the knowns (in database) cells. Example : after you train the application, you have all cells of interest in your database. In the current form the application keeps on recording all cells thats you pass through. After a month in a big city I presume I would have a huge list...
Click to expand...
Click to collapse
both very good ideas!!! i will implement both.. a one week time trial or something will be good enough!
I was looking at the miniGPS site. Taking the idea from them, sending SMSses from your product would be cool too. Also note you only generate alerts, actions on login. It would also be good to have the option to attibute actions / alerts to logouts.
Click to expand...
Click to collapse
i think logouts are not important, since there are soo many cells and you can have an own profile for each cell.. one event per cell change is enough!
sending SMS is good, but what's the use? telling somebody that you're waiting for him? okay, sounds nice but that's not that important too. maybe i will do it for 1.0, maybe for 1.1
qtzar said : "Create a Today Screen plugin to display the current profile/cell. I have software that runs in the icon bar at the top and the PP icon causes conflicts with this software. "
Can you provide an alternative to go at the bottom right hand side of the screen, next to the BT indicator? This may be a good option for people with busy Today screens too.
Click to expand...
Click to collapse
yes, good idea. low priority too but it's a very good idea. i'm going to do that tonigh if i got free time.
Installed it tonight at my XDA I device, and it looks running fine.
Played a little bit and found that the tool is very interesting.
I also got some ideas to enhance the tool.
Wouldn't it be better that you can disable the Option "finding a new cell" and get instead a learning mode?
If you use the XDA in your car, you get a lot of messages concernig a new cell. And all the time, all the volumes are set to 100%.
Maybe it will also be interesting to set the default values. In my case for example, the telephone volume is always much higher than the normal volume...
HTH
Stefan
Click to expand...
Click to collapse
hey stefan, could you give more details about your XDA1 maybe you can compare settings and installed tools with the other XDA1 device so we can figure out what stops it from working on the other machine.
btw, hast du irgendwas installiert an deinem XDA1 oder wäre es möglich einen hardreset auszuführen cell profiler zu installieren und dann zu testen obs funkt (also von windows default her)
danke stefan ;P
Hi dutty. Thanks for your prompt response. Logout action is good against theft or accidentally forgetting the phone in the cab... Once the phone moves out of your regular circle of cells you get an SMS on an alternate number. This reminds me. Adding a cluster of cells into a cell family seems to be a must. Someone else mentioned this already. I now have 24 cells picked up between my home & office. In my room at the office I got 5 different cells picked up at different times... I am imagining I would create a Home family, one for Office, one for Malls etc that I frequent and then anything else would stay unknown. When you have a new unknown you would have the darg & drop option to throw it into an existing family. Setting profile (sound, alert and executable etc) by family rather than cell would be awesome as well since right now we have to do it for each & every cell. Does this make sense?
Last but not least, I tried to attach an executable to a cell and notice that the file browse box only shows me My Documents folder. How can I navigate to the Program Files folder?
Have a great weekend!!!
sadly you can't. it's a microsoft limitation...
the filedialog box only shows my documents and storage card. and i'm a student i can't invest so much time to develop a new file searching method - and i haven't got money to buy a license for those filebrowsers that search for everything.
so if you want to start programms you should have them on the storage card, but that solution is ok to me.
oh yeah here is the latest changelog, 1.0 seems finished if there won't show up any bugs or stuff like that.
Code:
+added about box
+added logo to mainscreen
+improved main screen, show more information - including groupname
+++++ added an icon to the 'today - tray' in the lower right corner, clicking it will bring up the main screen
it will add the icon once you click on 'hide' or if you've got 'auto hide' selected suggest by k_kirk
+added the ability to 'disable learning new cells' inorder to stop the programm from learning new cells
this is good if you're living in a big city and you already got all your cells in the database
enabling it will not add any cells to the database AND it will never display the 'we found a cell' popup suggested by lumpistefan
+added the ability to 'delete cell' to cell options
+changes to 'ini' file format
+redesigned icons :)
+added 'disable notification popup' inorder stop the bubble from popping up suggested by k_kirk
+added logging capabilities to control the network responses
+added 'assign group' dialog ( added possibility of assigning groups.. if you switch from one cell
to another and it's the same group, then there is no notify bubble displayed )
-added 'add group'
-added 'group list'
-added 'delete group'
-added 'assign group'
+added 'cell profile' dialog
-all cellprofile settings displayed there
-added group display
+redesigned 'cell options' dialog
-added 'Assign Group'
-added 'Cell Profile'
-removed all cell profile options
+possiblity to execute a wav file, simply select wave file *.wav in the filedialog
( alarm? possibilitiy.. now possible, that the device tells you when you have to drive slower etc.
or it could remind you with a note you've recorded that you have to do XXX once you enter your homezone )
+added 'signal strength of cell' to cell info dialog
+added 'cell info' dialog
+one command after init
+sending only one command at every intervall.
PUBLIC BETA 1.0 ----
notes:
if you switch to a new cell and both cell profiles got the same group then there will be no
notification (no icon AND no textbubble)
you can get the signal strength in the cell information dialog
don't enable the logfile if you don't need it, it could grow to the size of 1GB
if you disable popup notification then there will only be an icon displayed if you switch cell/group
if you're in hidden mode to get back into the options of the programm, just execute it again while it's running
left TODO:
-figure out best way to lock features/functions for demo version?
-> users suggest time trial
left for NEXT VERSION:
-send sms message on event
btw, what you requested has been implemented. family=group
And where to download new version?
The changes introduced in the cupcake branch have been merged into the master branch, preserving all of the previous commits to master. The same will happen for each future drop to cupcake.
So soon you will can use the video recording ,Stereo Blue tooth ,etc ....
Applications
* MMS
o New features
+ Save attachments from MMS.
o Significant bug fixes
+ Faster conversation list scrolling
* Email
o Significant bug fixes
+ Accounts that were marked "never check" are not auto-checked.
+ Date & time displayed using user preference (e.g. 24 hr vs. AM/PM).
+ cc: displayed in message view.
+ Relaxed POP3 parser rules so it works with non-compliant email servers.
+ Password quoting bugs in IMAP. Makes it work for users with funny chars in their password (e.g. spaces).
+ Various sources of errors in auto & manual account setup.
+ Improvements on how we report various connection errors. Makes it much easier for user to diagnose failed account setups.
+ New-mail notifications for POP3 accounts.
+ Properly recover from POP3 connection failures, so that the next connection has a chance of working properly.
+ Remove automatic accounts setup entries that were broken or not testable. Minor fixes to a few of the remaining entries. Improvements to warning dialogs used for a few special cases.
+ New accounts are now set to check every 15 minutes (instead of defaulting to "never").
+ Fixed a bug causing approximately 1 in 25 outbound messages to freeze up the IMAP connection (to a Gmail based server) when transferred to the Sent folder. This broke the entire connection so new messages could not be downloaded either.
+ Unit test framework so Email can be extended & tested more reliably.
+ Fix IMAP manually-created accounts so message delete works properly.
* Alarm Clock
o Significant bug fixes
+ Alert now plays audio/vibe directly, rather than through AlarmManager. AlarmClock alert starts playing audio/vibe in its IntentReceiver, rather than on activity start. These changes should prevent alarms from being blocked by modal dialogs.
* Package Installer
o Significant bug fixes
+ Bugs related to replacing existing applications.
* Settings
o New features
+ New menu option to list running processes in Settings->ManageApplications.
* Music
o New features
+ Music playback fades in after suspending for phone call.
+ New media search intent allows for 3rd party apps to launch or respond to media searches based on artist, album, or title.
Affects: Music Player, YouTube, Browser applications.
* Browser
o New features
+ Updated WebKit browser core, synced with Nov 2008 WebKit version.
+ Support for new, optimized JavaScript engine (SquirrelFish).
+ Copy / paste is enabled in the browser. To copy with touch, press and hold the shift key and select the text. Releasing the shift key or ending the touch drag copies the text. To copy with the trackball, press and hold the shift key, move the cursor to the selection start, click the trackball, and move the trackball to the extend the selection. Releasing the shift key, or clicking the trackball a second time, copies the text.
+ Find is enabled in the browser. To find text, choose it from the menu and type the text to find.
+ Drawing has been sped up substantially by supporting partial content invalidates and partial screen invalidates. Pages with animations are 5x faster.
* VoiceDialer
o New features
+ VoiceDialer supports 'open app' command
* Camera/Gallery
o New features
+ Video recorder mode
+ Share intent for videos
+ Video thumbnails
+ Local file playback
Download manager
* New features
o Support for HTTP codes 301, 302, 303 and 307 (redirects).
o HTTP code 503 is now handled, with support for retry-after in delay-seconds.
o Downloads that were cleanly interrupted are now resumed instead of failing.
o Applications can now pause their downloads.
o Retry delays are now randomized.
o Connectivity is now checked on all interfaces.
o Downloads with invalid characters in file name can now be saved.
Framework
* New features
o Support of touch events in WebView.
o New JavaScript engine (SquirrelFish) in WebView.
o Input method framework, for soft keyboards and other on-screen input methods. Includes new APIs for applications to interact with input methods, and the ability for third party developers to write their own input methods.
o Access to the raw audio data for playback and recording from application code.
o New PendingIntent.FLAG_UPDATE_CURRENT option.
o Support for top-level boolean resources.
o Tactile feedback to the LockPatternView. Tactile feedback can be enabled/disabled by going to Settings > Security & location and then checking/unchecking "Use tactile feedback". Note that this can be used independently of the visual feedback of the lines ("Use visible pattern"). Thus it gives users a middle ground between showing the lines on the screen and having no feedback at all.
o PackageManager changes to support un-installation of partially installed applications. Added new flag PackageManager.GET_UNINSTALLED_PACKAGES to include partially installed apps in all relevant PackageManager api's. ManageApplications screen now lists such partially installed apps and the user can uninstall these applications completely.
o Support third party updates of system applications. New menu options in Settings->ManageApplications to list updated system applications.
o Framework support to list current running processes. New API in ActivityManager.
o Framework feature to declare required configurations by applications. New manifest attribute uses-configuration in android manifest.
o Hardware accelerated video encode (video recorder) in opencore.
o Simplified SREC speech recognition API available.
o Streaming audio I/O for applications.
* Significant bug fixes
o Fixed issues with saving state in the view hierarchy, so that you can properly subclass from something like TextView and create your own state that inherits from that provided by TextView.
o TextView now implements onKeyMultiple(), so that flinging the trackball will result in accelerated scrolling. This required some changes to movement methods, and included some improvements to the acceleration computed when flinging.
o Framework bug fixes in PackageManager to share/un-share permissions for applications with shared uid's.
o Significant rework of Settings->ManageApplications Performance and UI enhancements.
o A number of settings in android.provider.Settings.System were moved to android.provider.Settings.Secure. Only system software can modify these settings. Additionally, a new permission, WRITE_SECURE_SETTINGS, is required to access these settings. The old constants in Settings.System have been deprecated. It is possible to read settings values via Settings.System using the deprecated constants. However, attempts to modify these settings via Settings.System will result in a log message and the setting value will be left unchanged.
o Many bug fixes in the media framework
Bluetooth
* New features
o Support for A2DP & AVRCP profiles.
* Significant bug fixes
o First connection after pairing always fails on many carkits.
o Mini Cooper and some late model BMW cars fail to use Bluetooth or take 2 minutes for Phone Book transfer.
System software
* New features
o New kernel based on Linux 2.6.27.
o Improvements to the wakelock API.
o Work to transition to the USB Gadget Framework underway.
o Basic x86 support.
Radio & Telephony
* New features
o SIM Application Toolkit 1.0.
o Green CALL button is no longer a shortcut for "add a new call". This has been a rarely used feature and confusing if triggered accidentally.
o Longer in-call screen timeout when using the speakerphone.
o "Show dialpad" / "Hide dialpad" item added to the in-call menu, to make it easier to discover the DTMF dialpad.
* Significant bug fixes
o An obscure case where the Phone UI could cause the device to not go to sleep on its own. This would happen if user bails out of the in-call screen by hitting HOME, followed by the call disconnecting remotely.
o Don't allow a single tap to open the in-call dialpad. It is now required to touch and drag it. This makes it much harder to accidentally open the dialpad by touching the screen with your face.
Build System
* New features
o The functions in build/envsetup.sh should be much more useful
wait, this sounds great? but what are the implications really?
i know one of the big worries I had regarding this was support for previous applications, etc. It sounds like by the comments at the beginning about preserving all previous commits, full backwards compatibility won't be an issue.
Sounds good. Just push it to my G1!!!!
Bluetooth
* New features
o Support for A2DP & AVRCP profiles
like this feature can bluetooth with a2dp
you know that merged it a few months back right?
i was about to say, what kind of deja voo is going on here.
"Work to transition to the USB Gadget Framework underway"
means there is possibility of android having support for usb peripherals. that would be amazing..
Yeah, but apparently Google has transformed into just a couple of people.
"xmoo,The Source,Haykuro, and barakinflorida".
They are the only ones bringing us cupcake right now.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
TuXeyM11 said:
Yeah, but apparently Google has transformed into just a couple of people.
"xmoo,The Source,Haykuro, and barakinflorida".
They are the only ones bringing us cupcake right now.
Click to expand...
Click to collapse
That isn't cupcake. It is a closed source side branch from HTC.
And last I checked the merge wasn't 100% complete. Yes the started the merge and the major part is finished but small portions still need to be merged for bug fixes.
I know you guys think its old news, but i just did a repo sync and its grabbing a HUGE amount of updates/merges (i had updated yesterday so this is def new stuff). Be interesting to see if its buildable and the differences can be see.
smacknca said:
This is what I thought too, but i just did a repo sync and its grabbing a HUGE amount of updates/merges (i had updated yesterday so this is def new stuff). Be interesting to see if its buildable and the differences can be see.
Click to expand...
Click to collapse
Let us know... Don't care to start VMware up right now as I am about to leave.
BTW anyone seen this http://www.htc.com/www/support/android/adp.html
There was a recent merge but I think your changelog lists the old changes, not the new ones. FYI using master is probably not a good idea -- if you want to put stuff on devices, you should stick to cupcake, not master.
See: http://groups.google.com/group/android-platform/msg/0eeae1b3113b8f43
I can't wait till these updates are rolled to us consumers.
this is not pointed at the OP, but more the Android, Goog & the T-Mob Powers that be.
el_rhma said:
o Tactile feedback to the LockPatternView. Tactile feedback can be enabled/disabled by going to Settings > Security & location and then checking/unchecking "Use tactile feedback". Note that this can be used independently of the visual feedback of the lines ("Use visible pattern"). Thus it gives users a middle ground between showing the lines on the screen and having no feedback at all.
Click to expand...
Click to collapse
why can we have tactile feedback globally?!?
el_rhma said:
* New features
o SIM Application Toolkit 1.0.
Click to expand...
Click to collapse
Its about time this was to be added in RC33, this is required by some EURO carriers, from what Ive read.
el_rhma said:
o Don't allow a single tap to open the in-call dialpad. It is now required to touch and drag it. This makes it much harder to accidentally open the dialpad by touching the screen with your face.
Click to expand...
Click to collapse
THANK GOD, everybody who calls me will thank you...
Id also like to see 1 click of the red button "while in-call" would put the screen to sleep and a "double tap" hangs up.
I can't count how many times I tried to get around the face problem by turning the screen off while "in CALL" by pushing the red button and hanging up on my caller, my suggestion is just one of many that could fix the problem.
the updates should come out faster rather than waiting on these mega jumps in the codebase, why not update less stuff more frequently, put out whats ready when 3 or 10 fixes and/or added features are ready to go, not wait months to get a huge laundry list.
I also hope the hard work from here, is getting into the RCs and credited, xda has done more for my G1 at this point than "the trifecta" aka ANDROGooGMobile, I say send tmobile and their toys, home, they are messing up the whole party...
just a rant, sorry if I offended anybody,
Bhang
neoobs said:
Let us know... Don't care to start VMware up right now as I am about to leave.
BTW anyone seen this http://www.htc.com/www/support/android/adp.html
Click to expand...
Click to collapse
Have you tried any of those?
What is with PDF und Office Support ?????
Profile Aim
Tasker reads your calendar creating a home screen widget via Minimalistic Text. Reacting to a future ‘meeting’ entry, it queries Google to find out the route information and journey time. Using the journey time information and meeting start time, it calculates what time you will have to leave and loads Sav Nav with the preselected route 5 minutes before you are due to depart.
Now FULLY Functional
Whilst creating the ‘Ultimate Alarm Clock’ I wanted the speech engine to read out the details of my meetings for the coming day from my calendar. I was a little disappointed that Tasker did not yet have the functionality to do that and despite delving into the calendar data base files; I could not find a way to achieve it. Damn.
When Tasker is able to read calendar entries in future releases, the tasks described below can be easily adapted to make sure you have a ready to go profile, but in the mean time, and I hope as always, this tutorial is full of handy Tasker tips and tricks…
New to Tasker? Download your free trial here
MT Google Calendar Widget only
If you don't want the AutoNav, I've included a download below with just the MT widget in. There is therefore only limited preparation you'll need to perform:
* Download the Minimalistic Text (MT) Plugin free from the market.
* Following the simple instructions in this link and get the private url output of your calendar in xml format. Remove the https://www. from the beginning and test it in your device's browser.
* At the end of the URL after 'basic' put '?max-results=3&futureevents=true&orderby=starttime&sortorder=ascending' (without the ' ) and that should order the calendar by the next three events.
* Edit action #2, #3 & #4 in GCAppTime to replace the time-zone abbreviation with that relevant to your location. It currently splits at 'BST'. Check the output file googlecal.txt on your storage card if you're unsure.
Head to the download link!
Initial Full Preparation (very simple)
* A Gmail account and calendar.
* Download the Minimalistic Text (MT) Plugin free from the market.
V3 PREP: Following the simple instructions in this link and get the private url output of your calendar in xml format. Remove the https from the beginning and test it in your device's browser. Tasker will be extracting your calendar data from this.
At the end of the URL after 'basic' put '?max-results=3&futureevents=true&orderby=starttime&sortorder=ascending' (without the ' ) and that should order the calendar by the next three events.
So you don't have to change the all the icons I've used, download them directly to your device from here and unzip to folder level inside sdcard/Tasker/.icn
Overview
We are going to use the Google calendar private xml output to provide details of our up and coming calendar events. Tasker will react to a keyword of *meeting* within the title field and extract the relevant details to populate a widget and get your sat nav ready to take you there, loading up when you are due to leave.
First Shortfall (doh!)
Tasker does not yet have the functionality to trigger a profile when a created variable such as %MEETING_DEPARTURE_TIME = %TIME (current time). As a work-around, a new calendar entry is created to trigger the navigation to load.
Secondary Preparation (very simple)
We have to structure the content within the Google calendar so that it is constant. The XML feed will need to be split apart to extract the information we need. Tasker cannot adapt to changes in format, so until you are comfortable enough with the variable splits that take place, you’ll need to follow these instructions.
In the ‘title field’, put this text: Meeting - Bank Manager
In the ‘where field’ you want to put a location that is obvious to Google Maps and wouldn’t give you choices if you put the same query in a browser.
Example: in the ‘where field’, put: Oxford+UK
Do not leave spaces between the location information. Join them with ‘+’ symbols. Post codes work in the UK too, but I’m not sure about ZIP codes etc abroad. Just experiment in a browser first if needs be.
The ‘description’ field (although extracted) is not used in these profiles, so you can populate that how you like.
Ensure you have at least one of the above formatted events and another two calendar entries of any kind.
Installation
Download and import the following 12 tasks:
GCAppLoc
GCAppDesc
GCAppTime
GCAppTit (lol?)
GCGetJD
GCJD
GCJT
GCAT
GCJTMaths
GCNavMaths
GCEntry
GCMT
Download and import the following 2 profiles:
Google-Calendar
Google-AutoNav
The .zip folder also contains the file Google_calendar_mtpref. This should be dragged into the sdcard/MinimalisticTextPreferences folder. It can then be selected in the MT Preference Manager or by selecting the 'restore' option when creating a new MT widget.
Customisation
Set the profile GoogleCalendar to however often you wish to pull the feed.
Edit action #2 in GCgetDatato the URL of your private XML feed. Don't forget drop the https://www. from the beginning and add the URL extension detailed above to the end.
Edit action #4, #5 & #6 in GCAppTime to replace the time-zone abbreviation with that relevant to your location. It currently splits at 'BST'. Check the file Googlecal.txt if you're unsure
Edit action #5 in GCJD to replace the splitter ',UK' with your country. You may need to view this in a browser to see how Google handles this.
Edit action #22 in GCEntry to the calendar you wish to use for the reminder.
That’s it!
Testing
In each of the tasks after a STOP action, I've left in various 'flash' and 'list' actions that I used when creating the tasks. If anything goes wrong, you can drag these up the list to see where/why a task might be failing.
The tasks are numbered in the notification bar, so should something go wrong, you'll be able to see on which task the profiles failed.
Tick the profiles to active them and apply out of Tasker!
Make sure your data connection/wifi is turned on and ‘Use GPS satellites’ and ‘Use wireless networks’ is ticked under ‘Location & Security’ in settings. You’ll be getting a GPS fix, so get ready to hang out of a window!
Press 'test' in the task GCGetData and you're off!
The icons in the notification bar tick down from 11 until the departure time is displayed and then check your calendar for the entry that will trigger the navigation to start!
If you are testing multiple times, you'll need to variable set %GCNAV to 1 each time. If this variable is set to 2, Tasker will ONLY update the MT calendar widget.
Job done….
Tutorial & Task Explanation
Google-Calendar
The initial profile is trigger is time based. You can set it to update how every frequently you want the Minimalistic Text widget to refresh.
GCGetData
First up, this task pulls the XML feed from your calendar. The output is written to a text file sdcard/Googlecal.txt. You can view the file in an explorer to see the data it pulls.
GCAppLoc
Splitting apart the XML feed (having transferred it to a created variable %GCFEED for good housekeeping), we extract the three appointment locations and place them in:
%GCLOC1
%GCLOC2
%GCLOC3
GCAppDesc
As above, this time extracting the description field to:
%GCDESC1
%GCDESC2
%GCDESC3
GCAppTime
As above, placing the calendar entry date and time into:
%GCTIME1
%GCTIME2
%GCTIME3
GCAppTit (lol?)
The final splitting task, that gets us the three titles:
%GCTIT1 (lol?)
%GCTIT2 (lol?)
%GCTIT3 (lol?)
You'll notice at action #18 there is a GOTO IF %GCNAV = 2. This variable is set to 1 when the navigation calendar entry triggers. IF it is still set to 2, then Tasker knows you already have a pending navigation entry and won't create another one. The GOTO skips all of the other tasks and goes straight to refreshing the MT widget with the above data, before stopping.
Assuming %GCNAV isn't set to 2, the task continues and checks if each of the %GCTITs (lol?) MATCHES 'Meeting*' (the '*' being a wild card to allow further body text after). If it does, it sets the main %GCTIT (lol?) to its contents and is told to perform the task %GCGetJD.
You'll note that IF %GCTIT1 (lol?) does match 'Meeting*' the perform task action has a STOP on, so Tasker will not get to consider the contents of %GCTIT2 (lol?) & %GCTIT3 (lol?). This avoids multiple requests for navigation entries.
GCGetJD
If Tasker did find 'Meeting*' in the title fields, a location request is actioned as your assumed starting point (this will change in V3). Once the location information is received, Tasker needs to know which of the three %GCLOC# variables it needs to include in the URL as the destination.
This is achieved by asking on each HTTP GET action, IF the corresponding %GCTIT# (lol?) entry contained 'Meeting*'. Using the same GOTO principle as above, the correct %GCLOC# can be set to %GCLOC and is therefore requested in the URL for the direction details.
The output file is written to SDCard/Journey.txt which you can view with a file explorer should you wish.
GCJD
This task reads from the file Journey.txt and splits it to populate %JOURD with the journey distance.
GCJT
Similar to the above, this time we populate %JOURT with the journey time.
GCAT
Using similar GOTO and IF actions to previous tasks, we establish which of the calendar events is the meeting and populate the information to %CALDTD so we can manipulate it.
The start time of the calendar entry is used for the arrival time and after some variable splits, is set again to %CALDTD
Note: Variable splits can be difficult to understand at first. Often when testing, I add a 'Variable List' action followed by a STOP action after each split. This way I can see what is happening to the data when I split it and the Variable List that appears details all of the parts I may either wish to use or clear for good housekeeping.
GCJTMaths
This is where it started to get a little tricky... As structured as the data is, there are of course many eventualities when it comes to the possible journey time:
Code:
# mins
1 hour
1 hour 1 min
1 hour # mins
# hours
# hours 1 min
# hours # mins
Using the method I described earlier of listing the variables after each split, I had to look for constants and newly created variables that I could use to cope with each eventuality.
For example, the first split I do is at the instance of 'hour'. Looking above you'll see that we could end up with the following:
Code:
# mins ~ will create no further variables
1 hour ~ will create no further variables
1 hour 1 min ~ will create a variable of '1 min'
1 hour # mins ~ will create a variable of '# mins'
# hours ~ will create a variable of 's'
# hours 1 min ~ will create a variable of 's 1 min'
# hours # mins ~ will create a variable of 's #mins'
Splitting further again by the instance of 'min':
Code:
# mins ~ no further variables ~ no further variables
1 hour ~ no further variables ~ no further variables
1 hour 1 min ~ a variable of '1 min' ~ a variable of '1'
1 hour # mins ~ a variable of '# mins' ~ variables of '#' & 's'
# hours ~ a variable of 's' ~ no further variables
# hours 1 min ~ a variable of 's 1 min' ~ a variable of '1'
# hours # mins ~ a variable of 's # mins' ~ variables of '# min' & others
Scrolling through the task, I had to establish which journey time eventualities would lead to which data being populated to which variables! It gave me brain ache, but eventually I cracked with the help of plenty of IF statements and a GOTO action.
The result was having journey time hours (%JOURTDH) and minutes (%JOURTDM) separated into created variables.
GCNavMaths
Knowing my arrival time and the journey time, next up was to calculate what time I would need to depart. Unfortunately, simply subtracting one from the other isn't a possibility. An example arrival time of 14:30 with a journey time of 2 hours and 38 minutes may have Tasker trying to get you to leave at 12:-8; if at any time at all!
It's necessary to first deal with possible minus numbers and such issues as 3 hours before 01:00 not being at time of -2.00
Here's a working example:
If the appointment time is #:30 and the journey minutes are 40, then the we are after a departure time of #:50 rather than -10 if Tasker was left to its own devices. Seeing that the journey minutes are greater than (>) the arrival minutes, this gives us a chance to prevent the minus number occurring by adding 60 to the appointment minutes. This of course has to take place after the appointment time has been split apart into hours and minutes...
Code:
30 + 60 - 40 = 50 ~ The desired departure minutes
Using IF statements to establish whether the above scenarios are true, gives us the opportunity to take the action of adding 60 only IF journey minutes are greater than arrival minutes.. IF not, the action is skipped.
IF we've had to add 60 to the minutes, we can therefore deduce that we need to reduce the hour by 1. The exact same IF action above tells Tasker whether to perform this or not.
When we are finally left with separate departure time hours and minutes we need to variable join them into a time format. As a note, Tasker uses #.# rather than #:# as a time separator. Joining the hours and minutes using '.' would just be too easy wouldn't it... If the departure time is 02.09 in the morning for example, Tasker currently has them stored separately as 2 and 9. Joining them in this state would give us 2.9 which is no good of course...
We solve this issue by joining the hours to a leading zero IF they are less than 10, giving us '02'. We join the minutes to '.0' IF they are less than 10, or just '.' otherwise. We now have 02.09 stored in the created variable %DEPTD. Sorted.
GCEntry
It would be fantastic if the departure time above (%DEPTD) could be triggered when it equals the inbuilt time variable %TIME, but alas, that's not yet implemented in Tasker. The work-around to this is to trigger the navigation to start when a calendar entry becomes active with the departure details contained inside it.
The problem to this is that Tasker only enables you to set a calendar entry using 'minutes from now', so yes our example of 02.09 above is currently useless. I'm sure this will change in future releases so I persisted with GoogleNavMaths despite this, but regardless, next we have to convert the departure time into the number of minutes from now... Oh joy...
It involves a similar practice to GCNavMaths where we split the hours and minutes of the actual %TIME along with our example of 02.09, convert them both into minutes and find the difference between them. For the example below, lets say the current time is 19.38.
Code:
02.09
02 * 60 = 120
120 + 09 = 129
19.38
19 * 60 = 1140
1140 + 38 = 1178
129 - 1178 = !ERROR!
You can see that if the departure time is earlier the next day than the current time, we'll end up with incorrect data. The answer to this was quite simple - IF the departure hours are less (<) than current hour, we add 24 to it.
Code:
02.09
(02 + 24) * 60 = 1560
1560 + 09 = 1569
19.38
19 * 60 = 1140
1140 + 38 = 1178
1569 - 1178 = 391 mins
391 = 6 hours and 31 minutes
6 hours and 31 minutes from 19.38 is indeed 02.09
In practice, it was actually easier to deal with the subtraction of the hours and minutes separately and add them together after, but the principle remains the same.
The end result was having the number of minutes stored in %DEPTDCAL which could be used in the insert calendar entry action, along with %GCTIT (lol?) and %GCLOC.
* Check post 3 for current limitations with this task
GoogleMT
Minimalistic Text is a great application that can display any Tasker variable you send to it. The MT calendar widget backup is included in the .zip file. Once you have it on your home screen, you'll have to edit the font sizes etc to make this look good for you - it's currently fugly.
This task splits out some of the useless data such as the current year and passes the variables you would look to use over to MT.
Google-AutoNav
The profile is triggered by the context of a calendar event becoming active with matching matching variables %GCLOC & %GCTIT (lol?).
GCAutoNav
Finally, this task loads up the navigation at the equivalent of %DEPTD with the destination of %GCLOC. It sets %GCNAV to 1 to let Tasker know it can set another navigation entry should it wish on the next refresh...
And off you trot...
Google_calendar_mtpref
This should be dragged into the sdcard/MinimalisticTextPreferences folder. It can then be selected in the MT Preference Manager or by selecting the 'restore' option when creating a new MT widget.
Download | Change Log | FAQ
Limitations and Shortfalls
1) Have to split via the current month – Needs to be edited every month or use 12 IF variables.
2) Gets current location – may not be where you’re departing from! Need to look at including departure location in 'where' field.
3) A profile cannot currently be triggered by %VARIABLE = %TIME. Pleaded with Tasker Dev.
4) Incoming *meeting* SMS will overwrite the previous data & the widget details. Need some kind of loop to avoid overwriting.
5) Buffer time - didn't include the fact that you may want to leave 15 minutes or so spare...
6) MT widget only receives *meeting* entries. Need to get non-meeting entries into the calendar for a useful widget.
7) Time in seconds until the departure time does not consider days. Python script required to convert date from XML feed format:
'Wed Jun 1, 2011' to '5-30-11' (which is %DATE %TIME). Any volunteers?!
FAQ
Q) I just want to use the calendar widget only. Can I do that?
A) Yes, there's a separate download below.
Q) I have many other Tasker questions, can I post them here??
A) To avoid clutter, probably best to use this official Google group
Q) Where can I learn more about Tasker?
A) The manual and Profiles and step-throughs on the Tasker wiki and you’ll be up to speed in no time.
Change Log
V2
Code:
* Private XML calendar feed used, rather than SMS service.
* Full Google Calendar widget via Minimalistic Text
* Calendar provides default alarm 'buffer time' to navigation start.
* Renamed most tasks
* More intelligent tasks to handle multiple 'meeting' event.
* Prevented multiple navigation entries on refresh by using [B]%GCNAV[/B] set to 2.
V3 - Coming Soon!
Code:
* Profile triggered by [B]%VARIABLE[/B] = [B]%TIME[/B].
* Read departure location from calendar rather than assuming current location
* Python script to navigation events more than 24 hours away
Future Requests
None as yet.
Installation Instructions
Download and import the following 12 tasks:
GCAppLoc
GCAppDesc
GCAppTime
GCAppTit (lol?)
GCGetJD
GCJD
GCJT
GCAT
GCJTMaths
GCNavMaths
GCEntry
GCMT
Download and import the following 2 profiles:
Google-Calendar
Google-AutoNav
The .zip folder also contains the file Google_calendar_mtpref. This should be dragged into the sdcard/MinimalisticTextPreferences folder. It can then be selected in the MT Preference Manager or by selecting the 'restore' option when creating a new MT widget.
Credits: RichardKemp for prompting me to go RSS hunting.
------------------------------------------------------------------------------------------------------
The thanks meter lets me know I'm appreciated!
Wow!
You're on a roll!!!
Don't need this profile but I'll take a look for inspiration and new ideas.
Check it :-]
Archon810 said:
Check it :-]
Click to expand...
Click to collapse
Love the Skynet reference! Thank you
At 12:37am BST on May 24th 2011, Tasker became self aware....
leftAlone said:
You're on a roll!!!
Don't need this profile but I'll take a look for inspiration and new ideas.
Click to expand...
Click to collapse
Any testers and feedback appreciated!
Sweet, thanks for sharing, I will have a good hunt through this later when I have a moment.
I used to have something similar set up by using google apps script to make a publicly accessible spreadsheet containing my calendar entires, and download that spreadsheet (as a csv) using tasker. Unfortunately this stopped working when Google forced the use of https on all Docs, as neither Tasker nor any other way I could find to do it (I tried curl and wget) would allow https. Any suggestions for this? I would prefer not to use the sms version you mention so as not to clog up my inbox. Another way that almost works is getting the daily email agenda google offers, except Tasker can't access email bodies (only subjects, grr).
I was half considering writing some sort of app to make future calendar data accessible easily to tasker. I may do this over summer.
richardkemp said:
Sweet, thanks for sharing, I will have a good hunt through this later when I have a moment.
I used to have something similar set up by using google apps script to make a publicly accessible spreadsheet containing my calendar entires, and download that spreadsheet (as a csv) using tasker. Unfortunately this stopped working when Google forced the use of https on all Docs, as neither Tasker nor any other way I could find to do it (I tried curl and wget) would allow https. Any suggestions for this? I would prefer not to use the sms version you mention so as not to clog up my inbox. Another way that almost works is getting the daily email agenda google offers, except Tasker can't access email bodies (only subjects, grr).
Click to expand...
Click to collapse
I had a quick google on your suggestion and came up with a couple of applications here and here. You've also got me thinking that I must be able to pull a queried RSS feed from the calendar that would support the 'widgets' on the iGoogle home page for example. I'll dig a little further into this, as same with you, I failed when first looking at the 5am agenda email.
EDIT: Your prompting has lead me to this page which has resulted in me being able to get a private url of my agenda in xml or html output! Thank you! Looks like I have another evening of variable splits in front of me.....
I was half considering writing some sort of app to make future calendar data accessible easily to tasker. I may do this over summer.
Click to expand...
Click to collapse
I've heard a few people screaming out for task and agenda synchronisation from outlook without exchange server use. I don't know if someone has cracked this yet, but a CSV export would surely be pretty easy to convert?
This is cheeky, but any chance of getting this to work with TfL?
sabret00the said:
This is cheeky, but any chance of getting this to work with TfL?
Click to expand...
Click to collapse
Which aspect of it? Do you mean train times as opposed to by car?
Sent from my HTC Desire using XDA Premium App
Version 2 Up!
Change Log
V2
Code:
* Private XML calendar feed used, rather than SMS service.
* Full Google Calendar widget via Minimalistic Text
* Calendar provides default alarm 'buffer time' to navigation start.
* Renamed most tasks
* More intelligent tasks to handle multiple 'meeting' event.
* Prevented multiple navigation entries on refresh by using [B]%GCNAV[/B] set to 2.
V3 - Coming Soon!
Code:
* Profile triggered by [B]%VARIABLE[/B] = [B]%TIME[/B].
* Read departure location from calendar rather than assuming current location
* Python script to navigation events more than 24 hours away
FAQ
Q) I just want to use the calendar widget only. Can I do that?
A) Yes, there's a separate download link.
Let me know it works folks!
Glad to have helped in some small way! Also incredibly grateful you actually found a way to make this work, once my exams are over I'll get on it and adapt this to my needs
As a suggestion for further uses for this calendar data, what I use it for is automatically setting the time I need to wake in the mornings. Basically, when I go to sleep I run a task which dims the screen, quiets the phone, etc etc. It also sets my alarm time to 7 hours in the future, *or two hours before my first appointment of the day*, whichever is sooner. Currently this uses a series of alarm profiles/tasks in Tasker, but I switch to Gentle Alarm when Tasker support works.
Again, when exams are over I'll (possibly) write up my 'Alarm in Tasker' solution and post here, with comments on how to integrate with your calendar stuff.
richardkemp said:
Glad to have helped in some small way! Also incredibly grateful you actually found a way to make this work, once my exams are over I'll get on it and adapt this to my needs
As a suggestion for further uses for this calendar data, what I use it for is automatically setting the time I need to wake in the mornings. Basically, when I go to sleep I run a task which dims the screen, quiets the phone, etc etc. It also sets my alarm time to 7 hours in the future, *or two hours before my first appointment of the day*, whichever is sooner. Currently this uses a series of alarm profiles/tasks in Tasker, but I switch to Gentle Alarm when Tasker support works.
Again, when exams are over I'll (possibly) write up my 'Alarm in Tasker' solution and post here, with comments on how to integrate with your calendar stuff.
Click to expand...
Click to collapse
You certainly gave me a nudge in the right direction!
I'll look forward to your write up and interested to see how you get the alarm to trigger. Good luck in your exams!
Seems like the download for calendar only is 0 bytes. At least for me. I tried 5 times
Jufis said:
Seems like the download for calendar only is 0 bytes. At least for me. I tried 5 times
Click to expand...
Click to collapse
I've just tried and the file won't open for me either. Strange... Thanks for letting me know, I'll repost later when I have access to the files.
Sent from my HTC Desire using XDA Premium App
Jufis said:
Seems like the download for calendar only is 0 bytes. At least for me. I tried 5 times
Click to expand...
Click to collapse
Replaced the download - should work now. Thanks again for letting me know
The alarm trigger is a bit hackish.. basically there's two profiles, one runs each hour if the night variable is set, splits %TIME and checks if %TIME1 matches %ALARMHOUR. If so, it turns on another profile which runs every 5 mins, doing a similar thing to check if %TIME2 is greater than %ALARMMINUTES. If true, turn off profile and run the alarm task.
Prior to that version I was using another little trick Pent recommended me (not quite as good though), I had a profile with the context %TIME > %ALARMTIME, but obviously it didn't check the variables and didn't fire. TO solve this there was another profile which every 15 mins (when %NIGHT is set) would set %ALARMTIME to %ALARMTIME. Apparently re-setting the variable like that triggers the check. The first one I mentioned is a bit more efficient. I have considered switching to using calendar event based triggering, but it wasn't immediately obvious to me how I could edit the alarm event's time once set, short of literally editing the event on the calendar.
hi Brandall,
already read me elsewhere isn't it?
FAQ
Q) I just want to use the calendar widget only. Can I do that?
A) Yes, there's a separate download link.
Let me know it works folks!
Click to expand...
Click to collapse
so I can tell that it works about var and MT but... as i am franch speaking and so GC is french xml tags are to be corrected on splitting task ... where - event status and so one... CEST instead BST for continental (gmt+1)
Also as mentionned early in that thread should use some convenience fullfiling the appointment so could easly to get splitting process....
i'm actually on it .
I stay tuned as soon as it is corrected for french speaking I would give back report about mod I have done...
tks a lot very good way to learn how splitting process works
richardkemp said:
The alarm trigger is a bit hackish.. basically there's two profiles, one runs each hour if the night variable is set, splits %TIME and checks if %TIME1 matches %ALARMHOUR. If so, it turns on another profile which runs every 5 mins, doing a similar thing to check if %TIME2 is greater than %ALARMMINUTES. If true, turn off profile and run the alarm task.
Click to expand...
Click to collapse
Not too hackish! I like it... Hadn't thought of doing that - At worst it triggers the alarm a few minutes late, and doesn't use an additional calendar entry... I'm really hoping the next release will have the context %VAR = %TIME...
Prior to that version I was using another little trick Pent recommended me (not quite as good though), I had a profile with the context %TIME > %ALARMTIME, but obviously it didn't check the variables and didn't fire. TO solve this there was another profile which every 15 mins (when %NIGHT is set) would set %ALARMTIME to %ALARMTIME. Apparently re-setting the variable like that triggers the check. The first one I mentioned is a bit more efficient. I have considered switching to using calendar event based triggering, but it wasn't immediately obvious to me how I could edit the alarm event's time once set, short of literally editing the event on the calendar.
Click to expand...
Click to collapse
I prefer what you've done to using a calendar entry - It felt messy doing that, although I suppose it can have the appointment title, destination time etc etc in...
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
What is this?
Basically by installing this application, as soon as you receive a notification there is a flash as your phone starts blinking for the LED notification.
It can be useful to anyone that has a device without the LED notification, but instead have a flash next to the selfie camera.
It also extends the concept of notification to the unread badges received from the applications (ex. the "Facebook like"). So, when an unread badge pops up, in the same way as a "normal" notification the flash starts blinking and you will be notified of what's going on.
Various settings are also available to better configure the application to suit your needs.
It works on all devices equipped with a front flash, regardless of whether or not they have the hardware LED notification. (read also the Hardware limitations section for more details)
Main features
customizable activation based on the current display status and audio mode
pocket mode and recovery options
Samsung AOD support
single or double blink
optional custom delay for the first blink
use also the rear flash when the device is upside down
additional flashing loop with customizable frequency
three different gestures to dismiss the flashing loop
customizable exclusions for the incoming call, the missing call and the text messages
customizable exclusions for all the installed user applications
flash notifications for the unread badges received from compatible applications and customizable by app exclusions (only on Samsung devices with TouchWiz based ROM)
suspend on low battery
suspend during a customizable time slot
integration with the Android "Do not disturb" settings
custom quick setting tile in the quick settings panel to easily turn on/off the service (only on Android 7.x+ devices)
custom shortcut pressing the application icon to easily turn on/off the service (only on supported launchers and on Android 7.1.1+ devices)
built-in black list to avoid the flash for useless, fake or annoying notifications from some applications
optimized for memory usage
battery-friendly (usually takes up 2% in each 24 hour period)
dark theme
RTL support for Arabic languages
no ADS
no ROOT ACCESS needed to work
and more...
Languages
English
Italian
Arabic (Egyptian) @yshalsager
Arabic (Syrian) @mozzafar alali
Croatian @dugi9991
Czech @novas78
French @Primokorn
German @supergrobi94 / @Oswald Boelcke
Greek kynigosg
Polish @emcom
Portuguese (Brazilian) @Taivotat2 / @justjr
Russian @gaich
Simplified Chinese @ContactFront
Slovak @kubalav
Spanish @JHAM2005
Turkish @Fatih Fırıncı
Ukrainian @Alexiy_ua
Vietnamese @tphg
Privacy
This application is not ad-supported and can not collect and transmit any sort of privacy sensitive information.
This application can not collect, store or publish any user information.
This application can not use any data connection, detect your location or access your contacts. It also can not read any sensitive information stored on your device. This guarantees maximum security for your data and your privacy.
Permissions
This application does not need any special permissions except for the one to bind the Android notification listener service. [android.permission.BIND_NOTIFICATION_LISTENER_SERVICE]
This is the only authorization required to properly interact with your incoming notifications (you will be asked about it explicitly when it is run for the first time).
Devices with Camera Hardware level: LIMITED (partial Camera2 API support)
On some devices the manufacturer implemented only partially the Android Camera2 API; this means limited hardware access to the camera for the developers. In this case the only way to let this application properly take control of the front flash is to use the old Android API and that's why you may also have to authorize the application to use the hardware camera. [android.permission.CAMERA]
With the first run and only if the application detects this limitation, as per the above case you will be asked explicitly to grant full camera access permission (even if the application should only use the front flash, the flash is strictly part of the hardware camera).
You must agree with providing access to your device camera, file system and audio recording for the application to function. This access is limited to user only. None of the data present in your device can be shared with me or any other person.
Keep in mind that if you deny any of these permissions the application will not work!
If you know how Android works and the meaning of application permissions, you can easily verify by yourself all the above statements.
So please, avoid claiming that we are a bunch of criminals here just to steal your data with this application... in doing that, you would be such an IDIOT!
Hardware limitations
Lately several devices (mainly, but not only, running Android 8.x) are equipped with front flash with custom hardware that developers can not have access to. Furthermore, with the introduction of the new firmware based on Android 8.x, Samsung has inexplicably inhibited the use of front flash to developers on a wide range of devices.
Strangely enough, the front camera of your device may not be equipped with a "real" front flash for this application. When it "asks" through the Android API to your front camera some information about its front flash, the answer may be "no front flash available". There is no workaround this!
This is a software/hardware limitation imposed by the manufacturer (don't ask me why) and at the moment unfortunately there's nothing I can do. I understand your amazement, but if you experience this kind of issue at 99% of the time that's the reason why this application may not work and could report the non-availability of a front flash despite your eyes seeing a front flash.
Mainly only the branded (stock) camera application can handle this kind of front flash, using owned and reserved API.
Try it by yourself to install (from the app Store) an alternative camera application. Then shoot a front selfie and check if the front flash can turn on... or use any other application you expect to use the front flash (usually Instagram and Snapchat fail as well) and then let me know the results.
In addition, you can also try to install Device Info HW and then select the "Camera" tab and check all detailed information about the front camera of your device.
Finally, let me remind you that this app can't take control over the brightness, the color and the speed (On-Off phase) of a flash; unfortunately it isn't a LED... no way for the developers to handle these features.
All of them are strictly related to the hardware and its manufacturer and therefore vary from model to model.
Main functioning
As you can imagine, this application must be able to take control of the front flash of your device to work properly. In an Android phone this can only happen in one way: through the front camera as the flash is strictly connected to it.
The developers in fact through dedicated instructions, can turn it on and off at will. But it always has a connection to the camera and not directly to the flash itself.
To handle all the incoming notifications, an Android service will run in background on your device.
These are the main functioning at the root of this application.
Troubleshooting
If you installed any startup manager application (such as Startup Manager, Autorun Manager, AutoStart Manager, Advanced Task Manager, BootManager, etc) or any battery manager/optimizer application (such as Greenify, Doze, Brevent, Hibernator, App Freezer, etc) pay attention to avoid killing the running "Flash notification service" otherwise this application will not work!
I also want to draw your attention to the importance of the Android wakelocks in the lifecycle of this application (if you don't know what wakelocks are, disregard the sentance below).
If your device is running an application that detects and blocks wakelocks (such as Wakelock Detector, WakeBlock, No Wakelock, Wake Lock - PowerManager, etc), keep in mind that the main features of this application will not work as you expect. So add it to the white list if any, or if you are interested in using this application in any way avoid blocking the wakelocks.
In other words, because of unreasonable battery optimizations implemented by some brands but not only, you have to be careful not to put this application in hibernation without realizing it or maybe killing or blocking the background service without noticing it. These are the most common causes of the main problems you may experience!
Please verify the impact over this application by any system tools / Magisk - Xposed modules which you heavily rely on (especially if your device is ROOTED).
So, double check your system settings before reporting any issues, thanks.
Battery consumption
It isn't strictly related to the application itself. What drains the battery is the flash not the background service in charge of managing your incoming notifications, I can't do more in terms of optimization.
Battery consumption mainly depends on how long you will let the flashing loop run before you dismiss it (the shorter it is the better for your battery) and also on how many notifications you receive a day.
Issues & Known bugs
with the introduction of the new firmware based on Android 8.x, Samsung has inexplicably inhibited the use of front flash to developers on a wide range of devices, so this application stop working!!
System requirements
Android 6.x Marshmallow or later
a device with front camera and front flash (read also the Hardware limitations section for more details)
five minutes of your free-time and a little piece of your brain (just in case)
you do not need ROOT ACCESS for this application to work
Installation instructions
Just download the apk and open it as a normal application.
Download
This application is available on the Google Play Store.
In order to keep in touch with the latest updates, I suggest you uninstall any previous version you downloaded here from XDA and then install the official version of the Play Store.
Get FrontFlash Notification
Credits / Thanks to
thanks to @supergrobi94 for the graphic support
thanks to @Alexiy_ua, @ContactFront, @dugi9991, @emcom, @Fatih Fırıncı, @gaich, @JHAM2005, @justjr, @kubalav, kynigosg, @mozzafar alali, @novas78, @Oswald Boelcke, @Primokorn, @supergrobi94, @Taivotat2, @tphg, @yshalsager for the translations
Donation
Your donations are welcomed and appreciated, press the thanks button instead of saying it.
PayPal
FrontFlash Notification
Version Information
Status: Stable
Current Stable Version: 2.5
Stable Release Date: 2019-04-24
Created: 2018-01-13
Last Updated: 2019-04-24
Screenshots
Changelog
2.5 (current release)
migration to native Android Pie 9 (API 28)
updated internal black-list for the auto-excluded applications
minor bug fixes
2.4.9 (stable)
minor bug fixes
2.4.7 (stable)
under the hood fixes and optimizations
2.4.5 (stable)
minor bug fixes
2.4.2 (stable)
fixed the custom shortcut icon issue on Android 7.1.x devices
minor bug fixes
2.4.1 (stable)
migration to native Android Oreo 8.1 (API 27)
added the option to delay the first blink
added a custom shortcut pressing the application icon to easily turn on/off the service only on supported launchers and on Android 7.1.1+ devices
added the Simplified Chinese translation
added the Greek translation
added the Ukrainian translation
updated all translations
updated internal black-list for the auto-excluded applications
lots of under the hood fixes and optimizations
2.3.3 (stable)
Android 8.x users may experience general malfunctions
added the sub-option to keep screen on if the "Turn display on" option when a notification occurs is selected
added the Slovak translation
added the Turkish translation
added the Vietnamese translation
updated the Czech and Russian translations
stability improvement
minor bug fixes
2.3 (stable)
This update will reset all user preferences to default at first run!
fixed the pocket mode issue
fixed the time slot suspension issue
added a custom quick setting tile on the quick settings panel to easily turn on/off the service only on Android 7.x+ devices
major code rewrite for the graphical user interface (flash notifications settings)
updated internal black-list for the auto-excluded applications
minor bug fixes and various adjustments
2.2.7 (stable)
fixed the pocket mode issue on some devices
fixed the time slot suspension issue on Android 8.x devices
fixed the incoming call flash notification issue
fixed the consecutive notifications issue
renewed badge notification service for Samsung devices (some tests may be needed)
minor bug fixes and various adjustments
2.2.5 (stable)
fixed the issue of annoying blinks while the device is in use (user present/screen on) in some particular conditions or by specific applications
fixed the issue of the suddenly stop working blink loop
battery life improved
new max limit for the blink loop duration
new increase values for the blink loop frequency
minor bug fixes and various adjustments
2.2.1 (stable)
fixed the service force close issue on Android 6.0 devices
minor adjustments
2.2 (stable)
minor bug fixes
2.1.6 (stable)
minor bug fixes
translation update for some languages
2.1.4 (stable)
minor bug fixes
2.1 (stable)
main code reengineering
stability and compatibility improvement
removed the flashing loop duration setting, from now is always unlimited
better performance
2.0 (stable)
code optimization
stability improvement
1.9.5 (stable)
code optimization
minor bug fixes
unlimited duration for the flashing loop
1.9.4 (stable)
added the Portuguese (Brazilian) translation
added the Arabic (Egyptian) translation
added the French translation
added the Czech translation
added the Croatian translation
added the Russian translation
added the Arabic (Syrian) translation
new range values for the duration and the frequency of the flashing loop
1.9.2 (stable)
added the option to force the English language
fixed the Samsung Email application issue
stability improvement
added the light sensor management (if present) for the flash type auto-adjustment (single/double)
added the option to use the rear flash when device is turn upside down
added RTL support for Arabic languages
1.9 (stable)
fixed the service force close issue and runtime exception on some Motorola devices
minor bug fixes
added the Spanish translation
1.8.3 (stable)
official Play Store release
minor bug fixes in the notifications detection engine
added compatibility to Android 8.0 Oreo (API 26)
added the Polish translation
1.7 (stable)
extended support to both Camera and Camera2 API to properly detect and manage the front flash also on devices with limited access to the camera (e.g. new Samsung device series)
fixed the issue with Gmail notifications on Android 6.0 devices
fixed the missing installed applications issue in the excluded applications list
fixed the wrong low battery detection issue on some devices
added a "select/unselect all" toggle switch in the excluded applications list
integration with the current Android "Do not disturb" settings as an additional way to disable the service in certain situations
minor fixes and code optimizations
updated internal black list for the auto-excluded applications
some GUI improvements and adjustments
new dark theme
new application icon
some corrections to writing errors
added the German translation
1.6 (stable)
added the option to choose a custom time slot for the service suspension (tap on time slot)
minor fixes
1.5 (stable)
added Samsung AOD detection and support
added the option to choose which applications exclude from the unread badges notification (tap on See list)
added the option to choose a custom sound for the unread badges notification (tap on Set sound)
improved both memory and cpu consumption
1.4 (release)
added the accelerometer sensor management and the relative “by shake” option
fixed the issue with duplicate items between the unread badges notification and the "normal" notification from the same application
new GUI
added the Italian translation
1.3 (beta 2)
added compatibility to Android 7.1.1 Nougat (API 25)
added the option to choose which applications exclude from flash notification (black list)
added the unread badges detection and the relative flash notification for all supported applications (only on Samsung devices with TW rom)
lots of under the hood fixes and optimizations
1.2 (beta 1)
added the proximity sensor option and its management
added the notifications badge count over the application icon in the app drawer and its relative option (only on supported device: Asus, Huawei, LG, HTC, Oppo, Samsung, Sony, Xiaomi, ZTE)
fine tuning in the notifications detection engine to avoid fake flash notifications from system and user applications
performance improvements
1.1 (alpha)
added the option to enable a blinking loop for all the incoming notifications
added the low battery status detection and the relative service suspension option
added an option to suspend the service during a specific time slot
bug fixes
1.0
initial release
Support
Feedback
Please write in this thread any suggestions or bugs you come to know to help me make this application better and better.
What's coming next
none
Translations
All translations are created by community volunteers and open for contribution. If you want this application in your language and you are interested in cooperate, please send me a PM.
Hardware limitations
Lately several devices (mainly, but not only, running Android 8.x) are equipped with front flash with custom hardware that developers can not have access to. Furthermore, with the introduction of the new firmware based on Android 8.x, Samsung has inexplicably inhibited the use of front flash to developers on a wide range of devices.
Strangely enough, the front camera of your device may not be equipped with a "real" front flash for this application. When it "asks" through the Android API to your front camera some information about its front flash, the answer may be "no front flash available". There is no workaround this!
This is a software/hardware limitation imposed by the manufacturer (don't ask me why) and at the moment unfortunately there's nothing I can do. I understand your amazement, but if you experience this kind of issue at 99% of the time that's the reason why this application may not work and could report the non-availability of a front flash despite your eyes seeing a front flash.
Mainly only the branded (stock) camera application can handle this kind of front flash, using owned and reserved API.
Try it by yourself to install (from the app Store) an alternative camera application. Then shoot a front selfie and check if the front flash can turn on... or use any other application you expect to use the front flash (usually Instagram and Snapchat fail as well) and then let me know the results.
In addition, you can also try to install Device Info HW and then select the "Camera" tab and check all detailed information about the front camera of your device.
Finally, let me remind you that this app can't take control over the brightness, the color and the speed (On-Off phase) of a flash; unfortunately it isn't a LED... no way for the developers to handle these features.
All of them are strictly related to the hardware and its manufacturer and therefore vary from model to model.
Main functioning
As you can imagine, this application must be able to take control of the front flash of your device to work properly. In an Android phone this can only happen in one way: through the front camera as the flash is strictly connected to it.
The developers in fact through dedicated instructions, can turn it on and off at will. But it always has a connection to the camera and not directly to the flash itself.
To handle all the incoming notifications, an Android service will run in background on your device.
These are the main functioning at the root of this application.
Common issues & Troubleshooting
If you installed any startup manager application (such as Startup Manager, Autorun Manager, AutoStart Manager, Advanced Task Manager, BootManager, etc) or any battery manager/optimizer application (such as Greenify, Doze, Brevent, Hibernator, App Freezer, etc) pay attention to avoid killing the running "Flash notification service" otherwise this application will not work!
I also want to draw your attention to the importance of the Android wakelocks in the lifecycle of this application (if you don't know what wakelocks are, disregard the sentance below).
If your device is running an application that detects and blocks wakelocks (such as Wakelock Detector, WakeBlock, No Wakelock, Wake Lock - PowerManager, etc), keep in mind that the main features of this application will not work as you expect. So add it to the white list if any, or if you are interested in using this application in any way avoid blocking the wakelocks.
In other words, because of unreasonable battery optimizations implemented by some brands but not only, you have to be careful not to put this application in hibernation without realizing it or maybe killing or blocking the background service without noticing it. These are the most common causes of the main problems you may experience!
Please verify the impact over this application by any system tools / Magisk - Xposed modules which you heavily rely on (especially if your device is ROOTED).
So, double check your system settings before reporting any issues, thanks.
Battery consumption
It isn't strictly related to the application itself. What drains the battery is the flash not the background service in charge of managing your incoming notifications, I can't do more in terms of optimization.
Battery consumption mainly depends on how long you will let the flashing loop run before you dismiss it (the shorter it is the better for your battery) and also on how many notifications you receive a day.
Hope I have been helpful in understanding.
Thank you nice work
I will add Arabic language
Can't enable the front flash.. Its not enabling.. Greyed out.. I have j7 pro.. Ty..
The app doesn't know I have Front Flash (J7 2016)
Sent from my j7xelte using XDA Labs
ickoslash said:
Can't enable the front flash.. Its not enabling.. Greyed out.. I have j7 pro.. Ty..
Click to expand...
Click to collapse
Oh... this sounds strange! Be more specific please.
Which android version?
Which label is displayed at the left of the greyed switch?
Did the app ask for "Notification access permission" at first run?
Open Options --> Lock screen and security --> Other security settings and check manually the notification access permission (if it's disabled, activate it now) and let me know.
Thanks
Arnaud Créative Studios said:
The app doesn't know I have Front Flash (J7 2016)
Sent from my j7xelte using XDA Labs
Click to expand...
Click to collapse
You mean did you received the "Front flash not present, service disabled" message?
Thanks
spacejam said:
You mean did you received the "Front flash not present, service disabled" message?
Thanks
Click to expand...
Click to collapse
Yes
Sent from my j7xelte using XDA Labs
spacejam said:
Oh... this sounds strange! Be more specific please.
Which android version?
Which label is displayed at the left of the greyed switch?
Did the app ask for "Notification access permission" at first run?
Open Options --> Lock screen and security --> Other security settings and check manually the notification access permission (if it's disabled, activate it now) and let me know.
Thanks
Click to expand...
Click to collapse
Got error message front flash not present.. Already enabled it in notifications under lock screen and security.. My phone's j7 pro.. So technically it's nougat..
Arnaud Créative Studios said:
Yes
Click to expand...
Click to collapse
SM-J710F model right?
Chipset Exynos or Snapdragon?
Stock ROM, Custom TWLauncher rom, AOSP rom... or what?
(I'm sorry for so many questions, but the more I know and the more it becomes easy to solve the problem, I hope)
ickoslash said:
Got error message front flash not present...
Click to expand...
Click to collapse
SM-J730G model right?
Seems like something go wrong during the front flash detection phase.
This app uses the standard Android Camera2 API to get access to the flash.
So, is something strictly related to your device model and Samsung hardware/firmware.
Maybe is the Exynos chipset variant... not so easy to investigate but I will try.
Thanks
spacejam said:
SM-J710F model right?
Chipset Exynos or Snapdragon?
Stock ROM, Custom TWLauncher rom, AOSP rom... or what?
(I'm sorry for so many questions, but the more I know and the more it becomes easy to solve the problem, I hope)
SM-J730G model right?
Seems like something go wrong during the front flash detection phase.
This app uses the standard Android Camera2 API to get access to the flash.
So, is something strictly related to your device model and Samsung hardware/firmware.
Maybe is the Exynos chipset variant... not so easy to investigate but I will try.
Thanks
Click to expand...
Click to collapse
Yep.. Exynos chipset.. It would be awesome if you could fix it dude.. Tnx a lot for making this app.. Will wait for the update.. :fingers-crossed:
spacejam said:
SM-J710F model right?
Chipset Exynos or Snapdragon?
Stock ROM, Custom TWLauncher rom, AOSP rom... or what?
(I'm sorry for so many questions, but the more I know and the more it becomes easy to solve the problem, I hope)
SM-J730G model right?
Seems like something go wrong during the front flash detection phase.
This app uses the standard Android Camera2 API to get access to the flash.
So, is something strictly related to your device model and Samsung hardware/firmware.
Maybe is the Exynos chipset variant... not so easy to investigate but I will try.
Thanks
Click to expand...
Click to collapse
SM-J710FN,Exynos,Stock TW Nougat Rom with Stock Launcher
Sent from my j7xelte using XDA Labs
FrontFlash Notification
Issues & known bugs:
on some Exynos chipset based devices, take control over the front flash fails. Check yours by yourself and let me know. (I'm working to understand how to fix it)
Thank you for this app, I will try it.
Works great on my Moto Z2 Play. Even dual flash works too. Awesome work !
This will be very useful on my Honor 7 since the notification LED is so small it's almost invisible.
Haven't been able to get it to work yet though.
First issue I got was that the service was running but not enabled. I figured out it was due to the "suspend on low battery" setting even though my battery was at 80%.
I unticked that and now the service is running and enabled.
I'm trying to get a notification when receiving an e-mail(gmail) but nothing is happening. Gmail is not in the possible exclusion list at all, maybe that has something to do with it?
Edit: It works for other apps like the calendar app.
Thanks for the work so far.
FrontFlash Notification
Just an update for Exynos chipset based device users... the front flash detection issue is not related to the chipset.
For some strange reasons (don't ask me why), on the new devices series (Exynos of course), Samsung has implemented only partially the Camera2 API for the developers. Hardware level: LIMITED (partial Camera2 support)
This is why at the time been my app can't use the front flash on your device.
In the next few days I'm going to produce a new 1.7 version, where if Camera2 fails the app takes control over the camera and his front flash using the old Android API.
Based on the first tests, fortunatelly this seems to fix the problem.
Keep in touch
In short, Kanbani is a robust and absolutely free (+ ad-free) task management app. Why not just use Trello or JIRA, you ask? Let us go straight to the point:
It allows to mix online and offline work, either alone or in a team, and sync to our servers or your own.
It has a fine-tuned user interface with bulk commands (create, share, delete, etc.), gestures and 1-tap pie menus – something that Trello still cannot do.
It can turn kanban boards into a traditional calendar-based organizer with the unique Timeline view – because a calendar sometimes does work better.
Trivial like file sharing, it can share boards for any web browser on any platform (example). The viewer is open source (MIT), no registration (QR code based sharing), plugins written in PHP and JavaScript, various import/export options (CSV, text, Trello, etc.), filters, print and vertical view (great for reviewing big boards on laptop), table of contents - and really lightweight (CSS+JS=30K). Check the README with screenshots for details.
Lets you organize text notes into cards or keep a journal with the convenient full-screen Description editor,
Every list can be customized individually with a rich set of settings: archive cards automatically on threshold, sort by Due Date, sync when an event occurs, show Description excerpts and so on.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Kanbani has been intensively tested to be fast even with great number of cards (thousands), lists, boards and descriptions (100,000+ symbols, per card). I personally have 1500+ cards, 500+ KB of JSON if exported.
But the best part really is collaboration and tinkering for power users and enterprise:
Create and join teams by sharing sync profiles as simple QR codes.
Sync over Wi-Fi, Bluetooth, email, etc. using standard Android Sharing. Paranoids can also sync using just SD cards :laugh:
Encrypt sync data end-to-end with industry-standard cryptography (AES), verifiable using openssl: https://github.com/PDApps/KanbaniDataPHP/blob/master/sync.php#L75
Staying away from vendor locks and centralized services – host your own sync server if desired.
Write online viewer plugins in PHP and JavaScript. Integrate Kanbani into your workflow thanks to the documented data format: receive JSON, transform and feed back. See the in-app help for details and actual code.
We got standards all around: JSON, VCS/ICS, SHA/AES, SFTP (any Unix server), WebDAV (great for multiple concurrent users – supported by OwnCloud, NextCloud, Apache’s mod_dav and various cloud providers).
Wary users may obtain an APK without Google’s analytics ("Community" version) from this thread or the Kanbani’s homepage.
There are also dark theme, autosaving, widgets and more – check the app for details. Android 5+.
I am one of the Kanbani developers. Your suggestions and bug reports are more than welcome! Please post them here or send to [email protected] (or via our website).
Kanbani Web Viewer’s source code on GitHub. Sample Welcome Board.
PHP classes to read and write Kanbani data.
Kanbani’s home page with in-depth manual.
Kanbani’s Google Play page.
Kanbani’s Huawei AppGallery page.
I will take a look, thanks
Posted an update with bug fixes (major: SFTP not working) and a basic web viewer version - https://kanbani.pdapps.org/Welcome
Added PHP libraries to our GitHub: https://github.com/PDApps/KanbaniDataPHP - allow reading and writing serialized Kanbani data (including encrypted data) and QR code data. Used by the web viewer: https://github.com/PDApps/KanbaniWebViewer
Hope you find this interesting.
A little problem
Hi, the app is very interesting. I have a little problem on my OnePlus 5, in the "date" field the letters overlap (see images attached). Maybe the problem is due to the translation in the app (the language is in Spanish).
Very good work! Thanks for the app!
madzero said:
have a little problem on my OnePlus 5, in the "date" field the letters overlap (see images attached). Maybe the problem is due to the translation in the app (the language is in Spanish).
Click to expand...
Click to collapse
Thanks, indeed it appears that our Spanish translator used too long words (I noticed a couple of other places as well). Do you think this is your language's feature (and that we must fix the UI to support longer texts) or that the translator simply picked bad wording?
The translation is ok, I think:
- The calendar is a bit small to choose the date.
- You can choose another font type to the translation of "due date" or "deadline"/"limit date".
Sorry for answer late.
madzero said:
The translation is ok, I think:
- The calendar is a bit small to choose the date.
- You can choose another font type to the translation of "due date" or "deadline"/"limit date".
Sorry for answer late.
Click to expand...
Click to collapse
Thanks for the feedback. We will revise these details together with the translator in the upcoming weeks. It's just strange that only Spanish version has this issues.
Next week we will publish an updated web viewer with interesting features, and its source code.
Hi, I've seen the same screens in English and have some suggestions for the screens in Spanish:
- You can write "Due date"/"Fecha de vencimiento" and "No deadline"/"Sin fecha límite" in 2 lines, something like this:
Fecha de Sin fecha
vencimiento límite
- In the calendar, the name of the days in Spanish shouldn't have a dot at the end and remove the accent mark (Lun Mar Mie Jue Vie Sab Dom). Some calendars only have the initial letter of the day (in English: M T W T F S S, in Spanish: L M M J V S D).
- The plus sign in "+7 days" looks much better instead of writing as "Más...". Keep the same in Spanish ("+7 días").
About the app:
- I haven't seen any option about alarms, maybe I missed that part.
- Black/Dark theme?
Thanks!
madzero said:
Hi, I've seen the same screens in English and have some suggestions for the screens in Spanish:
- You can write "Due date"/"Fecha de vencimiento" and "No deadline"/"Sin fecha límite" in 2 lines, something like this:
Fecha de Sin fecha
vencimiento límite
- In the calendar, the name of the days in Spanish shouldn't have a dot at the end and remove the accent mark (Lun Mar Mie Jue Vie Sab Dom). Some calendars only have the initial letter of the day (in English: M T W T F S S, in Spanish: L M M J V S D).
- The plus sign in "+7 days" looks much better instead of writing as "Más...". Keep the same in Spanish ("+7 días").
Click to expand...
Click to collapse
Hey, thank you! Sadly, I do not know Spanish at all so I had to trust the translator and it looks like he overdid a few things. Noted, will double check.
As for the "no due" in form, the problem is to keep the form compact, meaning conditionally adding second line for Spanish only (and it looks strange that Spanish needs that but say Portuguese doesn't). But this must be fixed in some way, will see.
To be sure, we are talking about Spanish (es), not Spanish-Mexico (es-mx) localization, right?
madzero said:
About the app:
- I haven't seen any option about alarms, maybe I missed that part.
Click to expand...
Click to collapse
The preference is implemented but not in the UI yet. I expect it to appear next week.
madzero said:
- Black/Dark theme?
Click to expand...
Click to collapse
This is one of the most requested features, it will be available in October.
---
Today we have pushed source code for Kanbani Web Viewer, that can be interesting for some people, especially since it's plugin based (PHP, JavaScript) and easy to customize. I have updated the first post with more info. Also check the README with screenshots on GitHub: https://github.com/PDApps/KanbaniWebViewer/
Any feedback is welcome, as usual.
madzero said:
Hi, I've seen the same screens in English and have some suggestions for the screens in Spanish:
- You can write "Due date"/"Fecha de vencimiento" and "No deadline"/"Sin fecha límite" in 2 lines, something like this:
Fecha de Sin fecha
vencimiento límite
- In the calendar, the name of the days in Spanish shouldn't have a dot at the end and remove the accent mark (Lun Mar Mie Jue Vie Sab Dom). Some calendars only have the initial letter of the day (in English: M T W T F S S, in Spanish: L M M J V S D).
- The plus sign in "+7 days" looks much better instead of writing as "Más...". Keep the same in Spanish ("+7 días").
About the app:
- I haven't seen any option about alarms, maybe I missed that part.
Click to expand...
Click to collapse
I have made corrections to the translation except for day names in the calendar - sadly this is a 3rd party component that we can't change yet (but we have plasn to replace it in the future). These fixes together with due date alerts will be available next Friday.
New version
Update (1.3.2):
Added Due Date Notifications preference
Showing error details in Check Connection, not just "online"/"offline"
Improved validation of Sync Base URL (fixed crashes)
Showing weekday names in card list and Timeline
Made Timeline past colors more pale, Today thicker
Sync popup called from Main Menu now saves changes immediately
Kanbani is now available at Huawei AppGallery:
https://appgallery.huawei.com/#/app/C102866867
madzero said:
- I haven't seen any option about alarms, maybe I missed that part.
Click to expand...
Click to collapse
We have added this feature in the last update (enable it via Preferences > Hierarchical). It is very basic for now (one notification is added per card, at the time that is due), we should improve it with time.
That being said, I suggest using Timeline for checking tasks when their due date is important, this is exactly what Timeline view is for.
This update doesn't include language fixes due to translator not making it in time. We will release a new version around Tuesday that will have Fecha / Sin fecha in the card editing form instead of current Fecha de vencimiento / sin fecha de vencimiento. Does this translation make sense to you?
Status update: in the end of October we will release an update with dark theme and widgets.
New version
Update (1.5.1):
Added Dark mode/theme.
Added automatic saving of cards to protect against accidentally unsaved forms (crash, low battery, etc.). Such cards are available from Settings and Alert Bar below the card list.
Added Defer button to card form to delay saving it until later (if a new card needs to be immediately created).
Added a "new card" main screen widget.
Reduced font size in Timeline cells.
Adding extra columns on the right in Timeline for easier card creation.
Applause for such a neat task-management app. I especially love how privacy-focused it is.
I am not sure if this is something everyone needs be concerned with but I experienced an error trying to start/install the web viewer:
[error] 3748#3748: *89 FastCGI sent in stderr: "PHP message: preg_match(): Compilation failed: invalid range in character class at offset 10 in /usr/share/nginx/html/kwv/helpers.php:72
I was able to fix this by adding a "\" to line 72 of helpers.php so that the section of code reading ([\w-.]+) instead reads ([\w\-.]+).
Now I just need to get other parts of the webviewer to work:
[error] 5503#5503: *5 FastCGI sent in stderr: "Access to the script '/usr/share/nginx/html/kwv/backgrounds/zq-lee-Q6H4SwjsAdI-unsplash.jpg' has been denied (see security.limit_extensions)" while reading response header from upstream, client: 192.168.254.11, server: moonpi.local, request: "GET /kwv/backgrounds/zq-lee-Q6H4SwjsAdI-unsplash.jpg HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "moonpi.local", referrer: "http://moonpi.local/kwv/?profile=Welcome"
All in all, great work on what is shaping up to be a great system.
New version
Update (2.2.3):
Removed support for Android 4.4 (now minimum is 5.0)
Added Rich Description formatting (can be disabled in Preferences)
Improved List widget significantly
Improved Due Date alert preferences and added sound
Allowed landscape orientation for the form
Added Sorting preference = by Title option for Boards and Cards
Added Colorless Card Color preference
New Description buttons: Read-only, Line operations (with Checklist menu item)
Append Line inserts new blank line if caret is already at the end
Description's Clear erases selection (if there's no selection then everything - as before)
Allowed ) -) checklists to be indented with spaces
Added custom per-card notification date/times in addition to Due Date
New Create Card button in Reorder mode (single card only)
New Hierarchical preference controls how many Title lines are shown in card list
New Action Bar buttons preference: by frequency (in addition to last used)
Fixed card menu hints not disappearing on some devices
New Inverted layout preference (for large screens)
New Delete All button in the list of unsaved cards
Fixed list widget not updating automatically in some cases
Newly scanned sync profile (QR code) is now made default
Removed toast notification shown upon successful sync
Showing recent automatic sync (by file/time) history in preferences
Simplified Sync command's dialog
Implemented quick sync upon long-tap on Sync Action Bar button
Added purging of deleted cards' properties
Spoiler: Detailed changelog
1.6.1
Defer button now shown even if form has empty Title
Fixed bugs in various Sync's Base URL formats
Improved Timeline's cell autosizing
Now showing 'year in Timeline columns in month mode
Added many contextual Help buttons
No longer crashing on badly encoded QR codes
Form's Due Date now takes two lines if can't fit in one line
Better icons for dark theme
Removed support for Android 4.4 (now minimum is 5.0)
2.0.7
Now highlighting matches in Title and Description when filtering cards
Added Rich Description formatting (can be disabled in Preferences)
Form's Back button's icon visually changes to indicate unsaved state
Improved List widget significantly
Improved Due Date alert preferences and added sound
Allowed landscape orientation for the form
2.1.1
Now responding to "in-app search" button (hardware or software)
Added Sorting preference = by Title option for Boards and Cards
Added Colorless Card Color preference
Added drop-down autocompletions (suggestions) for Title and Related Name
Fixed help buttons on some devices
2.2.3
New Description buttons: Read-only, Line operations (with Checklist menu item)
Append Line inserts new blank line if caret is already at the end
Description's Clear erases selection (if there's no selection then everything - as before)
Allowed ) -) checklists to be indented with spaces
Added custom per-card notification date/times in addition to Due Date
Not removing Android notification on tap (but new Dismiss button and changing Archive or Dates do this)
New Create Card button in Reorder mode (single card only)
New Hierarchical preference controls how many Title lines are shown in card list
Reduced minimal length for autocompletions (1 for Title, 0 for Related Name)
New Action Bar buttons preference: by frequency (in addition to last used)
Fixed card menu hints not disappearing on some devices
New Inverted layout preference (for large screens)
New Delete All button in the list of unsaved cards
2.2.6
Allowed saving Title-less cards
2.2.12
Complied with new GP rules (removed file system access and sync to local file; remains in Community APK)
2.3.2
Fixed list widget not updating automatically in some cases
Newly scanned sync profile (QR code) is now made default
Removed toast notification shown upon successful sync
Showing recent automatic sync (by file/time) history in preferences
Simplified Sync command's dialog
Implemented quick sync upon long-tap on Sync Action Bar button
Added purging of deleted cards' properties
Fixed crashes on Android 12/MIUI
Fixed Sync menu command not working with Android's Share transport
New bug-fixing version
Update (3.0.9):
Added bell icon to card lists for cards with scheduled notifications (except Due Date)
Several fixes in system notifications
Added Expand Title form button to aid in entering long card title
Fixed not showing red dot for bulk-added cards
Removed erroneous deferring of changed form when navigating using rich Description
Added automatic update of time/date shown in card lists (and widget, once per 30 minutes)
Clearing Due Date via card menu now clears notification list
Allowed changing backups path with disabled automatic backups
Corrected default notification date/time value for some cases
Fixed several crashes in various places
When submitting a form in bulk mode with empty Title, now creating an untitled card rather than discarding the form
Fixed sync profiles created in the same installation having the same ID and Secret (circa the end of 2021)
"Open cards here" no longer affects expanded Title
Fixed Line operations selecting two lines when caret was originally at line end
Further fixes in updating list widget
3.0.1:
Sync's "Automatically add new boards" (with encryption off) fetches remote-created boards
List widget now respects the Title lines setting
List widget no longer shows trailing period (like in-app's lists)
Fixed form not opening from the app if already opened from a widget
Added card count to list widget
Further fixes in updating list widget
Added one-time purging of cards deleted in old versions
Autocompletions no longer show empty items
Sync by Android's Share now allows wider recipient list
Fixed layout of single- and multi-line Due Date in form
No longer moving caret on tapping on rich Description's checkbox
Not scrolling Description to the end if Open here is on
New version
Update (3.1.0):
Fixed crash in Timeline
New setting: Automatic form orientation