# Question
Title: "Sync is currently experiencing problems. It will be back shortly." error message appears under the Sync settings
On my Samsung Galaxy S4, the "Calendar" under "Sync settings" in my Google account disappeared. Under the Google accounts at the bottom, it reads

> Sync is currently experiencing problems. It will be back shortly.

How do I fix it?

# Answer
> 8 votes
Not closely related to the issue, but it solved my very similar problem with contacts sync: The contact option was not listed in Android's (v.6.0.1, Marshmallow) Settings / Accounts / Google sync menu. The problem was that the Contacts Sync application had no access right to my contacts. To fix this, I switched the Settings / Apps / Gear icon / App permissions / Contacts / Google Contacts Sync toggle. After that, it started to sync, but I got the same 'Sync is currently experiencing problems'. It turned out that I exceeded the Google API call limit for the day, so after 24 hours, it synced successfully.

To figure out what the problem exactly was, I connected my phone through USB to my PC, enabled debugging on the phone, used the `adb logcat` command from the Android SDK, and examined the errors/exceptions in that log. This way, you can get to the bottom of your calendar issue as well.

# Answer
> 7 votes
We had the same problem, and to make a long story short, tried all the answers we found online (clear cache, clear data, reinstall Calendar, delete, then create Google account, but no factory reset).

The problem for this phone (Samsung Galaxy S3) was that we had restricted background data on Google Play Services. Once that was enabled, the calendar synced right away.

**Home\> Settings\> Connections\> Data Usage\>** Scroll down to Google Play Services, and make sure to uncheck "restrict background data".

# Answer
> 4 votes
I tried EVERYTHING. Finally came across the answer - turned off Power Saving (which I normally keep my phone on) and hey presto, everything syncs again. So easy.

# Answer
> 1 votes
> Sync is currently experiencing problems. It will be back shortly.

Go to Settings → Accounts → Exchange → Incoming Settings and change the security type to SSL/TLS from SSL/TLS (accept all certificates) and there you go. All the emails, contact, calender will start syncing.

# Answer
> 1 votes
I fixed this by installing Google Calendar. I already had Calendar installed, from gapps (needed with CyanogenMod). Now I have two Calendar apps installed, both called the same thing. Sync suddenly works, and the new calendar has a bit nicer UI.

# Answer
> 1 votes
In my case, ONLY the contacts didn't sync, everything else (calendar etc.) was fine, but the steps should apply to calendar as well, as it also uses dedicated services and the play store.

I followed this guide and got it working perfectly again, without loosing any data or having to restore anything.

Cannot sync contacts on Android 11 - This account already exists on your device

It links to a few pictures of the Android UI, but the short version is:

Prereqs.: Uninstall Battery Saver / Task killer / Booster Apps temporarily,

* Reset App Preferences
* Select Automatic Time Zone
* Battery Saver select off
* Remove Battery optimization for Google Contacts Sync
* Allow Mobile Data usage for Google Contacts Sync (*the obvious part*)
* Select Contacts Permissions for Google Play services and Google Play store (*the tricky part*)
* Clear Data in Contacts and Google Contacts Sync (*the scary part*)
* Disable Google Contacts Sync and wait a minute and Enable Google Contacts Sync
* Re-start device (essential!)
* Check sync settings.

According to the logs from `adb logcat` the permissions actually caused the problem, but all previous attemtpts to grant those permissions failed.
After following this step by step, I rebooted, opened the Contacts app and was able to add the already signed in google user. After that, the contacts got populated and sync works again.

# Answer
> 0 votes
To sum up my fix:

I checked my online Google Calendar settings to ensure mobile syncing was active. It was.

On my Samsung Galaxy S4, I uninstalled Google Calendar & re-installed it a couple of times. Still kept receiving the syncing message.

So I removed my Google account & reconnected. That's when I received the message "The process android.process.acore has stopped".

Based on users' comments, the best fix would be to reset to factory. Which I did and all is good except for losing SMS history

# Answer
> 0 votes
In my case, the error was with my Samsung account on my GS4. When I pressed 'Profile' underneath the sync option, it prompted me to install an update which may have been the cause. When I pressed 'Yes' it failed to update. However, once I restarted the phone the update successfully installed.

For anyone with this problem, I would advise restarting your phone, then (for Samsung accounts), go to **Settings \> Accounts \> Samsung account \> Profile**

Install the update if prompted. Lastly make sure Sync is enabled in the notifications bar.

# Answer
> 0 votes
I have just had the same problem after an Android upgrade on my Sony Xperia Z5 and luckily fixed it. I had to delete the account and then re-add it.

I think I know why this worked as I have seen a similar problem before (with Dropbox about 2 upgrades ago): with this new Android version, a new security feature was added and Exchange couldn't automatically access my calendar/contacts -\> it wasn't allowed.

When you re-add the account, you are asked if Exchange is allowed to access contacts and calendars. Once you say "yes", all works.

I really think Android needs to handle the addition of new security features to existing apps in a more elegant manner.

# Answer
> 0 votes
I had the same problems and finally was able to fix it.

I always try to use my phone on power saving mode to save battery, after the last update I had some troubles with that feature because many apps don't work properly. Well, all I had to do was disable power mode and sync again and voila, everything sync perfectly.

I hope this helps.

# Answer
> 0 votes
Just adding to the pool of possibilities.... Make sure your date/time is correct. All I had to do was adjust it and everything went back to normal.

# Answer
> 0 votes
I had a similar problem, but with Contacts instead of Calendar. It turned out that all I had to do was to force stop (Settings -\> Apps -\> Contacts -\> Force stop) the Contacts app and start it again.

# Answer
> 0 votes
If your device is rooted then delete the folder under `/data/data/com.android.providers.calendar` and reboot. (I used Total Commander.)

For problems with contacts sync the folder is `/data/data/com.android.providers.settings`.

In brought back the sync on my device which has been constantly "experiencing problems" for about half a year.

---
Tags: sync, google-account
---


title: Fastboot bootloop after formating

text:
# Question
Title: Fastboot bootloop after formating
device: Xiaomi Redmi 8a (olivelite), unlocked bootloader
i got that problem after this actions:
in twrp i formated
+)Dalvik cache
+)internal storage
+)Data
+)Cache
then i pressed "formate data" in twrp
then i pressed reboot to recovery button(i thought that was needed to apply changes)

---

now i have only acces to fastboot, adb doesnt work
power + volume buttons doesnt work
phone always boots to fastboot
after i got that problem i tried this:

# Answer
> 0 votes
https://new.c.mi.com/global/miuidownload/detail/guide/1 this is the solution, i downloaded global miui rom files for fastboot install method, started flash\_all.sh script, and it worked

---
Tags: fastboot, boot-loop
---


title: Full R/W Access to SD Card - Android 10

