# Question
Title: How to disable dm-verity on Android with "user" build type ROM?
I have One Plus 6T Android device which has a ROM of build type `user`. This device is rooted with Magisk and I want to disable `dm-verity` on this device. I have tried to run `adb disable-verity` but I got an error saying `verity cannot be disabled/enabled - USER build`

Is there any way to disable this?

Goal: Want to place customized `sepolicy` file under `system_root` directory. I have tried to do it with following commands:

```
C:\Users\GPU-Test>adb shell
OnePlus6T:/ $ su
OnePlus6T:/ # mount -o rw,remount /system_root
OnePlus6T:/ # cp /sdcard/selinux_policy_modified /system_root/sepolicy
cp: /system_root/sepolicy: Permission denied
1|OnePlus6T:/ # cp -f /sdcard/selinux_policy_modified /system_root/sepolicy
cp: /system_root/sepolicy: No such file or directory
1|OnePlus6T:/ # ^C
130|OnePlus6T:/ # exit
130|OnePlus6T:/ $ exit

C:\Users\GPU-Test>adb disable-verity
verity cannot be disabled/enabled - USER build

```

Also tried to disable `Preserve force encryption` and `Preserve AVB 2.0/dm-verity` checkbox but still the above commands have same result. Also on reboot these check-boxes enables again automatically.

# Answer
I'm going to give a general overview of how `dm-verity` and related things work on Android according to my limited knowledge. Situation might differ on different devices and ROMs.

**HOW IS DM-VERITY ENFORCED?**

`dm-verity` (Verified Boot and AVB) as well as `dm-crypt` (FDE) are targets of `device-mapper` feature of Linux kernel. `dm-verity` verifies the integrity of each block as they are read from block device; enforced by `init_first_stage` as per `fs_mgr_flags` set in fstab (). On system-as-root devices (`A/B` and `non-A/B`), kernel is patched to force verity while mounting `/system` and `/vendor` if `verify`/`avb` flags are found in fstab device tree (dtb).
`dm-crypt` decrypts/encrypts data transparently when read/written from/to block device. FBE is based on a different kernel framework `fscrypt`; but both are managed by `vold` (which runs as a native service) if `fs_mgr_flags` contain `voldmanaged`.

**WHERE FSTAB IS?**

`fstab` has traditionally been a file on Linux to specify filesystems to be mounted on boot. It's a core component of `fs_mgr` functionality on Android.

On pre-Oreo releases `fstab` was in `ramdisk`. With Treble it was moved to `/vendor` (or `/system/vendor`) while the fstab entries for `system` and `vendor` (and `odm`) are moved to Device Tree Blob (`dtb`). Kernel exports `dtb fstab` entries in device tree directory at `/proc/device-tree/firmware/android`.

Some OEMs also put `fstab` in `odm` or `nvdata` partitions.

**Source:** Android Storage Device Configuration

**WHERE DTB IS?**

Device Tree is a data structure for describing hardware which is not discoverable to kernel. Device Tree Source (`dts`) can be converted to `dtb` (binary blob of DT) and vice versa using `dtc`. DTB is loaded by bootloader at boot time and passed to kernel so that it can discover hardware and create device nodes accordingly.

DTB is either:

* Appended to kernel `zImage` or `Image.gz` in `boot.img` (). It can be split from `gzip` archive using `split-appended-dtb (sadtb)`.
* Or in `dtbo` partition as some OEMs do. This can be checked with:

```
~# ls -l /dev/block/bootdevice/by-name/dtbo*
~# grep -C5 PARTNAME=dtbo /sys/dev/block/*/uevent | grep DEVNAME | sed 's/.*=//; s|^|/dev/block/&|'

```
* Or at the end of `boot.img` after 2nd stage, or in `odm` partition (rare, some OEMs do).

Also if the device is `non-A/B`, `dtb` (from `boot.img` and/or `dtbo` partition) is also added to `recovery.img` in DTBO section after header, kernel, ramdisk and 2nd stage (). However this doesn't matter for normal boot. But if the device is also `system-as-root`, Magisk needs to be installed in this recovery partition as the `boot.img` contains no `ramdisk` ().

In case if DTB is not appended to kernel, `dtb(s)` are converted to `dtb.img` using `mkdtimg`. Same tool can dump back the image.

**Source:** Implementing DTO

**HOW TO DISABLE DM-VERITY?**

On `userdebug` ROMs, `dm-verity` can be disabled using `adb`. It modifies magic number of verity metadata block (, ) which is written after the last filesystem block on block device (`system` or `vendor`) (). Quoted from here:

> the absence of this magic number will halt the verification process

In case of AVB, `adb` modifies `vbmeta header` to disable hashtree image verification (, ). Quoted from here:

> if the `AVB_VBMETA_IMAGE_FLAGS_HASHTREE_DISABLED` flag is set in the top-level vbmeta, then `androidboot.veritymode` is set to **disabled**

On `user` builds `ro.debuggable` is `0` and `adbd` isn't running as root. Also there are other differences like that of `ALLOW_ADBD_DISABLE_VERITY`, so `adb` won't disable `dm-verity`. Other approach is to remove **`verify`** or **`avb`** (10) flag from `fstab`. Quoted from here:

> To verify the partition...
> ...
> In the fstab for the relevant entry, add `verify` to the `fs_mgr` flags.

Similarly to remove encryption, `forceencrypt=`, `forcefdeorfbe=` or `fileencryption=` need to be replaced with `encryptable=`. However encryption cannot be removed without factory reset (FBE too?), so unchecking `Preserve force encryption` in Magisk app will do nothing.

Some OEMs also use `support_scfs` `fs_mgr` flag and `ro.config.dmverity=true` property on devices with `dm-verity` enabled.

There are also some exploits discovered in bootloader and adb implementation of some OEMs which can be used to disable `dm-verity` on affected devices. However such security flaws usually get fixed over time with updates from OEMs.

**OPTION 1**
Set options in configuration file before installing Magisk:

```
~# echo 'KEEPVERITY=false' >/cache/.magisk
~# echo 'KEEPFORCEENCRYPT=true' >>/cache/.magisk

```

If installed, after unchecking `Preserve AVB v2.0/dm-verity` in app, Magisk needs to be reinstalled. Quoted from here:

> in Magisk Manager, “Uninstall \> Restore Images” to restore the images, check “Preserve AVB 2.0/dm-verity” box in Advanced Settings, then reinstall Magisk via the app.

**OPTION 2**
Use some `dm-verity` disabler zips like this.

**OPTION 3**
Figure out where the `fstab` entries of `/system` and `/vendor` are on your device.

If in `ramdisk` (pre-Treble):

* Extract `ramdisk`, modify `fstab` and repack.
* Or patch `ramdisk` directly:

```
~# magiskboot cpio ramdisk.cpio 'patch false true'

```

If in `dtb`:

* If appended to kernel:
    + Extract `boot.img`
    + Split appended `dtb(s)`
    + Patch `dtb(s)`.
    + Append `dtb(s)` to kernel
    + Repack `boot.img`
* If in `dtbo` partition or in `boot.img` after 2nd stage, patch `dtb.img` and write back to partition or `boot.img`.

**How to Unpack / Repack Boot or Recovery image and Ramdisk?**
Use AIK or `magiskboot`.

**How to Patch `dtb`?**
Patch directly using `magiskboot` or manually convert `dtb` to `dts`, edit `dts` with any text editor to remove `dm-verity` flags, and convert `dts` back to `dtb`.

**RELATED:**
> 15 votes

# Answer
You can just edit the Magisk root package to ONLY disable the dm-verity flag. It's literally just commenting out a few lines of Magisk scripts, since the functionality is inherently present in Magisk. Here's the link to such a package: Download magisk-onlynoveritypatch.zip Boot into twrp, install from zip, and select this zip.
> 1 votes

---
Tags: root-access, file-system, linux, selinux, dm-verity
---


# Question
Title: Help diagnosing constant CPU usage of phone during sleep (Battery Historian Chart)
I saw a great Battery Historian guide and decided to try it out. I noticed that last night while my phone was unplugged, the "CPU Running" bar was active the whole time when I was asleep. This should only be intermittent, not a constant black bar.

Here's the whole battery historian chart, CPU running stats at the top.

Hovering over the CPU Running bar, I can see what's causing the CPU to run:

A lot of "abort" wakelocks whatever they are.

1. **Abort: Pending Wakup Sources: dwc3-otg**
2. **Abort: Pending Wakup Sources: usb\_notify**
3. There's also something called "Unknown".

I have a Galaxy S20 (exynos). I have not used any package disabler app or rooting etc.

Googling the above wakelocks brings back nothing. Just some random github code.

Compared to this other S20 user's battery historian chart, my CPU running bar should be intermittent only. https://preview.redd.it/edegbwhq1sq41.png?width=1701&format=png&auto=webp&s=b8d53673d3ca754feac8ded9da6ca408592f655c

Any android expert have an idea how to diagnose this?

edit: there's also constant "BLE Scanning" on the screenshot which is "bluetooth low energy". I have bluetooth off, nearby devices off, improve accuracy via bluetooth off.

# Answer
> 0 votes
These two wake locks are related to the OS and android doesn't give any control over the system wake lock without root Some times the OS gets buggy and it will not release the wake lock. your best bet is to reboot the phone and wait about 5 hours to see if the battery drainage is the same after the reboot. if that did not fix it then it is an OS bug that only Samsung can fix. not that I think that they will

---
Tags: samsung, battery, standby, wakelock, battery-history
---


title: Android fastboot restoration points

text:
# Question
Title: Android fastboot restoration points
Does Android have restore points that can be accessed via fastboot?

In Windows7 (support ended February 2020) restore points are created so the OS can revert back to last known state should anything go wrong. This revision includes settings, software, browser history, etc. This handy feature has helped me several times. Does Android have such a utility/feature where by any means (fastboot or adb) it can be rolled back to last known state? Kindly read more to understand the full situation.

My phone is stuck in fastboot. I have been doing research on how to get it out of this. The phone runs Android Go. Usually the OS updates and completes without any issues, but this time during an update the battery died and upon power up it got stuck in Fastboot mode. I understand both Fastboot and ADB have commands of their own that can be used to interact with Android OS via USB connection. I have a question that my research has NOT answered. Before I run any commands in this mode (fastboot) I want to know, is there a way to restore the device to its last stable state (ie before the failed OS update)?

# Answer
you can try

```
fastboot --set-active=a

```

or

```
fastboot --set-active=b

```

ane one of them should work if your other slot is not corrupted
> 1 votes

---
Tags: fastboot, restore
---


# Question
Title: Why my apps are getting auto-updated despite "Don't auto-update apps" checked?
In Google Play Store, I have set "Auto-update apps" to "Don't auto-update apps". Still, I have apps automatically updated.

Why?

Still, I get notifications.

# Answer
Now apps have separate auto-update option in Play store. So disable it, uncheck it.
> 2 votes

