# Question
Title: How to "fastboot flashing unlock" when device has no volume rocker?
I have a android tablet that has no volume buttons, but has an unlocked OEM bootloader. I'm trying to flash a new rom, and after I run `fastboot flashing unlock` I am presented with a prompt that asks for me to press volume up.

Is there anyway to override this prompt? like `-y` or something?

I'm asking for a general solution as this problem happens to a lot of people from time-to-time. Whether it be from a broken rocker or from a device that has no volume buttons.

Edit: I didn't think to add the type of tablet, since none of you all would have heard of it. It is an `eewrite e-pad pro by Wisky (sold by novadealshop)` running Android 7.1.1. Any additional information about its specs can be found here: https://www.reddit.com/r/e\_pad/comments/drmi5s/full\_device\_info\_for\_eewriter\_epad\_by\_wisky/

# Answer
When a device has no volume rocker it is usually flashed using an external tool and not via traditional fastboot methods.

In this case, the device is a MediaTek Android smartphone (MTK based), and nearly every smartphone with this chipset can be flashed not using fastboot, but with the `SP Flash Tool`.

The latest version `SPFlash Tool v5.1924` can be downloaded at:

spflashtool.com or androidmtk.com

This tool allows the flashing of Scatter Based Stock Firmware on devices powered by Mediatek Chipsets. All you need is the correct Scatter based Stock Firmware of your Device.
> 0 votes

---
Tags: rom-flashing, fastboot
---


# Question
Title: Disable title translation of YouTube videos
Is there any way to prevent the YouTube app from translating (some) video titles from the original title (e.g. English) to the phone's configured language? (e.g. Spanish)

It's really annoying as those translations look auto-generated and are often wrong, and also gives the impression that the video itself is in a different language than the one it is really in.

In YouTube's web interface this does not happen, using the same Google account.

# Answer
> 16 votes
There are many other people, here or here who are looking for the same option. Google has not yet offered a solution to disable the option while on mobile.

Among the possible solutions posted on the second links is to:

> * Go to https://myaccount.google.com/language
> * Add all the languages you understand in the list
> * Reload whatever youtube page you were on
> * Youtube shouldn't translate video titles anymore Note that you may still have some video titles translated for some time because they were cached by your browser.

Also, if you watch videos in languages you don't understand, they will be translated (unless of course you select all languages).

Another possible solution is to change the language of your device to be the same as the language of the video. But it not practical because you will to keep changing languages.

Until Google decides to provide a proper solution, all the above solutions are hit and miss. They work for some and not others.

# Answer
> 3 votes
I clicked on my profile picture on youtube and in the menu that breaks I went to languages and set my language to the language of the video in question. That worked for me, hopefully it works for you.

# Answer
> 0 votes
You can change it. Go to You Tube ---\> Settings ---\>Subtitles ---\>You will be redirect to Google Subtitles(CC) ---\> Under regular options you can find Language. ---\>And you can choose new default language.

NOTE: In GS(CC) for language options default option is phone default language not Google Acc. language.

---
Tags: youtube, languages
---


# Question
Title: Problem with a sdcard under Android 7.1.2 three partitions can not be mounted / used
Happy New Year!

there is a problem with my sdcard under Android 7.1.2 (Custom Rom) (root=true, adb=possible). The vFat Partition can be used, but the rest is not mounted and can not be used.

mmcblk1p1 vfat 183 GB Status : OK

mmcblk1p2 ext4 16 MB android meta Status: not mounted

mmcblk1p3 ext4 64 GB Status: not mounted (primary) (want to use that partition as adoptable Partition for extra internal memory)

mmcblk1p4 ext4 2 GB Status: not mounted (primary) (want to use that partition as SWAP Partition for extra RAM)

Trying to mount the Partition3 (64 GB) gives the error

> mount: mounting /dev/block/mmcblk1p3 on /data/sdwyt2 failed: Invalid argument

Other similar error messages may also occur. Any help welcome !

# Answer
> 1 votes
Found the answer to my question myself here:

Solution: On devices running Android 7.0-8.1, file-based encryption (FBE) can't be used together with adoptable storage.

https://stackoverflow.com/questions/60173545/why-i-got-this-error-please-adoptable-storage-not-available-on-device-with-nat

---
Tags: security, internal-storage, external-sd, mount
---


# Question
Title: How to add another language to a Samsung Galaxy Chat physical keyboard?
Having got a Samsung Galaxy Chat (B5330) I'd like to use its physical keyboard to to enter not only english but also central european (czech) and cyrillic (russian) letters (I am ok with english-only key labels). So, any directions on where and how?

# Answer
> 1 votes
You can try External Keyboard Helper, which is designed for bluetooth/usb keyboards but I believe it should work for the Chat's physical keyboard!

# Answer
> 1 votes
I had a similar issue as I was learning Spanish. I was finding it almost impossible to key in the Spanish words using English text, one by one character. To get round this, I enabled two languages and therefore my phone now recognises both Spanish and English words and therefore I have no problems when switching from contacting colleagues to learning languages. To do this, go onto 'Settings', then 'Language and input'. Then scroll down to the option titled 'Samsung keyboard' and click the setting cog next to it. You should then see an option called 'Input languages' and from there, you should see a list of all the available languages on your phone. Simply check all the tickboxes of any languages you would like to use and then those languages will be enabled and you'll be able to type with them throughout any app on your phone. Hope this helps and answers your question.

# Answer
> 1 votes
The problem is *(at least was in the older and many newer versions of Android)* there's not a simple way *(to my knowledge - without adb/root)* to add language layouts. Even the common ones like Czech (QWERTZ) were missing for a long time.

For a simple solution you want to find packaged keyboard layouts (usually tiny .apk) but be wary of malicious ones. If you want to create/import layout(s) I believe you should start looking into Key Layout Files (.kl) but I personally haven't done it that way.

For me, **Raidsix Input Devices** (.apk (\<100kB)) helped back in the day (from Google Play, when it was there year(s) ago). However it isn't available anymore and there seems to be no official or trustworthy way to obtain it.

*I still have it on my tablet so I shared it now with other tools to come in the future. Link \[Mediafire\]*

# Answer
> 0 votes
You can try a 3rd-party keyboard like GO SMS Pro. It will allow you to use different keyboard layouts, including Russian. I think it has Czech (but probably not written in English).

# Answer
> 0 votes
You need to go into input properties and choose the languages you want.

If you do not find the desired language then you must root your phone and use an app like language enabler from Google Play.

# Answer
> -1 votes
aww you cant just make your physical keyboard to enter different language, You can try this: -Use On Screen Keyboard -download Google input for your desired language -and change input method by long clicking any textfield

---
Tags: keyboard, languages, localization, samsung-galaxy-chat
---


# Question
Title: Compress a video for android using ffmpeg
I'm trying to compress a video to send it around in a messenger. Normally I would use something like

```
ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

```

but if I send it around in a messenger app like telegram afterwards, I can only watch it on my PC but not my smartphone (I tested different devices) although the codec is said to be supported: https://developer.android.com/guide/topics/media/media-formats

What is the best way to compress a video for messengers in mobile devices?

# Answer
The solution may be just to **reconfigure (install) ffmpeg with x265 headers** by setting `--enable-libx265` for build as in the documentation

However keep in mind that x265 encoding/decoding is still relatively new and is not implemented/present well enough in Android devices unless you have a newer/branded device\*. *(hw support, optimizations)*

**generally speaking. - even 2017's Galaxy S8 has built-in HEVC support even in official camera app*
> 0 votes

---
Tags: whatsapp-messenger, video, telegram, ffmpeg
---


title: Mote E 2nd Gen keypad not opening

text:
# Question
Title: Mote E 2nd Gen keypad not opening
My Moto E 2nd Gen (Lollipop) mobile keypad is not opening when I try to type a message or try to chat or search contacts. Google Voice opens "Tap to speak", which is not working either. "Language & Input setting" is not opening and shows "Unfortunately, setting has stopped".

I have cleared cache memories and restarted my mobile. I do not want to factory reset it. What should I do?

# Answer
Remove some unwanted apps and check. It might be that the phone does not have enough memory to perform the action.

This is not a sureshot solution, but if u do not wish to factory reset then you should try this.

Also, there are a number of apps which boost your phone memory. I prefer to use 360 Security.

You may try that!!
> 0 votes

# Answer
I have this exact phone my guess is that you ran out of memory. Try uninstalling the highest data usage applications. Go under settings-\>storage-\>apps-\>running.

Also this is a side recommendation but convert as many apps to web apps as possible http://appsco.pe is a good site for web apps.
> 0 votes

---
Tags: 5.0-lollipop, motorola-moto-g2
---


# Question
Title: Backup / Restore Titanium Backup's labels
When I move to a new phone, I only want to install my previously installed user apps.

I use a label to identify which apps are currently installed, vs old ones, vs system apps.

How can I backup and restore my TiBk labels?

# Answer
From the old ROM, save a copy of `/data/data/com.keramidas.TitaniumBackup/databases/custom`.

* Settings-\>Apps, force stop TiBak, wipe its data.
* Run TiBk (this creates an initial set of databases). Check busybox, etc are OK.
* Again: Settings-\>Apps, stop TitBak.
* Replace `/data/data/com.keramidas.TitaniumBackup/databases/custom` with the copy from the old ROM
* Restart TiBk; profit.

Credit
> 1 votes

---
Tags: titanium-backup
---


# Question
Title: Remove additional date from notification and lock screen
In my Samsung Galaxy S8, Android 9, I see an additional date, showing in parentheses, both on the lock screen and in the notification bar when I roll it down. For example, right now it says "16:58 Mon, April 8 (FAR 19)". I'm attaching a screenshot of the lock screen, but it also appears in the notification bar.

I checked within all the apps I could think of, also looked to see that I don't have any "other calendar" or "alternative calendar" configured. Also, I found out that FAR is a Persian calendar which makes no sense for me...

Tried already contacting Samsung chat support but the couldn't help (they did ask me to reset my phone configuration and to clear caches and other stuff).

# Answer
I found out that it's not something that can be changed via settings - it come's like that out of the box when the device is meant to be sold in a different market.

In my case, every time I insert a new SIM card into the phone and restart it I got a notification saying that in order to set new settings for the phone I must do a factory reset. So when putting back my own SIM I also got this message. Once I did that suggested factory reset phone started fresh with a factory configuration that matches my region, making the Persian calendar disappear and also *enabling other features that weren't enabled before, such as native call recording*