text:
# Question
Title: Full R/W Access to SD Card - Android 10
I want to use my SD card in such a way that I can take the card out and insert into a Windows PC and access files, but have my Camera and other apps freely write to SD card (so data isn't on phone!).

So far if I format as portable, nothing can write to SD card, but if I format as internal, I cant read outside of phone. I'm running AOSP based Android 10 w/ root. Any suggestions? I'd like to just allow full R/W access to all apps to SD card but not encrypt it basically.

# Answer
Since Android 5 write access to the sd-card in portable mode needs to be granted individually for each app. Only apps on a rooted device that are able to use root permissions can bypass this restriction.

For granting write permission the app has to request them in code. Typically it is enough to trigger one write request, e.g. by letting the create a file or folder.

Then Android opens the file application and want's you to select a directory. This is the directory you are granting write permissions for the app, therefore you should select here the path where the sd-card is mounted to, e.g. `/storage/A231-7ADF`. Usually the sd-card is also shown as quick link on the left side of the files app, so you don't have to know the exact path.

After selecting the sd-card path press the button that is usually something like "Select ..." or "OK". Then you will return to the app you have granted write permission to. To my experience the write request that has triggered the whole process will fail, but every request afterwards will work, if the write-grant-process was performed correctly.

For users doing this the first time it is usually very confusing and you might not be successful on first try. I think it took me several days and multiple attempts before I finally had understood the process and selected the correct folder.

Note that the write permission only works if the app uses the Java/Kotlin Android API to open the files. On file-system level access will be still read-only. This affects especially apps that include generic GNU/Linux native applications that are executed internally as they do not use Android API.
> 4 votes

# Answer
I'm confused by this question.... exFAT format installed/mounted as SD doesn't require encryption, it does allows windows file transfer with or without the phone. Write/read access is granted by OS app specific. If you set the app to have access, then it will.

Developer options on Android 10 include a "Force allow apps on external Drive" option you could look into even if you don't root. It will make ALL apps eligible to be written directly to external storage, regardless of manifest values. Seems like that is your goal.
> 0 votes

---
Tags: external-sd, android-10
---


title: Connect to Frida server on same device

text:
# Question
Title: Connect to Frida server on same device
Is there a way to use Frida on a rooted emulator without the need for ADB? For example, install Frida tools on the emulator with Termux and copy the frida-server binary on the device, connect to it, and use Frida locally without the need for a separate device.

# Answer
> 0 votes
You can use `frida-gadget.so`. `frida-gadget.so` is a Frida's shared library meant to be loaded by programs to be instrumented (when the Injected mode of operation isn’t suitable). By simply loading the library it will allow you to interact with it using existing Frida-based tools like frida-trace. It also supports a fully autonomous approach where it can run scripts off the filesystem without any outside communication, and without root. Look at https://github.com/ax/apk.sh, patching an APK is simple as running `./apk.sh patch <apk_name> --arch arm`.

---
Tags: applications
---


# Question
Title: Why does the WiFi symbol have "R" text on it?
I have this strange "R" on my WiFi signal.

It's not on my cell signal and it's not a glitch. It seems to be set when I am on WiFi, but I don't know why. Sometimes it's there, sometimes it goes away.

The only way I am able to fix the issue is by restarting the phone, but **does anyone know why this happens?**

When I look online, everyone seems to not know what the main problem is and most threads give up and stop trying to figure out what is going on.

# Answer
> 0 votes
For as far as I can tell so far it seems to be a bug, specifically with Motorola Android devices (Motorola themselves do not list WiFi-with-R in their glossary of terms and WiFi troubleshooting section either).

I've seen one mention that a **factory reset** might resolve this, so if it's particularly annoying it's worth a try.

If you want to help squash said bug I would first contact them before performing that reset though, maybe they can finally track it down and fix it for everyone.

# Answer
> 0 votes
It means that your WiFi has a repeater (like a range extender). Or your AP was in repeater mode.

---
Tags: wi-fi
---


# Question
Title: Make emulators automatically sleep/lock after timeout
I have tried different emulators on Windows (Leapdroid, Nox MEmu, among others), and none seem to have the ability to automatically timeout on idle and go to the lock screen like almost every device out there. (Manual is not a problem, I'm looking for on idle.) The screen never goes to sleep, and the screen never locks. In Android, I have tried:

* Dev mod -\> uncheck "stay awake"
* Modifying the sleep settings
* Modifying the lock settings
* Daydream settings

But can't get it to work in any of these emulators. I have looked for and tried different apps, but also can't get them to do ANYTHING with the screen. In order of preference:

* time out with actual lock (need to enter the PIN) like a real device
* time out sleep function that at least blanks the screen
* Any sort of independent 'screen saver' workaround which at least blanks the screen somehow
* Any sort of independent 'daydream'-style workaround

But I can't find any app that does any of these or even works when it says it does with android emulators. Is there any way to have ANY timeout of the current screen state in ANY emulator?

# Answer
So my solution was to run the emulator (BlueStacks) on a virtual Windows instance on my local app server and then have THAT Windows instance lock.

You don't need an app server, but if you run your app inside a Windows virtual machine, you can have that virtual machine lock. It has a lot of overhead (but then again so do Android emulators). You also have to make sure you can enable nested virtualization (virtual machine in a virtual machine).

I did this with KVM in Linux with some tweaks of the CPU settings.
> 2 votes

---
Tags: lock-screens, android-emulator, sleep
---


# Question
Title: Is There A Keyboard Layout Creator for Android?
I have created a keyboard layout for the language I speak on windows using Microsoft Keyboard Layout Creator.

I want to port the same layout to Phones.

Before the cursing starts, I have done a quick research.:) according to which:

* all keyboard layouts are located at `\system\usr\keylayout`
* all keyboard character map files are located at `\system\usr\keychars`
* I went through the official documentation on Key Layout Files

**Where Do I Stand Now?**

Well, as I said in the start I have worked with a MS based app for creating keyboard layouts on Windows (obviously), The whole thing in Linux world is a bit gibberish to me at the moment because of lots of manual text file editing I guess.

So, my ultimate question is,

Is there such a tool which can help me create a new layout or import the existing layout which I created for windows to Android?

**Update 2**

I couldn't update my answer before because I didn't get the time. I finally found a tool which helped me a lot. It's called Keyboard Layout Editor. Please don't forget to star this guys repo. KLE is really easy to use and functional and I could achieve my goal easily. Oh by the way this one is for Ubuntu(Linux).

For Android though, I cloned the Sample SoftKeybord from Android source. You can download tar here. It's not a layout editor but the actual keyboard. You just edit it to suit your needs.

# Answer
> 6 votes
There is developer documentation found within the Android SDK that shows the basics of creating your own keyboard input method.

The actual sample of the touchscreen keyboard is part of the SDK sample, based off the documentation. Download the sample code, and look for the *SoftKeyboard* sources, there's a XML layout under the `res/layout` folder that represents the on-screen keyboard.

All that aside, let's look at the question objectively, using a custom layout that was developed on the Windows platform, may not be easy to "translate" to the Android version, as there is strings attached, you *do* need the pre-requisite knowledge of Android SDK, Java in order to achieve a custom layout, unfortunately.

As per @geffcheng's comment above the OP's question containing the linky that pointed to the appropriate thread on XDA, the blog entry highlighting how to come up with your own version, is more or less the same as the official developer documentation.

Other keyboard packages such as Swiftkey, Go Keyboard, SlideIT to name but a few, would have a feature to customize the layout appropriately using an add-on or third party to suit one's need, effectively tied to that keyboard. Using the SDK and documentation relating to the keyboard is the effective way to go about in rolling your own custom layout that is independent of Android version in use *provided* that the decision to support older versions is warranted.

If the decision to focus on Android v4.x upwards, the actual app is on the Google Play Store, the source code to the AOSP keyboard is available to download and play with from here.

# Answer
> 0 votes
One slightly low code option is to use Keyman Developer. It allows to create layouts for Desktop, web as well as mobile devices.

---
Tags: keyboard, input-methods
---


title: How to force all messages to MMS?

text:
# Question
Title: How to force all messages to MMS?
I cannot send SMS on my Samsung Galaxy S22 Ultra. I can receive SMS and I can send/receive MMS.

I've spent hours on the phone with tech support from my carrier and Samsung. I've sent the phone in for warranty repairs as well but still cannot send an SMS. I've tried several 3rd-party messaging apps and they all have the same issue.

Is there any way to force a messaging app to send all texts through MMS? Any help is appreciated as I don't want to send the phone in again.

# Answer
> 0 votes
Many messaging apps have an option to send long SMS messages as MMS or as a bunch of short SMS messages in a series. A *"long"* SMS message is defined as more than 160 7-bit characters, 140 8-bit characters, or 70 16-bit characters.

It's not ideal, but in any of these apps (and there are scores of them), all you have to do is enable the "send as MMS" option and then ensure each message exceeds that limit. You can pad the end of shorter messages with happy faces (our world always needs more happy faces! ), or perhaps just boring blank spaces if they don't get truncated by the app/carrier.

---
Tags: samsung, sms, mms
---


# Question
Title: Google Assistant needs Wi-Fi network to work? Google Pixel 6
Occasionally (not all the time), when invoking the Google Assistant on my Pixel 6 phone, I get the exact message "For that, you'll have to turn on Wi-Fi and connect to a network."

Online, I have zero results for that message when searching for it, which seems plain weird. I've tried giving google assistant any permissions it might not have had out of the box, alas, the problem persists. A reboot usually does fix it though. Still, a nuisance. Cellular data is always on, and I live in San Diego.

# Answer
> 0 votes
Your data is not enabled. (dunno why, but i see cell signal but not data carrier)

* Check your APN and Cell Data settings. (it might be as simple as a switch)

Otherwise go into developer settings (tap build number 4 times)

Then set "data always on" (this is just useful to have selected)

# Troubleshooting steps: For data Connectivity

1.) There is a "data enabled" in your network settings. Its a switch, or a checkbox.

2.) APNs. If that doesnt work, find your APN settings and match them to your carrier.

* for me, I google for "T-Mobile APN settings"
* if its greyed out, try adding a new APN and manually set it up. You will be able to tick the bubble after you hit \[SAVE\] in the ... menu.

If that fails, then you need to flash your device to a different carrier.

(But thats a pixel, so its probably just data switch disabled. Cause even bad simcards/inactive would still show 1x/hsp\*/3g/lte/4/5g etc)

---
Tags: wi-fi, google-assistant, google-pixel-6
---


# Question
Title: How to display the on screen keyboard when Bluetooth keyboard is connected
I use a Bluetooth keyboard with a variety of Android devices. Most versions of Android (below 4.2.2) when the external keyboard is connected the on-screen keyboard is still available.

When I pair the Bluetooth keyboard to a Nexus 7 running Android 4.2.2 the on screen keyboard is disabled. I cannot find a way to enable the on-screen keyboard from the tablet.

Some Bluetooth keyboards include an 'eject' button which toggles the on-screen keyboard. I'm concerned about the times that I'm far enough from the Bluetooth keyboard that I can't reach it but still within Bluetooth range and I can't type on the screen.

Is there a way on an Android 4.2.2 (or higher) device to enable the on-screen keyboard while a Bluetooth keyboard is connected?

# Answer
> 7 votes
I was testing ways to toggle the on-screen keyboard. In Android 4.2.2 on a Nexus 7 I had to go through the following steps to toggle the on-screen keyboard from the tablet while a Bluetooth keyboard is connected:

1. To activate the "Choose Input Method" notification you need to have multiple keyboards available. On a stock Nexus 7 you can go into Settings then "Language and Input". Under "Keyboard & Input Methods" check the box next to another keyboard like the "iWnn IME Emoji input" or "Google Pinyin Input".
2. (Optional) If you don't have any other keyboards available you can install a 3rd party keyboard from the Play Store like the NullKeyboard or AnySoftKeyboard. Back in the Language and Input Settings check the checkbox next to the 3rd party keyboard you installed. Read the warning message and click OK if you agree.
3. Go to any text input box
4. A new notification appears in your notification bar (top left) labeled "Choose Input Method", tap the notification (not Select Keyboard Layout)
5. The first item in the "Choose Input Method" popup is "Hardware" with an on/off slider, choose "Off"
6. Use the radio buttons below to choose your software keyboard (I chose the Google Keyboard)
7. Tap the back button and the on-screen keyboard appears.
8. The Bluetooth keyboard is still functional.

# Answer
> 4 votes
I am using Android 4.3 on a Nexus 7. I was able to configure android to use both keyboards (screen and bluetooth) simultaneously.

With the bluetooth keyboard setup and enabled..

Go into your Settings then select "Language and input". Click on "Default" located just under the "Keyboard and input methods" heading to open the "Choose input method" dialog. Turn the "Hardware physical keyboard" **off**.

In Android 5.1 it's slightly different: from "Keyboard and input methods", click "Current keyboard" and then there's a toggle labelled "Hardware". Turn that **off**. (Spotted by Emre.)

That's it!

The bluetooth keyboard doesn't show up in the language and input screen anymore but I am still able to use it. In addition, the onscreen keyboard is enabled again.

# Answer
> 3 votes
I am with an Android 9 tablet, and find the option as: Settings / System (languages, time ...) / Language & input / **Physical keyboard** ==\> There is an option that reads "Show virtual keyboard".

# Answer
> 1 votes
You can use Secure Settings Hardware Keyboard Action to toggle the hardware keyboard. Interestingly, you can still use the hardware keyboard, but the on-screen keyboard still appears.

This is especially useful when you connect a mouse (and no keyboard) and it causes the keyboard to go into hardware keyboard mode.

The simplest way to do this is to create a shortcut on your homescreen. Select the Secure Settings shortcut/widget. Then it will prompt you to select the action. Select Actions \> Hardware Keyboard. Then it brings you to a screen with three options: On, Off, Toggle.

On means you go into hardware keyboard mode and no on-screen keyboard will appear. Note, this only works if you actually have physical keyboard connected. It will simply give you an error toast if you don't.

Off means turn off hardware keyboard mode, and an on-screen keyboard will appear when you select text boxes.

Toggle means it will switch from whichever hardware keyboard mode it's currently on.

There are other ways to hook up to Secure Settings Hardware Keyboard Action, which you can learn about in the documentation, and using your imagination and research.

# Answer
> 1 votes
On Android 12: Settings \> General management \> Physical keyboard \> Toggle "Show on-screen keyboard".

