Mishaal's Android News Feed
12.4K subscribers
2.2K photos
100 videos
8 files
1.94K links
Android news from an Android nerd
Download Telegram
Google is rolling out a new, faster way to switch between your personal and work profiles in their apps. You no longer have to tap any buttons to switch between your profiles!

More details + a demo video here.
โคโ€๐Ÿ”ฅ29๐ŸŽ‰6๐Ÿ‘4
If you're having trouble finding the right device to share with when using Nearby Share, Google suggests you check a few settings or just bring the devices closer.

Soon, though, you may have another option: Generate a QR code for the receiver to scan. More details here. (H/T @Assembledebug)

Edit: This should start rolling out with version 23.28 of the Google Play Services app, according to the July 2023 Google System Updates changelog.
๐Ÿ‘34๐Ÿ‘€4๐Ÿ‘Ž1
A few days back, I mentioned a new Android 14 API that lets app stores claim "update ownership" over apps they install.

Now, I've found out that the Google Play Store is starting to use this for some core Google apps.

Details here.
๐Ÿ‘22๐Ÿค”8๐Ÿ‘€4โค1
Android 14 quietly made a HUGE change to work profiles!

You can no longer turn them off. Instead, they're now "paused", meaning all apps keep running in the background, notifications get polled (you won't see them until you "unpause"), etc.

Before you comment, "you can already pause them!" no, you can't. My article has evidence showing the difference between work profile behavior in Android 13 vs Android 14. The text in the launcher is misleading, and all the documentation that says so needs to be updated.

Why should you care? Well it means your work profile contacts are IDed, so you'll know when you're getting a call from your boss/colleagues even when the work profile is paused.

Also, you'll never show up as offline to work colleagues, per Android Enterprise expert Jason Bayton. (Whether you show as offline to work colleagues could I guess be set on a schedule or manually in-app, like on Slack. I guess it'd depend on the app/service in question.)

This might also have some implications on battery life, but it's hard to say without proper testing.
๐Ÿ˜ฑ32๐Ÿคฏ8๐Ÿ‘Ž6๐Ÿ‘5๐Ÿค”4๐Ÿคฎ2๐Ÿฅฐ1
Mishaal's Android News Feed
Android 14 quietly made a HUGE change to work profiles! You can no longer turn them off. Instead, they're now "paused", meaning all apps keep running in the background, notifications get polled (you won't see them until you "unpause"), etc. Before you commentโ€ฆ
While researching for my article on Android 14's work profile changes, I discovered that it's possible for 3P apps to toggle the work profile, so I told Joรฃo Dias and he added it to his Tasker app! You can now automate when your work profile is enabled.

Quick explanation for how this is possible:

The UserManager#requestQuietModeEnabled(...) method can be used to toggle quiet mode for a managed profile. The caller must either be the foreground default launcher or hold either the MANAGE_USERS or MODIFY_QUIET_MODE permission. The MANAGE_USERS permission has a protection level of signature|privileged, so it can only be granted to apps signed with the platform certificate or apps placed in a priv-app directory. MODIFY_QUIET_MODE, though, can be granted through ADB since it's also a "development" perm.

If you update to Tasker 6.2.9 RC, out today, you can toggle the work profile based on things like your location or WiFi network! Note that if you have a company-managed work profile, they may not allow ADB, so you wouldn't be able to use this. But if you have a self-created work profile, say through an app like Shelter, then you can.

Android on Pixels have long had a "Rules" feature under Settings > System that lets you toggle DND/sound mode based on your WiFi network or location. It would be great if it added the ability to toggle your work profile as well!
โค13๐Ÿ‘8๐Ÿ‘2๐Ÿ˜1
I was curious to see if it's possible to manually make a work profile on Android WITHOUT using a 3P app like Shelter, and it turns out it is!

I wouldn't recommend doing so since Shelter is FOSS and using it is a more user-friendly approach, but if you're curious, here's how.

1) You'll need to enable ADB access first, but after you do that, simply run:

adb shell pm create-user --profileOf 0 --managed Work

This uses the "create-user" PackageManager shell command to create a "managed" (AKA work) profile belonging to parent user '0' (the default user).

2) Android will create the work profile in the background, but it might take a few seconds. The work tab won't show up in the launcher unless you reboot or force close it, though.

3) By default, Android will clone most system apps to the newly created work profile. Also, certain features are disabled by default.

If you want to hide certain apps/control some settings, you'll need an app that uses the DevicePolicyManager API and set it as the profile owner.

Before you add a Google account to the work profile, sideload Google's Test DPC app.

You can run adb install --user {work_profile_id} {filename}.apk to install it.

4) Then after it's installed, run this command to set it as the profile owner of the work profile:

