I will have an update out today, so you won’t have to wait long. The AIX files will be able to be found in my next post in a few hours.
ok ill be waiting
Why does the git repository no longer exists. I downloaded all of the extensions already.
These are all great questions! They will be answered in a few hours when I am done with German. Thank you for your patience.
I’m pulling the plug
The plug is no longer being pulled! See more by going to this post!
Device M’ was a pleasant project to work on last year. Although I did have plans to previously “pull the plug” on Device M’, those plans have been trashed and have ever since changed… According to this post. Since Device M’ is now open-sourced, I would like to thank my Beta Testers! You were all wonderful!
Thank you…
@yanquisalexander
@avmcreators02
@David
@FahadAhmad
@Federico_Morrone
@themaayur
It ends here, with v3.0.0
See more on why it doesn’t end here, by going to this post!
Additions
- Color
- Convert a color to a hex code using IntToHex
- Determine if a color is light using IsColorLight.
- ParseColorToInt was renamed to HexToInt.
- Platform
- Find out the system-wide dark mode status using IsNightModeEnabled.
- Get the system-wide accent color; Android Q+ (expected to work on Pixel devices, failed on Samsung devices, works on OnePlus devices (At least the OnePlus 8)).
Changes
- PowerM
- Battery data is no longer provided as separate blocks, it’s now given as a dictionary. Go here to preview all possible values.
- Storage
- Behavior
- Paths should include a slash in the front of them. For example /directoryName/content.json. directoryName can be replaced by an existing folder, often “files” or “cache”, or a custom folder name!
- Creating new files isn’t as simple as before. There’s a way to append content now! Go here to preview an example.
- Behavior
Improvements
- All
- The minimum Android SDK is now 21 which allowed for cleanup of unnecessary code.
- App
- Merged with PackageOps
- PackageOps
- Build size improved by 94%.
- InstallAPK works with Kodular apps; Fully tested.
- packageId arguments can be filled with “.packageName” (without the quotes), “getPackageName” (without the quotes), “$this” (without the quotes) to get the calling app’s package name. Go here to preview an example.
Permissions
- All extensions
- For current and future extensions of mine, I am trying to create them without needing permissions so they don’t cause a burden to the developer or user. No permissions should be asked with an exception to the ConnectivityX, Intents and Package Ops extensions.
Scoped storage
The package operations and storage extensions both come with the inclusion of scoped storage. Here’s how it works with both extensions. Go here to preview the choices.
- When setting the Model property, only accessible from the Designer, to Partial, then the path for Android P and below will be /data/data/package. Android Q+ will rely on /storage/emulated/0/Android/data/package.
- When setting the Model property, only accessible from the Designer, to Invisible, then the path for all of Android will be /data/data/package. This includes Android P/Q and below/above!
- When setting the Model property, only accessible from the Designer, to Scoped, then the path for Android P/Q and below/above will be /storage/emulated/0/Android/data/package.
Warnings
- Documentation
- Unfortunately just now I noticed that none of the blocks have descriptions. You will have to work based on what the block name is and test here and there until you find the desired result.
- PackageOps
- If you’re planning on installing version 3.0.0 and 3 of PackageOps, please go here. A one-time patch was released to fix an issue relating to permissions.
- Your project will break! Events have been removed and blocks now return a result IMMEDIATELY!
- VersionCode has been renamed to VariantCode.
- VersionName has been renamed to VariantName
- Storage
- Some events may break your app since I’ve rewritten many of them. Go here to preview the new events.
- Some property blocks may break your app since they’ve been renamed.
Now, get to upgrading!
io.gitlab.stormifire.devicem.packageops.aix (59.1 KB)
io.gitlab.stormifire.devicem.platform.aix (32.7 KB)
io.gitlab.stormifire.devicem.powerm.aix (32.7 KB)
io.gitlab.stormifire.devicem.storage.aix (35.0 KB)
io.gitlab.stormifire.devicem.time.aix (27.4 KB)
io.gitlab.stormifire.devicem.colors.aix (28.9 KB)
io.gitlab.stormifire.devicem.connectivityx.aix (40.6 KB)
io.gitlab.stormifire.devicem.intents.aix (32.4 KB)
See this post
At least I have downloaded the extensions before. All 9 extensions.
That link dosen’t work. Is this a trick?
@hammerhai There are only 8 extensions listed in your post. I have all 9 extensions which were formerly on GitHub.
@hammerhai, were there really 9 extensions formerly in GitHub? Those extensions were amazing! Because of this public link stuff, I moved to MIT App Inventor and was looking for some extensions to advance my apps and your extensions helped my apps. There was no extension like any other to compete with Device M Manager and/or the Package Ops and any other extensions.
Patch 3.0.1 for PackageOps
- Creates a new way internally to install APKs for newer and older Android versions (you won’t notice a difference).
- This is only a minor patch adding the “Install Unknown Apps” permission to the PackageOps extension. Previously this would not work so you could not prompt the user to install a specific APK.
@hammerhai I forgot to tell this about your extensions. This time what I am saying in this reply is on topic.
@hammerhai, your new extensions have a bug with the icon. I am using MIT App Inventor and see the link below. It is with the PackageOps extension as of what I know. Your image should have been smaller. Have you tested your extension before uploading them to the GitLab Repository or that post from that other topic?
Original reply (includes v3.0.1 and v3.1.1)
Patch 3.0.1
Patch 3.0.1 is for all extensions, excluding PackageOps. Source is not yet publicly available.
- Bug fixes
Patch 3.1.1
Patch 3.1.1 is only for PackageOps. Source is not yet publicly available.
-
Added Activities, which will return the activity names in an application from an APK file or package name as a list.
-
Bug fixes
Files
io.gitlab.stormifire.devicem.colors.aix (16.7 KB)
io.gitlab.stormifire.devicem.connectivityx.aix (25.9 KB)
io.gitlab.stormifire.devicem.intents.aix (19.2 KB)
io.gitlab.stormifire.devicem.packageops.aix (37.1 KB)
io.gitlab.stormifire.devicem.platform.aix (20.1 KB)
io.gitlab.stormifire.devicem.powerm.aix (19.5 KB)
io.gitlab.stormifire.devicem.storage.aix (21.7 KB)
io.gitlab.stormifire.devicem.time.aix (15.4 KB)
Android 12 & Extended Support
Hello everyone!
Recently the Android 12 Developer Preview was released, and APIs are already changing. With that happening, I am keeping a close eye on what’s changing for a specific reason. That is, I’ve decided that I will continue releasing major upgrades to Device M’. It may come as a surprise, but it is to simply keep up with consumers keeping their devices longer and OEMs supporting them longer.
Q & A
Summaries for the questions are in bold.
Q - Will DeviceM be pulled from GitLab?
A - Yes. It will be moving to GitHub indefinitely and the package name will be changing. This process won’t take place immediately, but the earliest for this to happen is August 2021.
Q - Why did you revoke major upgrades from Device M’ in the first place?
A - Normally this happens with all my extensions, where I discontinue them to a certain extent and then offer regular maintenance support up until a certain time… barely even 1 month in some cases. However, at the time of releasing v3.0.0 of Device M’, I never thought that APIs it leverages, would change. Though I will be watching what APIs change, and some APIs that Device M’ uses might change, I would still like to offer support for Android 12!
Q - Will there be support for AndroidX in time for Kodulars next release?
A - Yes! Modules that require AndroidX for the upcoming release of Kodular will be released shortly after the official release.
Q - How long will this extended support be extended for?
A - I haven’t determined the length of extended support however it’s likely to continue until developers are dissatisfied with continued updates.
Q - Will Former Beta Testers reconvene?
A - No. With Device M’ now being open-sourced, there is no need for “internal” testing. Instead there will be weekly “Developer” builds released on GitHub and feedback can be offered through the “Discussion” area.
The end
I hope you find good in extended support for Device M’ and offer valuable feedback for what you’d like to see.
Have a nice rest of your day/night!
github link is not working now, please check.
Congratulations this will also help me alot
2021 Appathon
Hi all!
Following is a line from the 2021 Appathon FAQ.
You may use any extensions from MIT, or any free extension so long as you include a note from the extension author that it can be redistributed by MIT as part of the competition.
I’m not sure if this applies to free extensions, as I’m a bit confused by the sentence, however since my PMs are closed… Device M is allowed to be redistributed by MIT as part of the competition.
Good luck and have fun!
Moon 4.0.0-alpha.1
Hi all,
Today I’m announcing the release of Moon 4.0.0-alpha.1. Although all you see is an icon and name change, many more things have changed internally. A new package name, no storage permissions, and support for Snow Cone. I’m also announcing a new update schedule for Moon – The all in one informative, which will include support for all of Android going forward.
Android going forward
As said in the introduction of Moon, support for Android going forward will be extended. Again as before, this is purely because consumers are keeping their devices longer and OEMs are extending time for OS upgrades & security updates. To prevent any other extensions from being made related to Moon by me, it will continually be updated.
- Alpha releases will be the least stable with the most amount of APIs being added, changed, or removed. No fixes will be issued.
- Beta releases will contain APIs that will remain unchanged until the next alpha release. Fixes will be released for issues.
- Stable releases will have the greatest stability of all three releases.
Release schedule for '21
We’re over little over a half way done with the year and only 3 updates were released for “Device M ()”. This has changed slightly with Moon.
You might have to open the above image in a new tab to see it better, but here’s the summary.
- After January '22, a new release schedule will be announced as a discussion on GitHub.
- Moon will move to a half-year release schedule. This means that Moon will spend about half of the year being developed, with the other half having nothing done. It will only receive stable builds every half-year, or about every 6 months. It’s to mainly keep up with Android releases.
To explain the release schedule for this year going into next.
- From July '21 to September, Moon will be in its early development stage. These will be alpha builds, they will be unstable and block availability will vary greatly. This is the time where APIs will be added, changed, and removed. Bug fixes will be issued here and there.
- From October to December, Moon will be in its stable preparation stage. APIs will not be added, changed, or removed. Block availability shouldn’t vary. Bug fixes and tweaks will be issued monthly.
- In January '22, a stable build of Moon will be released.
These builds will be released in the Moon repository on GitHub, feedback would be greatly appreciated through the discussion relating to the released build. From now on, most builds will be released on GitHub, keep an there instead of here for any updates, no replies will be posted here unless absolutely needed!
NOTE: Feedback can’t be given with this release as there’s really nothing to give feedback on. Discussions can be found here.
What’s available with Moon 4.0.0-alpha.1
The modules that are available in this update are listed below.
- Platform – A now Snow Cone supported module.
- Power – An already Snow Cone supported module.
What’s new with Platform 4.0.0-alpha.1
com.github.flailingoctopus.moon.platform.aix (25.2 KB)
ᴀᴅᴅᴇᴅ
NOTE: “unknown” will be returned if your API isn’t supported.
- 𝙱𝚊𝚜𝚎𝙾𝚜
- 𝙳𝚒𝚜𝚙𝚕𝚊𝚢
- 𝙶𝚎𝚝𝙵𝚒𝚗𝚐𝚎𝚛𝚙𝚛𝚒𝚗𝚝𝚎𝚍𝙿𝚊𝚛𝚝𝚒𝚝𝚒𝚘𝚗𝚜
- 𝙶𝚘𝚝𝙵𝚒𝚗𝚐𝚎𝚛𝚙𝚛𝚒𝚗𝚝𝚎𝚍𝙿𝚊𝚛𝚝𝚒𝚝𝚒𝚘𝚗𝚜
- An empty list will be returned if your API isn’t supported.
- A partition in the list will be formatted as a dictionary like this…
{ "buildTime": 0, "fingerprint": "", "name": "" }
- 𝙾𝚍𝚖𝚂𝚔𝚞
- 𝙿𝚛𝚘𝚍𝚞𝚌𝚝
- 𝚂𝚍𝚔
- 𝚂𝚔𝚞
- 𝚂𝚘𝚌𝙼𝚊𝚗𝚞𝚏𝚊𝚌𝚝𝚞𝚛𝚎𝚛
- 𝚂𝚘𝚌𝙼𝚘𝚍𝚎𝚕
ᴄʜᴀɴɢᴇᴅ
- The package name is now
com.github.flailingoctopus.moon.platform
ʀᴇᴍᴏᴠᴇᴅ
- 𝙱𝚊𝚜𝚎𝚋𝚊𝚗𝚍
- 𝙳𝚎𝚟𝚒𝚌𝚎𝙰𝚌𝚌𝚎𝚗𝚝𝙲𝚘𝚕𝚘𝚛
- 𝙳𝚎𝚟𝚒𝚌𝚎𝙽𝚊𝚖𝚎
- 𝙸𝚍
- 𝙸𝚜𝙳𝚎𝚟𝚒𝚌𝚎𝙳𝚊𝚗𝚐𝚎𝚛𝚘𝚞𝚜
- 𝙸𝚜𝙽𝚒𝚐𝚑𝚝𝙼𝚘𝚍𝚎𝙴𝚗𝚊𝚋𝚕𝚎𝚍
- 𝚂𝚞𝚙𝚙𝚘𝚛𝚝𝚎𝚍𝟹𝟸𝙱𝚒𝚝𝙰𝙱𝙸𝚜
- 𝚂𝚞𝚙𝚙𝚘𝚛𝚝𝚎𝚍𝟼𝟺𝙱𝚒𝚝𝙰𝙱𝙸𝚜
- 𝚂𝚢𝚜𝚝𝚎𝚖𝙰𝚟𝚊𝚒𝚕𝚊𝚋𝚕𝚎𝙵𝚎𝚊𝚝𝚞𝚛𝚎𝚜
- 𝚂𝚢𝚜𝚝𝚎𝚖𝚂𝚑𝚊𝚛𝚎𝚍𝙻𝚒𝚋𝚛𝚊𝚛𝚢𝙽𝚊𝚖𝚎𝚜
- 𝚃𝚒𝚖𝚎
What’s new with Power 4.0.0-alpha.1
com.github.flailingoctopus.moon.power.aix (24.5 KB)
ᴀᴅᴅᴇᴅ
- 𝙱𝚊𝚝𝚝𝚎𝚛𝚢𝙲𝚑𝚊𝚗𝚐𝚎𝚍
- Parameters that can return a constant value are not returned in English, but instead in their respective values.
- The health parameter is based on BATTERY_HEALTH_*.
- The level parameter is based on EXTRA_LEVEL.
- The status parameter is based on BATTERY_STATUS_*.
- 𝙲𝚘𝚖𝚙𝚞𝚝𝚎𝙲𝚑𝚊𝚛𝚐𝚎𝚃𝚒𝚖𝚎𝚁𝚎𝚖𝚊𝚒𝚗𝚒𝚗𝚐
-
𝙷𝚎𝚊𝚕𝚝𝚑
- Based on BATTERY_HEALTH_*.
- There’s no need to wait for 𝙱𝚊𝚝𝚝𝚎𝚛𝚢𝙲𝚑𝚊𝚗𝚐𝚎𝚍 to delegate, get the health of the battery immediately!
- 𝙸𝚜𝚁𝚎𝚌𝚎𝚒𝚟𝚎𝚛𝚁𝚎𝚐𝚒𝚜𝚝𝚎𝚛𝚎𝚍
-
𝙻𝚎𝚟𝚎𝚕
- There’s no need to wait for 𝙱𝚊𝚝𝚝𝚎𝚛𝚢𝙲𝚑𝚊𝚗𝚐𝚎𝚍 to delegate, get the level of the battery immediately!
- Lifecycle management
- Follows FN-B1 from Core App Quality.
- The battery broadcast receiver is registered when 𝚘𝚗𝙲𝚛𝚎𝚊𝚝𝚎 is delegated.
- The battery broadcast receiver is unregistered when 𝚘𝚗𝙳𝚎𝚜𝚝𝚛𝚘𝚢 is delegated.
- The battery broadcast receiver is unregistered when 𝚘𝚗𝙿𝚊𝚞𝚜𝚎 is delegated.
- The battery broadcast receiver is registered when 𝚘𝚗𝚁𝚎𝚜𝚞𝚖𝚎 is delegated.
- If the battery broadcast receiver was unregistered before the 𝚘𝚗𝙿𝚊𝚞𝚜𝚎 was delegated, then the battery broadcast receiver will stay unregistered until it’s registered again.
- Follows FN-B1 from Core App Quality.
-
𝙿𝚕𝚞𝚐𝚐𝚎𝚍
- Based on BATTERY_PLUGGED_*.
- 𝙿𝚛𝚎𝚜𝚎𝚗𝚝
- 𝚂𝚎𝚝𝚁𝚎𝚌𝚎𝚒𝚟𝚎𝚛𝚁𝚎𝚐𝚒𝚜𝚝𝚎𝚛𝚎𝚍
- Use this to disable and enable the battery broadcast receiver.
- 𝚂𝚌𝚊𝚕𝚎
-
𝚂𝚝𝚊𝚝𝚞𝚜
- Based on BATTERY_STATUS_*.
- There’s no need to wait for 𝙱𝚊𝚝𝚝𝚎𝚛𝚢𝙲𝚑𝚊𝚗𝚐𝚎𝚍 to delegate, get the status of the battery immediately!
- 𝚃𝚎𝚌𝚑𝚗𝚘𝚕𝚘𝚐𝚢
-
𝚃𝚎𝚖𝚙𝚎𝚛𝚊𝚝𝚞𝚛𝚎
- The result is in Celsius.
ᴄʜᴀɴɢᴇᴅ
- The extension name is now “Power”
- The package name is now
com.github.flailingoctopus.moon.power
ʀᴇᴍᴏᴠᴇᴅ
- 𝙾𝚗𝙿𝚘𝚠𝚎𝚛𝙲𝚘𝚗𝚗𝚎𝚌𝚝𝚎𝚍
- 𝙾𝚗𝙿𝚘𝚠𝚎𝚛𝙳𝚒𝚜𝚌𝚘𝚗𝚗𝚎𝚌𝚝𝚎𝚍
- 𝙾𝚗𝙿𝚘𝚠𝚎𝚛𝚂𝚊𝚟𝚎𝙼𝚘𝚍𝚎𝙲𝚑𝚊𝚗𝚐𝚎𝚍
- 𝙾𝚗𝙱𝚊𝚝𝚝𝚎𝚛𝚢𝚄𝚙𝚍𝚊𝚝𝚎
are you saying FILe managar