Leo Battery Monitor - HD2 General

All,
There seems to be a huge variation in the battery life people are experiencing with the Leo/HD2 in "normal" everyday use, as can be seen in these threads:
http://forum.xda-developers.com/showthread.php?t=585729
http://forum.xda-developers.com/showthread.php?t=583338​
While usage definitely varies by for each poster in those threads so does the subjective opinion of battery use over time.
I therefore wrote a very small, simple application that uses the Compact Framework 3.5 State and Notification Broker plus PInvoke calls to monitor various system and battery state notifications.
Using a very simple configuration file (named the same as the 'exe' file), it is possible to make the application record various notifications which it will display on screen and write to a file in the local directory (this is configurable but I haven't tested it yet so its undocumented) named "Monitor [datetime].csv". The default configuration file is as follows:
Code:
<Configuration>
<Monitors>
<BatteryMonitor name="Battery %" interval="60"/>
<SystemMonitor name="Battery Level" property="PowerBatteryStrength" type="BatteryLevel"/>
<SystemMonitor name="Battery State" property="PowerBatteryState" type="BatteryState"/>
<SystemMonitor name="Active Calls" property="PhoneActiveCallCount" type="Integer"/>
<SystemMonitor name="Active Data" property="PhoneActiveDataCall" type="Boolean"/>
</Monitors>
</Configuration>
This sets up battery polling every sixty seconds, registration for battery strength and state notifications along with recording the active calls and whether a data connection is active. This configuration file can be extended to include pretty much any of the state and notification broker properties although my testing of values other than the above has been limited (hey, I wrote this thing in like 3 hours!).
It is envisioned that, once the app has been running for a while, you will be able to load the csv into Excel and chart the power usage of your device.
Attached, I have added a screen shot of the app, a cab file for installing PowerManager (it is unsigned but installs fine on my HD2 after accepting the confirmation) and a zip file containing the source code (note, dependencies are not included - but I imagine the more determined out there will be able to get hold of them ;0).
PREREQUISITES: .net Compact Framework 3.5
USUAL DISCLAIMER: I take no responsibility for any problems you may experience during or subsequent to using this software. It works quite happily on my HD2 and I only post it in case it is of interest to others. You have been warned!
KNOWN ISSUES: The first recorded value for system monitors is always trash for some reason (when using SystemState.CurrentValue). Subsequent changes to these values provide correct values.
Any questions please feel free to ask (although I probably won't get round to checking this thread until tomorrow evening).
Cheers,
Ian

Related

[new release] RunEveryday - Updated to v1.1

The missing Task Scheduler known from Windows XP!
RunEveryday 1.1 is done! It has:
1) a GUI, easily manage your scheduled tasks
2) Improved notification re-scheduler (old one proved to be kind of buggy)
3) Optionally force device to wakeup (as some programs need this to operate properly)
4) Under the hood, much improved code, easier bug fixing & updates in the future
no more need to use another program to setup the parameters etc. etc, just startup the app without any parameters, and you will be presented with a config dialog. in addition, you should remove any old entries within the notification database before using this new one (they are incompatible).
Everything should wotk MUCH better with this one. but still a few known issues:
1) When changing the system date, and you skip over a day, RunEveryday will get out of sync and stops working propperly. Work around: Start RunEveryday, and without changing anything, press the "Apply" button. this will correct all time/date stamps in the notification database.
2) For now, there can't be any spaces within the filename. Spaces within the directory name are oke though. THis is because I needed to seperate the Full path file name with any command line options, otherwise CreateProcess wouldn't work propperly. (Will be fixed in next version)
3) Keyboard doesn't popup when trying to enter text in the Command line. Workaround: select other program which has keyboard support first, then open RunEveryday, so you can openup the SIP yourself. This will be fixed in next version.
Compatibility: WM2003, WM5, WM6, QVGA, VGA and Square (240x240). in Other words: all recent devices
That's it! if there's any additional problems, I'd like to hear about them.
////////////////////////////////////////////////////////////////
// Text Below is outdated
Older version 1.0 usage:
A command driven app that will maintain itself within the notification database which will execute its params as a program.
for example, run:
\Program Files\RunEveryday.exe \Windows\prog.exe anyparams
this will basically execute \Windows\prog.exe anyparams
but it will register to start the same app with same params again in 24 hours, when it runs next time, it will delete the entry, and schedule again in another 24 hours, and so forth.
With an application like TaskMan you can easily see the notification entry this prog makes, and change it's time-schedule. (in other words, manage this app)
Also, creating a new entry with TaskMan, is really simple, make a CNT_TIME event, point it to RunEveryday.exe, and the application to run as it's params, and it's all set!
// Text Above is outdated
////////////////////////////////////////////////////////////////
My personal usage:
I have a task running every day at 23:00 -> turn radio off (with Vijay's app)
and a task in the morning 09:30 -> turn radio back on
But ofcorse you can use it for many other things! be creative!
Update to v1.1: Some people reported that they couldn't run the app because of some missing libraries. This probabbly goes for most of you WM2003 users: You need a static linked version, which I now have included below. Also, if you happen to get a message like "Cannot find ‘RunEveryday’ (or one of its components)", please try using the static linked version.
nnnnnnnniiiiiiiiiccccccccceeeee.. very niiiicccceee. Nicest thing that happened after the sad sad removal of ROMs... I'm soooo *touched..
UPDATE: Btw, an idea, for your next upgrade.. that is to add a day-of-the-week scheduling feature that is able to schedule events on days as well. Example, I may want to switch off my phone at 23:00 everyday. However, if I may went on partying late at night on Friday and Saturday. Hence, my job of "switch radio off at 23:00" can be programmed to be used on Sun-Thur only. And I can then add another job that "switch radio off at 02:00", to be performed on Sat and Sun only, just to make sure my phone won't switch off when I'm out partying on Friday and Sat night.
Thanks ;-)
And ohw, I meant TaskMgr, found here:
http://forum.xda-developers.com/showthread.php?t=280104
Edit: Works really great with mortscript's. Lots of possibilities.
hanmin said:
UPDATE: Btw, an idea, for your next upgrade.. that is to add a day-of-the-week scheduling feature that is able to schedule events on days as well. Example, I may want to switch off my phone at 23:00 everyday. However, if I may went on partying late at night on Friday and Saturday. Hence, my job of "switch radio off at 23:00" can be programmed to be used on Sun-Thur only. And I can then add another job that "switch radio off at 02:00", to be performed on Sat and Sun only, just to make sure my phone won't switch off when I'm out partying on Friday and Sat night.
Click to expand...
Click to collapse
I was actualy thinking about that, but that's making things more complicated. Right now, it's fairly simple. no config dialogs requiered etc etc, as you can have multiple apps at different times, which you might want to run at different days of the week, config wise it gets more complicated, much more coding. Maybe later, if I really need it, I'll make something like it, otherwise, this will have to do (sorry). I'm simply sharing some code that I wrote since I needed it myself ;-)
Edit: oke oke, maybe I'll make a "RunEveryWorkDay" variant (still no config required) Not much code writing, will post it here later on, as soon as I have some time on my hands to make a few adjustments.
Okey, I had a little time (kind of quick, haha)
Rather then having a different EXE handling workday events, I made on which is more dynamic.
Example 1, Run only on work days (monday through friday)
\Program Files\RunEveryday.exe OXXXXXO \Windows\prog.exe anyparams
So the string "OXXXXXO \Windows\prog.exe anyparams" becomes the complete param for RunEveryday.exe
As you can see, the first block of the params has become the days for which you want it to be active, X's x's 1's are for active, O's o's 0's for days to be disabled. Days are represented in following order: Sun, Mon, Tue, Wen, Thu, Fri, Sat.
You can still simply omit those days, and it'll work as previously (ALL days):
\Program Files\RunEveryday.exe \Windows\prog.exe anyparams
Everything is still untested (in this latest release) so it might not work propperly. So if you encounter a problem -> tell me and I'll fix it.
I'm working on a much improved version. It will have:
1) a GUI, easily manage your scheduled tasks
2) Improved notification re-scheduler (old one proved to be kind of buggy)
3) Optionally force device to wakeup (as some programs need this to operate properly)
4) Under the hood, much improved code, easier bug fixing & updates in the future
Expect it to be released in the next couple of days (will post it here)
Nice app. Im going to give it a try now
Is Taskman the only app that can set the time?? Can Memmaid be used?
Everyone who has downloaded and tried the initial release, please download the new one, as it contains critical bug fixes.
freeyayo50 said:
Is Taskman the only app that can set the time?? Can Memmaid be used?
Click to expand...
Click to collapse
See the first message in this thread, any other programs like Taskman or memmaid are no longer needed, RunEveryday is now a self-contained program with it's own user interface.
Thanks, this looks very useful, I also wanted an app to turn the radio on/off at scheduled times, Just need to find the VJ apps you use.
nigelw said:
Thanks, this looks very useful, I also wanted an app to turn the radio on/off at scheduled times, Just need to find the VJ apps you use.
Click to expand...
Click to collapse
here:
http://www.vijay555.com/?Releases:VJVolubilis
Thanks, I've got the files and installed them, but so far I've been unable to get it to work.
I suppose this is more of a problem with the VJ files, but I can't seem to get the radiooff to work. I have moved the binary to \Program Files so it's the same as your sample screenshot, but nothing happens, the radio remains on.
To debug, I created a .lnk file using Total Commander and added the /radiooff but that also does nothing.
I'm using a T-Mobile MDA Compact III in the UK, HTC Artemis (or is the Hero as it doesn't have Wifi?).
nigelw said:
Thanks, I've got the files and installed them, but so far I've been unable to get it to work.
I suppose this is more of a problem with the VJ files, but I can't seem to get the radiooff to work. I have moved the binary to \Program Files so it's the same as your sample screenshot, but nothing happens, the radio remains on.
To debug, I created a .lnk file using Total Commander and added the /radiooff but that also does nothing.
I'm using a T-Mobile MDA Compact III in the UK, HTC Artemis (or is the Hero as it doesn't have Wifi?).
Click to expand...
Click to collapse
To get it to work, be sure to enable "Force Wakeup". The radio won't go off unless you enable this option. In addition, Vijay has a spelling error on his website, he listed the option "radioff", but in fact it should be radiooff (double 'o' in the middle) otherwise his app doesn't recognize the command.
Optionally, you can enable "Suspend when woken up", this will put the device back to sleep when command has been executed, and works nicely with Vijay's app, your device will only be active for a few seconds. I didn't document this feature: but when you have this option enabled, and the command is still executing after 30 seconds, RunEveryday times out, and will put the device to sleep (but lets the command active in background).
Hmmm, just realized what you really posted, if a loose lnk file doesn't work either, it probably is (indeed) VJ's file that doesn't work. maybe you can ask him if he can add support for your device.................................
Thanks for the prompt response.... but I've just worked out what the problem is!
I followed the screenshot on page 1 using /radioon when it should be -radioon
My .lnk files now seem to work, so I will make the changes on your app and see if it works.
I'd like to start doing my own development, I'm particularly interested in retrieving information from the radio like Operator, signal strength, serving cell etc.
Anyone any comments on usability / stability / issues ?
I would really like some feedback ;-)
I've only been using it a couple of days, but it hasn't given me any problems. The only issue I have is one that you are already aware of, and that's support of text input, or maybe copy/paste?
Hope that helps, and thanks again.
Okey, great. In the near future I'll update it to be more complient with windows-ways-of-working. (keyboard, normal dialog, copy/pasting etc), but as it's all working without problems, it's not very high priority. However, if there's any indication of some bugs somewhere, i would get right on it, cause I really do want it to be reliable.
Hi, have you managed to make any improvements to the software? My install has gone wrong, I launch RunEveryDay but the 2 tasks I had configured no longer list in the dropdown (these were to turn the phone/radio off at midnight and back on at 9am).
I did change the timezone recently when I went on a business trip, so maybe that caused the problem when I returned?