adb shell dpm set-profile-owner --user {work_profile_id} com.afwsamples.testdpc/.DeviceAdminReceiver

Open up the Test DPC app & away you go! Be careful w/ certain settings, though!

I wish Google offered a generic UI in Android to let you create a work profile yourself, but fortunately it's quite easy to do even without a built-in interface.

I highly recommend the Shelter app instead of this manual approach, by the way.
๐Ÿ‘20๐Ÿ”ฅ6โค3
I was curious about the status of "satellite" support in Android 14 since Hiroshi said this last year, so here's a quick update on what I think is happening.

* The satellite HAL APIs won't be present in the initial release of Android 14, but they could end up in Android 14 QPR1 or a later QPR.

(I don't know if the Pixel 8 will support satellite connectivity, so please don't ask.)

* The framework telephony APIs might have also been punted to a QPR. They won't appear as public APIs in Android 14 simply because it's too late. But it seems Google plans to add an "official API" (maybe public?) in Android 15, at least for some things like these Settings table values.

* Some things were left in the current/initial Android 14 release, like the SATELLITE_COMMUNICATION and BIND_SATELLITE_SERVICE permissions. But there's nothing for even a system dialer/messaging app to hook into
๐Ÿ‘5๐Ÿ˜ข5๐Ÿค”3โค1๐Ÿคฌ1
Mishaal's Android News Feed
Google has announced that in Android 14, Health Connect "will be a core part of Android and available on all Android mobile devices." As I previously reported, this is because Health Connect is being shipped as part of a new, mandatory Project Mainline module.โ€ฆ
Google has shared how they'll migrate users from the old Play Store version of Health Connect to the new system version in Android 14.

Health Connect is being integrated into the OS as a new Mainline module that's updatable through Play System Updates.

The migration plan is as follows:

1) Once users update to Android 14, the Play Store version of Health Connect will become inactive.

2) The Jetpack Health Connect library will route the user to the system (module) APIs and block them while data migration is in progress.

3) The migration process starts when the system and Play Store versions are feature compatible. Both permissions & data will be migrated. The Play Store version may need an update to become "migration aware", whilst the system version may need one to become "feature compatible".

4) The migration process will commence. Once it's happening, the system (module) APIs will be suspended with a "migration in process" status. If this process is suspended, it can be resumed by the user.

Data migration "is not expected to exceed 2 hours." For example, migrating 10 years of running records collected 1 hour every day would take ~4s. Migrating 5 years of heart rate data collected every minute would take ~15 mins.

During migration, the system version will ignore any duplicate permissions or data originating from the Play Store version, in case it started to acquire data and permissions before any migration or cloud-based restore (not announced!) has taken place.

5) After data migration has completed, the user can uninstall the Play Store version. (On Pixels and the Nothing Phone 2, though, the Play Store version of Health Connect is preinstalled as a system app, so it can't be uninstalled outside of an OTA update.)

OEMs can create a RRO to style the data management and permissions screens for Health Connect. This should be done to bring the app's UI in line with the rest of the OEM's skin.
๐Ÿ”ฅ30๐Ÿ‘8โค7๐ŸŒ3
Mishaal's Android News Feed
I was curious to see if it's possible to manually make a work profile on Android WITHOUT using a 3P app like Shelter, and it turns out it is! I wouldn't recommend doing so since Shelter is FOSS and using it is a more user-friendly approach, but if you'reโ€ฆ
From time to time, I miss things that are ... obvious in hindsight. This is one of those times.

Yes you can create a work profile without the use of any third-party tools, but you can skip the ADB command in step 1 I mentioned earlier.

Instead, just install Google's Test DPC app and tap "Set up Test DPC" in your app drawer.

Thanks to AutobotJetfire on Twitter and da.hobin on Threads for pointing this out!

I think the reason I overlooked this is because I'm used to using Test DPC to set up a device owner, but that isn't possible to do unless you do it during setup. Just unfamiliarity with what the app offers, I guess!
๐Ÿ‘19๐Ÿ˜7โค2
Nearby Share for Windows is now out of beta, and it adds a couple of new features:

* ETA for file transfers
* Image view within device notifications

Further, Google says it's working with partners to preinstall it on select Windows PCs, starting with HP's Dragonfly Pro.

More details in Google's blog post. Download Nearby Share for Windows.
๐Ÿ‘34๐Ÿ”ฅ17โค2๐Ÿฅฐ1
Mishaal's Android News Feed
Android 14 quietly made a HUGE change to work profiles! You can no longer turn them off. Instead, they're now "paused", meaning all apps keep running in the background, notifications get polled (you won't see them until you "unpause"), etc. Before you commentโ€ฆ
IMPORTANT UPDATE