# Answer
disable Facebook services. Instagram and Facebook are both auto updated by Facebook\_services. welcome to no longer having control over your own personal data collecting devices.
> 1 votes

---
Tags: application-autoupdate, samsung-galaxy-s-9
---


# Question
Title: How to automatically enable ethernet tethering on Android 11?
Each time the router reboots, the ethernet tethering (introduced in Android 11) breaks, and I'm trying to make it recovers automatically.

Developer options have a setting for enabling USB tethering on USB cable plug.

Is there anything similar for ethernet tethering?

# Answer
Ok, got it working with Interact block in Automate. It has a nice inspector I used for capturing an ethernet tethering tap event.

Reproducing tap only works with the screen unlocked so I used Tasker with AutoInput plugin to unlock the screen on the cable plug.
> 2 votes

---
Tags: tethering, android-11
---


# Question
Title: Filesystem for sdcard to store large file and apps access
I am running android oreo 8.1 (custom ROM) on Xiaomi Redmi Note 3 Pro. I have a 64GB memory card in which I want to store large files of size 15GB, 20GB etc. So I can't use FAT32 filesystem. I formatted it to exFAT but battery started draining faster as `mount.exfat` process uses CPU above 20-30% during read/write operation.

If I format to ext4, How can I made sdcard files available to all android apps ? Is there any other filesystem which can store large files and android apps can access it as well ?

# Answer
> 0 votes
I think your Micro SD card is not compitable with Android system try to use class 2 micro SD card sdhc(secure digital high capacity) type see if it's work. I do have same problem I have used 16GB Uhs-1 class 10 A1 (ultra high speed) micro SD card but it's not compitable with the Android system it says can't read and Android system notify it's corrupted sd card, but soon after I try another micro SD card which is class 2 sdhc its work fine no countering any problem at all it's working smooth when transferring data and fast rendering any apps I want to open that i have installed in my phone. There's so many type of micro SD card out there but need to see carefully some of it only suitable for hi digital camera which is usually using different file format system.

---
Tags: storage, file-system, formatting, media-files, reformat
---


# Question
Title: Autodialling app that allows timed selection of phone line menu options
I have searched the Google Play store with a number of likely terms to find this, and Googled also, only to find "simplistic" options for auto dialling.

Am trying to get through to a government department that allows call backs, but don't just want to select the number at a pre-determined interval from the last call (to give their system a chance to clear some of those call backs), something I can relatively easily do myself, it would be most helpful to have dialpad numbers sent down the line at predetermined times once the phone connects, so I don't have to wait to be able to select each of them.

This seems like it would be the most programmatically simple part of a auto dialler app. Does an app to do this really not exist for Android?

# Answer
> 0 votes
Seems one needs to search for "meeting auto dialers" to find the (as of writing this) only result https://play.google.com/store/apps/details?id=com.technochakra.meetingautodialer&hl=en\_US

Alas the aforementioned app doesn't do auto redialing, and in the reviews from some years ago there doesn't appear to be great interest from the developer to implement this, instead suggesting the use of https://play.google.com/store/apps/details?id=com.llamalab.automate to launch widgets of templates in the Meeting Auto Dialer app that can be added to one's home screen.

---
Tags: applications, automation, phone-app
---


# Question
Title: Is the root file different if a custom rom is installed?
Do I need a different root file if I have installed a custom rom on Android?

Who creates root files for devices?

# Answer
> 3 votes
basically root method is pretty generic. the leading tools are

in that the order, where former one is recommended for all devices and ROMs while the last is ROM specific

However, while the rooting process is nearly the same, every device is different and there is no generic root method. First you need to unlock bootloader. Some vendors (like Huawei) decided to lock devices completely, others (like Samsung, Xiaomi, Lenovo) have there own special protections

Second, you need custom recovery (or at least, modified boot.img) which is definitely device specific and not interchangeable with other device models

Usually every device has it's own section in famous xda forum where developers share custom recovery or custom rom

Always search for root method specific for your device model

(Note: i am aware of exploit based temp root methods but decided that is out of scope and not worth a timeless answer, because development is ongoing and that exploits become outdated)

---
Tags: rooting, root-access, recovery-mode, custom-roms, twrp
---


title: How can I draw over other apps?

text:
# Question
Title: How can I draw over other apps?
I'd like to be able to use my Asus Transformer for a presentation using the HDMI out and I'd like to be able to draw on the screen over videos, pictures and over a powerpoint presentation. Obviously I can't be drawing and navigating simultaneously with touch but I guess I'm envisioning an "always on top" floating dock or tool bar to toggle between the "paint" function and the normal touch input.

To be clear I'm not interested in specific "drawing" apps, I'm looking for the ability to draw persistently over any and every open app.

Is there an app or hack that will accomplish this?

# Answer
> 1 votes
In my old school days, this were trivial because just right behind the projector screen are whiteboards which is sometimes used as a "screen" which can be drawn on with markers.

As more modern alternative, there are also smartboards that provides a virtual whiteboard to draw on with digital annotations. And one of them can be controlled and viewed from an Android tablet.

If you only need video and slides, then you can run your presentation on the computer running smartboard software and connect to the computer with the Android tablet controller. This doesn't actually allow you to draw over arbitrary apps though.

# Answer
> 1 votes
I know this is a very old question, but I was looking for the same thing and finally ran across an app that does this.

Ink Over Apps

This is an old app that you need to download from a site that has old apk files. here is a link to one of them.

# Answer
> 1 votes
There is actually an app available on goole play. Its called. Draw On App. This is a great app with options to change color, make the the pen size larger and erase as well.

There are many more apps there. Just search for draw on app, you'll see a nice few of them.

---
Tags: drawing
---


# Question
Title: What is an Android dock? When is a phone considered "docked"?
In Android's "daydream" settings, you can set "When to daydream" to "While docked" or "While charging." What does "Docked" mean? The only products I've seen that are sold as android "docks" are just stands that are shaped to prop up the phone at an aesthetically pleasing angle while charging - the phone doesn't know if it's in such a stand, though. I haven't found an Android equivalent of the music-playing docks that the iPhone can connect to.

The developer documentation describes 4 types of docks: Car, Desk, Low-End (Analog), and High-End (Digital). (The documentation implies that #3 and #4 are subtypes of #2.)

So, what is a dock? How does the phone decide if it's plugged into one, and which kind it is? What can docks do - play music? Can they do other things? Is there some sort of open standard defining how an Android phone talks to a dock (if that's even possible)? Can anyone point to example products representing each type of dock?

# Answer
*Preface: I am not an expert in the kernel and hardware driver-related topics. This answer is based only on finding and my limited understanding. I possibly use many wrong terms since I am not really familiar with them.*

---

> What is a dock?

A docking station is a device that is capable to communicate with the Android kernel to fire docking-related events and/or modify the docking file state.

> How does the phone decide if it's plugged into one, and which kind it is?

The Android system is observing the docking-related events and the docking file state. When a device is docked, the kernel driver fires an event or modifies the file state, which make the Android system notice it, then it will broadcast the event to the apps system-wide.

The docking mode may depend on how the kernel is programmed, for example:

> What can docks do - play music? Can they do other things?

A docking station can make the system and apps do anything that is programmed. One example is showing a different layout on docked state. It may also open a music player app and play music automatically on desk mode if it is programmed as such, or open a map/navigation app on car mode, etc.

