Google introduced a crippling Android app scaling bug for Chrome OS Beta and Dev Channel


Android performance scaling has been a controversial topic in the Chromebook community since the removal of Android’s DPI scaling settings in Chrome OS 67. Fonts and touch targets in Android apps appear small and illegal, making them incredibly frustrating to use compared to Chrome and native Chrome apps. Android used to be a workaround to increase app scaling, but these methods no longer work. People have complained about this in the Chromebook community forums and are filing bugs, and, to be honest, I can’t blame them. Google is now testing a new system called “Same Scaling” in Chrome OS Beta and Dev Channel to deal with problems with small Android applications, but it is fraught with issues.

Uniform scaling is Google’s answer to scaling Android apps stuck everywhere on the Chromium bug tracker and Chromebook community forums. It is 25% larger for Android apps to become readable and less frustrating to use.

beforeafterunformscaling

Left: Telegram Android App without uniform scaling. right: With equal scaling.

The overall layout of Android apps appears larger with uniform scaling as shown above. The font and interface are enhanced much more than before, making the application easier to read and interact with. While the decision to increase scaling for Android apps is the right step, especially from the point of view of accessibility, the change causes its own issues, such as making an app appear too big and cutting out content. There is also a rather unexpected result of glare.

Last night, I tried to catch up on homework using a popular note-squid found on the Google Play Store. I started writing, and I saw my writing moving away from my digital pen. This is strange, I thought. I restarted the squid, and it did the same. I minimized the Squid app and tested the Android app to accept whether it was a Squid issue or not, and it displayed the same problem. Just look:

Canvas

Accepts applications with uniform scaling. Fully focused with my digital pen.

As you can see, the input is nowhere near where my stylus actually is. I have to actively compensate for misalignment to draw correctly, which is a significant annoyance (especially when pulling the face).

Squid

Squid app with uniform scaling. The ink initially sits on the back of my digital pen until I pick it up.

Squid is heavily influenced by the concept app. The ink initially holds my drawing pen until I lift it up, transferring the entire stroke to the bottom right. This makes drawing impossible because I have to guess where the ink is going to end up.

Some of you may be thinking that I am making a big fuss about it if the problem does not exist on the Chrome OS static channel. Think of it this way: We are already delaying the beta cycle for Chrome OS 86. The clock is ticking, and there is not much time to be fixed before the expected release of Chrome OS 86 stable (unless Google delays that, which happens). Enthusiasts and web developers jumping on the beta channel to try upcoming features with “low risk” will find their Android apps unusable. If you need the drawing to work correctly on the Android app again, you’ll need to powerwash (or factory reset) your Chromebook to switch your Chromebook back to the static channel that your Chromebook Erases all your data stored on. I’m not the only one in this problem either – people messed me up by saying that they could no longer handwrite notes or draw on Android apps, which destroyed their workflow. Here’s what sucks about it: There is no way to turn off uniform scaling. Unless Google fixes the horrific similar scaling bug, you cling to incorrectly encoding. Not good, Google.

If you are negatively affected by similar scaling problems and prefer not to back up and powerwash your Chromebook, there are some things you can try to work around the issues.

Workaround # 1

If you don’t annotate or draw on Android apps, try this solution. You can change Android’s display scaling by exposing hidden display settings in Android.

  1. Install Activity Launcher (or any similar app that can initiate hidden activities) from the Google Play Store.
  2. Launch Activity Launcher, search for “Display”, and click com.android.settings.DisplaySettings To launch the hidden display settings.
  3. Click the “Advanced” button, then click “Display Size”.
  4. Shrink the display size to “Minimize” by moving the slider to the left.

Your apps should appear exactly how they looked without uniform scaling. You should do steps # 2-4 every time you log out or restart your Chromebook.

Solution # 2

If you need to annotate or draw Android apps, This workaround will help to focus the incoming of the pen. You will need ADB in the Android subsystem and can change the display density of Android using some commands.

This workaround requires enabling ADB debugging, which allows you to install applications not verified by Google. Android Police and Google are not liable for the harm caused by sideloading harmful apps. Powerwash will be required to disable this feature.
  1. If you already have Linux installed on your Chromebook, you can skip this step. Otherwise, launch Chrome OS Settings, click Linux (beta) on the navigation pane, and click the “Turn on” button. If you cannot find it, your device may not be eligible for Linux, a requirement for this workaround.
  2. Activate “Enable ADB Debugging” under “Develop Android Apps” in the Linux (Beta) section of the Chrome OS settings.
  3. Launch the Linux terminal from the launcher. The ADB is required to modify the Android subsystem. To do this, type and enter the following: sudo apt update && sudo apt install android-tools-adb.
  4. After the ADB is installed, look at the Android subsystem: Amazing tool.
  5. You should see an instrument called “Emulator – ####”. Note that “https://news.google.com/__i/rss/rd/articles/#” will vary depending on your device. Copy it
  6. ADB in Android Subsystem: adb -s emulator – #### shell.
  7. If you have performed these steps correctly, your terminal should display the name of your device. For example, my pixel slate says Nocturnal_sweet: / $
  8. Change the density of Android’s window manager to 120: wm density 120.

The density

If done correctly, this is what your terminal output should look like.

The content inside the Android app will be very small, but the incoming will follow your drawing pen accurately. When you are finished drawing, I recommend reverting the density setting to the default: wm density reset.

I hope Google’s developers fix the bugs caused by similar scaling. So far, this new scaling has completely broken all Android drawing apps, significantly affecting artists and students. I have filed a bug report on the Chromium bug tracker, and I hope that the developers will freeze up and fix the problem before accessing the static channel.

Leave a Reply

Your email address will not be published.