AAPT2 has a strange issue it seems.
Let me explain how the PYDroid library is structured:
There is a core library, pydroid, which handles some extremely basic stuff that is common to all pyamsoft apps. Building off of this basic library is pydroid-util, which as the name suggests, includes utility functions that are not always needed. Building off of the pydroid-util library is the pydroid-ui and pydroid-loader libraries, which power much of the UI commonality you observe in pyamsoft Android applications.
When building Home Button today using the new Android Studio 3 goodies, I found that it was unable to fully build the project due to some resource errors, where application dependency's dependencies were not pulled into the main application. This meant that if pydroid relied on RxJava for example, it would not actually be pulled in to an application which relied on PYDroid, and so the application would either fail to build or crash when it finally did run.
It seems that changing the pydroid library's build.gradle file from using the new api and implementation syntax back to the old compile syntax fixed this issue. It's unfortunate though, since Android Studio 3 builds a lot faster with its new syntax, but it is fundamentally broken. I hope to port over the rest of the pyamsoft Android applications to the Android Studio 3 syntax now that this library issues has been resolved, and release an update later this week.
Stay tuned.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Monday, October 30, 2017
Tuesday, October 17, 2017
Updates rolling out
Updates to all Android applications have been submitted to the store and should be live soon.
pstate-frequency was recently updated to 3.8.0 which cleans up the code base and removes support for the confusing x86_energy_perf_policy tool.
update-hosts was updated recently to include other blocklists such as cliqz tracking as well as admiral tracking.
Stay tuned.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
pstate-frequency was recently updated to 3.8.0 which cleans up the code base and removes support for the confusing x86_energy_perf_policy tool.
update-hosts was updated recently to include other blocklists such as cliqz tracking as well as admiral tracking.
Stay tuned.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Sunday, October 1, 2017
License updates
Hey, so just a heads up.
All pyamsoft projects have been, or intend to be updated to use the GPLv2 license.
While this software license is perhaps slightly invasive with its "every derivate must also be GPL compatible" kind of virulent behavior, I do this for a couple of reasons.
1. I highly doubt anyone has actually taken the time to fork the projects, so this should not disrupt other projects. If your project was a fork of the original however, older versions are still licensed under Apache2 or MIT, and you are welcome to continue off from those older versions.
2. The GPL encourages the release of source code, which aside from software freedom (which is not really the main goal here) allows for any improvements made to the project by forks to be contributed back to the main project. This helps foster learning and new knowledge.
The projects were originally open sourced with the idea that because I had learned so much from reading open source projects to see their structure, others should be able to learn from me.
3. This will hopefully also discourage malicious knock off applications which simply copy the source code of the original application and then change the icons or text around a bit - effectively software plagiarism.
By making these licensing changes, I do not do so with the intent to harm other projects or prevent the growth of new softwares. I simply wish to create a positive feedback loop, wher new improvements to forks of the projects are given back to the community in an open and knowledge-encouraging way.
Thanks, and stay tuned for some actual Android updates, as well as some stuff from pstate-frequency, and thoughts about a next project.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
All pyamsoft projects have been, or intend to be updated to use the GPLv2 license.
While this software license is perhaps slightly invasive with its "every derivate must also be GPL compatible" kind of virulent behavior, I do this for a couple of reasons.
1. I highly doubt anyone has actually taken the time to fork the projects, so this should not disrupt other projects. If your project was a fork of the original however, older versions are still licensed under Apache2 or MIT, and you are welcome to continue off from those older versions.
2. The GPL encourages the release of source code, which aside from software freedom (which is not really the main goal here) allows for any improvements made to the project by forks to be contributed back to the main project. This helps foster learning and new knowledge.
The projects were originally open sourced with the idea that because I had learned so much from reading open source projects to see their structure, others should be able to learn from me.
3. This will hopefully also discourage malicious knock off applications which simply copy the source code of the original application and then change the icons or text around a bit - effectively software plagiarism.
By making these licensing changes, I do not do so with the intent to harm other projects or prevent the growth of new softwares. I simply wish to create a positive feedback loop, wher new improvements to forks of the projects are given back to the community in an open and knowledge-encouraging way.
Thanks, and stay tuned for some actual Android updates, as well as some stuff from pstate-frequency, and thoughts about a next project.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Tuesday, September 26, 2017
Delays
So I was supposed to update a while back.
But then I bought a new computer.
Then I returned said computer to buy a different one.
Now, with a working build inside of the tiny Metis Plus, I've found the time to prepare and upload the updates to all pyamsoft applications. They are currently sitting on the Play Store in open Beta, just waiting to be released.
Stay tuned.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
But then I bought a new computer.
Then I returned said computer to buy a different one.
Now, with a working build inside of the tiny Metis Plus, I've found the time to prepare and upload the updates to all pyamsoft applications. They are currently sitting on the Play Store in open Beta, just waiting to be released.
Stay tuned.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Friday, September 1, 2017
It's Almost Time
Just finished porting all of the pyamsoft applications to the latest stuff. PadLock, Pasterino, ZapTorch, WordWiz, Home Button, all done.
Testing now, hoping to get the first full release in a long while ready for next week, so that I can begin the cadence of weekly to bi-weekly release updates.
Stay tuned.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Testing now, hoping to get the first full release in a long while ready for next week, so that I can begin the cadence of weekly to bi-weekly release updates.
Stay tuned.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Thursday, August 10, 2017
Updates
Slower still, but steady.
Some notes about some changes. I've been doing a lot of coding the past couple of weeks, like a whole lot. It's burned me out slightly, but the drive to continue improving and understanding architecture of applications as well as design patterns keeps me going. I mention this for two reasons.
1. Release is going to be much slower than anticipated, since I will be re-writing yet again to expose myself to more of these styles and ideas in programming. My hope is that the resulting application will be clean to read, easier to extend, and faster to update in the future. Of course, plans never quite work out.
2. And speaking of plans never quite working out, the situation that I found myself in meant that for a couple of days, I would not be able to install Power Manager on my own personal devices. Days turned into weeks without the app on any of my devices, and I came to find that battery life on modern versions of Android had actually stayed the same, or generally improved in some cases. It seems that, due to Android becoming more locked down in this regard, or perhaps due to the design decisions I took when creating and updating Power Manager, it now has become more trouble than it is worth.
The modern, aggressive battery savings that Android proposes just have no way of nicely coexisting with Power Manager's aggressive requirements for radio controls as soon as the device switches into sleep, and the frequent periodic wake ups to turn off or on radios actually ended up draining more battery than the device would consume by simply putting its radios into a low power state - which the system does by default.
Because of this discovery, I am both pleased and saddened to announce that Power Manager is officially deprecated. I no longer have the need, nor really the want, to continue going against the grain developing an application that the platform does not want me to make. The last uploaded version should be relatively stable, so I will not be pulling it from the store, but no new updates will arrive in the foreseeable future.
I intend to fully update all of the pyamsoft applications that I still care to maintain to compatibility with Android O, as well as rewrite all of them in Kotlin. Luckily, aside from some of my adventures into application design and architecture, almost all of this is already complete.
pyamsoft will continue to be an independent, open source Android application developer. I will continue to develop tools that help people. I will continue to hack away at Linux, and Android. I'll continue to code, at least until this old machine dies and I need to buy a new one.
New PadLock is my current focus. I find the app useful for privacy focused minds, and it does not seem to intrude too much into the Android system vision. Right now, I am going through a full refactor of the PYDroid utility library, which serves as the base code for all pyamsoft applications.
Once the refactor is complete, I will update Home Button as a proof of concept and stability. From there, Pasterino and WordWiz will follow. ZapTorch is always a bit trickier, but it will come in time as well.
I'm thinking of doing one big chunk release, followed by small QOL updates every ~2 weeks. New applications will come when I have the time and the burst of inspiration.
I've sunset applications before. I said I would stop developing Home Button, only to turn around and continue maintaining it - even still to this day. This may not be the end for my friend Power Manager. It holds a special place as the first real Android application I set my sights on. I am happy to say that in this 2017 world, it may no longer be needed. Of course, the code is always open, if anyone wants to pick it up.
But if not - if this be its final hour - then so long, and thanks for all the fish.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Some notes about some changes. I've been doing a lot of coding the past couple of weeks, like a whole lot. It's burned me out slightly, but the drive to continue improving and understanding architecture of applications as well as design patterns keeps me going. I mention this for two reasons.
1. Release is going to be much slower than anticipated, since I will be re-writing yet again to expose myself to more of these styles and ideas in programming. My hope is that the resulting application will be clean to read, easier to extend, and faster to update in the future. Of course, plans never quite work out.
2. And speaking of plans never quite working out, the situation that I found myself in meant that for a couple of days, I would not be able to install Power Manager on my own personal devices. Days turned into weeks without the app on any of my devices, and I came to find that battery life on modern versions of Android had actually stayed the same, or generally improved in some cases. It seems that, due to Android becoming more locked down in this regard, or perhaps due to the design decisions I took when creating and updating Power Manager, it now has become more trouble than it is worth.
The modern, aggressive battery savings that Android proposes just have no way of nicely coexisting with Power Manager's aggressive requirements for radio controls as soon as the device switches into sleep, and the frequent periodic wake ups to turn off or on radios actually ended up draining more battery than the device would consume by simply putting its radios into a low power state - which the system does by default.
Because of this discovery, I am both pleased and saddened to announce that Power Manager is officially deprecated. I no longer have the need, nor really the want, to continue going against the grain developing an application that the platform does not want me to make. The last uploaded version should be relatively stable, so I will not be pulling it from the store, but no new updates will arrive in the foreseeable future.
I intend to fully update all of the pyamsoft applications that I still care to maintain to compatibility with Android O, as well as rewrite all of them in Kotlin. Luckily, aside from some of my adventures into application design and architecture, almost all of this is already complete.
pyamsoft will continue to be an independent, open source Android application developer. I will continue to develop tools that help people. I will continue to hack away at Linux, and Android. I'll continue to code, at least until this old machine dies and I need to buy a new one.
New PadLock is my current focus. I find the app useful for privacy focused minds, and it does not seem to intrude too much into the Android system vision. Right now, I am going through a full refactor of the PYDroid utility library, which serves as the base code for all pyamsoft applications.
Once the refactor is complete, I will update Home Button as a proof of concept and stability. From there, Pasterino and WordWiz will follow. ZapTorch is always a bit trickier, but it will come in time as well.
I'm thinking of doing one big chunk release, followed by small QOL updates every ~2 weeks. New applications will come when I have the time and the burst of inspiration.
I've sunset applications before. I said I would stop developing Home Button, only to turn around and continue maintaining it - even still to this day. This may not be the end for my friend Power Manager. It holds a special place as the first real Android application I set my sights on. I am happy to say that in this 2017 world, it may no longer be needed. Of course, the code is always open, if anyone wants to pick it up.
But if not - if this be its final hour - then so long, and thanks for all the fish.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Saturday, July 15, 2017
Slow but steady
So progress is slow moving, because I'm tired and lots of life gets in the way.
But rest assured, Power Manager 7 will be coming soon. It will make things simpler to handle, it will make it easier to automatically control power usage on your device. It will support Android KitKat to O. It will be written in Kotlin, because it's cool like that.
It will be easily extensible, so once its out the door, new features and modules will be much quicker to add. Version 7 will simply be the same old features as 6 but with better compatibility to more devices, but following that release, I wish to quickly add new modules for features, possibly things like GPS, brightness and APN settings.
PadLock will be updated following with a cleaner UI and lower memory usage.
All other apps will simply be updated with O compatibility and better performance, memory usage. No new features yet.
Kotlin everything, because Kotlin is cool beans.
Sit tight, sorry for the long wait.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
But rest assured, Power Manager 7 will be coming soon. It will make things simpler to handle, it will make it easier to automatically control power usage on your device. It will support Android KitKat to O. It will be written in Kotlin, because it's cool like that.
It will be easily extensible, so once its out the door, new features and modules will be much quicker to add. Version 7 will simply be the same old features as 6 but with better compatibility to more devices, but following that release, I wish to quickly add new modules for features, possibly things like GPS, brightness and APN settings.
PadLock will be updated following with a cleaner UI and lower memory usage.
All other apps will simply be updated with O compatibility and better performance, memory usage. No new features yet.
Kotlin everything, because Kotlin is cool beans.
Sit tight, sorry for the long wait.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Sunday, May 28, 2017
Nice and Toasty
Normal day, as always.
Imagine my surprise to see this page pop up:
Toast leaked?
My innocent little Toast popups, leak the Activity context?
Curious, I dug in, and sure enough
When you call Toast.makeText(Context, String, Int) a TextView object is created using your passed in context. This means that if you pass it a Service, BroadcastReceiver, or Activity context, and the Toast lingers around longer than the Context you give it, you will leak memory.
The easiest work around is to call Context.getApplicationContext() on whatever you pass into the Toast creation method. However, this can be annoying, because you would need to go through each toast call and do this.
To work around this annoyance, PYDroid now ships with a wrapper utility class called Toasty which does this for you and consumes the standard Toast.makeText() API.
Assuming a simple use of Toasts, simply run a find replace over your project, and replace all instances of Toast.makeText with Toasty.makeText, and you should be good to go (assuming you have autoimport set to resolve conflicts automatically).
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Imagine my surprise to see this page pop up:
Toast leaked?
My innocent little Toast popups, leak the Activity context?
Curious, I dug in, and sure enough
When you call Toast.makeText(Context, String, Int) a TextView object is created using your passed in context. This means that if you pass it a Service, BroadcastReceiver, or Activity context, and the Toast lingers around longer than the Context you give it, you will leak memory.
The easiest work around is to call Context.getApplicationContext() on whatever you pass into the Toast creation method. However, this can be annoying, because you would need to go through each toast call and do this.
To work around this annoyance, PYDroid now ships with a wrapper utility class called Toasty which does this for you and consumes the standard Toast.makeText() API.
Assuming a simple use of Toasts, simply run a find replace over your project, and replace all instances of Toast.makeText with Toasty.makeText, and you should be good to go (assuming you have autoimport set to resolve conflicts automatically).
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Saturday, May 27, 2017
Kotlin
It's new, it's cool.
It's a learning experience.
To this end, all pyamsoft applications will be re-written to use 100% Kotlin.
PYDroid has already been re-written to use 100% Kotlin code, and Power Manager version 7 - although still in progress - is also written with 100% Kotlin code and will ship fully running on Kotlin.
PYDroid in it's re-written Kotlin form should still be 100% backwards-compatible to its most recently released Java version.
Kotlin is cool and a neat alternative to standard Java on Android, and you'll be seeing a lot more of it in the pyamsoft future.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
It's a learning experience.
To this end, all pyamsoft applications will be re-written to use 100% Kotlin.
PYDroid has already been re-written to use 100% Kotlin code, and Power Manager version 7 - although still in progress - is also written with 100% Kotlin code and will ship fully running on Kotlin.
PYDroid in it's re-written Kotlin form should still be 100% backwards-compatible to its most recently released Java version.
Kotlin is cool and a neat alternative to standard Java on Android, and you'll be seeing a lot more of it in the pyamsoft future.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Saturday, May 20, 2017
Future Plans
Lots of nice changes to see at Google IO this year.
Future plans are going to be as follows:
Redesign Power Manager, release the new version 7. I'll have mockups/images soon for what the new flavor will look like, but its going to be simpler to use and more aggressive at saving battery out of the box.
Next will be a version bump to PadLock which will replace the tiresome swipe motions to pull out the navigation drawer for a simpler bottom navigation bar. Additional fixes to locking logic should bring better battery life and faster performance.
Media player application will be geared up for release next. Initial version will be intentionally simple, so that I can see what features work and which do not. It will also allow me to use community feedback to figure out what features are highly requested, and implement them sooner.
The theme of all of these changes is the same as Google's theme for its next Android flavor: performance, battery, and core vitals.
The incoming changes to the applications will make them more stable, better performing, and less battery hungry. More to come.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Future plans are going to be as follows:
Redesign Power Manager, release the new version 7. I'll have mockups/images soon for what the new flavor will look like, but its going to be simpler to use and more aggressive at saving battery out of the box.
Next will be a version bump to PadLock which will replace the tiresome swipe motions to pull out the navigation drawer for a simpler bottom navigation bar. Additional fixes to locking logic should bring better battery life and faster performance.
Media player application will be geared up for release next. Initial version will be intentionally simple, so that I can see what features work and which do not. It will also allow me to use community feedback to figure out what features are highly requested, and implement them sooner.
The theme of all of these changes is the same as Google's theme for its next Android flavor: performance, battery, and core vitals.
The incoming changes to the applications will make them more stable, better performing, and less battery hungry. More to come.
========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?
Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com
Follow my FaceBook Page
Follow my Google+ Page
=========================
Subscribe to:
Posts (Atom)