> Is there some sort of open standard defining how an Android phone talks to a dock (if that's even possible)?

The standard is mostly based on Linux kernel driver using uevent (event-based) and state file (polling) as previously mentioned. However, the responsible kernel and Android code can be customized, also as previously mentioned.

---

To put simply:

\[Docking station -\> microcontroller\] -\> USB -\> \[device driver -\> kernel -\> event/state file -\> dock observer -\> apps\]

---

Additional references:
> 3 votes

---
Tags: hardware, dock
---


title: Disable touchscreen input via console

text:
# Question
Title: Disable touchscreen input via console
I'm looking for a way to disable and enable the phone's touchscreen via console, and possibly the physical buttons, so to prevent finger touches from being processed. The phone is a Samsung Galaxy Fame, Android 4.1.x.

**Background:**

I'm configuring an old Galaxy Fame to serve as a sat navigator fixed on my car dashboard, aiming at using the up-to-date and free OpenStreetMap.

When I turn the key, the phone's USB is powered at 5V, when I turn off the car, the USB has no power. The phone is able to detect these events and I scripted some actions upon them, aiming at providing an instant-on and instant-off navigator service.

The phone remains always on and just switches to a power-save status when the car is off. The navigator app – OsmAnd – starts automatically at boot, but the boot does not occur between a car-on / car-off cycle, because the phone remains on to detect the mentioned USB changes.

Currently, what happens when I start the car and the USB gets powered:

* Display is lit (`echo 200 >/sys/class/backlight/panel/brightness`)
* Sat receiver is activated
* CPU frequency set to max

What happens when I turn off the car and USB loses power:

* Display's backlight off
* The sat receiver goes off, along with WiFi and Bluetooth, in case they might have been active
* CPU frequency set to minimum

Up to this point, everything is working. My problem now is that, when the car goes off and the phone enters this quasi-standby mode, the touchscreen still accepts input and, if the phone is handled or touched for whatever reason, it will stealthily react to those touches while the screen is unlit.

# Answer
> 3 votes
`cat` your `init.rc` and under # Permissions for InputDevices.

```
chown system radio /sys/class/sec/tsp/cmd
chmod 0660 /sys/class/sec/tsp/input/enabled  <--your device may differ
chown system system /sys/class/sec/tsp/input/enabled <--your device may differ

```

Add to your scripting setup after verifying, for my device, a Samsung Galaxy Tab 4

```
echo 0 > /sys/class/sec/tsp/input/enabled

```

Touchscreen disabled.

```
echo 1 > /sys/class/sec/tsp/input/enabled

```

Touchscreen re-enabled.

# Answer
> 3 votes
I found a solution from https://android.stackexchange.com/a/193667

```
rm -rf /dev/input/event0

```

Does "delete" my touchscreen input. The other events disable/delete my other hardware buttons like volume etc. After restart of the phone, they are back. You need root / su for this.

# Answer
> 0 votes
On Google Nexus 4 (mako, LineageOS 14.1) and Xiaomi Mi5 (gemini), you can give

```
rm /dev/input/event2

```

to disable the touchscreen at runtime. You will still be able to control the device through `scrcpy`.

On Google Nexus 5 (hammerhead, LineageOS 14.1) you can give

```
rm /dev/input/event1

```

---
Tags: shell, touchscreen, command-line
---


# Question
Title: Tethering issues on OnePlus 6T (not operator related)
My 6T (unrooted) Android 10.3.5, won't tether - not by USB, not by Wifi nor by Bluetooth.

Not a carrier issue - I can tether with my wife's phone.

Weird behaviour - occasionally the tethered device (PC) will have internet, but not the phone, sometimes the phone will have internet and not the tethered device.

I have AdGuard and NordVPN installed, but I turn them both off before trying to tether.

I have disabled Private DNS before trying to tether.

Doesn't work in Safe mode either. Shows connected device to hotspot on phone.

If I connect the phone to Wifi then the PC has internet and the phone does also - not very helpful.

It used to tether months ago.

Any ideas please?

# Answer
> 0 votes
Editing the APN didn't help. Recreating a new APN from scratch resolved the issue - even though they look identical to me on the screen. Leaving here for others to hopefully benefit.

---
Tags: wifi-hotspot, tethering, usb-tethering
---


# Question
Title: How to fix a phone that always boots into TWRP when OS exists
A friend of mine has this small Samsung device. He forgot the PIN he set on it and decided to hard reset the phone using `power button`\+ `volume up` +`home`. That booted into TWRP. He then used the Wipe option. See image below

Then he used swipe to factory reset. That completed successfully. Problem is when he reboots the phone, it goes straight to TWRP. Android OS isn’t booting. Does that mean the OS was wiped when he did the factory reset?

This is the screen he gets when he restarts the phone

# Answer
> 1 votes
The Reboot button shows an option to reboot to OS. After rebooting, Android OS starts

---
Tags: samsung, recovery-mode, twrp, troubleshooting
---


# Question
Title: How to disable weather notifications from Google app?
I cannot find a way to disable weather notifications from Google app. Every a few hours I get in the notifications list "How it is like outside" - temperature and clouds.

I searched all over the place and couldn't find a way to disable that.

# Answer
Open the Google app and press the menu button.

**Settings** =\> **Google Now (click to the left of the toggle)** =\> *Scroll down and toggle the weather off*
> 3 votes

# Answer
These notifications are still there in Google app, however, they are now not limited to weather. For instance, I was also getting traffic notifications. There are other categories like news, stocks and restaurant suggestions.

The feature is now called "Discover notifications" and is located in Settings -\> Notifications -\> Discover. There is a middle-ground option called "Data Saver" which is designed to save network traffic, but also results in the notifications being shown less frequently, if you still want to see them sometimes.
> 2 votes

# Answer
When you get the notification hold your thumb on it for a few seconds. Two options will appear. Choose stop notifications.
> 0 votes

# Answer
If this is from the Google app and not from the Assistant:

* Click on it, you should get the Google app showing a weather search.
* At the bottom right, click on the thee dots "... More" button.
* Settings
* Notifications (around the 2nd entry)
* 2nd entry, "Notifications (on)"
* Now you have a list of active Google notifications. Just untick "Current weather conditions" (5th tick box on my phone).
> 0 votes

---
Tags: notifications
---


# Question
Title: Is there a different fastboot command for the Google Pixel and the oem-off-mode command?
I'm trying to set a Google Pixel to boot when the power is connected. I found discussion of using the `fastboot oem-off-mode charge = 0` command, but when I reboot the device into the bootloader and try the command I get a `fastboot: usage: unknown command oem-off-mode` error.

Is this command no longer supported or did they rename the command?

# Answer
> 1 votes
I had a hyphen in the wrong spot. The proper command is `fastboot oem off-mode-charge = 0`

# Answer
> 0 votes
Try `fastboot oem off-mode-charge 0` (without equal sign) instead.

---
Tags: charging, fastboot, power-on, google-pixel
---


# Question
Title: Background apps get killed (by something other than battery optimization)
All of my background apps get killed when I turn off the screen. This is particularly annoying for my most-used messaging app, **WhatsApp**.

I've looked at the obvious "Battery Optimization" option:

Based on advice found elsewhere, I've checked that the background process limit in developer options is the default (I've never changed this AFAIK):

And yet, it gets killed in the same manner as battery optimization would. If I look at running background processes:

When I then press the power button, and power it back on after \< 10s, the list is the same. But if I wait longer than that:

...whatsapp has disappeared.

This happens for all apps I install that have some sort of useful background feature - the Battery Optimization setting doesn't seem to do its job anymore.

What else can I try to diagnose this?

**NB0**: Android 7.0 on DOOGEE S60

**NB1**: This just started happening some time ago, i.e., it *did* work propertly when I got the phone.

**NB2**: I know how to use `adb`

**NB3**: I'm also fond of trying new apps and have ~400 apps installed. Ideally, I don't uninstall/disable *all* of them 1-by-1 to see which one is the culprit...

# Answer
Go to "settings", "memory" and turn off "background auto clean memory".
> 0 votes

---
Tags: processes, background-process
---


# Question
Title: Changing the input language of physical keyboard on Android TV box
I have an Android box TV with Android 9.0, and I would like to add a physical keyboard, but there's no option for that. When I press the "manage keyboard" option, it shows what's in the picture.

I have a Microsoft keyboard connected with a USB adapter WiFi to the box. When I want to write in Portuguese, the physical keyboard it's in another language, but the on-screen keyboard is in Portuguese.

# Answer
I had a similar problem, my Android TV screen did not show the characters I typed on an external Genius Spanish Keyboard.

I wrote to the manufacturer asking for a driver but the answer was they do not provide support for Android OS.

After a trial and error research I found that
Logitech Keyboard Plus 1.3.0 (565k)
com.logitech.keyboard.look\_ten
was the solution.

This apk is a Bluetooth driver but worked with my USB wired keyboard, I only had to set the keyboard language data.
> 1 votes

---
Tags: languages, external-keyboard, android-tv, text-input
---


# Question
Title: Rooted phone but cannot change hosts file
I rooted on my S8+. I used the app root checker to check that it's rooted. I was attempting to block ads by hosts files with this tutorial

I attempted to copy the hosts file to my pc, changed it, and pushed it back... got:

```
adb: error: failed to copy 'hosts' to '/system/etc/hosts': remote couldn't create file: Read-only file system
hosts: 0 files pushed. 62.2 MB/s (456580 bytes in 0.007s)

```

I then attempted to do it by following this tutorial which uses apps to change the files

I did change the host file permissions to -rw-rw-rw-

Then I tried to use the editor to add some DNS but I was unable to save the hosts files once again. When I tried to save it, I got a Toast saying root permissions were given to the text editor.

Any ideas?

# Answer
> 1 votes
So I finally was able to come back to this issue. I was unable to mount the adb with write permissions either because i was not su or it would deny me to change the host files...

I tried to write the text on the hosts file but it was a file with hundreds of lines... even seemed that android was not able to store it in the "copy/paste"

So in the end I used Solid explorer 2 from play store.

I wrote a hosts file... then i navigate to the /system/etc/ and I rename hosts to "hosts.old" and my "hosts.txt" to "hosts"

until now it seems to be working fine

I'm not considering this an answer because I was unable to write on hosts and someone can come up with a better solution

# Answer
> 0 votes
i try to find some solution about this. but i found it my self. i go to recovery mode.at twrp you go setting. and (i forgot) try to find something that will give you checkbox list. and tick check box that called 'system'. niw i can easily replace my hosts file

edit: sorry not setting.go to mount and tick system box

---
Tags: root-access, hosts, samsung-galaxy-s8+
---


# Question
Title: I get the following message on my phone: "confirm if it's you recovering your account"
But I didn't do any recovery and of course I didn't press any button.

It happened already two times.

What does it mean? Does somebody is trying to hack my google account?

I have 2 factor google authentification, but didn't get any SMS, which is supposed happens if somebody is trying to change my password.

I found the following discussions on:

google community

reddit

but it isn't clear for me what does it mean and what should I do.

# Answer
* If you were actually trying to recover your account, you should have received such a message.
* You didn't, and it looks like a glitch as the Google help you linked suggests.
* One option is do nothing, a better option would be review your account, sign out of unused devices, and change the Google password to a *strong* one. This question from our sister site is useful XKCD #936: Short complex password, or long dictionary passphrase?. Generate new 2FA codes, keep them securely.
* Obviously, the second option is better because, you did a security check and changed passwords / 2 FA codes. As an added precaution, be on the lookout for Google security mails in your inbox.
> 1 votes

---
Tags: security, google-account
---


# Question
Title: Need help LOCKING a Moto G6 XT1925-13 after restoring stock OS
I had semi-bricked / soft-bricked my Motorola Moto G6 smartphone as explained here: https://forums.lenovo.com/t5/Moto-G6-Moto-G6-Plus-Moto-G6-Play/Need-help-unbricking-a-Moto-G6-XT1925-13-and-restoring-stock-OS/m-p/5013164

And I was stuck trying to install the stock ROM again. Finally, I was able to install the stock ROM onto the device, but I am unable to LOCK it again. The problem I'm facing because of that is that I will not able to upgrade the OS at all.

```
fastboot.exe oem lock
(bootloader) WARNING: This command erases all user data.
(bootloader) Please re-run this command to continue.
OKAY [  0.021s]
Finished. Total time: 0.029s

fastboot.exe oem lock
(bootloader) Check 'Allow OEM Unlock' in Android Settings > Developer
(bootloader) Options
OKAY [  0.029s]
Finished. Total time: 0.058s

```

When I boot into the OS, in the Setting \> ... \> Developer Options, "OEM unlocking" is already unchecked, as "Bootloader is already unlocked".

In its current state, I cannot upgrade the OS. It's currently at: Android 9.

When trying to check for upgrades, it says:

```
Android version: 9
Current version: PPSS29.55-37-7-10
Security patch level: April 1, 2020

```