# Answer
> 0 votes
I use Android 5.1. Connect the blue tooth device. Open "Language and Input", click "Current keyboard". Turn the Hardware on. It worked for me.

# Answer
> 0 votes
On an LG G5 I figured it out turn on your Bluetooth when you hear it connect swipe down and from the top of the screen to see all active connections and programs touch on the Bluetooth that is connected it gives a secondary option for view on-screen keyboard with Bluetooth keyboard connected

---
Tags: 4.2-jelly-bean, keyboard, bluetooth
---


# Question
Title: How to suggest changes to Android Gboard built-in keyboard layouts?
The built-in Nepali keyboard layout in Android Gboard is missing several characters and is generally awkward to use.

Is there a way to suggest changes to it?

# Answer
> 2 votes
GBoard is a closed source app by Google, so modifying it is not that simple.

In my opinion the best chance is to create a new issue in the Google Issue Tracker.

---
Tags: gboard
---


# Question
Title: How to change the voice of Google Assistant when configured with more than one language? (Android 13)
Android 13 Google Assistant using English and Spanish languages. Opened the Google app, tap my profile, Settings, Google Assistant, English (United States) was already listed and español (Estados Unidos) was then added. Then selected “assistant voice and speech output” and from there I can select the voice that I want to use, but only for English. The option to change the Spanish voice is not available.

Had to remove English leaving only Spanish and then I was able to select the Spanish voice, but after adding the English language back, all I get is the option to change the English voice but not Spanish.

How can I select the voice for English and the voice for Spanish without having to remove one of the languages?

# Answer
As of current writing (November 2022), **the settings for "Assistant voice and speech output" only affect *the primary language***. Note that *the primary language is the first language in the settings.*

There are 2 known ways to change the primary language:

* **Use "*change the language to \<language\>*" voice command** to switch the primary language, or
* **Change the first language from the settings**, but it will remove the second language if it's the same language, thus not really different than removing and re-adding it back.

---

*Note: The "Assistant voice and speech output" settings won't automatically refresh when the language is changed, the user needs to navigate back and reopen the settings to see the change.*
> 2 votes

---
Tags: languages, voice-command, google-assistant
---


# Question
Title: How to play YouTube in browser while screen is off?
I'd prefer not to have to install some other weird apps or fiddle too much. (In particular I *don't* want to use NewPipe, Vanced.)

If it matters, I use