A spokesperson for Google reached out to me with some feedback for the article. They confirmed the main change - that Android 14 now pauses instead of turns off the work profile - but also wanted to correct some things.

Below, I will summarize as best I can what they said and my/Jason's response. I submitted an updated version of the Android Police article, so you can alternatively re-read that.

* In case it wasn't clear (or you didn't see the screenshot), notifications WILL STILL NOT SHOW UP when the work profile is paused. That hasn't changed. Instead, the way notifications are handled has been improved for the better. Before, you might get a flood of notifications when turning the work profile on because all your work profile apps would start syncing. In Android 14, your notifications will already be ready for you to view when you unpause the work profile.

(One user told me they still received notifications on their Garmin watch when the work profile is paused in Android 14, but this could be a bug.)

* Work profile apps in Android 14 CANNOT access your location while the profile is paused. In Android 13, when the work profile is turned off, the launcher states that "your work apps can't send you notifications, use your battery, or access your location." In Android 14, this was changed to "you won't receive notifications from your work apps." I thought that this change in wording to remove "use your battery" or "access your location" implied that both would now be possible.

(I told Google it might be a good idea to reintroduce the notice in the launcher that work apps can't access your location.)

* Regarding whether this change means you'll always appear online now, Google says the responsibility lies with individual app devs in determining a user's online status. Previously, it wasn't possible for work profile apps to run a check for whether the work profile is paused...because the work profile was turned off so no apps could run.

In Android 14, though, developers can check whether the work profile is paused by seeing if their apps are "suspended" through the PM.isPackageSuspended() API or the ACTION_MY_PACKAGE_SUSPENDED broadcast.

(Though Google didn't explicitly say it, this implies that Android 14 now suspends apps in the work profile using the same APIs that Digital Wellbeing uses to suspend apps for Focus Mode.)

Jason brings up that some apps determine your online status through periodic check ins to their server, so unless these apps (Teams?) update to utilize these APIs, then you may indeed appear as online even when you aren't and the work profile is paused. The burden is on app developers.

* Lastly, Google wanted to highlight how this change helps users stay compliant with a company's update policy. Previously when the work profile was turned off, apps couldn't get any updates, which could be a problem if the user goes on an extended vacation and never turns the work profile back on during this time. In Android 14, apps in the work profile can continue to receive updates even when the profile is paused.
๐Ÿ‘36๐Ÿ‘Ž11โค5
Media is too big
VIEW IN TELEGRAM
Here's a first look at Android 14's new notetaking feature for styluses๐Ÿ‘€ ๐Ÿ–Š๐Ÿ““

In this video, I first launch the default notes app from a lock screen shortcut, then I unlock the device, press the stylus tail button to launch the notes app in a bubble, and insert a screenshot.

You've probably seen me talk about this feature before, but if not, this is probably the first you're hearing of it since Google hasn't made any mention of it.

I've never gotten it working until today, but thanks to @thegreatporg I can finally show it off! Here's how it works (continued in next post):
๐Ÿ‘20โค2๐Ÿ”ฅ1
Android 14 adds a new role called ROLE_NOTES. This role can only be granted to apps that target SDK 34 and which handle the android.intent.action.CREATE_NOTE intent with the category set to DEFAULT and the showWhenLocked and turnScreenOn flags.

When an app qualifies for the Notes role, the user can make it the Notes role holder by going to Settings > Apps > Default apps > Notes app. This page can also be accessed through a shortcut when a stylus is connected or through the lock screen shortcut settings page.

(Currently, the Notes role is disabled by default, so you won't see this. You can enable it by going to Settings > System > Developer options and toggling "Force enable Notes role" and then rebooting. This toggles a RRO which sets config_enableDefaultNotes to true.)

When you activate the notetaking shortcut, Android sends off the android.intent.action.CREATE_NOTE intent targeting the default notes app with the intent extra android.intent.extra.USE_STYLUS_MODE. Devs of notes apps can respond to this by launching a stylus-optimized entry UI.

When an app becomes the default notes role holder, it's able to be granted the LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE permission.

Apps with this permission can use the ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE intent action to trigger SystemUI to get a screenshot of the current window on behalf of the app. The user then has a chance to edit the screenshot, which can then be returned to the notes app.

This is what happens in the demo video, by the way. When I tap "attach screenshot" in the menu, it sends this intent to grab a screenshot of the window underneath. The screenshot opens in Markup, which I'd be able to edit by cropping/drawing before inserting it into the note.

If you're wondering how I launched the app in a floating bubble like that, that's actually Android doing that on my behalf.

When you tap the tail button on a connected stylus, Android 14 launches the default notes app in a floating bubble automatically.
๐Ÿ‘23โค4๐Ÿ”ฅ1๐Ÿค”1