(worked on both Samsung Galaxy S8 and S20)
> 1 votes

---
Tags: samsung-galaxy-s-8, date-and-time
---


title: App doesn't show on emulator playstore

text:
# Question
Title: App doesn't show on emulator playstore
1. I've installed the SDK + emulator with both Android 11 and 8 images (separate AVDs).

The app that I'm interested in running isn't showing in the playstore but it shows just fine on my physical phone: bank app

How is it possible for it not to show on emulator playstore?.

2. I've downloaded the apk from apk-pure and sideloaded into the emulator. The app starts (flash screen) and then crashes. Any way to decipher why?.

Thanks

# Answer
The Play Store enabled emulator images are x86 images so they can be executed faster on an Intel/AMD CPU. Physical smartphones at the moment all use ARM CPUs (armv8a 64 bit to be precise).

If an app uses CPU specific native libraries it needs to include one version them for each CPU architecture it plans to support. Therefore if the app you want to install in the emulator only has native libraries for ARM then it can not be executed on an x86 emulator and thus will not be shown in Play Store.

Additionally when publishing an app in Play Store one can very flexible exclude or include certain device type(s).

As your app can be installed via side loading it seems to at least contain something for the x86 platform but detecting an emulator in an app and then let the app crash is simple. Besides that t!here are a lot of ways to detect an emulator. If an app developer does not want an app to be executed on an emulator it can get pretty hard and requires reverse engineering and code manipulation skills and many hours to make it run.

Especially financial apps disallow execution on an emulator as this is a common way for hackers to investigate such an app for attacking the bank, the app and their customers. Some banking apps even refuse to work on custom ROMs or rooted devices.
> 3 votes

---
Tags: google-play-store, apk, crashes, emulators, apkpure
---


# Question
Title: ADB PULL (of app_pocess) fails with exit code 1
I am trying to pull a file from my phone (Blackberry Key2 / And 8.1) and it fails with exit code 1:

```
[host] admin$ adb pull /system/bin/app_process ./ ; echo $?
1

```

I confirmed the source file exists, and I have have write permission to current folder, and to /tmp, but it always fails for file "app\_process". I tried pulling a simple text file from /sdcard/test/myfile.txt to /tmp and that works. So for some reason app\_process won't pull!

I restarted adb daemon, confirmed phone is in developer mode (and all options permitted) , restarted the host (Mac), ran adb with sudo, etc. No difference, and no error message.

I am running adb v1.0.41, version 30.0.5-6877784 on Mac OS

I saw this post that suggests it might relate to a symlink, but trying to pull app\_process32 (which is a file) has same issue.

How do I solve or debug this? (This command is part of the final build process so this command has to work)

# Answer
The cause was surprising, but poor error reporting even more frustrating. My devices is connected using USB, passed through to a VM. It seems USB timing issues cause the connection to be intermittent or out of spec. But not enough to cause an error in system log.

abd do not complain about the latency or loss of connection, just quietly died with error 1. Switching to a TCP connection from USB resolved the problem
> 1 votes

---
Tags: adb, file-transfer
---


title: syslog shows a bunch of FF messages

text:
# Question
Title: syslog shows a bunch of FF messages
When I run `dmesg` I see a bunch of these errors,

```
FF SUSPEND INT                  0 ?\x09
FF WAKEUP                       0 ?\x09
FF GAD SUS                      0 ?\x09

```

What do these mean? Is this normal?

# Answer
The OnePlus 7 Pro port is named "guacamole". You can find the source code at `LineageOS/android_device_oneplus_guacamole`. You may want to search for the error here, but if you can't find it check inside the `setup-makefile.sh`, you'll find the line,

```
export DEVICE_COMMON=sm8150-common

```

That means the kernel's source code is located LineageOS/android\_kernel\_oneplus\_sm8150. You can also find this link on the in the documentation page for the port under "kernel link".

If you do a search in the `LineageOS/android_kernel_oneplus_sm8150` repository for "GAD SUS" in that repository you'll find the source of this error which is drivers/usb/dwc3/gadget.c:3654. So the problem is in USB Dual Role Device, which is an ASIC driver described as,

> The Synopsys DesignWare® USB 3.0 Dual-Role Device (DRD) Controller is a set of synthesizable soft IP that ASIC/FPGA designers can use to implement a complete **USB 3.0 DRD for 5 Gbps speeds. The USB 3.0 DRD Controller is compliant with the specifications for SuperSpeed, High-Speed, Full-Speed, and Low-Speed USB speeds.** Optimizing development time and minimizing engineering risk, the DesignWare USB 3.0 DRD Controller helps designers bring their host and peripheral designs to market faster for wired and wireless applications such as **smart phones**, tablets, TVs, set-top boxes, cameras, modems, game consoles, PCs, and telecommunications equipment. In addition, the IP is silicon proven in design process nodes from 180-nm to 7-nm.
> 0 votes

---
Tags: lineageos, kernel
---


# Question
Title: Signature of two different apps are being compared inside the code of an app
For a particular Mobile App, I am trying to understand the client-side code of an apk by decompiling the apk using Jadx-GUI. While I was going through the code, I found out interesting code snippet (shown in the image). Signature of the existing app is being compared with that of the app named "Android".

I observed this type of comparison in more than one app. I fetched the certificate details and found out that they both are different and the certificates are self-signed (they are not using Google Play Signing)

So, my question is Why are the developers comparing the signature of two different apps? Under what scenarios is this type of signature verification useful?

# Answer
The code snippet does not compares the own app signature to an ordinary app, instead it compares it to the package `android` better known as "Android System".

"Android System" as the name indicates is a system app signed with the ROM's system signing key. Therefore the code snippet you found compares if the the app specified by it's package name in parameter `str` was signed by the system key.

I would assume that the app that contains this code first gets the list of all installed packages and then calls this method for each installed package name.

In the end this would allow to identify all apps that have system permissions. What can not be determined by the code is why this list is generated. It could be for security reason to check if there are "strange apps" with system permission or alternatively building the system apps list could be the first step on an app that tries to attack the system by trying to find vulnerabilities in system apps.
> 0 votes

---
Tags: apk
---


title: How can I export contact groups?

text:
# Question
Title: How can I export contact groups?
When I export my Android phone's contacts via a VCF file, it seems the contact groups are not indicated in the VCF (and are thus lost if I only import that file).

I see a lot of apps for exporting and importing contacts, but none whose name suggests it will export my contact groups as well.

My questions:

* Is there a way for me to export my contacts together with the contact groups?
* Is there a way for me to export *just* my contact groups (i.e. which contact belongs to which group)?
* Can I import just-contact-groups "onto" a set of contacts without contact groups (the result of a previous import-export without contact groups)?

Notes:

* I don't have a Google account (and won't get one).
* In case it matters - the phone from which I'm exporting is a Xiaomi RedMi 3S (Android 6.0.1, MIUI 10).
* This question is related, but I don't care about exporting to a VCF specifically; and Android has changed over the years; and the answer there regards a Google account.

# Answer
> 1 votes
1. Download & install the **SA Contacts Lite** application; it is available on places where you don't need an account, e.g. via APKPure.com.
2. Start the app.
3. In `Settings`: 3.1 enable `Export All Fields`. 3.2 Disable `Export Photos`. 3.3 Enable `Merge Duplicates`.
4. Click `Export`, then `Start`.
5. A format selection dialog will come up. Enable `Backup` and disable everything else; press `Next`.
6. An account selection dialog will come up (= the account whose contacts you want to export). Typically you'll want to enable just the `default` account. Press `Next`.
7. Select the range of contacts to export - probably all of them, so just press `Next`.
8. Wait for the app while it's "Preparing to export contacts". This may take upwards of a minute for over ~1000 contacts.
9. Wait for the app to merge duplicates. This takes even more than the previous phase (not quite sure why).
10. Select the destination for the export - typically just a file on the device's storage somewhere.
11. Patiently wait for the duplicate merge and actual export to occur. I have no idea why it takes so much time, given how there's so little data.
12. Choose a way to save the output file; "SD Card" is safe, but there are also options to send it to your Dropbox/Box/Google Drive account or to email you the file.
13. Ensure the output file is actually placed at/sent to your chosen location.

Then, you can import your group associations as described in discussed in this question.

---
Tags: contacts, contact-groups, export
---


# Question
Title: Backup all installed APK's from phone using ADB
I have done many reinstalls of my OS on my Android phone in the last few months for various reasons. Every time, the biggest hassle is manually searching, downloading and installing all the apps I had in my previous installation.

I use a degoogled custom rom, downloading apps from F-Droid and Aurora Store, so no Google solutions are acceptable.

What I want, is to have a way to keep on my computer a copy of all the apks of the installed apps of my phone, and have it automatically updated too, so that when the time comes to reformat my phone and install everything all over, I will be able to simply `adb install` all of the apks in no time, instead of doing it all manually and waiting for them to also be downloaded. Any suggestions for how I can make that happen with existing programs, preferably open source?

# Answer
> 6 votes
If it's just the APK files, you could use the `getapk` script provided in the `tools/` directory of my little helper Adebar, calling it e.g. with `getapk user` to retrieve all user-installed apps. You won't be interested in system apps, but for completeness:

```
$ getapk

getapk
Extracting APK files from a connected device.
getapk lets you extract a single app's APK, or that of all user apps,
all system apps, or all apps altogether – depending on what parameter
you passed it.

Syntax: /mnt/av/src/git/adebar/tools/getapk <package_name> | user | system | all

```

This requires ADB being available on your computer. Should you not have that yet, you might wish to take a look at Is there a minimal installation of ADB? here at our site. You don't write what OS you are on; `getapk` is a Bash script (as Adebar is a Bash tool), so it works best on Linux, was reported working fine on MAcOS, and also in Cygwin.