* Bloket browser (I'm willing to try other browsers but I must be able to block ads too).
* moto g(7) plus
* Android version 10

# Answer
> 1 votes
Install Firefox browser.

Install uBlock Origin for adblocking.

In Firefox go to ⋮ (Settings) \> Turn on "Desktop site".

---
Tags: youtube
---


# Question
Title: How to flash something if the data partition is encrypted?
# Problem

The data on my phone is encrypted and I do not know how to flash something without decrypting it by using `Disable Force Encryption`.
When the data partition is decrypted I can just copy a file to be flashed to data, boot to recovery and flash it via recovery. But if the data partition is encrypted I cannot find/flash that file in recovery

# Answer
# TWRP (Recommended)

TWRP allows you to temporarily decrypt your data by using your phone's password

## Why is this solution recommended?

### Flashing incidents

I was trying to uninstall NikGapps by renaming .zip file to `UnInstall.zip` as it is recommended, but for some reasons OrangeFox was doing something under the hood and NikGapps was not understanding that the zip file has `uninstall.zip` name and it must uninstall Gapps instead of installing. When I tried the same on TWRP everything was working. The same story was with Magisk uninstalling where I have to rename it to `uninstall.zip` too

### Decryption

It is much harder to use your phone when you cannot go to recovery and flash something without a PC or Sd-Card

### Magisk flash from OrangeFox (Inaccurate, possibly my fault)

When I tried the `Add magisk` feature from OrangeFox instead of flashing it manually I got bootloop. Possibly I have done something wrong and it is my fault. Please write in the comments if it is working fine and I will delete this story with magisk

---

# Sd-Card

If you move your files to Sd-Card and connect Sd-Card to your phone you will be able to flash the files that are located on in

---

# Adb sideload

1. Connect your phone to a PC with installed `adb`.
*How or where to install adb*
2. Reboot to recovery and enable `adb sideload` feature there.
*How to open recovery? Disable your phone and hold Power button and Volume Down button. If it does not work find how to open recovery on your phone*
3. Execute `adb sideload PATH_TO_FLASHABLE_FILE` in your terminal/command line. *Do not forget to change `PATH_TO_FLASHABLE_FILE` to your real path.* *How to open terminal*
4. See logs in your recovery and wait until it is successfully complete Congratulations. Your file is flashed without decrypting the data partition
> 2 votes

# Answer
First, let's clarify the terms 'decrypted' and 'unencrypted':

* When data on the phone is encrypted, one must (online) **de**crypt it with the proper PIN/pattern/password in order to access files.
* When encryption is disabled, data remains **un**encrypted. Only possible after formatting, (offline) access to plain files is possible.

The latter can be achieved with `Disable Force Encryption` but requires **formatting** (data loss). You don't need to decrypt userdata in TWRP recovery, you can just copy files to RAM or MicroSD Card via `adb`.

```
$ adb push ./no-verity-opt-encrypt-6.1.zip /tmp
$ adb shell twrp install /tmp/no-verity-opt-encrypt-6.1.zip

```

**Note:** this zip won't change the encryption state. In order to become **unencrypted**, factory reset or formatting is required (**WARNING: all data lost!**)

```
$ adb shell twrp format data

```
> 2 votes

---
Tags: adb, recovery-mode, custom-roms, side-loading
---


# Question
Title: How do I identify apps or settings that cause performance problems?
If I am having performance problems, what tools can I use to identify where my performance lags are coming from? I have used a System Panel Task Manager, Android System Info, System Manager Free and some others but none of them have really identified the problem children. System Panel Task Manager came the closest with it's historical look at CPU and memory usage but it didn't let me look at *which apps* were using how much resources over time.

# Answer
> 1 votes
Starting from Android 11 and up the security for controlling system dependent apps have been limited to root user only so modern android can do such automatically close unresponsive apps by default but if you run admin programs or debuggers it will interfere

How to activate Auto optimization From Settings , swipe up and tap Battery & device care . Tap More Options (three vertical dots) and then tap Auto Action . Enable Daily Auto Optimize to automatically optimize your phone once a day.

---
Tags: performance, task-management, system-info
---


# Question
Title: Why are all android web browsers unable to display PDF documents?
I just switched from an iPhone to a Pixel. Whenever I try to open a PDF document, the browser automatically downloads it and ask me to open it elsewhere. I don't want that; I want an in-browser PDF view. Also it's not specific to browsers: the Gmail app, the Telegram app, almost any app is like that. Do I need to install a system plugin/extension or something?

Edit 1: can you "hack" the pdf feature into the webview by e.g. rooting the phone?

Edit 2: as I understand from the answers it's the AOSP developers' intention to make the pdf feature unavailable, contrary to say legal reason with adobe?

# Answer
**Short answer:**

Install a PDF reader app to your device. Or find a browser (or other app) which suits your needs.

**Long answer:**

Android from the start has a concept called Intents, which means one app could use a different app to handle specific task like 'open email app to start a message' or 'play a video'. This also means if a document format has a version 2 / or additional features, the receiver app could be updated to handle it.

The downside is Android devices need to have an app installed capable of reading the file/intent/URI passed to it.

From what I understand iOS only added Universal Links in iOS 9 which could provide similar behavior. Since Apple provides a PDF viewer in their UIWebview/WkWebview I expect any app on iOS to use the existing iOS framework as cross-app interaction had additional requirements.

Given that any additional feature (like displaying PDF) will add size to the original app, in the early days it was better to have a distinct separate app. Didn't need the feature, you didn't need to download anything which could cost valuable data airtime or take up space in your phone and possibly avoid having a duplicated function in different apps. Understandably modern phone have lots of storage space but in the end Android has had a guiding principle via the Intent system to leave the ability to read/play any document (PDF, office file, video, audio) to those apps who can specifically handle those file formats.

**Answers to Edit1 and Edit2 by OP:**

**Edit1 response:** "Rooting" won't give you additional features in any browser/app as adding features involves deep changes to the app requiring software development time. If you want a well integrated PDF viewer in a browser app, you'll have to find one. Opera has been suggested. This would be the same with any other messaging/communications app for any particular file or action, i.e. you don't expect it to view spreadsheets or handle geographic mapping. The advantage of Android is that you are free to change which app handles the action and get a better experience rather than be limited to any prebuilt apps (which iOS limits).

**Edit2 response:** Manufacturers are free to add in their own PDF/Document viewers for their particular flavor of Android. AOSP just provides the environment. PDF at this point is a mix of open and proprietary parts so depending on the document version any PDF rendering engine may encounter difficulties. Additionally PDF is trying to display text/images in a particular way including fonts. This now means that any app embedding a PDF engine will need be aware of security attacks. See my answer to Why has Android made it impossible to install system fonts? on how fonts can pose a security risk. Browsers given their sandbox nature displaying arbitrary HTML and Javascript code are attentive to security, other apps perhaps not so much as it is not a core product feature.
> 19 votes

# Answer
Your premise is wrong.

Android browsers absolutely can display PDFs.

However, the application design paradigm in Android is fairly Unixy in that applications are generally designed to do one thing (i.e. browse the web) and do it well. If they need something else doing (i.e. reading a PDF), they pass that on to another application to handle (whose sole purpose is handling that other thing) using intents.

Just because that's the typical design paradigm, doesn't mean that developers couldn't choose to eschew it, as in Opera's case.
> 11 votes

---
Tags: browser, pdf
---


# Question
Title: Does Google know my screen lock PIN/password?
1. Where does Google save my screen lock password as it asks me to verify my Google account by entering it?
2. That means Google knows my screen lock password.
3. Where can I find that password in my Google account or from Google?

# Answer
> 1 votes
While every app is different, and there is no general way to know for certain what data is being collected/transferred, a common practice is to use a hashed/seeded string of a password (instead of the password itself).

In this way, the password can be entered on your device, password is hashed/seeded, and only the hash is sent to a central server for comparison (the server also should only have the hashed/seeded string stored, and not the actual password).

When the hashed/seeded strings match, access is granted, as this indicates the original password was entered correctly.

This is not without its problems, but they are seldom realized in actuality.

---

For more information:

https://www.codeproject.com/Articles/704865/Salted-Password-Hashing-Doing-it-Right

---
Tags: lock-screens, google-account, google
---


# Question
Title: Faint backdrop of another app always present in the phone
For some reason, I always have a backdrop of chess app on my phone. It isn't just chess but a few other buttons (back, toggle etc) from the OS a long time ago. This happened after I updated to a beta oneplus OS and since then It has never gone away. It persists through the updates and that backdrop is there even when the OS has not even loaded properly after the restart of the phone

Only a pic can describe the situation the best. However, when I took the screenshot the screenshot when viewed on my laptop does not have that backdrop

# Answer
> 2 votes
Based on your description the chess app was active too long and has burnt-in into your OLED screen.

OLED pixels age faster the brighter they are lit and the longer they are on. An aged OLED pixel is getting darker and darker over the time so you see those ghost images.

Theoretically this can be fixed by reducing the brightness of those pixels that have not lost so much of their brightness or alternatively let those pixels also age so that they get to the same brightness as the more "worn-out" pixels.

On OLED TVs this is usually done automatically by the screen controller as it is otherwise very difficult to control the pixel brightness on a per-pixel level and also lit the correct sub-pixel.

For end users the only way to fix this is by replacing the screen.

---
Tags: screen, oneplus
---


# Question
Title: Clarification on delete backed-up photos automatically for Google Photos?
I'm on the Samsung A32 5G on Android 12. I was curious about when exactly Google Photos will automatically delete backed-up photos and it says:

> * If photos are saved for 60 days
> * If your device’s storage is less than 25%

Though I'm a bit confused about what these conditions mean exactly, is it referring to my phone's device storage having less than 25% space and that's when it's deleted? Where are photos saved for 60 days?

Does Google Photos or its backup actually take up any additional space on my physical phone, or is it all on my Google Drive?

If the Google Photos are saved on my Drive, does that mean a backup will take up twice as much space as before? If photos are already uploaded to Google Drive, what's the point of making a copy?

# Answer
> Does Google Photos or its backup actually take up any additional space on my physical phone, or is it all on my Google Drive?

**Google Photos backs up the photos to the cloud storage** (shared quota with Gmail and Google Drive), not as Drive backups, and not on the device. It can be accessed at https://photos.google.com/.

> If the Google Photos are saved on my Drive, does that mean a backup will take up twice as much space as before? If photos are already uploaded to Google Drive, what's the point of making a copy?

The backed up photos will take up the same or less size on the cloud storage, depending on the Google Photos' backup option. There's no backup copy on the device, other than the original images in case the user needs to process or do something with the images. On the other hand, Drive backups don't take up storage quota.

> \[...\] is it referring to my phone's device storage having less than 25% space and that's when it's deleted? Where are photos saved for 60 days?

Yes, it's when the device storage is less than 25%. The photos saved are the original photos on the device (as mentioned above) *that have been backed up to the cloud storage*.

**Note that the automatic cleanup is a feature of the Files by Google app** as mentioned on its help center. Also, note that it's only available on Pixel devices. On Samsung and other devices, the "Smart Storage" setting is unavailable.

Tested on Google Pixel 3a, Android 12; and Samsung Galaxy M21, Android 12.
> 1 votes

---
Tags: samsung, backup, android-12, google-photos
---


# Question
Title: How to add a link to Wi-Fi on the Home Screen of Galaxy S8+
I am using a Samsung Galaxy S8+ (Android 9)

In order to get to list of available Wi-Fi networks, I must tap the gear for Settings (on the Home Screen), followed by a tap on "Connections", followed by a tap on "Wi-Fi", and then a tap on the name of the available network.

I already have a link to the Samsung gear for Settings on the home screen. Is there a way to add a link that takes me straight to the available Wi-Fi networks?

Tapping and holding the Settings gear on the Home Screen shows this:

In contrast, tapping and holding the Settings gear on a Nokia G20, running stock firmware with Android 12) shows this (the menu item for "Wi-Fi" can be dragged & dropped onto the Home Screen:

Also in contrast, tapping and holding the Settings gear on a Pixel 1, running Lineage 17, shows this (again, the menu item for "Wi-Fi" can be dragged & dropped onto the Home Screen:

# Answer
In Android up to version 11 you can swipe down from the upper screen border to get the quick settings bar.

In quick settings there is the Wifi button (unless you removed it). Tap and hold the Wifi button and Android will open the WiFi network list in Android settings.
> 1 votes

---
Tags: wi-fi, settings, home-screen-shortcuts
---


# Question
Title: How can I suppress notifications, such as Amber alerts, on Android 11?
How can I suppress notifications, such as Amber alerts, on Android 11? I am getting numerous alerts for which I can do nothing, but my peace is being interrupted by these irrelevant alerts.

# Answer
> 1 votes
On the Home Screen, swipe up to show the list of installed Apps, search for "Messages" and open the "Messages" app.

Tap the 3 vertical dots "..." next to the magnifying glass (upper-right corner of the screen) and select "Settings".

Select "Emergency alert settings" Select "Emergency alerts"

You can now uncheck "Extreme alerts", "Severe alerts", and "AMBER alerts".

---

*Verified on Android 9, but provided here in the hope it will be helpful to others, as these steps are somewhat arcane, and searching in settings yields no results.*

# Answer
> 0 votes
Open Setttings -\> Notifications -\> Wireless emergency alerts, set `AMBER alerts` to off.

Assuming you are using Google Messages:

1. Press the profile, then Messages settings.
2. Press Advanced -\> Wireless emergency alerts. Press the 3-dots, select Alert preferences.
3. Emergency alerts opens. Set `AMBER alerts` to off. Or you can just switch off `Allow alerts`.

Optionally, you can also switch off `Extreme threats` and `Severe threats`.

# Answer
> 0 votes
The exact method will vary by device, but the general steps are:

1. Go to the Settings app
2. Select "Apps & notifications", or your device's equivalent category containing notification preferences.
3. Select "Wireless emergency alerts", which may be under Advanced.
4. Toggle the alerts that you wish to receive on/off.

Alternatively, if your OEM moved the category for the alerts, you can use the settings app's search bar to search for "Wireless emergency alerts".

---
Tags: notifications, android-11
---


# Question
Title: Is Samsung Tab S8 going to respond faster than Tab S3
My wife is using Tab S3. And finds it a bit slow to respond. I am looking at the Tab S8 Ultra. I know the CPU is more than twice as fast. But does this translate to response speed ?

# Answer
> 0 votes
Yes it is. There's more RAM, a better CPU, and a newer operating system. It'll almost be like night and day.

Click here for a specs a specs comparison between the two.

Click here for a review of the snap dragon 8 gen 1 inside tge Tab s8.

If you click here for 8 gen1, and here for Marvell PXA986, you'll see that the Snapdragon 8gen1 in the galaxy tab s8 is over 1000 times faster than the Marvell PXA986 in the galaxy tab S3.

---
Tags: samsung-galaxy-tab-s-3, samsung-galaxy-tab-s8
---


# Question
Title: How to find/identify the app that creates a sound?
My Android 8.0 phone generates a sound at 8:00 AM every day. It doesn't display anything on the screen while and after the sound being played. I guess this sound is created by one of my 100+ apps on the phone. I really have no idea where the sound comes from.

Is there any log on the phone that can help me identify which app creates the sound at 8:00 AM every day? Or is there any app that can help me find the app?

# Answer
Answer tested on a OnePlus 6 running Android 9.0.

---

You can setup in your PC and try this command:

```
adb shell 'dumpsys audio  | toybox  grep -i "CallingPack" | toybox sed -e "s/$/\n/g"'

```

`audio` is dump/log that is shown to the user using dumpsys utility. The rest of the command is just to filter out relevant information.

Example output:

```
10-15 18:14:19:273 requestAudioFocus() from uid/pid 10096/6373 clientId=android.media.AudioManager@a9ae24fqijaz221.github.io.musicplayer.audio_playback.AudioPlayerService@d009ddc callingPack=**qijaz221.github.io.musicplayer** req=1 flags=0x0 sdk=28

10-15 18:19:51:868 requestAudioFocus() from uid/pid 10133/3213 clientId=android.media.AudioManager@c20d259 callingPack=**com.arlosoft.macrodroid** req=3 flags=0x0 sdk=28

10-15 18:24:47:697 requestAudioFocus() from uid/pid 10019/1914 clientId=android.media.AudioManager@8f116ae callingPack=**com.android.systemui** req=3 flags=0x0 sdk=28

```

In the output, the bold highlighted text is the package name of the apps which had caused certain sound to be played in my device at the time noted at the beginning of each line. Here's what those apps did for me:

1. *qijaz221.github.io.musicplayer* is the media player I used to play a song.
2. *com.arlosoft.macrodroid* is an automation app I used to play a brief sound in the background without showing a notification.
3. *com.android.systemui* is for a notification with a sound.

To find out which apps correspond to those package names, follow my answer here.

**Note**: if the package name corresponding to your time turns out to be `com.android.systemui`, you may have to dig deep into the dump service `media.metrics`. I couldn't make much sense of its output but your case may vary.
> 1 votes

# Answer
I was puzzled by my Samsung Android 12 phone which has started playing random screeching sounds with some regularity. There was no app in foreground, it continued even after phone reboot. The phone is unmodified and not rooted. I've enabled USB debugging in Developer options, connected USB cable, ran `adb shell` and then `logcat | grep requestAudio`. After some time log records started popping out pointing to touchvpn software - look for `callingPack` parameter:

```
11-24 20:24:47.700  1114  6172 I MediaFocusControl: requestAudioFocus() from uid/pid 10256/23100 AA=USAGE_MEDIA/CONTENT_TYPE_MUSIC
clientId=android.media.AudioManager@7eea05corg.chromium.content.browser.AudioFocusDelegate@89e7f65
callingPack=com.northghost.touchvpn req=1 flags=0x0 sdk=30 11-24

```
> 0 votes

---
Tags: audio, logging
---


# Question
Title: Is there a way to disable access to certain Settings components?
The Settings app is common to all Android devices, some have more features than others, but most of them are common, such as "Wireless and networks", "Sound", "Screen" and so on.

However, I am faced with the desire of disabling access to some of these components, while keeping access to some others. Using apps such as "SmartAppProtector", I am able to lock access to the entire Settings application, but can't configure access on a deeper level.

Is there a way to do so? How can I, for example, enable access to the "Wireless and networks" component and disable access to the "Screen" component?

Rooting is no problem, thank you.

# Answer
AFAIK, the Settings app is just a regular app but with a protected system permission level (normal apps are not allowed to request system permissions). Android is open source so you can download the source, create a modified Settings app, and install it as a protected system app (which is needed so it can obtain system permission, needs root). To be precise, for the system to grant system permissions, the app must be installed in the /system/app directory as opposed to the normal app install directory.
> 3 votes

# Answer
**In short**, you can't.

While a user can limit access and usage of certain applications, an application is unable to limit options/menus inside another application, unless an API is provided to that end. Using other words, "external" applications aren't able to know what to do within the settings application, in order to follow your desired instructions.

Have it said, the only way one could achieve such control, would be by preparing a custom ROM with those features present.

The reason as to why settings diverge from device to device is due to the different device's specifications and hardware features, that the OS detects and uses to control the presentation of certain menu options within the System Settings.
> 1 votes

# Answer
It's possible by using Knox SDK, but this would work only on Samsung devices. However not 100% of settings and not straight in the line. But you could gain quite a bit of control.
> 0 votes

# Answer
There are two apps I know of in Android that have this function.

1. TimeLimit - this app can block access to locations inside of the system app by long pressing on the system app. It then gives you ability to restrict access to specific portions of an app. https://play.google.com/store/apps/details?id=io.timelimit.android.google.store
2. purity browser - this app lets you lock portions of the system app based on keyword. So clicking on a button/link with a blacklisted word will be restricted. https://play.google.com/store/apps/details?id=com.porn.blocker.purity.browser

I sideloaded purity browser from their site so i cannot confirm the play version.
> 0 votes

---
Tags: settings
---


# Question
Title: Can I install an uncertified eSIM profile provisioned by myself on Android?
I would like to set up an SM-DP+ server to provision my own eSIM profiles. These usually get certified by GSMA and are used for large-scale Remote SIM Provisioning, but I would want to use this for home testing only, so getting official certification would be overkill.

I understand that I will need my own mobile network to work with it, which I also want to set up at home. My main concern is that either Android or the device manufacturers impose limitations that would only allow certified eSIM profiles to be installed on a device. I was thinking of using a Google Pixel 3A for testing, so I would be installing the eSIM profiles on this phone.

I also tried to find information on what's inside a SIM profile but there isn't much on the internet. I know it contains ISMI and some shared keys which it uses to connect to the MNOs network.

I would like to know what else is needed to create a functional eSIM profile and set up a server that provisions these to a Google Pixel 3A for a mock cellular network.

# Answer
> 2 votes
In order for your handset to establish secure communications with the SM-DP+ and then download and install a eSIM profile, the SM-DP+ will require 3 certificates signed by the GSMA's certificate issuer (DigiCert): DPtls (for initial contact), DPauth (for mutual authentication), and DPpb (for eSIM profile package binding). Without these, the handset (actually the LPAd application and the eUICC) will refused to trust the SM-DP+.

The cost for the set of certificates is around $15k per year, and they can only be issued after a successful audit by the GSMA (which costs around a $20k).

---
Tags: sim-card, dual-sim, cellular-radio, esim
---


# Question
Title: How to have Firefox Widget for Bookmarks?
Google Chrome has own widget for bookmarks, but Android Firefox does not. I am thinking how to proceed to do the feature request for the widget.

OS: Oreo 8.0
Phone: Oneplus 3T

# Answer
> 1 votes
Unfortunately, Firefox doesn't have a bookmarks widget, as stated here

You can definitely send your request to them. To do that, open Firefox, go to the menu-\> settings -\> Mozilla Firefox -\> give feedback -\> choose one of the options, and you will then have an option of writing in your request.

# Answer
> 1 votes
I recently switched from Chrome to Firefox and found that the bookmark widget is still not existing in 2022.

So I make one. It is still in beta. https://play.google.com/store/apps/details?id=net.louislam.firebookmarkwidget

---
Tags: app-widgets, firefox-for-android, bookmarks, 8.0-oreo, usability
---


# Question
Title: What does a crossed out (strikethrough) session, colored in red, specify in Termux?
I've experienced multiple unresponsive Termux sessions on Oneplus 5T by nothing more intensive than opening around five webpages in `lynx` (each in their own... again, session in `tmux`; `Ctrl` \+ `B`, `C` on the keyboard).

I've waited for several days and the sessions don't appear to recover.

Have the following sessions crashed outright or does Termux consider them to be in some frozen state?

# Answer
> 1 votes
According to the source code, **the red strikethrough sessions are sessions that are finished running with non-zero exit code (e.g. session killed).**

---

The TermuxSessionsListViewController class handles the UI for sessions list:

* If the session is not running, then it will strikethrough the text
* If the session is either not running and has non-zero exit status, then it will be colored in red

```
TerminalSession sessionAtRow = getItem(position).getTerminalSession();

...

boolean sessionRunning = sessionAtRow.isRunning();

if (sessionRunning) {
    sessionTitleView.setPaintFlags(sessionTitleView.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);
} else {
    sessionTitleView.setPaintFlags(sessionTitleView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
int defaultColor = shouldEnableDarkTheme ? Color.WHITE : Color.BLACK;
int color = sessionRunning || sessionAtRow.getExitStatus() == 0 ? defaultColor : Color.RED;
sessionTitleView.setTextColor(color);

```

The TerminalSession class handles the logic, including when it's considered finished running (PID = -1) with its exit code.

```
/** The pid of the shell process. 0 if not started and -1 if finished running. */
int mShellPid;

/** The exit status of the shell process. Only valid if ${@link #mShellPid} is -1. */
int mShellExitStatus;

...

/** Cleanup resources when the process exits. */
void cleanupResources(int exitStatus) {
    synchronized (this) {
        mShellPid = -1;
        mShellExitStatus = exitStatus;
    }

    ...

}

...

public synchronized boolean isRunning() {
    return mShellPid != -1;
}

/** Only valid if not {@link #isRunning()}. */
public synchronized int getExitStatus() {
    return mShellExitStatus;
}

...

@SuppressLint("HandlerLeak")
class MainThreadHandler extends Handler {

    ...

    @Override
    public void handleMessage(Message msg) {

        ...

        if (msg.what == MSG_PROCESS_EXITED) {
            int exitCode = (Integer) msg.obj;
            cleanupResources(exitCode);

            String exitDescription = "\r\n[Process completed";
            if (exitCode > 0) {
                // Non-zero process exit.
                exitDescription += " (code " + exitCode + ")";
            } else if (exitCode < 0) {
                // Negated signal.
                exitDescription += " (signal " + (-exitCode) + ")";
            }
            exitDescription += " - press Enter]";

            byte[] bytesToWrite = exitDescription.getBytes(StandardCharsets.UTF_8);
            mEmulator.append(bytesToWrite, bytesToWrite.length);
            notifyScreenUpdate();

            mClient.onSessionFinished(TerminalSession.this);
        }
    }

}

```

---
Tags: termux
---


# Question
Title: Google Messages adds spaces to emoticons
Since past 3-6 months Android Messages app started to insert spaces between characters of my emoticons and also started to remove certain characters, causing garbage to be actually sent:

In addition to Google Messages, I am using Gboard on both devices, so maybe this is a problem with the keyboard app, not with the messaging app.

Does anyone know what is this and how to prevent this?

At first I thought that this is a problem with my very old Motorla Moto One (first edition, X1941). But now I have migrated to Neffos X9 and I am observing exactly the same behavior.

# Answer
> 2 votes
**This is caused by the "use simple characters" setting on Android Messages app.** The setting will convert special characters in SMS messages.

This is due to the possibility that *the recipient's messaging app converts the smileys into respecting emoji*, thus resulting in an incomprehensible message, like *when the sender intends to send the symbols as-is* instead of being considered as an emoticon.

Related questions demonstrating the issue:

---
Tags: sms, motorola, emoticons, google-messages
---


# Question
Title: "Display over other apps" prevents me from entering passwords
The smartphone is a OnePlus Nord CE 5G, model EB2103.

Basically, when I focus a field where I'm supposed to enter a password, a system "Display over other apps" like this

takes over and overlays the original app, not allowing me to enter the password in any way.

This happened after I upgraded to Android 12.

Here I've filmed what happens.

Any clue how I can solve this?

---

I've also noticed one more detail. If the app has the little eye icon to make it show the password (unlike the app in the video), I can click on that icon ***before*** focusing the password field, then when I focus it and type the passord, the annoying thing doesn't happen.

Here is the video of this behavior, ***but be aware that the screen never gets full black for me; I always see what's going on while I type the password***.

# Answer
According to the logcat, **the Password Store (legacy) app (package name: `com.zeapo.pwdstore`) tried to open the "Display over other apps" permission settings.**

The relevant logcat is

```
ActivityTaskManager: START u0 {act=android.settings.action.MANAGE_OVERLAY_PERMISSION dat=package:com.zeapo.pwdstore flg=0x10000000 cmp=com.android.settings/.Settings$OverlaySettingsActivity mCallingUid=10278} from uid 10278

```

This has been reported on its GitHub repo, Issue #767 - \[BUG\] "Display over other apps" settings panel keeps popping up.. According to the developer, this is caused by the older autofill method *leveraging the accessibility service for pre-Oreo* (because the proper autofill service was introduced in Android 8.0 Oreo).

From comment #13 and afterward by the developer:

> @jonathf @Rio6 can you both check your accessibility services and verify if the Password Store service is still enabled?

> > Yes, it is installed and enabled.
>
> That's the problem, it shouldn't be. We don't use the accessibility service on Android Oreo and above. Try disabling it manually and I'll push a patch to prompt users automatically.

> I've updated the fix for this at #827 to automatically disable the a11y service on Android Oreo and above so we'll be able to seamlessly resolve the problem without manual intervention.

For the solution, **disabling the accessibility service for this app should fix the issue.**

---

Note: according to Site/app linking to the legacy Password Store, the app has been migrated from `com.zeapo.pwdstore` to `dev.msfjarvis.aps`. The renewed app is on:
> 3 votes

---
Tags: password, android-12, oneplus, overlay
---


# Question
Title: Why is there a box floating on top of my other apps?
I'm coming back to Android after many years, and trying to manage Notifications. That's supposed to be accessible by holding a finger on a notification and a menu will pop up allowing you to adjust the app's notification rights.

Except something wild happens instead. The menu flashes up for 1/4 second, and then, the undesired app opens in a "half-size window" that floats over my home screen, or anywhere else I try to go. If I click away from it, it "minimizes" and becomes an icon at the top right corner of my home screen. Tapping it there brings back the half-size window.

So clearly there's a *cool, productivity-enhancing feature* that I need to be red-pilled on. Can anyone help?

* What is it?
* Is it inherent to Android, or a trick done by certain apps such as Mod Pizza?
* How do I get rid of an unwanted window/icon?
* How do I use it as intended?

Also, back on the notification screen, am I correct it's a timing thing on the finger-hold? Like "short" = go to the app, "medium" = adjustment menu, and "long" = do the above feature? Can that be adjusted?

# Answer
> 1 votes
> What is it?
> Is it inherent to Android, or a trick done by certain apps such as Mod Pizza?
> How do I use it as-intended?

**This is a Samsung feature called "pop-up view".**

Aside from the split windows, Samsung also offers pop-up views (similar to the picture-in-picture mode) as an alternative for multi-tasking.

> How do I get rid of an unwanted window/icon?

To remove the pop-up window:

* Tap the small bar on the top of the window, then tap the "X" icon, or
* Tap and hold the small bar, then drag the window to the "X Remove" text on the bottom of the screen

To remove the minimized icon:

* Tap and hold the icon, then drag it to the "X Remove" text on the bottom of the screen

---

> back on the notification screen, am I correct it's a timing thing on the finger-hold? Like "short" = go to app, "medium" = adjustment menu, and "long" = do above feature?

Correct. The behavior is:

* Short tapping will open the app (or open the minimized notification)
* Medium holding will show the simple notification settings
* Long holding will allow the user to open the app in a pop-up view or full-screen view (similar to long holding the app from the Recents screen)

> Can that be adjusted?

As far as I know, no, it is not adjustable.

---
Tags: samsung, notifications, popup
---


# Question
Title: How can I enable cpu, memory, and io in cgroupv2 (attempt to run Docker on Android)
I am trying to run Docker on Android, using a Pixel 3a XL rooted, running stock rom but flashed a custom kernel. I need to enable cpu, cpuset, memory, io, and pid controllers in cgroupv2. After enabling them in menuconfig and flashing the kernel, the script used to check shows only pid available under cgroupv2 controllers.

What do I need to do besides enabling these options in the kernel’s menuconfig? Did I maybe not enable all the necessary options? Any help would be greatly appreciated!

With the current state, when I run docker I get a warning for each item, ex “WARN: Unable to find cpu controller”. and error setting cgroup config for procHooks process: bpf\_prog\_query(BPF\_CGROUP\_DEVICE)

As I understand it, these options may be mounted with cgroupv1 and this is why they do not show up?

I am using this guide: https://gist.github.com/FreddieOliveira/efe850df7ff3951cb62d74bd770dce27

and these are the options I enabled in my kernel using menuconfig: https://wiki.gentoo.org/wiki/Docker

From the config I flashed in my kernel:
CONFIG\_CGROUPS=y
CONFIG\_CGROUP\_FREEZER=y
CONFIG\_CGROUP\_PIDS=y
CONFIG\_CGROUP\_DEVICE=y
CONFIG\_CPUSETS=y
CONFIG\_CGROUP\_CPUACCT=y

I flash the kernel by flashing the **Image.lz4-dtb** file that is created after building the kernel.

Here is a photo after running the script to check if kernel options are all enabled. Am trying to change these from missing to available/enabled.

# Answer
> 3 votes
The solution was to run: `sudo mount -t tmpfs cgroup_root /sys/fs/cgroup` which created directories for each of the cgroup resources and allowed Docker to run.

Useful is section 2.1: https://android.googlesource.com/kernel/common/+/android-trusty-3.10/Documentation/cgroups/cgroups.txt

---
Tags: root-access, kernel, termux, cpu
---


# Question
Title: Cannot view PDF files inside an iframe on Chrome for Android
I have this screenshot displaying a PDF in an iframe on Chrome for Android. My device is Samsung Galaxy S9+.

When I click on the open button, nothing happens.

I've also opened the same page in the default Samsung Browser and the PDF begins to download immediately.

Does anybody know what is going on with this PDF on Google Chrome?

# Answer
For anyone looking for more information on this topic, I never figured out a way to display the pdf in an iframe. Instead, I setup a download link to an html element to allow the pdf to be viewed outside of the browser.

I first had to convert the raw data to an object URL like so:

```
const byteArray = new Uint8Array(atob(rawPdfData).split('').map(char => char.charCodeAt(0)));
const pdf = new Blob([byteArray], { type: 'application/pdf' });
const pdfUrl = URL.createObjectURL(pdf);

```

After this, it was simple enough to create a download link:

```
const pdfDownload = document.getElementById('pdfDownload');
(pdfDownload as HTMLAnchorElement).href = pdfUrl;

```
> 1 votes

---
Tags: chrome-for-android, pdf
---


# Question
Title: Samsung S8 is stuck on start logo after flashing
I know this question has been posted but none of the solutions is working for me. I flashed official ROM using Odin on my S8 950FD. The process was smooth, the phone rebooted, installed update (blue screen), erased, rebooted again and then stuck on logo. I waited for a long time, then pressed Power + Vol down buttons. As soon as it turned off, I pressed Power + Bixby + Vol up. I was in stock recovery. Wiped cache and data, rebooted again, same result. One thing I see is my **dm-verity verification** status is **failed** in stock recovery.

I went to download mode again, my KG state was showing Prenormal. I tried flashing TWRP, OFRP recoveries but of course got Official Binaries blah blah error. I tried flashing stock firmware again and again but no luck. All I can see on my phone is either Samsung Galaxy S8 or I can go to recovery or download mode. The phone will never boot.

I tried Miracle Box 2.82 cracked version as well, but still no luck, it shows TOKEN SIZE TOO BIG or something like that.

Any chance I can get my phone working and alive again??

I have tried flashing many UC-9 official ROMs but still failed and I am on Samsung logo screen. I love my phone and don't want to loose it.

# Answer
So, I got my phone working again. It's got a new life but there is no magic bullet. Luckily, my brother had an exact similar phone with damaged display panel and he had thrown it somewhere in the house. I accidentally found it and got its board replaced with my bricked phone and viola, my S8 is now up again in around 8USD of cost.

One thing I would like to add, I didn't look form other software solutions. There could be one but once I found a dead phone, I stopped looking for it.
> 0 votes

---
Tags: samsung, rooting, twrp, odin
---


title: How to remap keyboard shortcut?

text:
# Question
Title: How to remap keyboard shortcut?
I have found many discussions about how to use a different layout or swap two key, say, `caps lock` and `CTRL`, by something like External Keyboard Helper Pro, but is it possible to remap key shortcut, say, map `ctrl`+`hjkl` to arrow key in Android like powertoys in Windows and `xkeysnail` in Linux?

# Answer
Keyboard customization in Android could be done via modifying Key layout files (`*.kl`) or Key character map files (`*.kcm`). KL files specify which Android key is produced by each physical key. KCM files specify how to interpret Android keys and combinations of Android keys with modifier keys.

In your case you need a custom KCM file. You should start from a KCM file of your language. There are default KCM files for different languages from AOSP sources.

Suppose you use en-US keyboard layout. There is keyboard\_layout\_english\_us.kcm. You should add your modifications with `ctrl` to H,J,K,L Android keys. Something like this:

```
key H {
    label:                              'H'
    base:                               'h'
    shift, capslock:                    'H'
    ctrl:                               fallback DPAD_LEFT
}
key J {
    label:                              'J'
    base:                               'j'
    shift, capslock:                    'J'
    ctrl:                               fallback DPAD_DOWN
}
key K {
    label:                              'K'
    base:                               'k'
    shift, capslock:                    'K'
    ctrl:                               fallback DPAD_UP
}
key L {
    label:                              'L'
    base:                               'l'
    shift, capslock:                    'L'
    ctrl:                               fallback DPAD_RIGHT
}

```

*I don't have external keyboard right now so I can't check it.*

Note: you can find other Android keys in Generic.kl file (last column).

Next, you need to apply your custom KCM file. There are two ways:

1. Upload it to your device with root access as described in documentation in "Location" section.
2. Install an app with your custom KCM file built in. No root required. Then you need to select that layout in keyboard's layout settings.

There is tutorial of how to build such app.

If you don't want to or don't know how to build such app, there is ExKeyMo web app (disclaimer: I'm the developer). Just enter your KCM file in the form and click `Download`. It will build the app for you.

Update: to verify your KCM file you should use validatekeymaps tool. There is web version of this tool (disclaimer: I'm the developer).

UPDATE:

ExKeyMo web app is not available on Heroku anymore. You'll have to run it locally. See the project's page on GitHub.
> 3 votes

---
Tags: keyboard, external-keyboard, keyboard-shortcuts
---


# Question
Title: How do I disable the ESC key when using a bluetooth wireless keyboard with Android 12?
I have a Samsung Galaxy Tab S6 Lite, running Android 12. I use a bluetooth wireless keyboard.

No matter what app (or Android UI screen) I'm on, pressing the ESC key acts like pressing the Back button (which looks like a "\<") on the Navigation bar.

I want to disable this. (My use case: when I wake up in the morning, I dream journal with my wireless keyboard underneath the blankets, with my eyes closed. But sometimes I accidentally press the ESC key, which ruins all the journalling I type after the accidental keypress).

How do I disable the ESC key acting as the Back button?

---

Note: I've tried using an open-source app (findable on the Google Play store) called "Key Mapper", to disable the ESC key. This works, but frustratingly, my tablet has killed this app in the past (to save memory or battery life, or for some other reason, I don't know).

# Answer
> 0 votes
You could try ExKeyMo (disclaimer: I'm the developer). It allows you to build an app with custom keyboard layout built in.

1. Enter code below in the ExKeyMo's form:

```
type OVERLAY

map key 1 WAKEUP

```
2. Click `Download`.
3. Install the app.
4. Select `ExKeyMo Layout` in keyboard's layout settings.

Note: it works for en-US keyboard layout. If you use other layouts you should check the instructions on ExKeyMo's page.

UPDATE:

ExKeyMo web app is not available on Heroku anymore. You'll have to run it locally. See the project's page on GitHub.

---
Tags: external-keyboard, android-12
---


# Question
Title: Does "adb shell settings put secure location_mode 0" reliably turn off/disable GPS?
I am trying to completely turn off and disable all GPS and location services for an Android phone.

I found the following ADB command -- "adb shell settings put secure location\_mode 0"

Does this completely stop the GPS services from working, including any pinging of any kind to GPS satellites?

# Answer
> 2 votes
The `location_mode` of the `Secure` settings will disable the Location service until it will be turned on on the settings or by changing the value of the key `location_mode`. (Checks if location is enabled, based on mode and restrictions.)

Disabling the location mode imply that applications cannot get the fix to access the Location services. **Third-party** applications on Android cannot access the GPS/GNSS hardware, it can access the services of GNSS and Location but not the hardware itself. To access these services, the application need to have the permission `ACCESS_FINE_LOCATION` or `ACCESS_COARSE_LOCATION` **AND** the Location service must be **enabled**.

On other hand, **system applications** can have access to the GNSS/GPS hardware (permission `LOCATION_HARDWARE`). Thus, there is no guarantee that GNSS/GPS will not be used by the system itself.

---
Tags: adb
---


# Question
Title: Xiaomi stuck on the fastboot screen after failed EMUI update
Yesterday, I used the Xiaomi Mi 9 SE `Updater` app to update my EMUI version. After downloading the update zip file (2.8GB), the app warned me that it would "install the update, start in recovery mode and will ask for my password as the file system was encrypted" (I don't remember the message exactly).

The phone rebooted and got stuck on the Fastboot screen for more than a hour.

After that I rebooted multiple times with different ways (hold power button, hold power button + volume down, and hold power button + volume up and down) but just after the reboot it gets stuck on the Fastboot screen again.

I tried using the Android platform tools to try to reboot it but the result is the same, always stuck on the Fastboot screen.

```
$ sudo ./fastboot devices
f6da2608    fastboot

$ sudo ./fastboot reboot
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.351s

$ sudo ./fastboot reboot recovery
Rebooting into recovery                            OKAY [  0.000s]
Finished. Total time: 0.352s

```

Do you have any solution to fix ? If not, is it possible to do a factory reset ? I have backups for my data so no problem for me.

# Answer
Download the SDK platform tools for the OS you have. Connect your device while in fastboot mode with your computer and run

```
fastboot devices

```

This should give you a result if your device is recognized. If your device does not show up make sure to install the proper drivers for it. Then download the official fastboot ROM for your device. Unzip it and there should be a file in there with a name like `flash_all` (bat or sh depending on your OS run the appropriate one). Guides like this one can help for more details
> 1 votes

---
Tags: fastboot, xiaomi, emui, xiaomi-mi9
---


# Question
Title: LED indicator is on but it only works to alert charging is incomplete (red) or complete (blue), it doesn't flash notifications
I have Samsung Galaxy S7 Edge on Android 8.0 Oreo (additional software information). Until yesterday, application notifications were flashing on the LED indicator, but from yesterday to today it stopped happening, even though nothing updated on the device.

It warns that it is charging with the red LED, and it warns when it has finished charging with the blue LED, but it does not flash to notify that there are new notifications as it used to do.

I checked if LED it's enabled, and yes it is.
I already checked if the applications are activated, yes they are.
I checked if it's in DO NOT DISTURB mode, and it's not.
I haven't changed any settings from yesterday to today, however, this is happening.

What can I check to try to find the problem?

# Answer
Firstly, make sure that the LED functions properly. Go to your phone dial, and type in `*#0*#`.

This will bring up a test screen. press the 'led' option on the screen, and check the LED. Tap the screen to make the led change colours, if all colours are displayed, then the LED is functioning.
> 0 votes

---
Tags: 8.0-oreo, samsung-galaxy-s-7-edge, notification-led
---


# Question
Title: Block audio and video playback in the browser in the background
**Prehistory**: On the phone (**android, xiaomi**) of the child, "Google Family Link" is installed with a time limit for using applications (when the screen is on). But the child turns on an audiobook or video and turns on the screen lock - the media plays in the background and the time of using the phone does not increase.

**Question**: How to block media browser playback with a locked screen?

I did not find a solution in *chrome://flag* and *phone settings (sounds, battery)*. Turning off the sound in the tabs is also not an option (it's easy to turn it back).

Maybe I missed something and was looking in the wrong place?

# Answer
You'll need to access the settings for the apps themselves. From your device settings to apps. Select your app. Find the battery usage Setting. In there you will be able to optimize battery usage. There should be an option to restrict or allow the app to continue running.
> 0 votes

---
Tags: chrome-for-android, xiaomi
---


# Question
Title: How can I edit APK's library files (.so files)?
I want to install 2 different versions of an app. I researched a little and found that I need to change APK's package name with APK Editor. I decompiled the APK with APK Editor and changed everything related to the package name. For example, the app's package name was `com.oldapk.filee`, which I changed to `com.newapk.file`. Then I compiled it again and installed the new APK file. But I was unable to launch the new APK file.

I enabled USB Debugging on my phone and started to looking crash logs. I saw that the package name was mentioned as `com.oldapk.filee`, and I started thinking about what could be wrong. I used `ack` on Linux to check which files have the `com.oldapk.filee` string and saw that 2 libraries (.so files) was including the old package name. I changed them in NotePad++ (Hex Editor Addon) to the new package name, but this time when the app launched, I was able to see starting screen, but it was crashing in 0.5 seconds after I launched it. I checked the crash logs again and then I saw that the package name was still old. Maybe the changes that I made didn't affect it.

How can I edit these files?

# Answer
Editing the package name of an existing app that you are not a developer can be a challenge. Also, unlike editing the Smali code, editing binary files can indeed break the app.

Here is some points that should be considered :

* The `ack` commands will only list strings and the name of the package can be encoded.
* Both APKs can use a same directory/file (e.g. in external storage), that maybe does not contains the package name, will lead to a crash due to permissions issue as the file/directory will be owned by the `UUID` of the `com.oldapk.filee` and cannot be accessed. To list the folders/files that are used by the application, these commands ADB shell commands can be used:

+ Get the user of the app `com.oldapk.filee`
```
> ps -A | grep com.oldapk.filee
u0_a230       10259    899 16984024 74060 0                   0 S
com.oldapk.filee

```

+ Get the list of files owned by the user of the app (`u0_a230`) on the `/sdcard`
```
> find /sdcard/ -user u0_a230

```
* In the binary, changing the package name with a another one that the length is not equal to the length of `com.oldapk.filee` will break the library (ensure that the '\0' `0x00` is the last byte of the string).
* Application can have an anti-tampering protection, it can be installed but crash if the app is tampered.
* Adding the flag `android:debuggable="true"` to the tag `<application>` on the "AndroidManifest.xml" can help debugging the tampered APK.

Hope that can help and good luck.
> 2 votes

---
Tags: applications, apk, native-library
---


# Question
Title: How to allow downloading multiple files again in Chrome?
When I was recently downloading files from a website, Chrome warned me, that website tries to download multiple files. I haven't seen that warning before and I guessed, that this may be security feature to prevent downloading unwanted .apk files, so I answered "no" (I disallow). Now I can download only one file at a time from that website and I have to reload whole page before downloading another. Really annoying.

Is there a way to undo my decision and allow downloading multiple files again? Or maybe disable this "feature" altogether?

# Answer
> 1 votes
Type in address bar `chrome://flags` and search for *parallel*. Change options for *parallel downloading* (Default / enabled / disabled)

Not tested but flags change the behavior and this is most likely what you want

# Answer
> 1 votes
When this happened to me I clicked Google chrome Settings & under Advanced I chose Site Settings \> Automatic Downloads then deleted the website link that was previously not allowed to perform multiple downloads under the "not allowed or block" section and copied the website link to the "allowed" section. If you don't want to be asked each time you're trying to download something turn off the "Ask first' button under Automatic Downloads sections.

# Answer
> 0 votes
I fixed it by going into "Settings \> Privacy \> Clear browsing data". Under the "Advanced" tab select "Cookies and site data" and "Site settings". Tap on "Clear Data".

# Answer
> 0 votes
I encountered this answer while trying to solve this on Brave desktop browser. This is how I resolved it.

1. URL: brave://settings/content/all
2. Find the website you were on when you denied multiple downloads.
3. Click the trash can
4. Reload the site and click the download again.

Navigation:

* Select "Settings" from the top right Hamburger button (three horizontal lines)
* Select "Privacy and security"
* Select "Cookies and other site data"
* Select "See all site data and permissions"

*Version 1.46.133 Chromium: 108.0.5359.71 (Official Build) (64-bit)*

---
Tags: chrome-for-android, downloading
---


# Question
Title: Change Input Method without unlocking the phone?
I have Samsung Galaxy S3 Mini unrooted and I think the Android version is 4.4. Recently, I installed a WiFi Keyboard application on my Android phone. This way, since both the phone and my computer were connected to the same WiFi network, I could access the phone's keyboard from my computer. After that, the phone disconnected from the WiFi network and got locked (I had a password set on the lock screen). And now I cannot enter it, because I cannot enable any other keyboard than the WiFi one (which doesn't work because the phone has no WiFi).

What I've tried:

* I can do nothing on the lock screen, everything's blocked. The swipe doesn't work to change the keyboard. Also, there's no settings box. And I cannot drag the notification bar.
* I tried the `adb shell ime` command, but without luck. It doesn't seem to do anything.
```
me@myPC:/$ sudo adb shell ime list -s
me@myPC:/$

```

Additional Data:

* Storage and SD card are encrypted. SD card has important data, so I can't simply wipe the phone.
* I am able to enter my password in the Decryption screen as the normal keyboard shows up, but not in the lock screen.

Can I enable it via ADB or any similar way? Are there any solutions to this problem?

# Answer
Try seeing if you can login when you are in safe mode. Boot into safe mode by holding down the power button to open the menu, then hold down the power-off button, and click "OK" when it asks you to reboot into safe mode. Then attempt to login once the phone restarts, and re-enable the virtual keyboard.

Hope this helps.
> 1 votes

# Answer
According to OP's 3rd revision,

> This problem was solved by booting into **safe mode**, as proposed by ak11234.
>
> I did so by holding the volume down key while powering on my device (pressed the power on button, waited for the phone logo to show ("Samsung" and the model number), released the power button and held the volume down key until the lock screen appeared).
>
> However, these instructions vary from phone to phone. The ones described worked for Galaxy S3 mini.
>
> You can find instructions for the most common phones that have Android on this webpage: http://www.droidviews.com/how-to-boot-android-devices-into-safe-mode/
> 0 votes

---
Tags: lock-screens, keyboard, password, locked-out
---


title: Make google pixel look like samsung?

text:
# Question
Title: Make google pixel look like samsung?
I have a google pixel 6a, I was wondering if I can make it look like a samsung android phone (like a samsung galaxy user interface)? Like instead of scrolling down make it have multiple "pages of apps" or give it a "back" button

Thanks!

# Answer
> 2 votes
Horizontal app drawer can be obtained using a custom launcher e.g. give Microsoft Launcher a try

Navigation Buttons instead of Navigation Gestures can be obtained using these steps

* Head into the Settings app and select Settings \> Gestures to find a bevy of gesture-related options.
* Once in the Gestures menu, tap on System Navigation to choose between gestures and a three-button navigation system.
* Select 3-Button Navigation to activate the Go back, Home, and switch apps buttons.

Hope this helps!

---
Tags: samsung, google-pixel
---


# Question
Title: How can I get an audiobook from my PC onto my phone?
Not sure why this is hard. I have an audiobook, which is a folder full of MP3 files on my PC, and I want it to be on my phone local storage in a particular folder. I have it also on Google Drive, but I see no option to do anything but download each file on at a time (on the phone app). Surely people who listen to audiobooks all the time don't do this. What's the easy way?

# Answer
> 1 votes
You can plug your device into a PC using USB cable, select MTP mode, and transfer your preferred data to PC. This data transfer approach is used by many Android users and is straightforward to setup.

---
Tags: file-transfer, google-drive, audiobooks
---


# Question
Title: Typing any keys on an external keyboard open apps. How to revert this?
I was typing like I always do using a USB keyboard with External Keyboard Helper Pro bought from Google Play. I usually type in Evernote. In a moment, I'm kind pressing more than one key a the same time - probably a Fn, Ctrl or Alt and other. I have no idea what I pressed. But since then, I *can't* type anything because the keys open other apps. If I press "e" in the keyboard, the e-mail on my tablet open, and if I press other key, other app open.

I tried to figure it out, search in the settings from my tablet and in the settings of EKH, but I don't have any shortcuts configured. I'm thinking that I press some kind of shortcut that activated other shortcuts, but I don't know how to go back to what it's like before.

How to fix/revert this?

# Answer
I looked at the site for the app you mentioned, External Keyboard Helper Pro, which has some tutorials. This section may help:

EKH Tutorial 5 - Application shortcuts and Text strings

> A nice feature in External Keyboard Helper is the possibility to add Application shortcuts and Text strings to keys. In this example I will configure Alt+G to start Gmail and Alt+M to start Maps. I will also make it possible to quickly write http://www.apedroid.com by just pressing Alt+A.
>
> First I enter the Advanced settings and choose to setup some Application shortcuts.

Perhaps that setting has what you need?
> 0 votes

# Answer
Your Windows key is probably broken and always seems to be pressed since Windows+E is the stock Android shortcut for email, whether you set it or not.
> 0 votes

---
Tags: applications, external-keyboard, keyboard-shortcuts
---


# Question
Title: Galaxy S10e stuck on boot screen - cannot get into download mode or recovery
I have Galaxy S10e (beyond0lte), which had crDroid 11 installed. I flashed the latest stock firmware, then TWRP 3.7.0.0 patched with Magisk 25.0 using Odin and was able to get into TWRP. In TWRP I installed the crDroid 12 zip. It appeared to succeed, I wiped cache/Dalvik cache as suggested, and rebooted. My phone is now stuck on the boot screen showing

> This phone is not running Samsung's official software. (blah blah blah)
>
> Samsung Galaxy S10e

I left it like that for a good half hour just in case.

The only thing I can do now is reboot by holding Vol Down + Power. **I cannot get into recovery mode nor download mode**, no matter how many times I try the key combinations (Vol Up/Down + Bixby + Power) - it just goes back to that screen. I was able to do both before installing the crDroid 12 ZIP. Is there anything I can do to recover this phone?

# Answer
It seems that the stock firmware update changed what needs to be done to get into recovery or download mode!

I now need to have the USB cable connected to a computer while pressing the same key combo (Volume Up + Bixby + Power). Some say to have it connected to power only, not a computer, but that didn't work for me. To get into download mode I now have to power off the phone and hold down Volume Down + Bixby while plugging in the USB cable.
> 1 votes

---
Tags: custom-roms, boot, samsung-galaxy-s-10
---


# Question
Title: AirPods on Galaxy S21 don't always connect even though they show connected
Usually taking an AirPod out of the case and putting it in my ear works fine - it connects to Bluetooth as per the indicator up top and audio works, but other times it shows as connected per the indicator but audio does not go to it.

I can fix it by turning off Bluetooth and then back on and choosing to connect to the AirPods, or sometimes by putting it back in the case and taking it back out.

Any thoughts on how to address the issue?

# Answer
Unfortunately Bluetooth isn't always reliable so you might want to "forget" the device on your phone and then pair it again to see if that resolves the issue.

You might also be able to see what is going on by enabling Bluetooth Debugging on your phone. After doing that and reproducing the issue you should have some logs that will either tell you the issue or give you more information to add to this question.
> 1 votes

# Answer
It turns out that the AirPods Pro 2 fixed the issue.

Perhaps it was a defect in the first model that didn't play nicely with Android.
> 0 votes

---
Tags: bluetooth, headphones
---


# Question
Title: Is OpenAI ChatGPT available for Android?
Is https://chat.openai.com available as an app for Android or even mobile in general?

When asking it directly, it claimed it can be installed as a service inside Google Assistance, but since I wasn't able to do it is that true? If so, can you provide screenshots?

# Answer
**OpenAI has published the official ChatGPT Android app on July 2023, but there's no integration with Google Assistant (yet).**

It is because:

* Saying "*talk to OpenAI Assistant*" on Google Assistant will do a web search as expected.
* Google Assistant doesn't have "Services", "Assistant", or "Apps" menu.
* *Google Assistant doesn't support 3rd-party assistance service.*
* ~~If there was such an OpenAI Assistant/ChatGPT on Android, even in the closed/private beta phase, then it would have been making news all over the place. Alas, there's none.~~ ChatGPT for Android finally arrives next week.

Please be aware of possible hallucination.
> 4 votes

---
Tags: applications, google-play-store, google-assistant
---


# Question
Title: Android USB Ethernet - Create a wireless bridge with port forwarding
I have about 50 industrial machines (mostly CNC controlled by a PLC). They have ethernet jacks, with an existing IP address set. I need to connect them to the main building's network (which uses an entirely different IP scheme). I have accomplished this with a few machines by installing an industrial router in the machine, and using the router's NAT to bridge the two networks. It works well, but requires a router that costs around $400, requires an electrician to install, and requires downtime on the machine.

However, each of these machines has a Samsung Galaxy Tab A8 or Samsung Active Pro tablet mounted to it, connected to the building's WiFi. I have full control over the tablets, I can root them if needed.

I am wondering if I attach an ethernet adapter to the tablet's USB-C port (I've found a few that have pass-thru charging), then plug the ethernet cable into the CNC/PLC if there is a way I can bridge the wireless connection, and also have some NAT to do the address translation and forward the needed ports.

Changing IP addresses on the machine is not an option, and altering the building's network is not an option.

I have no need for DHCP, and only a couple of devices are on the ethernet side.

Has anyone done this?

Additional info:

I am fully aware that wiring each machine would be ideal, but it is not feasible. To show why, I’m putting some numbers below. This application is theoretical at this point, we have a small amount of data we want to relay to an on-site server, which is then parsed and displayed on the tablets. If the testing works, we’d look into customized android powered hardware in place of the tablets.

50 machines total (at this site) $2,000 per minute downtime

30 minutes required to install cable (remove guarding and wire covers, run through tracks, replace covers)

$60,000 downtime (30 min x $2,000) $250 per cable to run $2,500 two engineers to review changes to networking and resign/recertify safety)

$62,750 / machine $3,137,500 / site

So they can spend 3 million per location and risk angry customers from downtime or they can relay some data via some android tablets.

The data is not mission critical, it is used to monitor efficiency. If there are network issues the worst that happens is the data is reported when the connection is restored.

# Answer
Honestly, I don't think using the tablets as routers is a very good way to do this due to the complexity and you essentially having dozens of tiny networks interconnected for no advantage. Why can't you just use VLAN's in the network and build one interconnecting route? This sounds like a basic network setup question.

Basically in your primary router for your network (usually, could be the switch as well) you would build a second "CNC" VLAN that matches the IP scheme of the CNC machines, and you assign switch ports to connect them to the network on the correct CNC VLAN. Then the router would just allow the two networks to communicate via the primary gateway (the router) for each network.

This is a very common setup actually. How exactly it would be implemented would vary a lot based on your equipment. This could be done via dedicated hardware (like one switch just for the CNC equipment) or by assigning ports of an existing switch to be untagged into the CNC VLAN.

This would allow for minimal new equipment and simple network routing, and minimal complexity while maintaining network security... Which is preferred in network setup.

I think adding additional routers or using the tablets/phones connected to each device as a routing device would add a level of complexity that would be quite a headache, especially later on.
> 3 votes

# Answer
Because I posted a simple question, I will post the simple answer I have found.

The answer to the question is yes, Android tablets can work as an access point when combined with a usb ethernet adapter.

They must be rooted in order for it to work, once rooted, the nat/port forwarding can be managed from iptables.

How well it performs obviously depends on the existing wifi network, the quality of the tablet, the number of devices connected, and the amount of network traffic.
> 0 votes

---
Tags: networking, wi-fi
---


title: New battery results in strange behavior

text:
# Question
Title: New battery results in strange behavior
I was having the impression that my phone (Pixel 4) battery is already low on capacity (and a battery monitor calculated a capacity of 61%) so I ordered a new one and followed a tutorial on how to replace it. It was rather easy.

Now with the new battery I have some strange behavior that I can't really solve but it is reproducible since days:

When my phone reaches around 40-45% while using, it shuts off. It doesn't shut down like it does when it is really on low battery, it simply dies. It also dies in a way that I can't trigger the booting process. I have to connect it to a cable, wait for the % to show up on the screen and then I am able to boot it. When it is finally up and running, I have often a completely different percentage shown in the top. Sometimes 50%+ (which means when it hits 40-45% again, it shuts off again). Sometimes (like right now) it showed 45% before booting and when booting was finished, it showed 18%.

So now I thought I need to calibrate it (and as I have read here, it is even only a myth). Anyway I tried it nonetheless. Drained it until it never even showed the boot logo again, then charged it until 100% while still being off. Issue persisted. I drained it again and charged it fully while being on. Still the same "shut off" around 40%.

One additional thing I noticed: My device lives like an hour at 1% capacity (no extreme power saving active!) before it shuts down, so I really have the feeling that the percentage is wrong/off.

Is the new battery broken? Would it help for me to make a full reset of my phone? Any ideas what I could try?

# Answer
> 0 votes
I have now a new battery since 4 days and it behaves now again like it should. No shutdowns in-between anymore and no unreasonable jumps in percentages.

Only strange thing I observed was directly after the replacement. The new battery was stuck on 31% until the battery died but once attached to charging, it behaved like it should, so I assume my system was simply confused with the new one at first :)

---
Tags: battery, charging, battery-life
---