"Brins0net" Status Monitor

Hiya all, just felt like I wanted to contribute to the community a little by releasing a small program I've made in c#. It requires the .NET Compact Framework to run of course.
This is the first real application that I've written for a PDA, that isn't for university, so its a small one, that doesn't really do much other than echo alerts, and display information. What it does do, however, I feel to be very useful, and may interest other developers.
Information:
1. When there is a missed call, or an unread message, the "Reminder Tone" will be played every 20 seconds until the message/missed call alert has been dealt with by you.
2. When the signal state changes, the relevant sound plays to notify you. This can be handy when you are walking around looking for a signal.
3. When the headset is inserted/removed, a sound is played.
4. Various status information can be viewed by tapping through the tabs.
More information, and a download can be found here on my site:
Link: http://brins0.net/projects/Brins0net_Status/
Current Version: v2008.03.07
If anyone has any comments on it, please feel free to post them here. (Please remember that I'm only really a novice compared to some of the other coders here)
Interesting
Good idea but an alert every 20sec is too quick. You should make the interval user-selectable. I currently use TAP for alerts and it gives you a bunch of choices for the reminder interval.
nonegiven said:
Good idea but an alert every 20sec is too quick. You should make the interval user-selectable. I currently use TAP for alerts and it gives you a bunch of choices for the reminder interval.
Click to expand...
Click to collapse
I have done this in another one of my small projects, but the best way I could find of storing the interval, was in an accompanying file. I have tried writing to the registry, but it all went pear-shaped. I'll have another go at it later this evening.
When I can write to the registry correctly, I play on incorporating the "reg" file into the program too, so you don't have to use it when installing.
brins0 said:
I have done this in another one of my small projects, but the best way I could find of storing the interval, was in an accompanying file. I have tried writing to the registry, but it all went pear-shaped. I'll have another go at it later this evening.
When I can write to the registry correctly, I play on incorporating the "reg" file into the program too, so you don't have to use it when installing.
Click to expand...
Click to collapse
Sounds good. Does the program need to be running in the background or does it load a process silently?
nonegiven said:
Sounds good. Does the program need to be running in the background or does it load a process silently?
Click to expand...
Click to collapse
I'm afraid it's not a process, so it has to be open in the background at the moment. I'm looking into making a process based version, but I've actually worked out the mechanics behind it yet. I'm just in the process of adding the things suggested earlier, would have done it earlier, but I fell asleep
nonegiven said:
Good idea but an alert every 20sec is too quick. You should make the interval user-selectable. I currently use TAP for alerts and it gives you a bunch of choices for the reminder interval.
Click to expand...
Click to collapse
Do you have a link to TAP, I searched but tap is a common word.
Thanks!
It's Treo Alert Pro. I use it on a Touch. You can get it at treocentral.
Updated to v2008.03.07
I've released an update...
Now there is a small options menu to configure the Alert Interval. The setting is stored in the registry along side the alert sound.
As such, there is a new registry update to apply before you run it (It should correct itself if you don't apply it, but it's better if you apply it manually)
The update interval can be any value between 10 and 300s (5 minutes), it can be increased very easily, but 5 mins seemed to be all anyone would need.
There are also other minor fixes behind the scenes.
The update is available on my site at http://brins0.net/projects/Brins0net_Status/

[MOD] Ingress broot mod v1.26.1-broot-0.2.0 (2013.05.26) [CLOSED]

Unfortunately Niantic contacted me to abort this mod. More info: http://forum.xda-developers.com/showthread.php?p=42027875#post42027875
TL;DR version: I have created an Ingress app mod, it is awesome and will make you coffee. You can download it below.
OVERVIEW
Hi,
after more than a 2 years of inactivity in the modding field I'm back with a new mod. This time it's Ingress app. I think and hope it'll be much greater and more advanced than Google Maps mod. There are a lot of things to improve and I think some of them won't be ever added by Niantic, so it's a good idea to mod this app.
First I want to clarify I will never add any kind of cheating to this mod. My goal is to make Ingress game more enjoyable, not less. Questions about location faking, items cloning, etc. are not welcome here. I'm serious. Still if you think this mod is a bad thing and/or if you're from Niantic then please read a section about my motivations below and feel free to ask, suggest or criticize. I make it for Ingress players and I'm very interested in their opinions.
DOWNLOAD
First: you do this at your own risk! I'm sure it won't brick your phone, but remember you may be banned by Niantic. My mod doesn't do any kind of cheating behavior, it doesn't do anything that original app doesn't do, but there is always the risk.
Also if you downloaded apk from different site then check sha1 of this file to make sure it's ok. Unfortunately such mods create good opportunity to inject some malware, because users search for an application in the internet and anyone can redistribute it. I sign this app with my own keys, so if you have installed my mod earlier, now you have downloaded newer version from the internet and Android says it has different certificates then don't install it!
"Mute" variant has all sounds removed, so apk is ~2.5 times smaller and most likely it uses less memory.
ingress-1.26.1-broot-0.2.0-mute.apk
SHA1: 976342081c963998f8a6e56b735fe97581ab335f
ingress-1.26.1-broot-0.2.0.apk
SHA1: dce5399802c8f11287a7cf399c1bb5265f8251e2
Older versions:
ingress-1.26.0-broot-0.1.0.apk
SHA1: ea95d8e36324c6c4a175e0cf254cd65a4797049f
If you have original Ingress app installed then you have to uninstall it first. Same if you want to install original app over a modded one.
FEATURES / TODO LIST
I know simplifying and automation of too many things may be considered cheating, so I have divided all features into several categories: from the most "innocent" ones to some smart assistants. As I stated above, if you think some of them are just too much then feel free to write about it. For me features up to 3. category are ok. Category 4. may be controversial and I'm not sure if I want to implement it. I'm glad for your opinions. Some features (e.g. 2.11., 3.7.) aren't actually related to category descriptions, but I "feel" them as category 2., 3., etc.
I don't want to force people to use every modification, I'll try to make them all opt-in, so modded app will work exactly as the original one until you change this in the mod menu. If you see e.g. "Fullscreen" feature below then read it as "An option to enable fullscreen mode".
Below is just a list of features to make it clear. Descriptions, notes, statuses, implementation proposals, etc. are here.
Legend:
green - completed
orange - not sure about it
red - rejected
black - waiting / todo
1. Changes strictly technical and/or 4fun - they don't affect gameplay at all:
UI for small screens, but this is never ending task
Disable some graphics effects to make it less GPU consuming:
portal particles
xm particles
Fullscreen.
Remove globe intro.
Change colors of factions.
Exit confirmation dialog - it's good for low memory devices.
Keep sceen on.
Disable vibrator.
2. UI changes: new screens, shortcuts, etc. - it makes things easier, but it won't do anything for you:
New screen with mod settings, credits, etc.
New inventory screen with items presented as a clear table.
Number of all items in the inventory - it's very important because of items limit.
New portal keys screen.
Remove original items screen.
Shortcuts to various actions from the main screen.
Modify chat to make it easier to read and harder to accidentally send private message to public channel.
Link to portals from system messages in the chat.
Real-time distance to portal on details and upgrade screen - its necessity is obvious to anyone who played Ingress
Additional info about the portals directly on the map screen.
Logging and statistics.
Circles around the player similar to one at 40m - just for better feeling of the distance.
Number of keys on portal info, upgrade and linking screens.
Config: update interval.
Config: maximum scanner zoom out.
Deploy button uses highest available resonator, not lowest.
3. Automation of some more complicated or repetitive tasks - it delegates multi-clicking to the squad of highly trained monkeys, but it won't think for you:
Dropping/recycling multiple items of the same type at once.
Firing multiple XMP
Picking up all items in the range - with above it's very easy to give items to other agents.
Hacking all portals in range - not very useful because of timers
Auto deploy resonators using a template.
Templates specific to a portal.
Other agents presence detector.
4. Smart assistants:
Hacking timers for each portal: both 5m and 4h ones.
Auto hacking portals in range while moving (using timers).
Smart auto-deploy.
XMP damage assistant.
Linking assistant for optimum CFs in a specific area.
Continuous linking assistant.
Bugs:
The maps are gray when submitting new portals or reporting bad ones.
NEWS
v1.26.1-broot-0.2.0 has been released!
2013.05.26
Updated Ingress to 1.26.1.
Added layouts for small screens: Eugene's 1.26.0.20130526
Added mute version - for smaller size and likely smaller memory usage.
Added fullscreen mode.
Added option to disable portal particles and xm particles.
Added restart button - it's useful for reloading UI changes (fullscreen mode, layouts, etc.).
Fixed gray maps problem.
v1.26.0-broot-0.1.0 has been released!
2013.05.22
Initial version.
New screen with mod settings, credits, etc.
New inventory screen with items presented as a clear table.
Number of all items in the inventory.
CREDITS
Eugene Kartashov - layouts for small screens.
Of course Niantic Project for this awesome game!
Thanks!
FEATURES DESCRIPTION AND NOTES
1.5. Change colors of factions.
I did this before and it's kind of cool: https://plus.google.com/u/0/106080343103638200670/posts/a9krpWApjz5
2.4. New portal keys screen.
I have some ideas, e.g.:
keys grouping/tagging
group/tag keys manually or automatically by their location, name, etc.
filters and sorting by: name, distance, level, owner, etc.
, but I think Niantic want to improve keys management, so I wait for their move.
2.5. Remove original items screen.
For now even if you prefer new items screen the original one is still needed to access portal keys. We can wait for 2.4. or at least add an option to limit original items screen to portal keys and rename it accordingly.
2.6. Shortcuts to various actions from the main screen.
I think it's one of the most important additions, so it has to be well designed. I see it as a HUD-like buttons similar to "FIRE XMP" when you long-press on a map, but much smaller, probably square with icons. Things to consider:
toolbar at the top or the bottom of the screen - I think it's better than left/right
fixed with 5-6 icons (4" screen) or scrolling horizontally
fixed icons or customize them and their positions
an option to open a full semi-transparent menu with all available actions
Actions could be:
fire last XMP
fire highest/lowest XMP
fire XMP of specific level
same for power cubes
hack portal - click button then click portal. This way you don't have to enter portal details screen which is faster and you don't lose the map.
link portal - same as above
set target? It's in a long-press menu already, but we can add it here for consistency and maybe to remove long-press menu.
actions from other mod additions
2.7. Modify chat to make it easier to read and harder to accidentally send private message to the public channel.
Current problems are:
is there anyone who has never sent a private message to the public channel? Is there anyone who did this only once or twice?
it's hard to read conversations between agents, especially public ones, because they're mixed up with system messages
I was considering adding some kind of filters to select which types of messages you want to see, but it doesn't fix first problem. Now I think of something else - 4 tabs/channels:
faction - as normal
public - public conversation only, so system messages won't disturb you and you don't accidentally respond [secure] messages
system - you can't send a message here
all - all above, so it's similar to current "All", but you can't send a message here - you have to choose proper channel intentionally. It can have additional filters to select messages to show.
This feature may be hard to do or even impossible, because most probably Ingress server doesn't have API to filter messages as above. Of course I can read "All" channel and filter it on the app side, but it may not be that good.
Also I won't be surprised if Niantic itself will redesign chat in the near future, because it's definitely wrong.
2.10. Additional info about the portals directly on the map screen.
E.g.: level, if you have a key (how many?), etc. It could be customizable and there could be a shortcut to toggle showing this info.
2.11. Logging and statistics.
I love this one I can log all kind of actions like: hacking, attacking, dropping and picking up items and XM, deploying resonators and portal mods, adding custom "snapshot points" to organize above, etc. and then create a lot of various statistics:
how many hacks did you do (faction, enemy, neutral) today, in last week or month?
how many items did you get from these hacks?
what were the levels of hacked portals and items?
how many XM did you get?
how did you spend this XM?
how many resonators did you deploy and what were their levels?
how many resonators did you destroy, how many portals did you capture?
how many links and CFs did you create/destroy, what were their MU values?
which portals do you hack/attack/build most often?
how much time you was playing?
what items did you spend to build up a farm and what items did you get from it?
Statistics could be tabular, graph, pie and very flexible. I'm also considering two things:
sending some of above statistics to my server to create global statistics for all users. It would let us do some research, e.g.: what is the probability to get L7 item from L6 portal, etc. Of course sending these statistics would be fully optional, you would have to enable it by yourself.
optional paid application to read these statistics - in addition to the free one. It could let you remove ads or just say "thank you" (i.e. it would be the same as free one), but I don't want to piss off someone in Niantic. I think it would be fair, because statistics app would be quite complicated and time consuming and there will be free version, but you never know what's the opinion of other people.
What do you guys think about above two things?
3.5. Auto deploy resonators using a template.
Agent can configure multiple templates and choose one of them when doing an auto-deploy. Template could be defined by:
its name
minimum and maximum level for each resonator
prefer lower/higher level for each resonator
Examples:
"Lowest portal" - each resonator set to L1-L8 and prefer lower for all - it's the same as clicking "deploy" 8 times.
"Highest portal" - L1-L8 and prefer higher for all
"Highest <L7" - L1-L6, prefer higher for all
"Standard L4" - L1-L6, L1-L4, L1-L5, L1-L4, L1-L6, L1-L4, L1-L5, L1-L4, prefer higher for all - it's standard 4xL4 2xL5 2xL6 and it'll use lower resonators if you don't have all of them
another "Standard L4" - same as above, but L6-L6, L5-L5 and L4-L4 - it won't automatically downgrade resonators, but warn you about the lack of resonators
Also some templates could be predefined by default.
It won't work well with existing resonators, it won't choose optimal way to upgrade them, but this is how it should be - it's just: "do it using a template", not: "Calculate optimal situation".
3.6. Templates specific to a portal.
Extension to above: sometimes you know that e.g. NE resonator of some portal is harder to destroy, so you want to place highest resonator there. You can create a template specific to a portal, so it won't mess up main list of templates and it will be auto selected when doing auto deploy for this portal.
3.7. Other agents presence detector.
It read system messages log to find the last actions and positions of other agents (actually positions of portals they've built/attacked). This information could be used to e.g.:
show last position and action of specific agent
show a list of nearby agents: allied or enemy
alert if some other agent will show up below specific distance from you
4.3. Smart auto-deploy.
E.g.:
calculate max level of a portal that you can build alone - depending on your inventory and already deployed resonators
deploy minimum number and optimum resonators to get to specific portal level
prioritize excess resonators and save scarce ones
deploy high and low resonators evenly to make attacking a little harder
if upgrading existent resonators, prefer to upgrade ones with low XM
4.4. XMP damage assistant.
E.g.:
approximate damage dealt using specific XMP in current position
calculate the best spot to fire XMP of some level
4.5. Linking assistant for optimum CFs in a specific area.
You select a group of nearby portals, assistant build links and guide you through place to get as many CFs and AP as possible.
4.6. Continuous linking assistant.
You see an icon near the portal if it's possible to create a link(s) from it to create a CF. It let you create this CF with few clicks.
It may be not possible to do, because it would have to scan big area to know if there are a link between remote portals.
MOTIVATIONS AND FEW WORDS TO NIANTIC
As I stated above my goal is to make Ingress game better and more enjoyable for people. If you think it's evil then please read my motivations and explanation below:
There aren't and never will be features for cheating: location faking, sending same action several times, automatic passcode submitter, etc.
As I said above I have divided mod features into categories of different "dirtness level". I focus on "clean" features and I'm open to suggestions or criticism from players or even from Niantic itself.
I don't share my code and I obfuscate it to not make Ingress easier to hack by other people.
A whole game and world of Ingress is about hacking and reading between lines. I think my mod fits this world perfectly. There are some people who leak Ingress app from NIA and there is some guy somewhere in the internet who tries to get even more from it. It makes perfect sense
I think there are many good features that will be never added by Niantic. I see several reasons: statistics won't be added because it doesn't make much sense for storyline. Why NIA would add such feature? Intro skipping or new items screen won't be added because these features prioritize quick access over a nice look. Niantic can't do the same because Ingress would look like a game for nerds. But there are many people who don't care about the look because... they're nerds ;-P
And finally: I won't fight Niantic, so if they don't like my mod and decide to react then there will be no mod anymore.
If you're from Niantic then please think what is the best for Ingress users. If you don't like one or two of my features then I'll remove them and keep the valuable ones. If you still think this mod isn't good and it's a matter of time before you react then please do it sooner, not later. Mod won't be very popular yet, Ingress players won't be disappointed so much and I won't lose a lot of my time
FINAL NOTES FOR USERS
Once more: feel free to suggest new features or changes to existent ones. You can also criticize a whole mod idea. I want to know what do you guys think about it.
If you get a force close then post a logcat and mod version here.
If something doesn't look ok then post a screenshot. I have a 320x480 and 480x800 devices, but I can't test it on 240x320 and >480x800 resolutions.
You can also report language faults in the app or even here. English isn't my native and I often write something that doesn't seem natural even to me. I would be happy if someone would suggest better names or descriptions for configuration options, etc.
Of course you can redistribute this mod, but please don't do that if you don't have a good reason. I just want to know how popular it is. Also if you redistribute it then please add a link to this thread to give users a full context.
If you want to make a donation then link is in my signature, but remember that this mod may be killed by Niantic at any time.
[RESERVED]
[RESERVED2]
Very amazing
I'm gonna try it out on a new account just to be safe, but I love the work and holy cow you did a lot and I can't believe it.
Niantic better sit down and learn some must needed features and options. The globe one for sure
Sent from my MI 2 using Tapatalk 2
Keep up outstanding work. I just installed this mod and I confirm that it works flawless.
I'm looking forward to future updates.
iBotPeaches: I did a lot? But you have noticed that above features list is mostly a TODO and for now there are just new items screen and intro skipping? I'm not sure if this is clear from above posts.
I wanted to release it early to get some ideas from people.... or be banned
What about a nosound version? It reduces the app size and removes the annoying sounds for people that are tired of hearing those squeaks
Please find attached a nosound version prototype.
it will be possible to have screen: "exit. are you sure?" when accidentally using back button?
Brut.all said:
iBotPeaches: I did a lot? But you have noticed that above features list is mostly a TODO and for now there are just new items screen and intro skipping? I'm not sure if this is clear from above posts.
I wanted to release it early to get some ideas from people.... or be banned
Click to expand...
Click to collapse
Ahh, I thought you did all that stuff that was bolded in the features list Guess I didn't read it well enough.
Hi, on mine HTC Desire it crash suddnly..
EDIT: Reinstalled, work like a charm..
One thing possibly worth pointing out: I think this version will not handle the new push messages, as I believe those are restricted by the certificate used to sign the app. Are you able to confirm this?
Otherwise, very cool work
phyreskull said:
One thing possibly worth pointing out: I think this version will not handle the new push messages, as I believe those are restricted by the certificate used to sign the app. Are you able to confirm this?
Otherwise, very cool work
Click to expand...
Click to collapse
They do work for me, at least the "@" notifications
Needs further testing.
Jackos said:
What about a nosound version? It reduces the app size and removes the annoying sounds for people that are tired of hearing those squeaks
Click to expand...
Click to collapse
Usually more variants = more problems, but I think mute version may be worth it. It's almost 3 times smaller and space is crucial on many devices. It might also use less RAM and start up faster, because sfx are usually preloaded into memory. I'll do some benchmarks.
ataru said:
it will be possible to have screen: "exit. are you sure?" when accidentally using back button?
Click to expand...
Click to collapse
Sure, but what for? If you accidentally exit application, you can return to it in no time.
phyreskull said:
One thing possibly worth pointing out: I think this version will not handle the new push messages, as I believe those are restricted by the certificate used to sign the app. Are you able to confirm this?
Click to expand...
Click to collapse
I'm not sure about it. I got comm notification today, but I was using Ingress just moments earlier, so it might be background service, not push. We'll see.
Brut.all said:
Usually more variants = more problems, but I think mute version may be worth it. It's almost 3 times smaller and space is crucial on many devices. It might also use less RAM and start up faster, because sfx are usually preloaded into memory. I'll do some benchmarks.
Click to expand...
Click to collapse
Exactly my point of view
However it's a pity that the app uses this same amount of RAM. It might get better if you remove corresponding baksmali lines, I just removed the sound files.
Brut.all said:
Sure, but what for? If you accidentally exit application, you can return to it in no time.
Click to expand...
Click to collapse
I guess it's because on low ram devices the app gets closed instantly. So a back fail-safe button would save him the app loading time.
Impressions and suggestions
Nice mod!
I am an addicted Ingress player and I really appreciate your work!
The new item tab is awesome!!
I only want you to know that there is a G+ user that is modding Ingress too:
Have a look here.
He did a version even for 240x320 screen.
Maybe you can have a look at his work
I hope you can keep this up to date
Works perfectly!
I'll keep an eye on that, your features list sounds extremely promising!
ingress-1.26.1-broot-dev1.apk
It's muted and should work on all screen sizes. Layouts for 240x320 and 320x480 were created by Eugene Kartashov (thanks!), but I have integrated them into single universal apk. It's just ~0.5MB larger than Eugene's separate apks. I can't test it on 240x320 because I don't have such device. Please confirm if it's ok or not. I'll add fullscreen feature before 0.2.0 release, so upgrade button won't overflow on some devices.
Also I can confirm sounds are loaded on demand, they aren't preloaded, so muted version shouldn't boot up faster. It should take less memory though.
Is there anyone who miss these sounds? As I said I would like to avoid fragmentation and I think muted version is just better.
And if you have 240x320 device then please tell me if new items screen looks ok, especially if you have 100+ items of one type. 320x480 seems to be ok.

Some battery saving tips for Android devices

Some battery saving tips for Android devices
The Android phones are now becoming extremely popular because there are many different triangles, the app store is extremely rich to meet everyone's needs. However, there is a problem of computer users run Google's operating system or experience, which is the machine drain the battery pretty fast. In the following article, I will review a number of tips collected after a period of use to help extend battery life for Android devices. Invite you to join us to share the experience of using your right in this topic to add rich content.
Check the battery consumption of the components in the machine
By default, Android has built us a battery manager quite useful and you can access it by going to Settings> Battery (for Android devices 4.0 or higher) or Settings> About Phone> Battery use (with Android 2.x devices). Here you will find a series of computer applications listed with a percentage figure represents the energy consumption of the app. Do not just stop at the application, the Battery also provide information for us to know that the system, screen, Wi-Fi consume what percentage of battery when the phone is placed in standby mode, the stars, the mode operation, the stars. You can see this as an "observatory", where you can closely monitor your entire system.
In case you discover a number of applications drain the battery too much, we can quickly turn them off by pressing select the app, press the Force Stop button. Also in the new window opens, you will see the details of the software used to machine resources, such as CPU access applications for how long, how long GPS, the background for several minutes, the amount of data sent / received on. If you feel no need to use such software because it causes more battery power, you can remove it from the machine.
Besides, this manager also gives us a graph depicting the change of battery during use. For example, during the first two hours of machine you use to surf the web, play games, then the line will drop faster than the period for idle factory. Immediately below the bar chart is a long series tell you that the connection / items that have been enabled for how long. Some vendors, such as HTC has customized this chart more intuitive way, providing more hours should be more convenient for you when you need to track.
Switching between 2G and 3G
When using mobile Internet, we have two options: either use 2G or 3G use. Benefits of 3G, then surely you all know, it is very fast access speed, so the web browser, download the application will be completed in a short time than 2G (or commonly known as GPRS, EDGE). However, the downside is that it does 3G drain the battery very fast machine, sometimes causing market is heating up again. Therefore, if you need long time use Android devices, you turn off 3G away when not needed, just idling 2G only. For example, when browsing or searching location, load maps, we use 3G for optimal speed when not in use, the switch to the 2G network to serve the gentle features such as check email, update Facebook's announcement. Thus, the machine's battery life will be extended significantly.
To set the machine to run only 2G, Android device, you access the Settings> More> Mobile Network, select "Use only 2G networks", if you want to use 3G, then uncheck this. However, we have too many steps and gain access to this section, so I suggest you use a small widget called 2G-3G OnOff. After downloading, you perform a widget on your home screen as usual. Every time you need to switch between two types of connection, click the icon of the app, the screen immediately have the "Use only 2G networks" will appear. It will help us save a lot of time from having to manually customize.
Select chip equipment optimized for battery life
In part the battery saving things related to wireless connectivity, without configuring the software, I would like to share some of the little things related to hardware. Currently, Qualcomm is the only manufacturer to find a way to integrate components such as wireless transceivers GPS / GLONASS, 3G/4G LTE up straight in SoC (ie chips used in mobile devices, in which contains the CPU). Compared with NVIDIA Tegra SoC machines running 3/4 or Samsung Exynos - which used the chip and wireless module are separate, Qualcomm solutions help optimize battery life better. Speed ​​transceivers, cellular 3G is also enhanced, faster access speeds. Therefore, when you buy a smartphone, tablet using Qualcomm Snapdragon SoC, the level of savings and speed to excel compared to the SoC line from other companies, especially those who often have to use 3G.
Some machines use Qualcomm Snapdragon SoC can be listed today as LG Nexus 4, LG Optimus G, LG Optimus LTE II, HTC Butterfly, X HTC Desire, HTC Desire SV, SV HTC One, HTC One S, Sony Xperia T / TX, Xperia V, Xperia S / P / U, Motorola Droid RAZR HD / MAXX HD ... It also saves battery on the right side of the machine running both Windows Phone 7 and 8, which are using Qualcomm's S4 Snapdragon SoC, such as the Nokia Lumia 920, Nokia Lumia 820, HTC Windows Phone 8X, HTC Windows Phone 8S, Samsung Ativ S. ..
Refining self-synchronizing data
The automatic synchronization of data is also a factor affecting the battery life of Android devices. Automatic sync means that the software will continue to get access network information, such as when you push mail or Facebook check such notification. If you need to use it with no problems, but in case you use it at this truly is a very wasteful. Not only that but the battery as fast as it also makes the system slow down if your machine does not have a very powerful configuration. Therefore, let us manage the synchronization of Android devices by accessing each specific application, for the configuration / settings / configuration to customize them. Here I will show some typical software.
General Google Account: You access the machine's Settings, scroll down below to see the Accounts. There are many different types of accounts, select the Google line. Continue to take an email account in case the machine is logged multiple addresses, then you will see a series of tick marks to sync select content. We have: sync calendar, bookmarks / history of Chrome, contacts, Google Drive, Gmail, Google Currents, Google Photos, Google Play Music, ... If you do not like something, synchronous machine so that you uncheck travel is completed.
Gmail: run the software, click the three dots in the lower right corner of the screen, select Settings. Select the account to which you configure, looking down at the Data Usage. Here is a line called "Gmail sync is ON", touch it. In the dialog box that appears, uncheck Auto-sync app data if you want Gmail to stop auto complete email as soon as a letter just received. You can also customize each one Google account as needed.
Facebook: Facebook launches app, you click the three dots in the lower right corner of the screen, select Settings. In the Refresh Interval, select the time interval between two self-refresh app content. You can for 1 hour if used Facebook, but not the 2 hours or 4 hours is fine. Also, with Facebook, you can go to the Settings of the machine, browse Facebook in the Account text, deselect the "Contacts" app not proceed to synchronize contacts.
Yahoo Mail: This section is quite similar to the general Google account, you are also in the machine's Settings> browse to the Accounts> Yahoo. Choose to your account, if you do not want to uncheck Contacts sync contacts, uncheck if you do not want to download mail Messages as soon as it arrived.
Dropbox: Unlike the sync app is on the simple things, Dropbox allows us to upload photos automatically have snapped up on the company's servers, which is extremely convenient when you need to make a save Reserve as soon as the image is recorded. To refine this feature, you launch the Dropbox software, click the three dots in the upper right corner of the screen, select Settings. If you want to completely turn off auto upload, select Turn off Camera Upload. And if you want to sync only when there is Wi-Fi, you click Upload lines using> Wi-Fi only (also stream data plan or Wi-Fi, the download allows both 3G and Wi-Fi, but that the loss machine battery pretty fast so you might want to consider while taking). The online app store like SkyDrive, Box, SugarSync and you do the same.
Reduce unused connections
This procedure is one of those things apply across platforms, from mobile devices running Android, iOS, S40, BlackBerry, Symbian and PC. Wi-Fi connection is very useful, it helps for applications in machines, especially the networking applications such as Email, Facebook, Twitter, RSS ... work smoothly and efficiently, but also so that makes the battery faster. If you go to places where there is no Wi-Fi or Wi-Fi signal is weak, the machine detects Wi-Fi all the time, the machine drains the battery faster. So, if you do not need Wi-Fi to turn off by going to Settings, Wi-Fi gotten to the OFF. Do the same for Bluetooth connectivity, 3G. If you are currently using Android 4.2, you can quickly shut off by using two fingers to drag the status bar will show the buttons appear as shown below.
It should be noted that if you regularly use the wireless connection, the aforementioned toggle is often not a good idea. I've been testing and found that the continuous turn will make the battery faster than normal wear, and many, many technology news site also confirmed the above phenomenon. The reason for this is explained by each enable Bluetooth or Wi-Fi or 3G, the machine must use more energy to find and establish a connection. Energy consumption in the boot process is much higher than the energy needed to maintain connectivity. Therefore, if you need to use Wi-Fi or 3G more then let him thus limiting open off several times.
Adjust the screen brightness automatically
The screen is a component of the "eat" batteries in a mobile device, regardless of which machine is running Android, iOS or Symbian. Therefore, Google has applied the method to adjust the screen brightness for your operating system. This feature on activities using a sensor called ambient light sensor, usually next speaker layout or on the side of the machine, to see the brightness of the environment around the user is, from which crystals adjust the brightness of the screen accordingly. This approach has three advantages: saving battery power, energy saving manual adjustments, just to help our eyes more comfortable. If you often have to move between the brightness difference where this is extremely useful features. Once inside, the machine self-adjust the screen darkens a bit to save battery power, even when it came out way too bright on the screen for you to see better in the sun. It's convenient right?
To enable the ability to adjust the brightness on Android 4.x, go to Settings> Display> Brightness, select the check box Automatic Brightness. If you are running older Android versions like 2.3, 2.2, please go to Settings> Sound and Display> Brightness, Automatic brightness adjustment press box. You note that this option only applies to machines equipped ambient sensor ok.
Keep your phone in a cool place
Can you believe this is not related, but the real ambient temperature greatly affects the performance of the machine as well as the use of batteries. Normally, the battery works better in a cool place, and the heat for a long time that the battery power dropped away much quicker. Therefore, you should limit the phone tucked into places too narrow to avoid the sun shines directly into our time machine too long. So you just help better battery life, the life expectancy has increased for the other components of the machine.
Use the Google application "dark"
Google provides many applications for its Android operating system (such as Gmail, Maps, Google+, Music, Documents ...) and most of these applications have in common colors are white, black letters. If your phone uses AMOLED screen it is best to turn it on a black background to save battery life. Two of these displays have the advantage of being able to black out, it will turn off the pixel goes to an absolute black, the only color other then the new pixel color that glows. Whereby it will save a lot of battery when using a black background with many apps like this. So how to switch to a black background? Very easy, a modder named "rujelus22" mod to have the app on Google and convert them to black and white text background colors, all you need to do is download and install only.
rujelus22 that you can install parallel black background applications with legacy applications. But on a certain number of machines, you may need to remove the original, the new Google application installed the "black" is. You can download the application "dark" is the link: MediaFire / or update FShare add new applications in the source link of the author. Conduct a Flash file into the package or set each file sequentially. APK one.
List of Google applications have been converted to black tones:
Google Play
Google+, Gmail
Google Docs, Google Voice, Google Translate
Search Box
Google Talk, Google Reader
Google Music, YouTube
And other applications:
Twitter, Dropbox
Virtual Keyboard ICS and Gingerbread
(Excerpted from his @ TDNC: [Android] Save battery power with the Google apps dark)
Limiting the use of advertising associated software
In addition to the reasons as old as the big screen, powerful hardware to the researchers from Purdue University and Microsoft found that 75% of battery consumption on Android case related to the application by in-game ads cause. Android has a lot of free software and games, most of all we are and will insert advertising is constantly in the process we use. These ads constantly connected to the Internet and transmit that information to the Android machine becomes so drain the battery. It is so, I had previously tried a number of free applications that support the ad noticed lagging computer battery a bit faster than using the app, but is also a chargeable ( ie no advertising). Therefore, you should purchase a software license, just to support authors, both respected intellectual property law and minimize battery consumption by advertising with me, but if not then you have to take the trouble to find files information install APK format on internet such.
Stopping or removing unnecessary app
You will never know what software is running in the background if they are not managed in a coherent way through the menu Settings> Apps> Running tab. Some app seemed gone off but we really still running and continuous access to the system resources. If the app you use it often or do not say, but there are things we run up a long long time, so that a system occupied unnecessarily, to make our machines drain the battery more quickly. In this case, you should stop the application by selecting desire to take an app, press the Stop button in the process are displayed. In addition, you can also remove them completely out of the machine to not accidentally activate the app is not necessary.
The backend applications for prolonged battery life
Juice Defender
Android has many additional applications to help you manage and increase the battery life, which is a famous software called Juice Defender. It will automatically set system parameters to optimize battery life for the machine. The free version of JuiceDefender supports the Balanced and Aggressive configurations, providing limited ability to control the data connection and synchronize calendar. Plus version ($ 1.99) to expand custom configurations and more Aggressive custom calendar sync. Ultimate version ($ 4.99) has additional functions such as AutoSync (automatic sync), Screen Timeout (Romance of time off screen), Screen Brightness (Adjust the screen brightness) and many additional custom calendar at sets. If the root device, this software also allows you to control the CPU speed, GPS and switch between 2G/3G mode.
To use the free JuiceDefender is very simple, follow these steps:
At Play Store to find and install JuiceDefender installed on machines or at this link.
Running JuiceDefender select Enabled. That's it.
The second configuration is free to choose the Balanced and Aggressive. Also, the free version only manage Mobile data is connected, so in theory the Plus or Ultimate will save more battery. The management style of the free time you use the battery by about 50%
Balanced Configuration: With this configuration, Mobile data connection will be automatically switched off when the phone screen is off. Every 15 minutes, the connection will be activated to sync data (email, calendar ...)
Aggressive Configuration: Balanced Like in that the screen is off, it would automatically turn off Mobile Data. Yet another place is just 30 minutes, the connection will be activated to sync. This configuration is another place again when the battery is too low, then the connection will not be activated even when the screen is open. Maximum battery savings.
For normal users, simply enable the free version is finished. If you want more than that, you can use the Ultimate version, others will have a more detailed article on this premium version (Excerpted Saver for Android with Juice Defender my @ vuhai6)
Battery Doctor
A free app also helps us save battery management and an intuitive, Battery Doctor (download here). Its main feature is to provide relative time that you can use with current battery capacity (the accuracy of the minutes), when the principal warning or when a fully charged battery, automatically adjusts system components such as Wi-Fi, GPS, Bluetooth to save battery life by different modes: Extreme - only messaging feature called active listening, Clock - alarm clock only activities and Custom - customized according to your needs.
When you click on the battery icon in the park outside the main screen, Battery Doctor allows us to view the status of batteries, current battery capacity, temperature, battery voltage, battery technology. A chart above also allows you to monitor the energy consumption of the machine for any period of more battery power, about which little use, ...
Also, a point that I find interesting is that when using Battery Doctor to turn off the connection type, the battery time remaining will increase or decrease in an intuitive way (some minute changes expected soon ), from which you can easily decide which one should be turned off the public. It also will tell you the time relative to the full charge of your Android machine is how long.
Sony Smart Connect
There is a free software quite useful for you to shut off timer connection types, such as Sony Smart Connect (Download the Sony Smart Connect application). This application is the automatic functions perform a variety of tasks in a certain time you set, or when you connect a peripheral device to the mayAndroid her. The interesting point is that each series of actions that can be divided by "facts" are different, for example, you go to work 7 am, when the machine breaks free Wi-Fi, transfer ringtone to silent mode, and to 5 pm, the machine switches itself on the ring and Wi-Fi. It should be added that Smart Connect developed by Sony, but it can run on all Android devices of other manufacturers. I have tried to install on multiple machines HTC, LG and Smart Connect the Nexus 4 will work fine.
After you download the software, run the app Smart Connect. In the main interface, click the + button in the upper right corner of the screen, enter the name of the new event, such as "go to" for example. In the new screen appears, the item When you click on the "Add condition". Here, you can set the app to trigger events based on the hours or recommend charging / headphones recommend (with the Sony Xperia, you have a lot of other ways activated by touching SmartTag, connected to SonySmartWatch, ...). If you choose, you can choose hourly event repeats every day or some days of the week.
Next, we will set the machine will do the action sequences. In This is the result of the action will take place at the start of the event, and the "At The End" is what it will do when the event ended. As I said to the example earlier, to go to the event, you can set the Do This includes the mute, turn off Wi-Fi, 3G open, running app map. And At The End section, select the Wi-Fi open, open the bell, turn off 3G. You can apply similar measures to the machine itself off when going to sleep sound, light and time again that they open themselves. Additionally, you can place orders for Smart Connect launch a particular application, posting new status to Facebook, ... After you've installed the action series, do not forget to flip the switch to On top of the screen, while the new machine and run track events as we have to.

[Q] Application background process

Hi there,
I'm developing an app that calculates an algorithm at the background. Since the application starts, till it ends.
This is a tracking algorithm (with now further explanation about the algorithm operation principles).
So the background task need to be calculated at all screens on the app regardless of user actions on app, clicks, wifi communication messages (already done on app) , everything needs to be done while the algorithm is running at the background.
Is it an AsyncTask ?
If not what else?
The application is running and the algorithm is being calculated at a specific screen now, i want to make it a background process with no respect to current application screen.
An example will be appreciated
P.S- Further developing , do not need to be discussed if not needed right now:
1. The next stage is to insert an indication (virtual bulb) that change between to states depends on algorithm result each time.
2. The algorithm is getting data from USB device attached to the phone as the phone is the host using FTDI chip.
Seems like running the algorithm in a classic Service could be a way to go.

Categories

Resources