To have that automated, you could create a cron job (Linux/Mac; no idea how that works on Windows but AFAIK there's something like a "Scheduler" you could probably use). APKs will be named `<packageName>.apk` (e.g. `org.fdroid.fdroid.apk`) once retrieved, so always retrieving them to the same directory (i.e. calling the script while inside that directory) should take care that you have always the latest versions in there and no more. Though it wouldn't delete APKs of apps you've uninstalled later ;)

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


# Question
Title: Does google maps personalize the walking time to your destination?
Google maps has a lot of data about how far and how fast you move around. When you search for a walking route to your destination is the app calculating the walking time based on your average walking speed?

# Answer
It does not take into account *your* walking speed but assumes a *normal* walking speed. From Google Maps help

> What is the Google Map walking speed? Is this a constant value or does it change depending on slope?
>
> > Normal walking speed is about 3 miles per hour - It does not adjust for distance travelled, nor for whether you are on a road or footpath. It does adjust slightly for slope - it decreases more for uphill than it increases for downhill.

A user wanted customized speed, like you do and they were suggested to raise a feature request.
> 2 votes

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


# Question
Title: Is it possible for a phone to still be compromised/infected by malware or spyware even after a factory reset?
If yes then how can one ensure that its %100 wiped clean?

Android 7 | rooted

EDIT: Same question but how about when rom is flashed ?

# Answer
> 3 votes
Yes, it's entirely possible if

> cases where an update to system introduced a persistent system level malware (usually a spyware, adware type), or one or two system apps (usually system update apps) acted like a malware right from the time a user started using the device. (see , , , ,  as examples)

By doing a , you are only removing user installed apps and data. The only solution **for the first case** is to install stock ROM (if you are on stock) or install a custom ROM by clean flash (usually, OEMs /custom ROM providers give detailed instructions on this). By installing a ROM, the `/system` is wiped clean and installed, getting rid of the trouble.

If you are a victim of the second case, there isn't much you can do unless you find another ROM for your device.

Of course, you need to review your apps and make sure you don't install from unverified sources and take precautions to not get into this situation again.

---
Tags: root-access, security, factory-reset, malware, virus
---


# Question
Title: I'm trying to factory reset a phone. How do I erase "downloaded SIMs"?
I have Google Pixel. When trying to factory reset it, it says "downloaded SIMs may remain on the device".

What does that mean? How do I erase these data?

# Answer
The "downloaded SIMs" here refers to embedded-SIMs (eSIMs).

According to the AOSP source code, looks like the error message happens when the Factory Data Reset fails to erase eSIM data.

> ```
> <!-- Factory data reset erase eSIM failure text [CHAR LIMIT=none] -->
> <string name="fdr_esim_failure_text">Please reboot the device and try again. If you continue factory reset, the downloaded SIMs may remain on the device.</string>
>
> ```

To erase eSIM data, try resetting the network settings first. For Google Pixel series,

> **Tip**: To reset all your network settings, in your phone’s Settings app, tap **System** **Advanced** **Reset options** **Reset Wi-Fi, mobile & Bluetooth**.

Otherwise, to retain eSIM data through the Factory Data Reset, it should be possible to just continue the process when prompted.
> 1 votes

---
Tags: factory-reset, google-pixel, esim
---


# Question
Title: com.google.android.apps.gsa.binaries.velvet.app.velvet root application keeps stopping
I have a Samsung galaxy J7 running on android 7 I've been getting this error consistently, nothing in particular seems to trigger this error and i can't find any application with that name. is there any way i can fix this without factory resetting ?

# Answer
I was facing the same problem until I updated the google (not chrome) to the latest version.

Try updating the google app once.
> 1 votes

---
Tags: 7.0-nougat
---


# Question
Title: Device or resource busy when deleting Youtube folder from /data/app
I am trying to delete my /data/app/com.google.android.youtube-DVUYe6iX9r5J1nYk8PlC2w== folder to fix the bug described here; however, I keep getting a "Device or resource busy" message. I tried using this command

```
adb pull /data/adb/service.d/vanced.sh > %UserProfile%\Desktop\vanced.sh

```

and also Total Commander file manager but received the same error. How can I delete the folder?

# Answer
> 0 votes
The problem was caused by the Vanced-related files in `/data/adb` and `/data/adb/service.d` operating on the Youtube folder hence it being busy. The solution was to delete all of these files, reboot, then delete the Youtube folder. It seems the Vanced contributor failed to realize this and instructed me to delete the Youtube folder while Vanced was still operating on it.

---
Tags: delete
---


# Question
Title: Start bash script on boot not rooted Android 7.0 and Android 9.0 device
I currently do it manually each time after my phone is restarted. I connect using adb and running this

```
adb shell sh /sdcard/AFolder/ascript.sh "a-dummy-argument" &

```

Then I just disconnect the cable and script continue working.

How I can achieve the same thing on non rooted Android 7.0 and Android 9.0 devices(I have 2 and I would like to do this on both)? I would like to avoid rooting. From what I was reading it can not be done without rooting. My question is, would it be possible to install TWRP, backup stock ROM, modify stock ROM so that it would have an additional file `ascript.sh` (or run it from sd card) which will be started at startup. Then flash this modified ROM, to avoid doing this manually. Is this possible?

Note: adb via tcp I believe is not an option as to make adb work via tcp on non rooted device after each reboot we need to connect the device to PC first to switch to tcpip, so we back to the task how to avoid after reboot connecting phone to PC.

# Answer
This app, called LADB — Local ADB Shell, can open an adb wifi shell without ever needing to connect to the PC:

https://play.google.com/store/apps/details?id=com.draco.ladb

Unfortunately you have to cut and paste your commands into it for now, I'm trying to get him to add editable shortcuts. It's a fairly new app.
> 3 votes

---
Tags: 7.0-nougat, auto-start
---


# Question
Title: How to root Samsung Galaxy Alpha SM-G850A?
Seems I have searched vastly across the internet to no avail.

So far, I've tried using a CF-auto-root file with Odin 3, and vroot, neither of which worked. The only helpful thread I've found was an XDA thread from may 2015 which still did not seem to help

http://forum.xda-developers.com/galaxy-alpha/help/want-to-to-root-alpha-sm-g850a-t3107199/

The only other resource I've found were several forums and websites that link back to the same blog that claims to have rooted the phone, but the download file is labeled as malicious by chrome and there is no conformation by anyone that it actually works.

# Answer
> 0 votes
You may need to unlock the bootloader before doing this process. Here is tutorial.

As you mentioned above about *odin* , it means you know how to work with odin. Now just download this CWM recovery file and flash it using Odin.
Now download this flashable SuperSu zip.. Move this SuperSu zip to your sd card. Now you have to boot in recovery mode after flashing CWM recovery. In recovery mode install this zip file and reboot.

This is the best way to root any android.

# Answer
> 0 votes
Go to developer option. Turn on OEM unlock and erase all data.

Start mobile in download mode.

You get custom operating system warning, continue with it.

Extract Odin on computer and start Odin app. Connect Samsung mobile to computer. KingoRoot work well with KitKat 4 android rooting.

Odin will find Samsung mobile. Click on AP tab and give path to auto root file.

Mobile is rooted then you can see green mark.

Mobile restart automatically.

---
Tags: 4.4-kitkat, rooting, samsung
---


title: Telegram account

text:
# Question
Title: Telegram account
I recently lost my Android phone. What I want to know is if I permanently delete my telegram account are there still videos and photos viewable on my phone. I never used the save to gallery option but I heard somewhere that the media files are still there. Thanks.

# Answer
> 1 votes
Deleting your Telegram account will not uninstall the Telegram application on your lost phone. So, depending on how you protected the access to your phone, your media files received or sent using Telegram can still be accessible.

As a side note (because the original question was asked on security.stackexchange.com), be advised that the security of Telegram is dubious at best. If this issue is important for you, you could use this incident as an opportunity to switch to a more secure messaging app.

---
Tags: telegram
---


# Question
Title: How can we trick an android device that the device does not get our real location?
Is it possible to make the Android Operating System receive false location data or not receive any data about our geolocation at all. And how we can do it in the maximal clean way so that the third-party applications that are installed on the phone could't even suspect about it?

# Answer
> 2 votes
The phone has a GPS sensor and the OS can read the values from this sensor. Thus, the OS knows your real position.

However, the apps have no access to the direct OS reading - they can only ask the OS to give them the position. And the OS has builtin support to give them fake results.

To do that, do the following steps:

1. Enable developer mode (as described here).
2. In the developer mode, enable "Allow mock locations". This allows for apps to override the GPS sensor input by a fake position provided by them.
3. Install any app with exactly this feature, like Fake GPS Location.

It works a little bit differently on some phones, for example on my Moto G8 there is no "Allow mock locations" option in the developer mode. In most cases, it is possible even on them, but a little bit differently.

Extension: apps *can* know if it you did these, but they have probably no way to know, if the actual position they've got is mocked. Probably it can be prevented only by rooting the phone. Thanks @Robert for the info.

---
Tags: google-maps, geolocation, operating-system
---


# Question
Title: Is it possible that I unrooted my device after changing the build.prop?
I had rooted my device, I have Titanium Backup, Superuser, and ES File Explorer.

I changed the android version, phone model and sdk version in the build.prop file. Now I can't open any app other than Titanium Backup, which tells me it wasn't granted superuser permissions, and that I should check if my ROM is rooted.

When I access the files through my computer with Android Studio, I can see the root files.

Is my phone not rooted anymore or is Superuser just not working properly due to the build.prop change?

# Answer
So yeah, it turns out my device was always rooted. As Robert said, I probably broke something that SuperSU used.

If anyone finds this helpful, I got it back to normal through recovery, like Izzy said.

I had previously backed up the build.prop file to my SDcard, so I created a zip file with `build.prop` and a `meta-inf` folder that I found in a custom ROM (I actually found it in this question from the XDA forum https://forum.xda-developers.com/t/copy-build-prop-with-flashable-zip.2986827/ However, this https://www.reddit.com/r/FirmwareDevelopment/comments/1iut7m/howto\_understanding\_the\_metainf\_folder\_for/ says you can get it from any custom ROM). Flashed the zip file through CWM recovery and after rebooting, my phone was acting like nothing ever happened c:

\*If you didn't backup `build.prop`, I'm sure there's ways to retrieve it through ADB, pretty sure you can copy it and paste it somewhere. Either way, you can still see the content of the file in Android Studio, and I'm guessing Eclipse and other programs I don't know of; and I'm a n00b, but I'm pretty sure you can make a brand new build.prop by copying the contents of the existing one on a text editor, of course changing what you had previously modified, hence leaving it the way it was before you messed it up.
> 1 votes

---
Tags: rooting, unrooting, supersu
---


# Question
Title: Using Android phone to control a raspberry pi nintendo 64 emulator
Say I make a nintendo 64 emulator on a raspberry pi 4, and I want to use my phone as a wireless controller ether over bluetooth or WiFi.

I doubt that any Android software would have support for linux, let alone support an N64 emulator.

So what would be the best course of action here, make a python translator that catches the signal sent by the phone, reads it, then simulates button presses on the raspberry? If anyone has a better solution, please let me know!

# Answer
Android 9 added support for the Bluetooth HID Device Profile which can be used to make a Android device behave like a HID gamepad:

https://developer.android.com/reference/android/bluetooth/BluetoothHidDevice

The Bluetooth HID profile isn't available on all devices, you can use the Bluetooth HID Profile Tester app to see if it's supported:

https://play.google.com/store/apps/details?id=com.rdapps.bluetoothhidtester&hl=en\_US&gl=US

I've had some luck using ginkage's GamePad app:

https://github.com/ginkage/GamePad
> 2 votes

---
Tags: game-controllers
---


# Question
Title: ADB installs apps for all users. How to force it to install to main user only?
I have a LineageOS 17.1 system on Pocophone F1, unrooted. When I install an apk through USB using adb, adb not run as root, the app is installed both on my main admin user and on a secondary user on my phone. How do I force adb to only install the app for my main user only?

# Answer
> 10 votes
Mention the specific user as an argument for which the package is to be installed. Example:

```
adb install --user USER_ID YOUR_APK
adb shell pm install --user USER_ID YOUR_APK    # alternative command

```

`USER_ID` for main/primary user is always `0`.

Sidenote: in case of difficulty with an adb command, simply enter `adb` as the sole command. It would list help section.

---
Tags: adb, installation, multi-user
---


# Question
Title: How to stop web browser offering to sign into Google account
This question seems to be all over various forms, but i haven't yet found an answer.

On my Android phone, the stock web browser offers to sign in to my Google account when i visit Google websites. At the top of the screen appears a yellow pop-up listing all my Google account in a drop-down, and two buttons: "hide" and "sign in". Simply selecting an account and tapping "sign in" gives unchallenged access to my account via the web; no password is required.

This bothers me, since any malicious person who picks up my phone when I'm not looking can access my email, Google Drive, etc without knowing my password.

Let's assume that my screen-lock hasn't had time to kick in.... or we could assume it's easy to circumvent.

Enabling 2-stage sign in wouldn't help, since if someone has unauthorised access to my phone, they's receive the one-time token.

I've tried looking through all phone and browser settings to no avail. I've hunted through Google Dashboard, and cannot see how to disable this. I've signed out, but the yellow pop-up always appears, always giving unchallenged access.

An app-lock app might be an option, but is inconvenient, especially since friends often use each other's mobile browsers.

Installing a different browser may be an option, although again that's inconvenient, and would mean disabling the stock browser, which my come with other issues.

I'd really like to disable the yellow pop-up permanently, but i cannot seem to find out how to do this. Apologies if this has been answered already.

I'm running Android 4.0.4 Cyanogen mod 9.1.0 on a rooted Samsung Galaxy S GT-i9000.

---

I'm specifically looking for a way to prevent the yellow authentication pop-up in the stock web browser. I'm not bothered about other apps. I'm also not really bothered about why Google has chosen to do this. The lock screen isn't an issue either.

One scenario might be: an acquaintance asks to borrow my phone to use the web browser. Being a little cheeky, they go to Google and sign in, without a password being required. I wish to prevent this. If they were using a web browser on my laptop, they'd need a password. I'm not happy that they don't require it on my phone.

Other apps can be trivially protected by an app-lock. I prefer not to use an app-lock for the web browser. And anyway, unlocking it for a friend to use just leaves the same problem.

# Answer
> 3 votes
The only solution I am aware of (besides hacking the code itself) is blocking permissions:

Regarding PDroid: Currently, only Gingerbread is supported officially but you may find a working patcher for your CM9.1 firmware on XDA. Its Google Play description says: *PDroid allows you to block access to the following private data for any application regardless of its permissions: \[...\] **Account auth tokens**, \[...\]*

EDIT:
Tried PDroid and found it to work great. You need a compatible ROM (CM, AOKP, PA,...) and AutoPatcher (download here) plus either the original PDroid or the PDroid2.0 app (see 1st post/attachment). Note: v2.0 needs JellyBean, use the old one for ICS and below (the original author hasn't updated the app for some time and hasn't ported the original Gingerbread patches. Autopatcher includes both ported **original** PDroid patches and the v2.0 fork for JellyBean)

# Answer
> 3 votes
Disable "Google Account sign-in prompts," which allow Google to offer a faster way to sign in with your Google Account on supported third-party sites

https://myaccount.google.com/permissions?pli=1

# Answer
> 1 votes
I had the same problem. I downloaded a separate browser (Skyfire) for "guests" to use and used an app lock to lock my main browser. The authentication option did not drop down in the second browser.

# Answer
> -2 votes
Change your homepage to www.google.com or similar

---
Tags: browser, google-account
---


title: Copy Paste Removes Spaces

text:
# Question
Title: Copy Paste Removes Spaces
Every time I copy and paste text on my android phone white spaces are removed, i.e.:

Copy:

`this is a test`

Paste:

`thisisatest`

The behaviour is the same no matter which app I copy/paste text from/into. I'm using LineageOS and this started happening about 2 weeks ago, but I cannot precise the exact date or which apps were installed right before it.

Any idea how to fix/debug this?

# Answer
Some Apps - MBWay included - allow the user to copy a content automatically removing the white spaces. In fact what happens is that 2 entries are stored within clipboard. The original entry preserves the white spaces. The second entry records all content without white spaces. Very useful when you are copying Credit Card numbers. Some of those Apps don't revert back that 'configuration'. The quick solution is to force stop that specific App. Look for apps that have embed COPY features.
> 3 votes

# Answer
Do you have mbway installed?

I can confirm it's mbway. If you force stop the app, copy paste starts working fine again
> 2 votes

---
Tags: lineageos, bugs, copy-paste, debug
---


# Question
Title: How to emulate any android version in linux?
i was trying to emulate Android 5.0 (LRX21T) in linux, i downloaded the rom but i didn't find any good emulator, there is anyone that supports any version of android ? is that possible ?

# Answer
> 1 votes
There are few things you can try.

**Anbox:**

Anbox is a wine-like android compatibility layer for Linux. It is not an emulator.It is based on android marshmallow I think.

**Geny Motion:**

Geny Motion is an android emulator with a cross-platform compatibility. You can install any android version you want.

**Android x86**

It is a project aims to port android to x86 processors. You can install it as a standalone OS. There are various distros available for this project such like RemixOS(discontinued),Phoenix OS, Prime OS, Bliss OS etc

**Android studio Android Emulator**

If your purpose is programming you better install the emulator provided with android studio.

---
Tags: rom-flashing, custom-roms, android-emulator, emulators
---


# Question
Title: Can an app installed from the Google Playstore install another app with different permissions?
I installed an app for custom notifications from the Playstore. The app requires sensitive permissions (camera, contacts, and storage), but has no network access. When I selected a setting the app said I needed to install another app and then my phone displayed a window prompt asking if I will install an app from an untrusted source. My concern is if this app could be spyware with internet access to steal my data. Is this possible if the main app has no network access and no downloading permissions?

I contacted the developer and they told me that particular setting requires an "older API level" that is not possible for main apps to have. I am not knowledgeable enough to know if this is a valid reason.

# Answer
> 1 votes
It's not common but it's not unusual either. I use this MacroDroid automation app. It requires a *helper* app that *can't* be published on Play Store and therefore developer provides a link to download, with this explanation:

> In order to toggle Wifi on devices running Android 10+ a new helper file is now required. This helper file is built against an older target SDK allowing it to still invoke the Wifi functionality. It cannot appear on the Play Store since they no longer allow apps built against older SDKs to be uploaded.

When a WiFi toggle action is triggered, the installed app (from Play Store) sends an intent to this helper app, thereby circumventing Android 10+ restrictions. So it's a win - win for all because the app functionality is not degraded.

So, if you trust the developer and are sure you need that additional app, you can go ahead. As an added precaution, download the apk and examine it's permissions before installing (Mixplorer does that).

---
Tags: google-play-store, security, permissions, privacy, android-10
---


title: Can't save contacts in Sony Xperia

text:
# Question
Title: Can't save contacts in Sony Xperia
I have a *Sony Xperia* with Android OS 4.0.4. Until recently it worked fine but now my SIM contacts are all gone. I can't save in sim either.

While saving in contacts I *used* to get option whether to save on SIM or on phone – but now I don't get the SIM access: this options simply no longer shows up. I tried it with another SIM, but the problem persists.

# Answer
I have the problem to save the contact on the contact list they said you have to **clear data** of ***Setting-\>App -\>All -\>Contacts*** then **restart** the phone. I tried it, it worked,
but I've to do it **everytime** I save a new contact?!!!
> 0 votes

# Answer
Question asked 7 year ago. Sim is old. Those sim can save 256 contacts only.
> 0 votes

---
Tags: 4.0-ice-cream-sandwich, contacts, sim-card
---


# Question
Title: Change Gmail account to make in-app purchase?
What is the procedure to change email account which you want to use to make in-app purchase?

Take a look at the image.

Click to enlarge the image

I am using 2 Gmail accounts and only 1 has a credit card attached. The primary account has a credit card, the secondary does not. But my secondary account is always in the payment dialogue. The secondary account is also not the account used in Play Store app.

I found no way to change this email.

# Answer
To do so, you must install the app from the same google account from which you want to make the in-app purchase. Follow these steps,

1. Uninstall the app on the phone.
2. Go to the Play Store site **in your web browser** and find the app. Make sure you're logged into the website with the right account!
3. Install the app through the Play Store by clicking on ‘Install’ button (and selecting your phone).
4. Wait a minute until the app is installed on your device.
5. Make the in-app purchase.
> 72 votes

# Answer
I was having the same problem, and all the other answers didn't solve the problem. However I figure a solution to solve the problem. *Please note this works specifically for games, but I have a theory near the end that it will then allow you install apps with the right account.*

The problem lies with what account the downloaded and installed application is associated with. To check which account it is, go to the play store, switch to the account you expect it to be in and then go to the "My Apps & Games". Then pick the secondary tab "All". If the game doesn't appear in this list, then this is the reason you are having a problem. Keep switching accounts and you will eventually find which account it is associated with.

Now let's fix which account it is associated with:

1. First you need to uninstall the game.
2. Then you need to remove the game from the account that it is associated with.
    * You do this by doing the same steps as above for checking, then afterwards you need to press the cross ("x") button in the top-right corner to remove it.
3. Open (or download, install then open) the Google Play Games app.
4. Make sure you are logged into the correct account (on both `Google Play Games` and `Google Play Store`) you want the game to be associated with by using the hamburger menu on the top-left.
5. Find the game you want to play, and then click on the `store` button (normally the button would read `open` if it was already installed).
6. Install as normal.
7. Open the game and you'll see you can now make in-app purchases to the right account. :D

The steps above seem to force the play store to make sure it associates the game with the right account. I have a theory that after you have done the steps above, you can then search for a regular application and install it and it should be associated with the same account... and will then allow you to do in-app purchases too. I haven't tested this however, since I only needed it to work for games - so feel free to leave comments if my theory is correct.
> 16 votes

# Answer
You need to switch to the proper account in the Play Store app (you may need to add the account under `Settings -> Accounts -> Add account -> Google -> Existing`, if you haven't done so already.)

Tap on the "hamburger" button in the upper-left corner of the Play Store app (the shopping icon,) then tap on the down arrow next to your account to expand it, and select your other account:

You should now be able to purchase apps using the proper account.
> 7 votes

# Answer
I am assuming that you want to switch to your secondary email account in all your apps, which means removing your primary account permanently from the phone (though you can add it later again). In KitKat, if you want to switch to your secondary email, in all of your apps, you need to remove the primary email account from phone.

Go to Settings -\> Accounts -\> (your primary account) Now tap on options button, and select remove account.

Reboot the phone, so that the primary account gets removed from all your accounts.

If you don't want to remove your primary account, and you want to switch to your secondary account only in Google play app, see the other answers.
> 3 votes

# Answer
I actually tried many of these suggestions and none of them worked. I have a business account linked to my play store account so it was causing a lot of issues. If none of these suggestions work for you the only thing that fixed it for me was going into my Gmail app and removing that Gmail email address that I didn't want it defaulting to from my list of emails. I can always add the email back but it immediately solved the issue. Hope this helps someone who was having the same issues as me.
> 2 votes

# Answer
Go to Settings\>Accounts&Sync\>(e-mail)\>Remove\_Account.

This is if you do not want to re-install the game.

You can just re-add your e-mail account later.!
> 1 votes

---
Tags: google-play-store, 4.4-kitkat, in-app-purchase
---


# Question
Title: How can I calibrate the tilting sensor on Android
I have an Android mobile which seems to be of Samsung, or at least a clone thereof. I got it for my wife as a present, so I don't really know which one. Under the battery pack it says "Model: 19502"

when I look through the menus there are absolutely no identifications as to which it is and the settings only allow rather high level stuff, like setting background images, and similar, but nothing system relevant.

When I play games I noticed that the tilt is not correct, so I installed "App Sensor Box" which allows me to test the sensors. It shows a board with a ball on it, and I can see that the ball rolls off when I keep it balanced. Unfortunately this app doesn't allow me to calibrate it, so I wanted to know if such an app exists, or what I can do to calibrate it, because there are not setting to trigger this. The apps I found on Play Store all seem to just read, but don't change it.

# Answer
> 5 votes
It's a tough one to answer, as I'm not sure what version of Android you are running, and you have stated it may be a clone.

**Method 1:**

Open "Settings"

Find "Motion" and tap on it

Scroll down the menu and tap on "Sensitivity Setting"

Open "Gyroscope calibration"

Place device on a level surface and tap Calibrate

**Method 2:**

Download 'G-Sensor' from the Samsung Apps store pre-installed on your device. Here is a weblink.

**Method 3:**

Download Bubble Level from the Google Play store, this has a calibration option also.

# Answer
> 0 votes
Referring to the first answer ...

Method 1 - There is no calibration setting on my Samsung Galaxy S5.

Method 2 - Search the Google Play Store for "Accelerometer Calibration Free" for a specific calibration app, the link in the older answer is dead.

Method 3 - "Bubble Level" works fine and coped with portrait and landscape orientation OK and has a simple calibration option

Additional Method 4 - Search for "Just a Compass" on the Google Play Store for a very detailed compass with a calibration option

Additional Method 5 - Use the calibration option in Google Maps.

*Open the Google Maps app, wait for the blue device location icon to show. Tap the location icon to bring up more information about your location. At the bottom there is the “Calibrate Compass” button.*

---
Tags: calibration, sensors
---


# Question
Title: My Samsung Galaxy Note won't charge but will turn on for 1 second
I got my Samsung Galaxy Note about 5 months ago and three months into having it I dropped it and cracked the screen. The actual touch screen works it is just the glass that is broken. About a month or so after having dropped it I started using my mum's phone for a while, as the size was starting to be a problem and I was about to go to a festival. I have come to want to use my Note again and it hasn't let me charge it. Is this because of how long it has been since it was last charged or the strength of the charger that came with it? Or could be be something to do with the screen?

# Answer
Yes, it can be because of so long time of charging. You must go for service center so that problem can be solved systematically.
> 0 votes

# Answer
Remove back cover. Remove battery and refix it.

Refix Display ribbon cable.

Use another charging cable or possible start mobile with another battery. Clean battery three pin connector.

Connect Galaxy note to computer use USB cable. USB charge the mobile and if it is detected. Then mobile is fine.
> 0 votes

---
Tags: charging, samsung-galaxy-note
---


# Question
Title: ADB screen record command to mirror Android screen to PC via USB
I am trying to mirror android device screen though ADB commands from the command prompt for quite a long time. Recently I saw a post in stackoverflow with the following command which mirrors the screen when executed in the command prompt.

**adb exec-out screenrecord --output-format=h264 --size 540x960 - | ffplay -framerate 60 -framedrop -bufsize 16M -**

From what I have read is that this commands stores the Frame buffer somewhere in a file, and my question is where is this file stored and how can I access this file(Frame buffer) in a desktop application for example written in C#.

Any help or hint will be greatly appreciated.

# Answer
> 0 votes
To know where the file is stored (if any) then you can use Process Monitor (on Windows) to see where this file is created.

---
Tags: adb, screencast
---


# Question
Title: Cryptfs : Unexpected value for crypto key location
```
Phone: Samsung S9 Plus, 256Gb
OS: Lineage OS 17.1 (Android 10)
ROOT: TWRP 3.5

```

I installed Lineage OS 17.1 on a Samsung S9+. It's been working fine so far. However, when I encrypt the OS from the security menu, right after the screen goes black with the green android-like logo, the phone quickly reboots back to the non encrypted OS. Going again through the process does not help.

logcat shows:

```
--------- beginning of main
01-20 19:17:52.959 4019 4129 D vold : fdeEnable(3, *, 0)
01-20 19:17:52.960 4019 4129 D vold : !fscrypt_is_native, spawning fdeEnableInternal
01-20 19:17:52.960 4019 403 E Cryptfs : Unexpected value for crypto key location
01-20 19:17:52.961 4019 403 E Cryptfs : Cannot get size of block device
01-20 19:17:53.067 4019 403 W vold : Found symlink /proc/29802/cwd referencing /data/misc/keystore
01-20 19:17:53.067 4019 403 W vold : Found symlink /proc/29803/fd/7 referencing /data/vendor/gps/.lhd.lock
01-20 19:17:53.068 4019 403 W vold : Found symlink /proc/29803/fd/12 referencing /data/vendor/gps/.pipe.gpsd_to_lhd.to_server
01-20 19:17:53.068 4019 403 W vold : Found symlink /proc/29803/fd/14 referencing /data/vendor/gps/.pipe.gpsd_to_lhd.to_client
01-20 19:17:53.069 4019 403 W vold : Found symlink /proc/29804/fd/7 referencing /data/vendor/gps/.gpsd.lock
...
...
01-20 19:17:53.217 4019 403 W vold : Sending Killed to 32740
01-20 19:17:53.218 4019 403 W vold : Sending Killed to 32509
01-20 19:17:53.218 4019 403 W vold : Sending Killed to 32383
...
...
01-20 19:17:53.221 4019 403 E Cryptfs : Unexpected value for crypto key location
01-20 19:17:53.221 4019 403 E Cryptfs : Cannot get size of block device
--------- beginning of crash

```

I tried the steps given here on /data (/dev/block/sda25), but it did not do it for me either.

1. Any idea on how I can debug further `Cryptfs : Unexpected value for crypto key location`?
2. Is there a way to encrypt /data via the command line if this keeps failing?

# Answer
this device is encrypted with FDE full-disk-encryption. depending on how you installed Magisk the `forceencrypt=` flag is gone. that's what the *"crypto key location"* refer. edit your **fstab** and restore `encryptable=` flag that might help to use Samsung encryption in boot mode. but TWRP is most likely not able to decrypt anyway, so there is no benefit of having TWRP

btw this is a well known Magisk Bug and topjohnwu decided to ignore my fix
> 4 votes

---
Tags: encryption, lineageos, disk-encryption
---


# Question
Title: Unable to activate Lenovo tablet as a "secondary" Viber device
I have been using **Viber** for almost ten years on many devices (including Blackberries, Android phones and tablets, Windows and Linux PCs). Lately, my old Samsung tablet started to fail, so I bought a new tablet (**Lenovo TB-8505F** 8" Wifi only). I tried to activate Viber on this tablet as a **secondary device** which is the way I had used Viber for years: mobile phone is always my **primary** device; tablet *and* PCs are my **secondary** devices.

However, it seems that this new tablet is treated like a mobile phone by Viber (although it is a WiFi only device). So, Viber tries to activate this tablet as a **primary** device only.

As a comparison:

1. On the old Samsung tablet, the "activation screen" which is displayed just after I enter my mobile phone number, shows the relevant QR code to be scanned by my **primary** device (phone). \[This is the correct behavior\].
2. On the new Lenovo tablet, the "activation screen" which is displayed just after I enter my mobile phone number, shows that an SMS or phone call activation will be attempted \[wrong behavior\] just like the tablet **were a primary device only** (which it **should not**). In case I continue with the SMS/phone activation, my **primary device** (phone) gets disconnected \[as expected\].

I want to activate my new Lenovo Tablet as a **secondary** device. Is there a workaround to force Viber to "treat" this device as a secondary device?

# Answer
> 1 votes
I contacted *Viber Support* several days ago. Eventually the answer came from *Viber Support (Ian)*. The steps are like this:

* Remove Viber from your tablet (I added this step).
* Go to tablet's **Settings** **Display** **Display size** and change from **Default** (or anything else) to **Small**.
* Reboot your tablet so its *dpi* will change.
* Install and activate Viber on the tablet as a *secondary* device (now you will see the expected QR code).
* Change the **Display size** back to whatever it was before.
* To be sure, reboot your tablet and test Viber.

***Note***: Unfortunately, I cannot check the "Display size" of my old Samsung tablet, because I already did a factory reset on it.

# Answer
> 0 votes
Having the same issue with Samsung Galaxy TAB A 2019 and witnessing the crap support from Viber, I would like to point that the issue is indeed caused by the Viber device identification from screen resolution as Robert suggested. What is important is to differentiate screen resolution to one that can be identified as "tablet". In an Android developers site I found the following dp info:

> Here's how other smallest width values correspond to typical screen sizes
> 320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
> 480dp: a large phone screen ~5" (480x800 mdpi).
> 600dp: a 7” tablet (600x1024 mdpi).
> 720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

For some reason my tablet had as factory default setting minimum width 533 dp! On Android 10 you have to dig deep to find this by activating Developer Options menu (Settings/About tablet/Software Information/7 taps on Build Label) and under Drawing label find the Minimum width setting. For a 10.1'' you can set it to 800 dp. After restart the installation as secondary device proceeds as normal.

I have to point that Viber support after passing them a slum dunk with the post from this forum and my minimum width setting did not even bother to look for an answer!! They sent me as a reply the summary of this post with the "recommendation" to find View and Small Screen setting on Android !! I hope that my recommendation to include a warning to their knowledge base (which kept sending me as a fix to this problem !!) would resolve future issues. Especially since it is so easy for a developer/ technical person from a multi million dollar company to spot and solve.

Thanks for the info provided by Robert and Fendonkadifeli!!

# Answer
> 0 votes
What worked for me is running adb command:

```
   .\adb shell wm density             // to get current value X
   .\adb shell wm density 160         // to set density

```

,activate Viber hopefully as secondary device, and after that - revert value:

```
   .\adb shell wm density X`           // revert value to X(previously read value)

```

Also, running command `.\adb shell wm density reset` should revert density to initial value, but it faild to work for me.

You could try different values for density. As I understand it, lower value should correspond to larger screen size, ie. tablet.

---
Tags: tablet, lenovo, viber-messenger, activation
---


# Question
Title: What privacy sensitive metadata does an APK package contain?
What information possibly sensitive information is included in apk files?

The obvious metadata are of course the fields in the signing certificate. But what about (absolute) file paths, user names used on the machine where the apk was built and similar information?

# Answer
> 2 votes
APK files usually don't contain much of that data unless the developer explicitly has added them or used unusual third party programs to edit resources contained in the app e.g. images. You can simply check that by unzipping an APK file ready to be released. Use full text search tools on all unzipped files and search for data you consider sensitive.

If you want to minimize unnecessary data I would recommend to use a virtual machine with e.g. a minimal Linux installation you where the installation itself does not contain any sensitive data. As Android apps can be built easily using Gradle on command-line you don't even need a UI. Use it to build the final APK file and copy it to the host OS. Examine the created file as described at the beginning and if you don't find anything it is ready for release.

---
Tags: apk, privacy
---


title: Screen unlock pattern fails

text:
# Question
Title: Screen unlock pattern fails
After a system crash, it black screen and reboots, i am unable to unlock using a pattern, it is correct but is not recognised. I don't want to exceed the retry limit as things get more complicated...

How to fix it?

I'm stuck with android 6.0.1 on a galaxy j7 2015.

# Answer
This happened 2 times already. I just had to calm down and think: the reboot was forced, in a non safe way. So something went wrong.

To solve it, i just did another, but normal reboot, and it fixed itself.
> 1 votes

---
Tags: lock-screens, pattern-lock
---


# Question
Title: Which Virtual machine is used in Android 11?
Every Android application runs in a virtual machine. We know that Dalvik virtual machine \was the one that is used by Android. Next, they changed to ART (Android Runtime machine). Just correct me if I am wrong. Android 11 uses which virtual machine, Dalvik or ART?

# Answer
Android 11 uses ART. Android 4.x KitKat were the last Android releases to use Dalvik.
> 1 votes

---
Tags: dalvik, art, vm
---


# Question
Title: How can I read my epub books in Google Books for Android?
Has anyone been able to take and place an epub book inside the Google Books app or know how to do it?

# Answer
As of March 2013, Google Play Books supports third-party ePub or PDF files. You can upload books to your account by visiting https://play.google.com/books/uploads in your web browser (when logged in to your Google account, of course). You are permitted to store up to 1,000 uploaded files on your account at a time, and each file must be no larger than 50 MB in size.

There are also many alternative book reader apps that support ePub files if you would prefer that. Aldiko seems to be very well liked, but I have not used it myself.
> 20 votes

# Answer
# **You can import/upload them:**

## Uploading the PDF/ePub file(s) to your Library

1. Go to My Books
2. Click on 'Upload File' in the top right corner.
3. Choose the file(s) you wish to upload.

## Getting the PDF/ePub files in your App

1. Go into your Google Play Books App.
2. Click on the button on the top left ('Read Now' or 'My Library').
3. Select 'My Library'.
4. Click on the button just underneath it ('All books').
5. Click on 'Uploads'.
6. Click the Android Menu button.
7. Click on 'Refresh'
8. When you try to open the file, you may be prompted to download it.
> 1 votes

# Answer
Put the epub on your device. Use a file manager such as Files to open it (with \[Google\] Play Books). It'll import it then.

This was tested on Android 10 with the Files file manager (version 1.0.347928958) on a Vastking KingPad SA10 with an epub created with Calibre (3.21.0+dfsg-1build1) for Xubuntu 18.04.5 LTS, 64-bit, soon before I answered this question.
> 1 votes

---
Tags: ebooks, google-play-books, epub
---


title: Importing group associations _only_

text:
# Question
Title: Importing group associations _only_
(Following question to this one) Suppose I have an .xls or .csv file with associations of contact names to groups (or firstname, middlename, lastname to group).

I want to import these associations - applied to existing contacts; I don't want to create new skeleton contacts based on these associations. Is this possible? If so, how?

# Answer
> 0 votes
The **SA Contacts Lite** application, which can import and export contacts more generally, can be used specifically for this purpose:

1. Download & install SA Contacts Lite application; it is available on places where you don't need an account, e.g. via APKPure.com.
2. Remove all columns from your the file except for the names/name components and the group associations (i.e. remove all the columns you don't want to import)
3. Save the whittled-down file to the root of your phone's storage hierarchy
4. In SA Contacts Lite, click `Import`.
5. Choose `SD Card` as the location in which to search for the import file (or someplace else, if you put your file on Box/DropBox/Google Drive and have that configured in SA Contacts Lite; I didn't do this); press `Next`.
6. Select the `.xls` file in the dialog which comes up; press `Next`.

That's basically it. Your existing contacts will now also have the group associations.

Notes:

* I've tried this with an Excel file: `.xls`, not `.xlsx`. Not sure if it also works with `.csv` files.

---
Tags: contacts, import, contact-groups
---


title: Verifying a (custom) ROM signature

text:
# Question
Title: Verifying a (custom) ROM signature
Android ROMs and also Android custom ROMs are typically cryptographically signed.

Most users will only recognize this if they try to install a ROM and the signature verification on-device fails.

For verifying authenticity of a ROM it can makes sense to verify the signature offline, before installing the ROM and e.g. compare the used signature certificate if it is the one expected, e.g. if the ROM is a genuine ROM build by LineageOS.

**What command do you have to execute for verifying the signature of a ROM (e.g. if you have the ZIP file) on a PC?**

# Answer
In order to verify the signature of a ROM ZIP file on a PC, two things are required:

* The public key from the ROM creator (can be extracted from `/system/etc/security/otacerts.zip` if the creator is the same e.g. in case of updating stock ROM).
* A tool to extract the certificate from the comment (footer) of the ZIP file and verify its signature key against the ROM developer's public key.

There are multiple tools available to perform the second step, including the one officially provided by LineageOS:

```
update_verifier.py <pubkey> /path/to/zip_file

```

## DETAILS

I had a vague notion that custom ROM ZIP files contain the standard JAR signatures block (which is also the case with APK signature scheme v1). So the standard `jarsigner -verify` command could be used to verify the integrity of a self-signed JAR/ZIP file (that it hasn't been tempered with since created), though not the authenticity of the source (which requires the root certificate, as is the case with AVB).

But a deeper look into TWRP source code indicates that it's using the same signature verification mechanism used in stock recovery for OTA ZIP file verification (source code here) i.e. verifying the authority of the ZIP file's creator against prebuilt public keys stored in `/res/keys/`. `signapk.jar` is used at the time of compilation to sign both APKs (apksigner is called) and OTA ZIP files. The same tool adds the "signed by SignApk" message you noticed in ZIP file.

So the `/res/keys/` directory in recovery must contain the public keys from all ROM creators in order to verify their ZIP files, which doesn't seem practical. Stock recovery contains only OEM's public key(s) while custom recovery most probably contains test keys from the official SDK. And that's why we often face the infamous *"ZIP signature verification failed"* message for ROMs and other flashable ZIP files.

On non-A/B devices the OTA package (if not manually downloaded by the user) is also verified before booting to recovery mode. In this case prebuilt keys from `otacerts.zip` are used for verification (source code here). But with A/B updates recovery is not involved at all (`/res/keys/` no more exists since Android 10) and package might not be verified even once (if doing *"streaming updates"*, some more details in this answer).

So keeping these points in view, the verification mechanism used in recovery doesn't seem to be of much importance. In order to verify the authenticity of a ROM, better would be to simply do a checksum verification of the downloaded file if possible, like LineageOS provides SHA256 hashes with their downloadable ZIP files.
> 4 votes

---
Tags: custom-roms, rom, command-line
---


# Question
Title: You are already a developer/but no developer options
I have a Huawei nova 3i and I remember unlocking developer options when I first got the phone a few months back. Problem is now I have noticed that the developer options are gone so I went to build number and went to press it 7 times but after the first press it says (you are already a developer) but the option is still not there. I have looked online for at least an hour but can find nothing. Any help would be appreciated thanks

# Answer
> 5 votes
If the Developer options menu refuses to appear there is an alternative:

Use the very tiny app Developer Options. It allows you to enter the developer options menu independently if you have enabled or disabled it.

Once you are seeing the developer options menu check the switch on the top for enabling/disabling the developer options. Try to toggle it several times and in the end leave it enabled. Now check if the developer options menu is visible.

If this does not work use the app again to enter the developer options menu and change the developer options switch to disabled. Then try to tap again the build number 7 times. Hopefully afterwards the developer options menu appears. If not you can keep the "Developer Options" app as workaround. In difference to other apps it does not contains tracking, adware or advertisement frameworks (at least the version I have checked - v1.0.4).

# Answer
> 5 votes
For me it was inside System menu.

> Settings--\> System --\> Advanced --\> Developer Options.

For Enabling Developer Option:

> Settings--\> About Phone --\> Build Number (Tap 7 Times, to enable)

Tested on Moto Action.

# Answer
> 3 votes
I had the same exact problem with the mentioned phone and none of the provided solutions worked for me. Finally i succeeded to make the developer options visible by going to settings - apps - selecting "settings" app and executing "clear data" on it. It worked with me.

# Answer
> 1 votes
Just press the build number a few times and then go the settings-\>system

Honor with EMUI 9.1.0 and Android 9

# Answer
> 0 votes
I had the same problem on my sm-j600g but I rebooted and showed up by itself

---
Tags: huawei, developer-options
---


# Question
Title: How to connect Samsung phone to Soniq Smart TV via bluetooth without the remote?
I have Samsung Galaxy A11 and Soniq Smart TV which uses Soniq QT166 remote. Currently, I don't have the remote. I am trying to download a remote on my phone as a replacement. However, I can't connect the phone to the TV without the remote.

Can I connect a Soniq QT166 remote to my Samsung Galaxy A11? Without a remote, I don't know how to connect to Bluetooth via phone to TV.

# Answer
There are many apps available on Google Play Store, out of those, these are two.
> 0 votes

---
Tags: samsung, remote-control
---


# Question
Title: Remote factory reset and changing Google password
In case I ever lose my Nexus 4 phone, I've opened to the Google Settings app, then tapped "Android Device Manager" and from there, I've enabled both "Remotely locate this device" and "Allow remote factory reset."

Then I can use Android Device Manager online from anywhere to ring or reset the phone.

My question is: in the event my phone is stolen/lost, I'd probably change my Google password so the phone can't sync any more while I attempt to find it. If I change my Google password and *then* reset my phone after that, will the remote wipe still work since the Google password changed?

Note: I have 2-factor auth enabled, but keep in mind my phone and the apps in it are already authenticated.

# Answer
Why not for sake of it, activate 2-step authentication on your Google account?

And just use the random generated password instead, *be sure you have enabled Google to SMS you for any login attempts on your Google account*, and keep your real password hidden. That is what I use here, where-ever I log in, I get an SMS direct to me, asking to enter the verification code, no one else has it.

Also, it would be easier to just revoke it from your Google Account settings page, i.e. access denied.

*I use a spare, crappy phone that I carry with me everywhere, zero chance of anyone trying to steal it, that receives the Google SMS notification, and yes, its a dumbphone :)*

# Edit

**To clarify:** Your account on the device is called a *Application specific password*. See the **Revoke** beside each application specific password.

In event of phone or should I say, *device* getting lost/stolen, its a matter of simply clicking on it. That is what I was referring to, in my case, I have the application called "My smartphone google account signin", and if it gets lost, I click *Revoke*, even after factory reset, data is wiped cleanly for my peace of mind.

I still have my laptop as my *authorized* login, that is, I can use my real password on the laptop, everywhere else Google is accessed, is using the random generated password. And if I was to login on another computer using my real password, the verification code gets sent to my dumbphone which I check and use.
> 2 votes

# Answer
> Android Device Manager makes it easy to locate, ring, or wipe your device from the web.

So, your question here is:

> in the event my phone is stolen/lost, I'd probably change my Google password (...) will the remote wipe still work since the Google password changed?

What I find somewhat confusing is:

1. Your assumption is that the remote wipe no longer works if the account password has been changed. Why do you assume this? This seems like a huge oversight in the design of ADM, so I don't see why it makes sense to assume this is true without proof. If anything, I think the opposite seems more reasonable to assume given no actual evidence. I encourage you to try it out if you'd like to find out for sure.
2. If we assume for the sake of argument that ADM can no longer wipe a device if the account password has been changed — still, I don't believe this to be true, and if you can prove it, it should definitely be reported as a bug (and if it's not a bug, at least there should be warnings plastered all over the place) — why even take the chance? If you wipe your phone *before* changing the password, this whole concern is a non-issue, right?

Let me know if I am missing something here, but I don't see how anyone can give a meaningful answer to you, except if anyone is willing to try the validity of your claim (which you can also do yourself).
> 1 votes

# Answer
Yup you can't wipe after changing password,

But if are going to do so then do remote wipe and change it.

It requires hardly any time to do this,

After reset your account will no longer be used with device,

If you change password before resetting he can have access to your old data which ware there before resetting the password..
> 0 votes

# Answer
You cannot wipe after password change, you can't even download an app until you insert the new password.
But why would you want to change the password in the first place if you would want it to be synced on the phone? I mean the thief then could still use it as normal if the password would sync automatically.
> 0 votes

# Answer
If someone find your mobile and try to restore mobile. He need to enter your new google password. He can not bypass FRP lock without new password.

You can factory reset mobile. Use mobile or computer which you have used. You need to enter your password again.

Two factor verification use your email and mobile.
> 0 votes

# Answer
Some phones may be bypassed with no problem - you just need to launch settings from a USB-OTG cable/drive, do the factory reset in the Backup settings and clean up all data related to Google accounts. After that you should do the reset again and FRP will be reset. So you will have an opportunity to use your phone like a new one. Read more here http://www.flexihub.com/remote-android-factory-reset.html
> -1 votes

---
Tags: security, android-device-manager
---


# Question
Title: How can I access and view the Samsung Internet cache?
I'd like to try and recover a lost website that might have been cached on a Samsung Internet browser, where would the cache be located? I'm running Android 11. I've checked in Phone\Android\data, but there doesn't seem to be a correlating folder for Samsung Internet.

# Answer
Samsung Internet browser's package name is `com.sec.android.app.sbrowser`. You should check the cache files under the folder `/data/data/com.sec.android.app.sbrowser`. Note that you need root access to read that folder.
> 1 votes

---
Tags: cache
---


title: Black screen during Whastapp call/audio

text:
# Question
Title: Black screen during Whastapp call/audio
My proximity sensor is broken, and, Whastapp turns the screen off during call/audio. Not even power button will turn it back on.

All "solutions" out there tell me to clean the sensor. Impossible here.

How to disable this completely ?

I've tried Xposed's Disable Sensor module, entirely disabling this sensor or mocking it's values. No results.

I thought about revoking a sensor usage permission for that app, but could not find a module that has such an option

I can't remember if the problem happens during phone calls, but if the fix could be extended to this area, great

Xperia Z3

# Answer
Searching all over the web tonight 1/22/21 looking for an answer on how to fix this and found NOTHING. So with trial and error and a little ingenuity I developed my own solution which worked.

1. Turn on airplane mode while the black error screen for in call is opened up on your phone.
2. After the first beep notifying you the the call is losing connection the screen/app realizes it's error and reverts back to the normal state. In call screen will now be normal.
3. Turn off airplane mode immediately after the in call screen is remedied so you do not lose your call.
4. You're welcome
> 0 votes

---
Tags: whatsapp-messenger, proximity-sensor
---


# Question
Title: Clean LineageOS 17.1 install and empty device - can't work out how to mount data partition in TWRP?
I'm installing LineageOS 17.1 on my new phone. It works fine, but I can't get to data in TWRP.

As usual, to install, I wipe everything, drop into TWRP, format (not just wipe) data, wipe cache/davlik/system, and flash the LineageOS installer file. When the system starts first time, it gives a message "encrypting data", which doesn't have a "skip" option.

When I drop back into TWRP it asks for a decryption password to access data, but I don't have one because I haven't entered one in the first place.

How do I get LOS to not encrypt data, or alternatively, what decryption password should I use in TWRP?

***Note:** this isn't a duplicate question. Other questions about decrypting data involve corrupt data or system issues that prevent data being accessed because of encryption, or trying to recover files from data. In my case, it's a clean install with no prior data content, but I can't figure how to access data in TWRP because it seem to encrypt it automatically but there's no hint what key to enter in TWRP.*

# Answer
**First** let's have a look why it is not (yet) possible to mount encrypted userdata partition from TWRP especially on Samsung devices.

Encryption is hardware-backed in TEE and therefore vendor specific. Furthermore ...

> ... some vendors such as Samsung use their own encryption techniques. Without heavy deconstruction/decompiling of custom library blobs, and successful ports by an active maintainer, this may never be done.

Decryption involves the underlaying firmware. It requires to mount various partitions and running libraries for communication with (TEE) Trusted Execution Environment.

For Qualcomm devices it is necessary to run `qseecomd`, for Exynos devices the Trustonic Kinibi daemon. In this example the `modem` partition is mounted with `mounttodecrypt` flag (qualcomm)

```
/firmware   vfat   /dev/block/bootdevice/by-name/modem   flags=slotselect;display="Firmware";mounttodecrypt;fsflags=ro

```

As we can see on this list of libraries also the `vendor` partition is mounted. This is also OEM specific content used by LineageOS and not included in TWRP by default. Some recent TWRP builds have it, most builds are designed to use the firmware. However no Samsung devices known. This example is from another qualcomm device not for Samsung:

```
/firmware/image/cmnlib.b00
/firmware/image/cmnlib.b01
/firmware/image/cmnlib.b02
/firmware/image/cmnlib.b03
/firmware/image/cmnlib.mdt
/firmware/image/keymaste.b00
/firmware/image/keymaste.b01
/firmware/image/keymaste.b02
/firmware/image/keymaste.b03
/firmware/image/keymaste.mdt
/system/bin/linker64
/system/bin/qseecomd
/system/lib64/hw/keystore.qcom.so
/system/lib64/libbacktrace.so
/system/lib64/libbinder.so
/system/lib64/libcnefeatureconfig.so
/system/lib64/libc.so
/system/lib64/libcutils.so
/system/lib64/libEGL.so
/system/lib64/libgccdemangle.so
/system/lib64/libGLES_trace.so
/system/lib64/libGLESv2.so
/system/lib64/libgui.so
/system/lib64/libhardware.so
/system/lib64/liblog.so
/system/lib64/libm.so
/system/lib64/libnetd_client.so
/system/lib64/libsigchain.so
/system/lib64/libstdc++.so
/system/lib64/libstlport.so
/system/lib64/libsync.so
/system/lib64/libui.so
/system/lib64/libunwind-ptrace.so
/system/lib64/libunwind.so
/system/lib64/libutils.so
/system/vendor/lib64/libdiag.so
/system/vendor/lib64/libdrmfs.so
/system/vendor/lib64/libdrmtime.so
/system/vendor/lib64/libNimsWrap.so
/system/vendor/lib64/libQSEEComAPI.so
/system/vendor/lib64/librpmb.so
/system/vendor/lib64/lib-sec-disp.so
/system/vendor/lib64/libsecureui.so
/system/vendor/lib64/libsecureui_svcsock.so
/system/vendor/lib64/libssd.so
/system/vendor/lib64/libStDrvInt.so
/system/vendor/lib64/libtime_genoff.so
/system/vendor/lib64/libvendorconn.so

```

---

**Now**, as we know there is a lot of research to make decryption working, it's obviously TWRP maintainers are desperate overhelmed with providing encryption support for all devices. Therefore decryption is always only a goody, heavily depending on maintainers knowledge and engagement.

That might one reason why android modding scene prefer to run custom ROMs **unencrypted**

---

**Encryption** is forced since Android 5.0 with `forceencrypt=` flag in fstab (FDE) or `fileencryption=` (FBE)

The flags `encryptable=` `forceencrypt=` and `forcefdeorfbe=` are always pointing to crypto footer. Therefore they are interchangeable.

**To disable force encryption (FDE)** use the first flag. Edit your fstab entry for `userdata` partition and replace `forceencrypt=` with `encryptable=`

```
/dev/block/platform/11120000.ufs/by-name/USERDATA   /data   ext4   noatime,nosuid,nodev,discard,errors=panic   wait,check,encryptable=footer,length=-20480,reservedsize=128M

```

This can be done from TWRP by installing `no-verity-opt-encrypt-6.1.zip`

The benefit of having force encryption disabled while keeping the availability for encryption is in the nature of **Direct Boot** vs **Secure Start**. Upon first boot, the device creates a randomly generated 128-bit master key and then hashes it with a password and stored salt. The resultant hash is also signed through TEE (such as TrustZone), which uses hash of the signature to encrypt the master key. There are four kinds of encryption states:

* default
* PIN
* password
* pattern

On **Direct Boot** the former one is forced with ***'default\_password'***, indeed that's how most android devices still encrypted. (TWRP always probes against *'default\_password'* and only asking for password if decryption failes.)

If you choose **Secure Start** from security menu the keystore password is re-created using your current lock screen credentials. downside of this encryption state android won't boot until correct passphrase is entered.

---

To overcome this the benefits of **Secure Start** with **Direct Boot** was merged in (FBE) File-Based Encryption, which was introduced with Android 7.0 and enforced for devices shipped with Android 10+

**Be aware** there is no way to disable enforcement of **(FBE) File-Based Encryption**. Therefore the only method left is to **disable encryption completely** by deleting the `fileencryption=` flag from fstab (with no proper replacement). Indeed that is how Magisk does currently when flashed from TWRP.

Universal DM-Verity ForceEncrypt Disk Quota Disabler will disable encryption completely

---

The *only\** way to decrypt existing data on Samsung devices is boot into android.
*(\*there exist investigations to break encryption, however not for Samsung encryption)*

If your goal is data recovery from encrypted Samsung device TWRP is **not** the way to go.
> 1 votes

---
Tags: twrp, encryption, lineageos
---


# Question
Title: Displaying profile photo on others' phone when called
I am using Android 6.0.1. How and where to set my profile image, so that the image is seen by the opposite person when he is called on the phone?

# Answer
You can not do that. It is not possible to set a profile photo for yourself on other phones. Phone calls transmit nothing but your voice and phone number. You can not transmit a profile picture through a phone call. Third-party apps like Google Hangouts do not use phone lines, instead, they use data, so they use a custom protocol that allows them to send the profile pic of the caller.

The receiver of the call must set a profile photo for you. This must be done for everyone that you want to see the profile photo of:

They will want to follow the instructions to add a photo to **your** contact, **not theirs**.
> 1 votes

# Answer
You can do this through the Google account you have set up associated with your phone number. It's in your Google account settings.
> 0 votes

---
Tags: 6.0-marshmallow, calls
---


# Question
Title: How to enable USB Storage for Amazon Kindle Fire HD 7" Tablet
I have these **Amazon Kindle Fire HD 7" Tablet**, ever since I bought it and the first time it prompted me if I wanna enable **USB mass storage** when I connected it to the computer, and I selected **charge only** or something close to that, up to this very moment, I can't access the tablet from a computer via **USB cable**

```
Specifications;

Android version: Android-5.1.1
Device Model: KFFOWI

```

Any solution please?

# Answer
> 1 votes
There are USB options which control how the port is to be used (or not) when connected to a computer. Unfortunately, these options are pretty well hidden -- the easiest way to get to them is if you get a notification about the USB, and can click on it to open the USB options. Otherwise, to get to the options:

* From the top, pull down the toolbar and select the options (gear icon).
* In the Device section, you have Device Options, open that.
* There is a hidden "Developer Options" here (OS 5.6.8, but may be up a level under "Device Options" -- unhide by tapping the "Serial Number" name seven (7) times (you might get a countdown). Then the Developer Options should be unhidden, either right below the Serial Number, or up a level under Device Options.
* Open the "Developer Options and tap on "USB Connections" selection.
* You get choices on how the USB connection is used, select File transfer, or MTP (Media Transfer Protocol), or PTP (picture transfer Protocol),...

# Answer
> 0 votes
You might need to re install necessary drivers for your device. Alternatively try using USB Mass storage enabler, from Amazon marketplace

---
Tags: 5.1-lollipop, amazon-kindle-fire, usb-storage, wiki
---


title: How reliable are waterproof phones?

text:
# Question
Title: How reliable are waterproof phones?
I want to have a waterproof phone that I can realiably wear when I am windsurfing. During a session it might get wet and might sink for a few centimeters for a couple of seconds from time to time.

I bought a **refurbished Huawei P20 Pro** for the purpose, **IP67 waterproof**. I had watched videos on Youtube where it would be under 1.5 meters water for 15 minutes and still be working fine.

After a short session on the water with this phone, where it got wet but never sunk, the next day the phone was **dead forever with water damage**. I imagined that, being refurbished, it might have been hacked by the previous owner.

I got my money back and bought the same phone again, also refurbished. This one was really new, in the box with all the gadgets. I took it on a session, this time in a cheap "waterproof" pocket. At the end of the session, there was some moist in the pocket. Next day the phone was dead forever. Again. Was this hacked too? I don't think so.

I got my money back and bought a **refurbished Samsung S9**, which is **waterproof IP68**.

Now. I am not going to bring it with me on the water until I am sure it will survive.

I could buy a IP68 protection for it but wouldn't it be overkill and actually nonsense (IP68 + IP68 = IP68) and maybe still let water in?

Are these videos on Youtube realistic? Maybe 10 minutes after the video the phone becomes useless.

**Are the IP67 and IP68 certifications reliable** for general public phones? I am sure they are when it concerns professional equipment.

Thanks for your thoughts

# Answer
> 4 votes
I have a fair amount of experience using and testing IP68 waterpoof phones. Here are my experiences.

I personally have had quite a bit of success with them in several different types of environments. When getting a new one, here's what I do before I put any data on it:

1. I charge it up and turn it on. I make sure it works before testing.
2. I set the display to go off after 5 minutes. I set an alarm with both sound and the buzzer to go on in 10 minutes. This will ensure the speaker and buzzer work underwater, and will also provide a little agitation.
3. With the device turned on, I place it in a tall glass of fresh water for 30 minutes. I want the glass to be tall to increase the water pressure. A flower vase works well. The device's display will shut off after 5 minutes, as expected.
4. With the device still wet, I turn it back on, and test it. The speakers may temporarily sound horrible; I find this to be normal on some models.
5. Now, I place it under a water faucet turned up to a flow rate in which I would wash my hands. I wash it under that pressure at all angles for several minutes and at various non-extreme temperatures.
6. Repeat step 4.
7. I let it sit overnight.
8. Repeat step 4.
9. I place it in the bottom of a tub as deep as I can, but within the manufacturer's specifications. I try to agitate it as much as reasonably possible, often using a long stick or with a long piece of string or dental floss attached. Then I let it sit in the water up to the duration specified by the manufacturer.
10. Repeat step 4.
11. I dry it with a cloth and *vigorously* shake it to remove some of the water within ports.
12. Repeat step 4.

I have yet to test a device that hasn't survived these basic tests.

At this point, I repeat the above steps with the type and temperature of water to which it will be exposed during real-world use. I do this knowing that it may invalidate a weak warranty by a manufacturer that does not have confidence in their products.

I have only found a few minor downsides to waterproof devices:

1. Often, after being wet, the speakers sound really bad. I typically have to wait for them to dry completely. If I need good quality audio before then, I'll play loud music to use the air pressure created by the sound waves to help extricate the water.
2. Charging and data transfer are often risky/impossible until the device is *completely* dry. Depending on environmental factors, this may take anywhere from 30 minutes to 12+ hours. I've learned not to plug it in for as long as possible after being wet, to reduce fire risk or shorting a circuit. When I do finally plug it in, I keep an eye on it, and I don't let it charge unless someone can supervise it (and therefore cannot be asleep). I've learned to not attempt any data transfer via cable for at least a day, if I can wait.
3. Any ports are the hardest thing to get dry. I haven't tried them yet, but I'm researching buying some little rubber port covers to hopefully help with this issue. I am concerned that they will all fall out and get lost on the fist use.
4. It's often hard to find waterproof phones with easily replaceable batteries and microSD slots.
5. Repairs can be harder to perform yourself or more expensive for a technician to perform.

I have spoken to repair shops who state that they get waterproof devices that weren't nearly as waterproof as the manufacturer claimed. Because of this warning, I tend not to intentionally push the limits of the waterproofness once the device has data on it. Remember that increasing water pressure due to turbulence is similar to increasing water pressure due to depth.

If I'm going to be in extreme conditions, I place my waterproof phone inside a clear waterproof bag (which also has a rugged lanyard, which I have reinforced).

Overall, I ***highly recommend waterproof devices***. Just test them well before use, and make sure you ***backup your data frequently***. As we say in rock climbing, "never climb higher than you are willing to fall".

If you do have to return a device due to a waterproofing failure, please do your best to ensure the manufacturer doesn't just offload it to a refurbisher who will then sell it to an unsuspecting person who will not be aware of the device's previous failures. No one wants that to happen to them, so let's work together to make sure it doesn't happen to others.

---
Tags: samsung-galaxy-s-9, water-damage, huawei-p20
---