Here is what the bootloader displays (I've hidden only the serial number):

```
AP Fastboot Flash Mode (Secure)
BL: MBM-2.1-ali_retail-32ffece02ed-200416
Baseband: M450_23.31.10.89R ALI_INDIADSDS_CUST
Product/Variant: ali XT1925-13 64GB PVT2
Serial Number: [removed]
CPU: SDM450
eMMC: 64GB SAMSUNG RH64AB RV=08 PV=05 FV=0000000000000005
DRAM: 4GB SAMSUNG LP3 DIE:8Gb M5=01 M6=06 M7=00 M8=5F
Console [NULL]: null
Tools Mode Config: DISABLED
Battery OK
flashing_unlocked
Transfer Mode: USB Connected

```

# Answer
> 0 votes
Install Magisk directly after a factory reset before it boots up and the device will be eligible for OTAs. You use 'fastboot boot TWRP.img' instead of flashing TWRP. Make sure to install Magisk Manager and select options to hide Magisk (2 different options) and reboot a couple times to see the effect. This works on my Moto G6.

---
Tags: motorola-moto-g, locked-out, unrooting, motorola
---


title: stream screen to pc

text:
# Question
Title: stream screen to pc
My phone screen is broken and i can't access my data etc. on it anymore since touch and screen don't work. I'm wondering if it's possible to plug it onto an pc and stream the screen to my pc (without an app installed on the phone.) just like downloading an os from pc to android. It's a samsung galaxy s advance. any help would be greatly appreciated!

# Answer
If its just data you are concerned about then you don't even need to mirror your phones screen on your computer. You can use a development tool called ADB, this will allow you to simply connect your phone through USB and access the filesystem.

There is plenty of documentation online about ADB, but if you need any specifics for what to do let me know in a comment.
> 1 votes

# Answer
While using (see its tag-wiki for details) is a good idea, you would need to have enabled to be capable of using it. There are ways to do that (see our broken-screen tag-wiki), though. But there are also alternatives:

For the display, you could use HDMI (or an HML to HDMI adapter) to have it "mirrored" to e.g. your TV or Laptop. For input, you could use an USB mouse/keyboard, assuming your device can operate as "OTG host" (there are some apps to check that – but checking this way would be a chicken-and-egg thingy; easier to just go ahead and try the real thing).

If all those steps work out, you should have a full display and input back, and could do with your device whatever you wish: Streaming, copying, using it as a "NAS", Webcam, whatever.
> 1 votes

# Answer
You can e.g. do so via ScreenStream if you want to access it via a network (wifi).

## Access via USB/ADB

`adb` can thankfully forward network sockets. So:

1. Enable "listen on localhost" in the settings ("advanced" section) of this app. (You can even disable anything else.)
2. Run `adb forward tcp:8080 tcp:8080` (syntax: `adb forward tcp:LOCAL tcp:DEVICE`) or another port you have set in the settings to forward the connection.
3. Now you can access this on your computer with `127.0.0.1:8080`.

Run `adb forward --remove-all` to remove that again.

---

**Alternatively** you can e.g. use adb alone on KitKat or higher as it has a built-in screenrecord feature, but you need a player on your device then. (no simple web access possible.)
> 0 votes

---
Tags: screen, stock-android, touchscreen, streaming, broken-screen
---


# Question
Title: How do I project the screen of my Android phone for a presentation?
How can I project my Droid Incredible screen so I can demonstrate the smart phone to a room full of people?

Does anyone know how I can link the phone to a PC? To a TV?

# Answer
> 24 votes
For Android 5.0+ there is scrcpy is an open-source screen mirroring solution.

* developer mode and adb enabled required
* root **not** required
* scrcpy uses a server app on the device and a client app on your GNU/Linux, MacOS, or Windows machine.
* works over a USB cable or TCP/IP for WiFi scenarios
* supports cropping, recording, multiple devices
* allows for remote control of Android device from PC
* **NEW** As of 2.0 supports audio forwarding on Android 11+ (see blog post or github doc for details)

Download pre-built binaries at above link.

# Answer
> 20 votes
You can use this project to connect to control and see your phone from your desktop computer: ~~http://code.google.com/p/androidscreencast/~~ https://xsavikx.github.io/AndroidScreencast/

All you need is ~~the Android SDK installed and~~ an app OS-bundle (use one from the latest release) and a phone that you can use in debug mode over the USB port. Next you can run the screencast right from your browser if you have the java plugin, just open the jnlp link: androidscreencast.jnlp. You can also download it and run in a terminal with `javaws androidscreencast.jnlp`.

# Answer
> 7 votes
**screenrecord**

`screenrecord` is an internal Android executable that dumps screen to a file, and `ffplay` from ffmpeg happens to be able to play an H.264 encoded stream from stdin

First enable ADB USB access.

Then, put your Android screen in landscape mode to fill the entire desktop display (not like in the portrait demo below), and then on Ubuntu:

```
sudo apt-get install adb ffmpeg
adb exec-out screenrecord --output-format=h264 - |
   ffplay -fs -framerate 60 -probesize 32 -sync video  -

```

You might have to make the screen move a bit before you see anything:

Uncut demo: https://www.youtube.com/watch?v=fVgeoMYm61Q

Explanation of parameters:

See also: Use adb screenrecord command to mirror Android screen to PC via USB

Tested on Ubuntu 20.04, Android 11, Pixel 3a.

# Answer
> 2 votes
Per the idea of using a TV (or projector) specifically, many devices can do this pretty easily using some kind of digital audio/video output connector. Some devices have micro or mini HDMI ports, which could be used with a proper cable to connect to any HDMI receiver. Others support the MHL standard, which does the same thing but via the USB/charging port. Still others (notably Samsung's tablet lineup) use a proprietary dock connector, but have appropriate composite or digital output cables available.

Typically, support for any of these will be noted in the device's specs, so if outputting content to a TV/projector is an important feature then you'll want to simply examine the spec sheet for such information. For the HTC Incredible specifically, you can get a micro-USB to composite cable.

# Answer
> 1 votes
I use the Mobizen app to share my Android mobile screen on a computer screen. The new web browser version is convenient for presentations because it lets you stream any multimedia from your phone.

# Answer
> 1 votes
You can simply:

1. install Team Viewer Quick Support on your phone
2. and then connect on it from **Team Viewer** Client on your PC

# Answer
> 1 votes
I tried AndroidScreencast and Droid@Screen but they were very laggy.

I had success with https://www.vysor.io/, in free version it's ad supported (once every half an hour) and is limited to the lowest quality (which occasionally produces artifacts). But overall it let me do a presentation without any issues.

I just downloaded the Chrome extension and it took care of everything, the setup was quick and easy (even though I'm on Ubuntu).

# Answer
> 1 votes
You can e.g. do so via open-source app ScreenStream (available on Google Play or F-Droid) if you want to access it via a network (wifi).

## Access via USB/ADB

`adb` can thankfully forward network sockets. So:

1. Enable "listen on localhost" in the settings ("advanced" section) of this app. (You can even disable anything else.)
2. Run `adb forward tcp:8080 tcp:8080` (syntax: `adb forward tcp:LOCAL tcp:DEVICE`) or another port you have set in the settings to forward the connection.
3. Now you can access this on your computer with `127.0.0.1:8080`.

Run `adb forward --remove-all` to remove that again.

---

**Alternatively** you can e.g. use adb alone on KitKat or higher as it has a built-in screenrecord feature, but you need a player on your device then. (no simple web access possible.)

# Answer
> 0 votes
Maybe you can use the TeamViewer tool. You have to install the Android part (https://play.google.com/store/apps/details?id=com.teamviewer.teamviewer.market.mobile) and the desktop/laptop part (http://www.teamviewer.com). Then your computer has to be connected to a video projector or something like that.

TeamViewer is free for non-office use and pretty smart.

# Answer
> 0 votes
You can use Bigscreen Broadcast ($0.99 on Google Play). It doesn't require any rooting, and you can install it right from the Google Play store. It enables you to project your Android screen (any app) and your Android cameras (both front and back) to a ChromeCast, or to a free Mac companion viewer.

For full disclosure — my brother built this after the functionality was released in Android and I figured I'd help him find people who were looking for this functionality!

---
Tags: screen-sharing
---


# Question
Title: Can I force clients of my phone's Wi-Fi hotspot to use my DNS?
My phone is a Mi A1 with Oreo 8.1. It is not rooted.

I am offering WiFi using hotpsot .

I discovered that devices connected to my hotspot do not inherit the DNS server from my hotspot.

Questions: *is there a way to push DNS to clients connected to my hotspot?*

I have two custom DNS, self made, with public IP. And I would like that people using my wifi could use these DNS.

# Answer
> 1 votes
No you can't. Each connecting client identifies using its own IP address BEFORE being granted internet access, This means that it does not need to clone address or servers after connection, it can continue sending and receiving packets along its establish (independent) route, identifying as it's own device.

---
Tags: wifi-hotspot, dns, 8.1-oreo
---


# Question
Title: How to get a split apk from a device via adb?
There is a well-known question on how to get APKs from an Android device with adb.

However, this fails for split APKs, because there, `adb shell pm path com.example.someapp` does list you not only one path, but many as shown in this example:

```
adb shell pm path com.example.someapp
package:/data/app/com.example.someapp-5Vnt5z8Kiyfka4DG7cFr3Q==/base.apk
package:/data/app/com.example.someapp-5Vnt5z8Kiyfka4DG7cFr3Q==/split_config.en.apk
package:/data/app/com.example.someapp-5Vnt5z8Kiyfka4DG7cFr3Q==/split_config.x86.apk
package:/data/app/com.example.someapp-5Vnt5z8Kiyfka4DG7cFr3Q==/split_config.xxhdpi.apk

```

So how to do that? Do you need to pull all? Or is `base.apk` (the filename you always get for non-split-apks) e.g. enough? And how to reinstall them then later?

# Answer
For a split APK you need all APK files present on your device if you are lucky. If the device you want to install the app on is too different it may happen that the APK files on your device do not match and you are missing a required APK file, e.g. if the source and the target device have a different CPU architecture.

Usually a split APK consists of (can be more):

* a base APK
* one APK containing the native libraries for the current platform (if the app uses native libraries)
* one APK for the preferences / config UI
* one APK for the translation / localization texts, images,...

If you want to get the APK files without using adb there are apps available that are capable to export all split APK files that belong to an app to a folder on the shared storage of your Android device. One such app is the Open Source File manager Amaze that is available in Google Play Store or FDroid. In Amaze use the "App Manager" to export all split APK files to the `app_backup` folder in shared storage.

For installing a such a bunch of APK files as one app see this question.
> 5 votes

---
Tags: applications, adb, apk
---


# Question
Title: How to fix a device not detected through USB in Android, TWRP and Fastboot mode?
My Android tablet Nexus 9 is not recognized by my laptop. It can be charged, but not be listed by `lsusb` command even in fastboot mode and TWRP. I suppose I accidentally disabled the USB connection through some command as root user. Is there anyway to check the status of the USB device of Android?

# Answer
It was physically broken. I replaced usb board, then the problem was fixed.
> 0 votes

---
Tags: connection-issues, nexus-9
---


# Question
Title: Samsung Galaxy S20 camera cannot use the flashlight
I wanted to use the light with the camera, then it said that some other app is using the light and I see that the two icons on the right on the top are faded out. It's so horrible getting a high-end smartphone and I cannot even use the light with the camera. What can I do?

# Answer
The first thing I see from the image you posted, it appears there is a line through the Flash Lightening Bolt on the left, meaning it is disabled. So I would attempt that button first. Otherwise...

Exit out of the camera app and use the following steps. Go back to camera app after each one to see if it allows normal flash use.

1. Clear cache on camera app
2. Force stop one app at a time that you believe may be the culprit, stopping you from using flash.
3. Try another camera app.
4. Verify you have a working light with some flashlight app.
5. Verify your phone hardware is legit with one of the verification apps in the play store.

All else fails, you can always factory reset. But if it is all original hardware, it's probably from something you recently downloaded.
> 1 votes

---
Tags: camera, flashlight, samsung-galaxy-s-20
---


# Question
Title: Automatically insert recipient name in WhatsApp's broadcast message
I have a broadcast list of about 115 and would like to send a broadcast message on WhatsApp and personalise the message to each person.

The message would read:

> Hi `<Name>`, thanks for spending time with us. Have a good day further.

I know there are codes for fonts and text effects but if anyone knows of a code that would allow me to do this I will be very grateful.

# Answer
you can use the custom WhatsApp broadcast tool for web.

It automates sending of custom message uploaded in a csv using web.whatsapp.com

Link to the program https://whats-app-dialer.com/#broadcasthtml
> 0 votes

---
Tags: whatsapp-messenger
---


# Question
Title: Is this Kindle Store App Legit or Bootleg?
This question is inspired by the answer I received to this question: What is This Strange Symbol When I Try to Play Youtube on Kindle?

User @Banal Vulgarian reports that he has the same problem as I do in Silk Browser, but a specialized Youtube app works. I downloaded a specialized Youtube app and experienced the same success.

But I am suspicious of this app. Is this a legit app published by Google/Youtube,or is it sort of a "bootleg" app developed outside of Google's supervision which may be risky to my device?

Here is the app info:

Here you see the app in the Kindle store search results, with a non-standard Youtube logo (minus!), it has the best reviews of all results (plus!), and the most reviews of all results (plus!). Inexplicably it is the third result rather than the first result (minus!)

I'm looking at the one right in the middle with a blue logo (unusual for Youtube) but it says the publisher is Youtube.com

So I would assume that Kindle Store would sort of vet the names of publishers to make sure they are not impersonating a major company, right? But now look when I click on the contact info for the developer of this somewhat questionable app:

That email address looks a bit sketchy to me. Like a Youtube impersonator, to be honest.

Is this app officially sanctioned by Youtube? If not, what are the risks to me by having it on my Kindle?

# Answer
To my knowledge, the only "official" Google apps are on Fire TV:

https://blog.google/products/chromecast/prime-video-chromecast-android-tv-youtube-fire-tv/

https://techcrunch.com/2020/07/09/youtube-kids-app-is-now-available-on-amazon-fire-tv/

And only consist of YouTube and YouTube for Kids.

I believe these are the apps referenced above: https://www.amazon.com/s?rh=n%3A2350149011%2Cp\_4%3AGoogle+LLC

Everything else is a third-party wrapper/interface.

As for the blue YouTube app, here is a 5 year old reference in a different forum. It may be that as long as the app is just a web browser wrapping the YouTube site (and showing ads), Google/YouTube will look the other way.
> 1 votes

---
Tags: youtube, amazon-kindle
---


# Question
Title: "Now unlock your device and confirm the backup operation"...when trying to backup through abd (TWRP)
Phone: Moto C Plus

Phone OS: Android 7.0

PC OS: Windows 7

TWRP: 3.1.1

Rooted

I'm trying to backup directly to PC from TWRP recovery through adb cmd.

The cmd `adb devices` shows the device id and the word "recovery" next to it, meaning i'm connected successfully and that i'm in recovery. USB debugging is on.

But `adb backup --twrp` shows...

**WARNING: adb backup is deprecated and may be removed in a future release**

**Now Unlock your device and confirm backup operation**

followed by the current directory.

But nothing happens on the phone. This is what's supposed to happen. Skip to 3:26.

Any insight?

# Answer
There is nothing wrong with your backup. You are just impatient. Please ignore *WARNING adb backup is deprecated... Now Unlock your device and confirm...* that is just because the adb.exe doesn't know what's going on at phone side.

You should see TWRP backup starting at phone display immediately without any confirmation

watch the `backup.ab` growing until backup process is complete

i recommend to backup each partition for it's own, that way you avoid trouble with some old bug TWRP just restoring first partition

```
adb backup "-f twrp_data.ab --twrp --compress data"

```

you can convert that `backup.ab` later into `data.ext4.win` with twab.sh (linux only)
> 1 votes

---
Tags: root-access, backup, recovery-mode, twrp, usb-debugging
---


# Question
Title: How to find the PID of an app without ADB?
The ADB method is easy enough, but I may not have a computer at hand. Can I retrieve the PID with a Termux package or an app, or any other methods (including those which require root)?

# Answer
> 1 votes
If you are using Android 7 or above, you need to have access to ADB (either command-line client, or an app which used adb on localhost) or root access to see the PIDs of other processes.

If you are in Terminal emulator app or in Termux app, and you have root access, do this:

```
su
ps -A -o PID,USER,NAME

```

This would output text segregated in three columns: first column as PID, second column is the user which owns the process, and the third column showing the name of the process.

Example output (posting only a snippet of it here):

```
28574 system       net.oneplus.odm
28622 u11_a149     com.oneplus.gallery
28646 u0_a149      com.oneplus.gallery
28701 u11_a149     com.oneplus.gallery:recyclebin
28727 u11_a149     com.oneplus.gallery:contentdetector
28778 root         [kworker/1:2H]
28789 u0_a329      su
28794 root         sh
28872 u11_system   com.oneplus.opbackup

```

Instead of `ps` command, can also use `pidof` as suggested by Yahya Uddin here.

**Note:** PID and UID are altogether different things. If you are after UID, see How can I find app name by UID?

---
Tags: termux, diagnostics
---


# Question
Title: Can't access recovery partition Android 8.1 (Go edition)
Phone Maker: TECNO Model: F1 OS: Android 8.1 (Go Edition) Memory: 8GB ROM 1GB RAM

I have asked a question here: Android fastboot restoration points

In summary the phone was updating then the battery died and now it is stuck in fastboot mode. It shows the text `=> FASTBOOT mode...` in the bottom left corner of the fully black screen.

I discovered its possibly a single slot device (does NOT support seamless system updates) and obviously the update process got bad. What are the ways to recover from this (fastboot mode screen) so the phone boots up correctly. I am currently using ADB, Fastboot to interact with the phone via USB. Below is the output that I get when I run 'fastboot getvar all' on a windows 10 system.

```
(bootloader)    max-download-size: 0x8000000
(bootloader)    partition-size:flashinfo: 1000000
(bootloader)    partition-type:flashinfo: raw data
(bootloader)    partition-size:userdata: 14ff80000
(bootloader)    partition-type:userdata: f2fs
(bootloader)    partition-size:cache: 7000000
(bootloader)    partition-type:cache: ext4
(bootloader)    partition-size:system: 59000000
(bootloader)    partition-type:system: ext4
(bootloader)    partition-size:keystore: 800000
(bootloader)    partition-type:keystore: raw data
(bootloader)    partition-size:secro: 600000
(bootloader)    partition-type:secro: raw data
(bootloader)    partition-size:oemkeystore: 200000
(bootloader)    partition-type:oemkeystore: raw data
(bootloader)    partition-size:metadata: 2500000
(bootloader)    partition-type:metadata: raw data
(bootloader)    partition-size:nvdata: 2000000
(bootloader)    partition-type:nvdata: ext4
(bootloader)    partition-size:tee2: 500000
(bootloader)    partition-type:tee2: raw data
(bootloader)    partition-size:tee1: 500000
(bootloader)    partition-type:tee1: raw data
(bootloader)    partition-size:frp: 100000
(bootloader)    partition-type:frp: raw data
(bootloader)    partition-size:vendor: 12000000
(bootloader)    partition-type:vendor: ext4
(bootloader)    partition-size:expdb: a00000
(bootloader)    partition-type:expdb: raw data
(bootloader)    partition-size:odmdtbo: 1000000
(bootloader)    partition-type:odmdtbo: raw data
(bootloader)    partition-size:logo: 800000
(bootloader)    partition-type:logo: raw data
(bootloader)    partition-size:para: 80000
(bootloader)    partition-type:para: raw data
(bootloader)    partition-size:recovery: 1000000
(bootloader)    partition-type:recovery: raw data
(bootloader)    partition-size:boot: 1000000
(bootloader)    partition-type:boot: raw data
(bootloader)    partition-size:lk2: 60000
(bootloader)    partition-type:lk2: raw data
(bootloader)    partition-size:lk: 60000
(bootloader)    partition-type:lk: raw data
(bootloader)    partition-size:seccfg: 40000
(bootloader)    partition-type:seccfg: raw data
(bootloader)    partition-size:persist: 3000000
(bootloader)    partition-type:persist: ext4
(bootloader)    partition-size:protect2: a00000
(bootloader)    partition-type:protect2: ext4
(bootloader)    partition-size:protect1: a00000
(bootloader)    partition-type:protect1: ext4
(bootloader)    partition-size:nvram: 500000
(bootloader)    partition-type:nvram: raw data
(bootloader)    partition-size:proinfo: 300000
(bootloader)    partition-type:proinfo: raw data
(bootloader)    partition-size:preloader: 40000
(bootloader)    partition-type:preloader: raw data
(bootloader)    off-mode-charge: 1
(bootloader)    warranty: yes
(bootloader)    unlocked: no
(bootloader)    secure: yes
(bootloader)    kernel: lk
(bootloader)    product: K80_BSP
(bootloader)    version-preloader: 0.1.00
(bootloader)    version: 0.5
all: Done!!
Finished. Total time: 0.142s

```

I tried the command  `fastboot reboot recovery` but it responds ok and still displays the fastboot mode text

How can I: 1.) Recover the data by booting into the recovery partition (right now I am unable to access the recovery partition) 2.) Recover the data and boot the device via other means apart from recovery partition

Flashing the phone is a last resort. But is it possible to Flash the phone and still retain the data I had on it before this incident occured?

PS: For obvious security reasons I only intend to stick with official tools (ADB, Fastboot) to solve this problem. I am NOT willing to install any unofficial software on my computer.

# Answer
You may be able to restore your phone using SP Flash Tool since you phone uses MediaTek CPU

1- Download SP Flash Tool

2- Download the ROM from here

3- Download the driver from here installation steps inside the zip "README" file

4- power off you phone

5- open SP Flash Tool. Go to Download tab Click Scatter and Load Scatter File from ROM Folder

6-Select Download Only. Click Download & Connect the Switched off Phone
> 2 votes

---
Tags: recovery-mode, data-recovery, fastboot
---


# Question
Title: Home screen is blank, lock screen working
I have a Samsung GT-P1000 (about 5 years back from Samsung shop). Upgraded to Gingerbread about 1 year ago. Two weeks back I rooted with last known config as -

* Firmware 2.3.3
* Baseband P1000DDJP4
* Kernel 2.6.35.7 root@SE-S605 #4
* Gingerbread DDJPA

Two days back, I installed AppManager\[aka Uninstall Manager\] from EasyAppStudio and this app "took over" the home screen and does not exit the app (but kind of swipes right and displays blank screen). Though I was able to use all other apps through this app. I wanted the main home screen so I uninstalled this app. Again same thing but this time I had no access to regular apps. Though I could use soft and hard buttons shortcuts to pull up apps I knew.

Then I hit hard-boot, it is now back to the original look-and-feel but the home screen problem remains. And the only thing I can do now is to use long press on home to bring Task Manager or pull down the status bar. (Locked screen still works and I can unlock the "blank" home screen.

After a hard reset, all shortcuts and old apps were not available. So I emailed myself with a link to Play Store. Got email notification on the status bar, and accessed email and accessed Google Play Store. Got my apps back but home screen is STILL blank. No wallpaper, no icons, no screen swaps, nothing.

Yes, I can download and run anything I want to. But my home screen is blank. Here are some images for a better understanding of the situation.

* Lock screen
* Opening Lock
* Blank home screen. Note - the top status bar and lower buttons are functional,
* Long press on the home button to bring the task manager
* Running apps (any app as long as I can access it by the status bar or task manager).

# Answer
I had the same problem and after trying many things, I just installed a 3rd-party launcher such as Nova Launcher and suddenly it seemed to work.

I knew it was a launcher issue since everything else was working fine. I think if you just try and update your Launcher from Play Store or just install a new launcher, everything will be back to normal.
> 1 votes

---
Tags: samsung, 2.3-gingerbread, home-screen
---


# Question
Title: adb shows devices as offline but system_profiler detects the devices fine
I have several devices (mix of tablets and phones) connected to my mac mini. Some of them are connected directly while some are connected by a good quality hub.

```
$  system_profiler SPUSBDataType | grep -i serial
   Serial Number: 015d2109ed4c0c18
     Serial Number: 4dfcbd091f3a5023
     Serial Number: 000ee30e7de4cf
     Serial Number: 4100018996d37000
     Serial Number: 0123456789ABCDEF
   Serial Number: FA35FW901634
   Serial Number: 2021bbaa

```

For sometime, adb detects all these devices fine.

```
$ adb devices
List of devices attached
4100018996d37000        device
0123456789ABCDEF        device
000ee30e7de4cf  device
4dfcbd091f3a5023        device
2021bbaa        device
FA35FW901634    device
015d2109ed4c0c18        device

```

But with time, these devices goes in offline state irrespective of the way they are connected (direct or via hub). Even when these are in offline state, as reported by adb, system\_profiler still detects them fine. This means that Mac mini is still seeing these devices but adb is not.

I am using original cables that came with the phone. Why do they go in offline state? Only thing that get the devices back is physically re-connecting the devices. Can anyone help me with this?

# Answer
> 1 votes
We've been looking for an answer to this for some several months. Unfortunately, the most hopeful response I've seen is this one, which suggests moving the Mac Mini to Linux, whose USB stack is described as 'more forgiving':

https://stackoverflow.com/questions/15727314/resetting-android-device-when-it-goes-to-offline-mode-during-automation

We're going to try shifting to a spare (PC-based) Linux box for the time being; I'll try to remember to report back whether it's more reliable.

# Answer
> 0 votes
Try enabling the "Stay awake" setting under Developer options to keep it "active" while connected to the USB.

# Answer
> 0 votes
In this scenario, usually what i do is , stop the adb server, use the adb kill-server command. You can then restart the server by sending any adb command. Please check if that works

# Answer
> 0 votes
I was having the same problem. The adb devices command was giving device offline response.

Then I stopped adb server by executing the following command. adb server-kill

Then again started daemon by adb devices command. Connection request was promted on my android phone and I gave it . Then I could see my device online

This worked for me hope it would also resolve yours

---
Tags: usb, adb, offline
---


# Question
Title: Stop receiving text messages in my Samsung Note 8 that are sent from spammers email address
I have been getting unwanted text messages on my Samsung Note 8 coming from a spammers email account.

I have not found a way to block these text messages coming from email accounts. The feature that I use to block phone numbers is not available.

Any help will be appreciated.

# Answer
> 0 votes
You receive only spam from one account - you are lucky. Typically is an mail account gets older you receive spam from hundred of spammers once your mail address has been recognized by a spammer.

Spam protection typically a job of your mail provider. Often the "SPAM detection report" is hidden in the mail header. On most mail providers you can use the fields in the mail header to move mails to certain sub-folders, e.g. in this case to a "potential spam" folder in your mailbox. Mail provider can reject spam messages so that they never reach you. I would assume that this already happens if you only receive SPAM from one sender.

Additionally you can check if your mail provider allows you to provide new SPAM samples so that they might get recognized in the future. Sometimes there is an e-mail address you can forward SPAM messages (as attachment) to or you can mark message as SPAM in the mail provider web GUI.

Very few mail clients include a client side SPAM protection based on machine learning. Bt typically such systems are more common on desktop PCs (e.g. in Thunderbird). In Android apps such a self-learning SPAM protection is not that common (I don't know any app that would provide such a feature).

---
Tags: samsung, sms, email, spam
---


# Question
Title: How to check if Android app is taking pictures in the background?
I have Android app that I found to be loading Camera in the background. It's one of the most widely used internet browsers - Chrome.

I been trying debug what is actually happening with LogCat in the Android Device Monitor. Couple of lines that catch my eye:

```
I/CameraManagerGlobal(24529): getCameraService: Reconnecting to camera service
I/CameraService(331): getCameraCharacteristics: Switching to HAL1 shim implementation...
I/NuPlayer(331): setDataSourceAsync(URL suppressed)
I/CameraClient(331): Opening camera 1
E/QCamera2HWI(331): [KPI Perf] int qcamera::QCamera2HardwareInterface::openCamera(hw_device_t**): E PROFILE_OPEN_CAMERA camera id 1
I/QCameraHalWatchdog(331): Starting Watchdog Thread...
E/mm-camera-intf(331): mm_camera_open: dev name = /dev/video2, cam_idx = 2
D/QCameraParameters(331): int32_t qcamera::QCameraParameters::initDefaultParameters(): supported pic sizes: 1280x960,1280x720,640x480,352x288
D/QCameraParameters(331): int32_t qcamera::QCameraParameters::setNumOfSnapshot(): nBurstNum = 1, nExpnum = 1
I/QCameraHalWatchdog(331): Stopped Watchdog Thread...
I/CameraClient(331): Destroying camera 1
E/QCameraPostProc(331): int32_t qcamera::QCameraPostProcessor::deinit(): Jpeg closed, rc = 0, mJpegClientHandle = 7900

```

How would I know if picture is actually taken?

Is this possibly normal behavior to check camera availability?

# Answer
> 1 votes
Checking if one or more camera devices are available is not that unusual as it seems, it is often used to check whether camera-options should be shown or not. It seems unlikely as well that an attacker/spy would generate a log output that could reveal their intention. However, opening the camera as shown in your log seems suspicious and you should investigate it further. My suggestions:

* If you got some strings or classnames you can search further in the open source of "chrome for android" (see this post for where to find the code) and check where the strings are used in the code. Maybe you can identify the calls and imports to the Camera API and check how they are used. Depending on the Android version the imports may vary, but here are some examples for the Camera2 API to look out for:

+ "android.hardware.camera2.CameraManager"
    + "android.hardware.camera2.CaptureRequest"
    + "android.hardware.camera2.CameraCaptureSession"
* If you want to dig deeper I would recommend you to hook certain API calls with tools like Frida or RMS. This tools allow you to hook java calls when they are executed and you can log some more output if necessary. So you could actually hook the java camera API and see if a picture was taken. In case you have built the code yourself you can as well attach the debugger and set breakpoints to stop the code at certain states.
* It sounds weird, but one of the fastest ways is maybe to ask the developers of chrome for android (embedded chromium) directly why there are using the camera and where in the code. Maybe you can open a new discussion on the official project webpage to ask devs to have a look at it.

---
Tags: chrome-for-android, camera, background-process
---


# Question
Title: Adaptive Notifications re-enabling itself after some updates
I have a OnePlus 6T running Android 10 / OxygenOS 10.3.4. The problem I'm about to describe has, I believe, been present since the system upgrade to Android 10.

I started seeing these suggestions on various notifications - mainly from messaging apps; the above is a WhatsApp notification. I don't want them, and didn't have a clue how to turn them off because I didn't know what they were called.

Googling various related things ('suggestions', 'smart notifications', etc.) didn't get me any closer, but I eventually found some article on a feature that'd just debuted called 'Adaptive Notifications'. While it didn't mention the above behaviour explicitly, I figured this must've been it.

### Switching them off (temporarily)

Sure enough, when I dug through my settings, found the option under *Apps & notifications \> Special app access \> Adaptive Notifications*, and switched it to 'None', these suggestions on notifications disappeared after a few minutes.

However, they periodically reappear after I apply a bunch of Play Store updates - and every time they do reappear, I find that 'Adaptive Notifications' has been re-enabled in my settings.

I'm unsure precisely what updates trigger this, but I'd hazard a guess at it being Play Services.

So, how do I stop this from happening?

# Answer
> 1 votes
While this setting keeps turning itself back on after certain updates, I've finally figured out how to switch off these 'smart actions' (apparently that's their actual name - see my above comment).

* As per the above, go to the Adaptive Notifications setting. **Switch it on.**
* Go to **Settings \> Apps & Notifications \> Notifications**.
* Scroll down and hit **Advanced**.
* Scroll down to **Suggested actions and replies**. Switch it off.

I'd seen this setting before, but it was greyed out. The missing step was re-enabling adaptive notifications.

---
Tags: notifications, android-10
---


# Question
Title: How to keep Google Maps sounds in Phone, while calls in Car Sound system, while driving?
I am driving with Google Maps, while Bluetooth on. I cannot hear any Google Maps sounds if Bluetooth is on, my car stereo system is not playing them, while listening radio (I know you could change the input source but I do not want that). So I turn Bluetooth off because then the sounds of Google Maps come from the phone.

How can you force all sounds from Google Maps to come from the phone, although you have Bluetooth on and connected to car stereo?

# Answer
I installed the application *Waze* which has the setting *Play sound to phone speaker*, which solves the case, at least for now: all sounds of the applications go the phone speakers, while calls etc go to the car speakers. I could not do that on Google Maps.
> 0 votes

# Answer
Current version of Google Maps (10.47.1) seems to support this function:

1. tap on your avatar icon
2. tap on "Settings"
3. Scroll down and tap on "Navigation Settings"
4. Disable "play voice over Bluetooth

Tested with Bosch Infotainment headunit in Suzuki car and it worked exactly as expected.
> 1 votes

---
Tags: audio, google-maps, google-maps-navigation
---


# Question
Title: Hacker keyboard 5 row compact layout - where is the euro sign?
I've been using the hacker keyboard for ages, and with a bigger screen, I started to use the 5 row compact layout - the US international layout that is used for normal keyboards on laptops and desktops.

My problem: where is the € or euro sign?

# Answer
I have English (India) & English US as languages & keyboard set as 5 row compact layout (US QWERTY only), with the keyboard having default settings with only change being Popup mini keyboard settings to the last one, `Add Self`

Press **`Alt`** and letter **`e`**, **together** and in the menu that appears, you see  at the end as in screenshot (see video)
> 0 votes

---
Tags: keyboard
---


# Question
Title: How to enable "Disable HW overlays" at startup?
Question is simple, is there an easy way to enable developer options on startup from a command line script or 3rd party app? I want to set the flag for 'Disable HW overlays' on startup because it gets turned off every-time I restart the system.

For reference I am on Android 10, with bootloader unlocked, custom recovery, and rooted.

# Answer
Source-reddit, which references Android documentation

> to DISABLE the h/w composer: `adb shell service call SurfaceFlinger 1008 i32 1`

> to ENABLE the h/w composer: `adb shell service call SurfaceFlinger 1008 i32 0`

These need to be run as root and can be in a script or using the Termux Boot app as described in wiki

For some reason, this works the opposite way for OP (command for enable disables and vice-versa ; maybe a case for a separate question)
> 3 votes

---
Tags: android-10, scripts, developer-options
---


# Question
Title: Is it possible to reduce the charging current?
I'd like to reduce the charging current of my phone, because

* It gets too hot
* I am charging it overnight so it's more beneficial to charge it slowly.

Is it even possible from a hardware perspective to regulate the charging power (e.g. reduce it from say 2000mA to 1000mA)?

I tried to search on google but not only that I didn't find any apps that would be able to accomplish it - I didn't even find anyone discussing it anywhere.

# Answer
Solved using the magisk module advanced charging controller (AAC), which let's you set the maximal current to whatever you want using the shell command `aac --set --current {milliamperes}`.
> 0 votes

---
Tags: rooting, charging, hardware
---


# Question
Title: Import SMS/MMS messages and Call log backup to Fresh LineageOS
I switch from Google Android to LineageOS and prepare all my data to be ready for the switch. Everything is on Nextcloud so, Contact, Photos, etc are already out of my device. I want to backup SMS/MMS messages and Call log. I can backup them with Samsung Switch, but is there a way to import them in LineageOS after?

# Update 1

I'll not install LineageOS with Google Apps support, so any apps from Google Play will not be able to run after the LineageOS install. I can install app from F-Droid or run command line in Linux shell if needed.

Thank you!

# Answer
Thanks to @beeshyams for his comment.

# TL;DR

Just install SMS Backup & Restore or download it from apkmirror. Copy apk to SD card. Do a backup of SMS/MMS messages (don't forget to enable MMS images/file/etc in advanced settings) and Call log to SD card. After the switch to LineageOS, install APK from SD card and import SMS/MMS messages and Call log. Done.

# Story (and issues)

I finally switch from Android 5 on my Samsung Galaxy Note 3 (don't laugh, it still rocks!) to LineageOS 16.0 following Install LineageOS on hlte.

After a backup of my data (see *TL;DR*), I boot in recovery mode and at the Installing a custom recovery using heimdall step, the command

```
heimdall flash --RECOVERY <recovery_filename>.img --no-reboot

```

did not work properly.

My shell fail with :

```
ERROR: Failed to confirm end of file transfer sequence!
ERROR: RECOVERY upload failed!

```

and my device show a "`SECURE CHECK FAIL : recovery`".

From this post,

> "it was the **Samsung Reactivation Lock** that was blocking me. Upon booting the phone, going into Apps \> Setttings \> Security and then typing in my samsung account password I was able to disable the lock \[...\]"

And recovery file upload success!

After the LineageOS install, I use SMS Backup & Restore again to import data.
> 1 votes

---
Tags: backup, import
---


# Question
Title: Is it possible to install an app compiled for ARM on an x86 emulator image
I tried to install an apk from online on a virtual device, but it wouldn't install due to INSTALL\_FAILED\_NO\_MATCHING\_ABIS.

I'm able to install it on an ARM image, but ARM images are super slow on my computer. So is it possible to convert or modify the apk to use x86?

One of the answers on this post said "If you using Genymotion you need Installing ARM Translation and GApps". But comments on that answer said that it doesn't work anymore.

So is there any way to do this?

# Answer
> 4 votes
No, it's not possible. You need to find a version of the app that was compiled for x86, or without any architecture-specific parts (i.e. Java only).

# Answer
> 4 votes
### Genymotion with ARM translation

You can use genymotion (the personal use version is free) with an Oreo ROM + ARM\_Translation\_Oreo.zip (google the filename to download it). Once you download the zip simply drag-and-drop it into the emulator window, accept the prompt and then reboot the emulator. It's not a lightweight solution since genymotion uses virtualbox as a backend but it works way faster than google's arm images available with android studio.

### Standard Android emulator with an ARM image

Another option (does not answer your question directly) is to actually use an ARM image instead of X86. In Android Studio \> Tools \> AVD Manager \> Create Virtual Device when prompted to **Select a system image** select the **Other images** tab and pick an arm-based image — those images will run VERY slowly compared to X86. You will get a warning that it's not recommended, but you might get acceptable performance if you select the oldest API version possible (depending on your needs) with a low screen resolution.

# Answer
> 2 votes
In Android emulator https://developer.android.com/studio/releases/emulator page, highlighted that arm based application now can be install and run on android 9 and 11 emulator.

As @K3rnel31 comment, android 11 emulator can't start as writable-system. Android will be your friends. It requires download the "Android 9.0 Google X86\_ARM" system image.

# Answer
> 0 votes
as for now android R (11) x86\_64 supports arm application , just tested it and it works , but there is no way to root it , if you look for testing applications will be for nothing

---
Tags: apk, android-emulator, android-x86, arm-processors
---


# Question
Title: Bring back to life my dead Tablet (Is it Bricked?)
**Edited 12/3/2018**

My tablet died from one minute to the next. I can't get it to turn on and it doesn't connect to the computer. I can't even get it to handshake with the computer when running SP Flash Tool.

**Device Info:**

* Pipo N7
* Android 7.0
* MTK8163A Chipset
* Rooted with Magisk
* TWRP Custom Recovery

**This is how it happened:**

The tablet was connected to PC and I was trying to push a file with adb to my External SD Card. I got an error message that permission denied. I tried doing adb root and push again out I still got the same message. I tried a third time and got the same message. After this 3rd message I found the tablet was off and nothing I did was able to get it to turn back on.

I'm running the rooted device for about 2 weeks without any problems. The only change in the last few days was the TWRP Custom recovery which I added about 2 days before the device died on me. The device was about 95% charged when this happened.

**This what I have tried:**

1. I tried a variety of hardware buttons for extended time like up to a minute. for example Power + volume UP, Power + Volume DOWN. with and without it being connected to the charger.
2. I tried a few different chargers.
3. I tried putting the tablet into the freezer and then to charge.
4. I tried warming up the device and then charge it.
5. I tried with a battery pack.

I have read many posts about this but nothing I tried helped me.

To me it looks as if the device is dead not that there is a problem with the charge, But I may be wrong.

\** **EDIT** \**

A little over a week after this happened I happened to connect the device to a charger and lo and behold the device showed the charge logo. After that I powered it on and it turned on. I was very surprised but glad.

But then after a little while o using the device, I got on the screen colored lines moving around. Nothing I tried was able to get this to go away, So I held the power button to turn it off. After this I'm in the same problem as before the device is dead.

Now this proves that the device isn't bricked. My question now is what is it that is causing this and how do I fix it. At this point it is dead again but I may have some luck again in it turning on again.

\** **End EDIT** \**

Please any help with this would be greatly appreciated. i would like to also try to figure out why this happened as well as trying to repair the tablet.

# Answer
> 0 votes
Drain the battery fully and then recharge it. This has worked for me in the past.

---
Tags: unbricking, tablet
---


# Question
Title: Auto start two apps on split screen after reboot
I have **Two running Android apps** *(used for surveillance and doorbell)* permanently and simultaneously **on split screen**.

Sometimes, the person who used the device (for personal purposes) forget to get everything back, or maybe something else happens, so it is necessary to:

* Close all recent unnecessary apps.
* Launch surveillance and doorbell apps in split screen.

> Is it possible to reboot the system every night automatically, then launch the two apps on the split screen?

# Answer
> 2 votes
You can accomplish with automation. Using Automate to demonstrate how to do it:

1. Select the Broadcast Receive block. Click on it, in the Action section, select "Boot completed". Click Done.
2. Select App Start block. Click on it, in the Package section, select the first app you wish to start at boot. Click Done.
3. Select the Interact block. Click on it, in the Action section, `Toggle split screen (Android 7+)`. In the Package section, select `com.android.systemui`. Type `android.widget,ImageView` in the "UI Element Class" section, then type `Recent Apps` in the "UI Element Text" section. Click Done.
4. Select the Delay block, in the Duration section set time the amount of time the flow will wait before continuing to the next block (we wait for the first app to start properly before opening the second). I have set it to 5 seconds.
5. Select App Start block. Click on it, in the Package section, select the second app you wish to start at boot. Click Done.
6. Save and give it a name. Link the blocks as seen on the image below.
7. In the Settings, select "Run on system startup".
8. Don't forget to give the necessary permissions when asked. Press start.

Every time you reboot your device, after the boot has been completed, the first app will be launched. Then, the screen will be split based on Recent apps with the first app occupying the top part of the screen. After a 5 second delay, the second app will be launched occupying the other part of the screen.

The flow was inspired by this example: Split screen Google Maps/Deezer

# Answer
> 0 votes
Reddy's answer above works great, BUT you need to place another link between the "OK" of your second app and the "IN" of the receive broadcast or else it will work for your next reboot cycle, but then end and not work in the future.

Further, you must make sure you have enabled "Run on system startup" in the general Automate settings menu.

Image of extra link needed:

---
Tags: applications, adb, tasker, reboot, automation
---


# Question
Title: Help Me Fix An Embarassing Mistake (Without Losing Data) :o
Sorry if the pic is too big. I also asked this question here but haven't gotten much help and copied and pasted my question from there, so if you go there, you can skip the first post.

I have a rooted LG Tribute LGLS675516100eb running Android 5.1.1. A few days ago I was looking through some settings in Andromizer and turned the DPI setting all the way up just to see what it would do(confusing DPI for resolution:o), but it said I had to reboot for the change to take effect. I didn't want to reboot at the moment so I cancelled\**. But when I rebooted to wipe the Dalvik cache a few minutes later(what I installed Andromizer for), the DPI setting took effect and now I can't get past the lock screen because the button you push after you put in the password is off the side of the screen.:laugh::o

I don't understand what these have to do with the DPI setting but: Also, nothing happens when you push the emargency call button so I can't use that glitch to bypass the lock screen:(. And when I call the phone, the Call app crashes.:confused:

I want to fix it without losing data. I tried ADB but it says "LGLS675516100eb unauthorized" with the devices command. I thought I had USB Debugging on, but apparently I don't? I tried Dr. Fone but It gets stuck at 99% for 10 minutes then it says "Install Model Failed", while on the phone, the firmware update(that's not actually a firmware update for this operation I assume) is stuck at 0%. I think Tenorshare 4uKey and iMyFone would work but I won't go past the screen that says all data on the phone is about to be erased.

I'm not gonna have to send my phone to that company in Isreal that can unlock iPhones am I?:p:laugh:

\**If I remember correctly, I selected OK when I changed the setting and then the reboot notification happened when I left the page. So apparently cancelling the reboot only did so for the moment but not completely.:mad:

*\[End Of Pasted Portion\]*

Also, I tried side loading TWRP in recovery mode (in order to change the DPI setting via command line) but I got: E:footer is wrong E:Signature verification failed.

# Answer
I finally fixed it by flashing the ROM. I tried this before but forgot about all the extra hoops I had to go through to get it to work with my particular phone. Also I probably assumed it wouldn't work because the phone was locked.

The OTG mouse didn't work because my phone doesn't support OTG. I tried it even though it wasn't listed in my phone's specs. None of the other suggestions worked because my phone was locked.
> 1 votes

---
Tags: locked-out
---


# Question
Title: Remove Apps Button From Favorites Tray In 5.1.1
I'm running 5.1.1 on a rooted LG Tribute LS675ZV5. I would like to remove the apps button from the favorites tray. This version of Android doesn't have that setting in the homescreen settings. I've googled(DuckDuckGoed actually) high and low and can find no solution.

Although I did discover Xposed and it seems you can do anything you want to Android with that. Perhaps including this?

# Answer
> 0 votes
I decided to give another chance to Izzy's list on Home Replacements (Launchers/Homescreens) and ended up using Smart Launcher. It works great.

---
Tags: 5.1-lollipop
---


# Question
Title: TWRP createTarFork() error 255 when backing up data
I have installed FreedomOS on my OnePlus 5. I'm not sure if this is related to FreedomOS, but when I try to make a backup in TWRP with data, system, and boot, it has an error with `createTarFork()` shortly after it gets to backing up data. It also says 'read only filesystem' when I try to open Terminal from Advanced and run '`cd /data/media/0/TWRP/BACKUPS/bad7d639 && rm -rf backup-name`'. What can I do to fix this and why is this happening?

# Answer
I think I found the solution!

1. In TWRP, go to "Wipe" and swipe to factory reset
2. Download:
    * OnePlus Recovery: `oxygenos.oneplus.net.s3.amazonaws.com/OP5_recovery.img`
    * OxygenOS: `oxygenos.oneplus.net.s3.amazonaws.com/OnePlus5Oxygen_23_OTA_015_all_1708252353_e6d7756780064352.zip`
3. Rename the recovery image as `recovery.img`, boot phone into fastboot, plug into the computer, run these commands on the computer:

```
fastboot devices
fastboot flash recovery recovery.img
fastboot boot recovery.img

```
4. Open recovery on the phone
5. Select "Forgot Password", this will wipe all leftover files in SD Card.
6. Boot back into recovery, select reload, select "Install over ADB" or "Install Over USB" or something similar and plug the phone into the computer.
7. Run `adb sideload oxygen-os-filename` on the computer.
8. Let it install OxygenOS, it may appear to be frozen at some points; it probably isn't, so don't shut it off or unplug USB.
9. Download Bluspark TWRP
10. Reboot into fastboot, plug into the computer and run these commands on the computer:

```
fastboot devices
fastboot flash recovery bluspark-twrp-filename-location.img
fastboot boot bluspark-twrp-filename-location.img

```
11. Success (hopefully)
> 0 votes

# Answer
For me, the error was related to the I/O or file corruption issue.

To find what has happened, browse to the backup location (usually `/external_sd/TWRP/BACKUPS/backupfolder`) and find the `recovery.log` file. Open the file, and at the bottom lines, read what folder caused backup failed.

Delete the corrupted folders using TWRP File Manager, delete the old backup folder, and try to do a backup again. Consider that this may occur for different folders, so you need to read the log file every time.
> 3 votes

# Answer
Currently, TWRP doesn't support multiple user profiles or what OnePlus calls Parallel Apps.

This XDA post has a work-around.
> 2 votes

# Answer
On my OnePlus6, the issue was having multiple users configured.

To remove the additional user (and stay only with the default one), I used Total Commander to see the files under /data/user. It had a folder named "10", which is the id of the additional user.

Then opened a terminal (using termux) and run:

```
su
pm remove-user 10

```
> 1 votes

# Answer
Had installed Shelter App, this a second User environment or Work Profile. The Second user is encrypted with extra User Password, which my version of TWRP could not decrypt.

It is discussed in here GitHubForTwrp A script is mentioned also which would remove folders. I did uninstall Shelter App and deleted following folders "10" is ID for additional user.

```
/data/system_ce/10
/data/system_de/10
/data/misc/user/10
/data/misc_ce/10
/data/misc_de/10
/data/user/10
/data/user_de/10
/data/user_ce/10
/data/vendor_de/10
/data/vendor_ce/10

```

After removing these folders TWRP BU worked.
> 1 votes

# Answer
TWRP has some compatible problems with OnePlus 5. I have the same error using TWRP 3.1.1-1 with LineageOS 7.1 nightly build, but I finally work out with this:

1. Reboot into recovery, TWRP
2. Go to the terminal in "Advanced"
3. Type `cd /system` to change the path to the system folder
4. Type `rm addon.d` to remove the addon file
5. Type `exit` to quit from the terminal

Now back to TWRP home, try backup/restore again, it should works.

Further adjustment: do check the `use rm -f` to format disk settings of TWRP, to make sure TWRP won't mess up the filesystem.
> 0 votes

---
Tags: backup, twrp, file-system, oneplus-5
---


# Question
Title: Display details stored in address book while receiving a call
Let's consider a situation where I have lot of people in my contact list named Kumar. Is there a way to display all or some of the details stored in address of a contact while receiving a call? like his company, address, anniversaries, etc,.

# Answer
True Phone Dialer & Contacts & Call Recorder is a contacts and dialer app that does pretty much what you are looking for except displaying email ID. It's free for 7 days after which you can disable ads by going pro.

Install the app, from 3 dots menu at bottom right → Incoming /Outgoing Calls → disable incoming call notification to see full screen call details.

On my OnePlus 7, Android 10,using the default contact app I filled in details and it displays event date (birthday), address & notes ( Don't be Covidiot- you can replace this by Email address if you badly need that)

(Click to enlarge)

From 3 dots menu at bottom right → Incoming /Outgoing Calls → additional info, select to show (needs to be manually edited in the contact information using this app)

(Click to enlarge)

I added *job information* & *Nickname* manually (my contacts app doesn't have those fields) and now the screen shows

(Click to enlarge)

Eyecon:caller ID, calls and phone contacts is another alternative that harvests caller information and photos from social media and displays - in case, it helps somebody who likes that approach.
> 2 votes

---
Tags: contacts, phone-app, caller-id
---


# Question
Title: Trying installing Lineageos, Reboot my phone but stucked now in the Odinmode
I am trying to install LineageOs on my Samsung Galaxy J5. Currently i am trying to to reboot my Phone... I writ this in my command:

```
adb devices
List of devices attached
1709f084 device emulator-5562 offline

adb reboot bootloader
error: more than one device/emulator

adb devices
List of devices attached
1709f084 device emulator-5562 offline

adb -s 1709f084 reboot bootloader

fastboot flashing unlock < waiting for any device >

```

Afte writing the command `adb -s 1709f084 reboot bootloader` i t got in the odin mode. After writing the command `fastboot flashing unlock` nothing changed...

What am I doing wrong?

Greetings :)

# Answer
> 1 votes
Samsung doesn't have fastboot mode . Use odin to flash your device . If you search online you will find Odin for your computer . Install it . Most likely the Linageos uses custom recovery to flash . If so flash TWRP or any other custom recovery available for your device and flash Linage from there . If you are tring to get out of odin mode . press (power + volume down) to force reboot . if that doesn't work try volume up with power key . Before flasing anything make sure you have activated bootloader unlocking in Devlopers settings :)

---
Tags: lineageos, reboot
---


# Question
Title: Why does Tinder constantly appear on my Opera mobile home page without me adding it?
I've been using Opera Mobile on my phone for roughly two months now and lately I've noticed that Tinder repeatedly appears on my Opera mobile browser homepage without me adding it.

The first time, I didn't pay it much attention. I thought perhaps I'd clicked on a website that somehow added Tinder on there. I removed it and moved on.

The second time, I got a bit more suspicious, so I reinstalled the app.

Tonight, the third time, my boyfriend saw it and I had to explain to him, in a very awkward and unpleasant conversation, that I'm not actively using Tinder.

Again, I don't and have never used Tinder in any way whatsoever, mobile, desktop, you name it.

This is my homepage right now, with the unwanted Tinder app included:

Is there a way to completely disable this? I don't want to have to uninstall this browser.

# Answer
You cannot disable promotional speed dials on the mobile browser. The only thing you can do is manually delete them.
> 0 votes

---
Tags: browser
---


# Question
Title: How do I change my default alarm clock app?
So trying to get it so I can say "ok Google, set alarm x". But it defaults to the basic alarm on my phone which is not a good alarm clock. Looking through settings, apps, there seems to be a way to switch the default program for everything except alarm clocks. Thank you

# Answer
Say: "Okay Google, set a timer". When it prompts you for the duration, there will be an option somewhere on the screen where you can click and select a different timer app.
> 6 votes

# Answer
I'm not sure if the problem solved itself, or if it was something I did. Instead of OK Google set alarm, I did OK Google "specific alarm app" "time" , and it now defaults without having to specify the app anymore.
> 3 votes

# Answer
I use Alarm Clock Plus and was having the same problem with the requested alarms defaulting to the system's clock app. Using Joshh's answer, I said "OK Google Alarm Clock Plus set alarm for 9am". Once Google used Alarm Clock Plus, it became the default.
> 2 votes

# Answer
I installed alarm clock plus, and did as above "OK Google Alarm Clock Plus set alarm for 9am". This changed the default alarm clock, when I deleted the alarm clock plus app it prompted me for a new default app the next time I said "set alarm 6am" This allowed me to resolve another calendar app that was stealing system clock alarms.
> 1 votes

# Answer
This is how I changed the default app. Hope it works for you :

A) "ok Google, set alarm" B) the following screen appeared X) tap on the icon and change the app to your desired alarm app (I use any.do as it has a snooze function)
> 1 votes

# Answer
If you're using the Google Assistant mode, when you say "ok Google set alarm", it will type your words as you speak, and then vocally respond, typing its words as it speaks, in a facsimile of a text messenger. An icon for the clock app it's currently using should appear beneath Google's response as she asks you when you would like to set it for. If you click on this, it will drop down a menu of options for which clock app you'd like to use, and then it will use this as your default alarm clock later on. I believe you may also be able to say "view alarms".
> 0 votes

# Answer
I was able to replace the default app for timers:

* Open Assistant.
* Click the icon at bottom left that goes to some assistant home page.
* Find the set timer action in the list at the top. It opens a card to edit the timer details.
* On that card, click the timely icon and select the default clock from the list.
> 0 votes

---
Tags: applications, 7.0-nougat, alarm
---