# Question
Title: Where map applications get live traffic data?
Nowadays, there are a lot of traffic applications that help us to choose the better path to being arrived at the destination.
Therefore, it's the common question for people, "How does it work?"

I need some professional information about it. Please tell me in deep detail.
Any help would be appreciated.

UPDATE:
I don't mean "How does Google know where I am?" or something like that which asked in THIS link.

Look at this picture and you'll understand my objective.

# Answer
> 2 votes
I can't go into 'deep detail' about the exact mechanics as I simply don't know them.

Google own the 'social' navigation app Waze. Waze allows you to report traffic accidents and roadworks and such so that other users can be made aware of them before they get to the affected area and, hopefully, adjust their route accordingly.

One of the permissions you give Waze in exchange for this free service is the permission to track your location.

Waze and Google then use this information to calculate your speed.

Obviously live traffic mapping wouldn't work very well if there was only one person using the app. Thankfully many people use Waze every day and Waze and Google use the data from all users to accurately map out traffic jams and calculate average speeds and journey times.

I can't say for all places but, in my local area I know the local radio station help to report traffic accidents and roadworks on Waze and also use Waze for their traffic updates.

For a brief explanation on Waze specifically you can read this page https://support.google.com/waze/answer/6078702?hl=en

---
Tags: applications, google-maps
---


# Question
Title: Is it possible to use a Bluetooth earpiece while using a microphone plugged into the headphone Jack?
I'm going to be attending an event as a representative of a semi-professional podcast.

I will be interviewing several people but, it is a long, busy event with no area for formal interviews, so I will be using my phone (Samsung Galaxy Note 9) with an external microphone to save space.

In discussion with the podcast host it was suggested that we try to set up a "live feed" so that he can give any input during the interview. The "live feed" isn't too much of an issue as I am capable of streaming content from my phone.

My main concern is being able to hear him over the crowd, usually a Bluetooth earpiece would solve this. However, I'm not sure if an external microphone plugged into the headphone Jack port would override the earpiece as the microphone.

Does anyone have any experience using both a Bluetooth earpiece and a Jack microphone simultaneously? If nobody has tried this before, is it even theoretically possible?

# Answer
After a fair amount of testing on my Samsung Galaxy Note 9, using server different apps, I have discovered that it is not possible to use a 3.5mm jack microphone in conjunction with Bluetooth headphones.

Instead I had to use a 3.5mm splitter cable (widely available online) and connect my microphone and regular 3.5mm jack headphones.
> 0 votes

---
Tags: 9.0-pie, microphone, samsung-galaxy-note-9, earpiece
---


# Question
Title: How to know about MIDI controller via OTG latency on device?
I have both these devices. I read somewhere that Android doesn't support good latency for MIDI devices as iOS do. But when I connect MIDI device to Sony Xperia M5, it has high latency. If I connect to Lenovo Tab 10, it's much better. I can even play normally on MIDI keyboard with Lenovo Tab 10. Both devices run Android 6.0. Is it possible to know if device has good latency or not?

# Answer
> 2 votes
So High Performance or Low Latency Audio on Android has been a work in progress for quite some time as seen on the Android Developer Audio Latency page.

Ideally the device will report supporting `android.hardware.audio.pro` feature flag indicating some level of compliance with the Android Compatibility Definition Document regarding 20ms round trip latency.

Superpowered is a company that makes an Audio SDK does provide test app and chart of devices/OS versions & buffer sizes with their latencies. While I'm not sure of the model versions that you have, you can use the APK on the page to test your current devices and use the list to inform future purchasing decisions.

---
Tags: hardware, usb-on-the-go
---


# Question
Title: Is it possible to use Google speech recognition in the Google Translate application for Android while offline?
Is it possible to use Google speech recognition in the Google Translate application for Android while offline?

When I try, it says that Google voice typing can't be used "in this field", and the built-in speech recognition in Google Translate doesn't work when offline.

Google voice typing does work in other applications when I'm offline, as I download the speech recognition model:

# Answer
> 1 votes
From Google forums as of September this year

> You cannot translate voice offline.

---
Tags: voice-recognition, google-translate
---


title: My Android phone will not boot

text:
# Question
Title: My Android phone will not boot
I have an adroid phone Samsung Trend Lite and it won't boot. It goes off immediately.

Let me explain the situation more clearly.

I got this phone from a cousin and he said that it was broken and he couldn't fix it. I got the phone and tried to power on but it shuts down in the moment it appears the words: `Samsung Trend Lite`.

I thought it was a battery moment so I plugged it and I let it for sometime. I tried to power on the phone while charging but no luck.

While charging I tried to press the power button and the home button and it showed me the battery that was charging. In beginning I thought it was a circuit fault but after that, I came to a conclusion that it wasn't.

After 1 hour passed I pressed again the Home button and the Power button in an attempt to go to the boot menu. I made it but it showed me an error. A yellow triangle with an exclamation mark.

Though I wasn't able to read the message because it disappeared too fast. I searched on google with the hopes that I could actually find something but I couldn't find anything.

If you know anything that could help me, I would be really happy. Thanks in Advance :)

# Answer
Your phone bootloops. As I know, the only way to solve this problem is reflashing firmware and most likely you'll lose your data. Possible reason: modifications with root privilegies.
> 0 votes

---
Tags: samsung
---


# Question
Title: Why can't Android Media Storage detect my new Ringtone file?
I have had this problem on both the Nexus 4 and Nexus 5 (of all phones).

I have a file, it is the same ringtone file I use on all my phones, it is an edited mp3 of a song I like.

I put this file in the "Ringtones" folder of my device.

When I go to change my ringtone, my new file is not available as a selection in the Android settings.

Rebooting the device does not cause the new file to be detected.

What I end up doing EVERY SINGLE TIME I have to add this ringtone file (I wipe my device occasionally) is finding the "Media Storage" app on my device and clearing its memory. At this point the phone thinks there are no ringtones, but then once I reboot, all the old ringtones are there along with my ringtone which has been in the same location the ENTIRE TIME.

So I have a workaround, but can anyone tell me where I am going wrong?! This is driving me nuts! Is anyone else seeing this problem?

I have to be missing something simple because all the internet forums I am reading are all straightforward "just put the file in the ringtones folder and it works like magic" which is very frustrating.

EDIT: Some additional info, I have had the file there for a couple days now, just to see if that makes a difference. Rebooted the device over a dozen times in the last couple days. The file still is not available as an option.

EDIT 2: See comments below. Seems to be something to do with how I am placing the file there, but still strange that media scan does not pick it up on reboot. Anyone know anything about media scanning? Maybe it is optimized on boot to skip folders like the Ringtone folders since those shouldn't change frequently...?

# Answer
What solved it for me - I had a hyphen `-` in my OGG filename, changing it to an underscore and restarting the phone (Nexus 5 KitKat) made it show up
> 4 votes

# Answer
If you just copied over the file then it's permissions are like set at 600. chmod the file to 644 so it is WORLD READABLE. so,

```
chmod 644 /sdcard/ringtones/blah.whatever

```

also a filename with a space in it could cause an issue, do a rename anyway so if the files name is `blah blah.whatever` , rename it to `blah_blah.whatever`

Lastly if the above are no go or already sorted correctly, goto settings--\>apps and locate media storage. Force stop it, clear it's cache and then reboot. Note if you want to clear all it's data, pull your ringtones to a different directory first JIC then after your clear all data , move them back to your ringtones directory. If you are rooted just copy the file over to the correct place in /system/media/ and set perms correctly \[644\] and reboot.
> 2 votes

# Answer
I have a setting on my phone. settings - audio profiles - individual profile setting - custom ringtone. here I can add any MP3 to the list of phone recognised ringtones. if you have such, then you're golden.
> 0 votes

# Answer
I had the same problem, in my case I use my favorite song as alarm, since I install new apps for some reason I can not remember I force to stop the default app for music, and I went back to it and run it again and I was able to search for music files again,,,, it seems no default app is running and that's why can not run the option. :)
> 0 votes

# Answer
Try finding the song through your device music player. Play the song and while it is playing, select options then set as ringtone.
> 0 votes

# Answer
I came across the same problem. My new Moto E (2nd gen) would not play the ringtones I copied from my computer to my phone. I solved this problem by ignoring the message that I get from my Moto E about converting the files over to WMA files (I left them as .m4A files - music files) when I copy them from my computer to my phone and copied them back into the ringtones folder as well as the music folder. I opened Google Music player and played them and then assigned them to my alarms. What a pain in the neck! It is fixed now.
> 0 votes

# Answer
Some of the MP3 Files may have different "file name" and "file title", we can see file title in laptop using : Right click on the file -\> Properties -\> Details. MP3 ring tones listed in Android by "File Titles". Ex: I downloaded a file named "Notify.MP3" and it is listed in Android Ring tone as "Morning Alarm 4" Note: I'm using Android-L
> 0 votes

# Answer
I'm sorry this is so long, but if you're still desperate it might help. I've unsuccessfully been through a lot of online advice. I have a generic phone running 'N' (that's Nougat, right?), a Blu Vivo XL2, which has two SIM slots. I'm only using one of the latter at present, and for some reason the guy at the store put the SIM card in slot 2. I took T L Kannan's advice to give the ringtone file a title in addition to its name (by going back to Audacity and not skipping the Metadata part of Export audio and of course placing this version in the phone's Ringtones folder), which may or may not have helped. Real resolution came from a bizarre experience I hadn't heard of before.

1. Tapping Settings-\>"Sound and Vibration"-\>"SIM 2(\[network name\])Call ringtones" (other choices SIM 1, Notification, Other...), which brings up the list of built-in ringtones
2. tapping a little icon at the bottom of the display labeled "Ring DIY"
3. swiping down through the resulting endless list of every blessed sound file on the phone to find and select my file at the very bottom.
4. This brought me to a new screen which looks like a bare-bones sound editor with a big red Start button, which plays the file. Great! There's also Cancel and Save at the top.
5. tapped Save, which brought up a screen with the snarky message (no kidding!) "Oh well--Good--You should name this ringtone" with the (already-named) file in an edit box and a Save button at the bottom. It wouldn't let me not (re-)name the file (I just added a digit to the end) and Saved. (This process BTW seems to save duplicate copies of the file under the modified names in a subfolder of Ringtones named "diy", and I think I'm up to \[Filename\]4 by now.)
6. This leads to a screen "Congratulations~Saved successfully!" with "Make ringtones" and "DIY again" buttons below.
7. Tapping the former brings up a popup at the bottom labeled "Make Ringtones" and a single choice; "Voice call ringtones", which led me to
8. a choice of SIM 1 and SIM 2. Tapping one of them leads back to step 6 again. Backing out of there via "\<-- Ringtones" at the top takes me back to step 2, the list of built-in ringtones (and where, incidentally, still no version of my ringtone is listed!) Backing out one more step gets back to the basic Sound and Vibration screen, where my ringtone name is now listed in a small, gray font under the SIM 2... item

But wait! Testing the new tone by adjusting the Ring volume slider still plays the default ringtone! Apparently this is tied to the (in my case, empty) SIM 1 slot, because repeating all of the above nonsense allowed me to attach yet another, differently-named copy of my ringtone to SIM 1, with the result that the volume slider finally plays (the equivalent of) my new ringtone!

That's ALL there was to it!

Hopefully it'll work when I get a real call.
> 0 votes

# Answer
I had the same problem. I copied the file from Dropbox on my phone into the Ringtones folder.

The file was not found for use as a ringtone. I deleted the file after several hours.

Then, I plugged the phone into a PC and copied the file from the PC. The ringtone was found instantly.

Don't know why. Hope this helps someone.
> 0 votes

# Answer
I put 100 new ringtones onto my SD card but they wouldn't show up when I tried to select them. So, I played a single MP3 ringtone in my music player, then all 100 new ringtones suddenly appeared in my 'select phone ringtone' in settings/sound
> 0 votes

---
Tags: ringtone, media-scanner, media-files
---


# Question
Title: Unable to encrypt my Note 5 anymore (data partition is corrupt)
It all started with a factory reset on the stock Samsung ROM (Android 7.0). After I booted into the factory reset system I couldn't get the phone encryption to work: it failed with the message saying that the data partition is corrupt which effectively factory reset my phone again (forcefully).

* Reflashing the official Samsung ROM didn't help, the phone kept showing me the same message about the corruption of the data partition.
* Reformatting the partition in the TWRP didn't help either.

Any ideas how to fix it? It could also be a hardware failure.

I posted the same question on XDA but unfortunately got no response so far.

# Answer
> 0 votes
Flashing complete stock ROM including stock recovery will fix encryption, if you factory reset from stock recovery.

To make your ROM boot along with TWRP you need to flash `no-verity-opt-encrypt` or `universal disable dm-verity`.

Due some bug in TWRP, decryption dialog fails to open because EFS is not mounted at the time that TWRP checks for device encryption. TWRP is working along with stock ROM encryption if you swap entries in `/etc/recovery.fstab` and one of these flags for USERDATA:

```
flags=encryptable=footer
flags=encryptable=footer,length=-16384
flags=encryptable=footer,length=-20480
flags=encryptable=/efs/metadata
flags=encryptable=/dev/block/bootdevice/by-name/metadata
flags=encryptable=/dev/block/platform/15570000.ufs/by-name/EFS/metadata
flags=fileencryption=aes-256-xts:aes-256-cts
flags=fileencryption=ice:aes-256-cts
flags=fileencryption=ice:aes-256-cts;keydirectory=/metadata/vold/metadata_encryption

```

source: source.android.com/security/encryption

---
Tags: samsung, 7.0-nougat, encryption, samsung-galaxy-note-5
---


title: "fastboot set-active" command fails

text:
# Question
Title: "fastboot set-active" command fails
I'm trying to flash a custom ROM on my Xiaomi Mi A3. When I flashed the ROM using TWRP and rebooted my phone, it got stuck on fastboot mode, won't even boot to recovery.

I found a friend with a similar problem and he said that all he did was changing his current active slot, so I am now trying that. However, when I try to enter the command `fastboot set_active a` on my computer, it returns the usage message (the list of commands) and when I try the command `fastboot --set-active a`, it says unrecognized option.

I am using the platform-tools r29.0.5.

# Answer
The command shouldn't have any spaces. The correct command will be:

```
fastboot --set-active=a

```

**Or if you want to write it in short:**

`fastboot -aa` to set the active slot to A.

`fastboot -ab` to set the active slot to B.
> 2 votes

---
Tags: fastboot
---


# Question
Title: Nokia 7.2 running slow with Android One version 9
I have Nokia 7.2 which is running Android One version 9. Since 2-3 weeks there I have observed a visible sluggishness in my phone. For e.g. it takes 1-2 seconds when I turn on/off WiFi or mobile data. Below are some of the steps I have taken to resolve this but none have succeeded so far.

1. Deleted all the unused few apps
2. Reduced animation to 0.5x from Developer Options
3. Periodically verified `Settings > Battery` to check any misbehaving app. But it always shows 'Phone has typical background battery usage'
4. Made sure all the apps and Android is updated as and when an update is received. The current security patch is for 5 Dec 2019.

The sluggishness seems to restricted to the Android functionality itself like unlocking the phone, turning on the camera. The apps themselves run fine once they are opened.

# Answer
> 1 votes
There are some reports in Nokia Community that the most recent MR update (December 2nd update) release to the Nokia 7.2 has caused some lagginess for a number of users. You will need to wait for Nokia to push a release which fixes this.

My Nokia 7.2 has been working normally. So, not all users are impacted. And some users already tried with a hard reset with zero luck.

---
Tags: 9.0-pie, android-one, lagging
---


# Question
Title: How to get acces to offline YouTube videos downloaded to my Android 9 Cellphone?
I use to download youtube videos so I can watch then offline. But I don't like the "YouTube video player". So, how could I have access to the offline youtube videos so I can open them using my video player of choice?

I have a Android 9 cell phone.

# Answer
> 2 votes
The offline videos in YouTube app can only be played within YouTube. You cannot play them in an external player.

Your alternate option is to download those videos as MP4 files and then playing them in your favorite player. But do remember that downloading videos are against YouTube's terms and you won't find more help on that topic over here.

---
Tags: video, youtube
---


# Question
Title: Restricting data usage monitoring to certain days
My data plan includes unlimited data during the weekend (so any data usage during the weekend is not taken off the 50Go afforded by the plan), and I would like to monitor my data usage taking this into account.

I could not find any setting/application that allows to restrict the monitoring to certain days, did I miss one?

# Answer
> 1 votes
Glass Wire Data Monitor let's you customize your monitoring period. But it has to be done manually every week

(Click to enlarge)

---
Tags: mobile-data, data-monitoring
---


# Question
Title: Metronome sound for disk encryption password prompt
In the previous android version (Lollipop, Marshmallow, Nougat and may be Oreo) there was a metronome sound when the phone was waiting for disc encryption password: "To start Android, enter your password".

It was very useful, as it indicated that user action is required.

But now, Pie (and may be Oreo, I don't remember) it's gone. I don't know the behavior of android 10.

Is it possible to bring the metronome sound back?

# Answer
The older Android versions were using Full Disk Encryption (FDE) mode, therefore the password enter dialog was a small mini-OS booted before the actual Android-OS. This mini-OS was playing what you are a calling the "metronome sound" when it was waiting for the user password.

I assume this sound was introduced to ensure the user recognizes that the boot process requires user interaction. Because while the mini-OS is waiting for input the whole system is offline and no app is running - including no mobile voice/data or Wifi.

Nowadays Android use File Based Encryption (FBE) which means that every app can specify if a data is encrypted using the system key or the key that requires the user to unlock the device first. Therefore in theory if all apps are correctly implemented a large part of the system should already work before you enter your user password the first time after a reboot.

May be you are able to simulate the old behavior by installing an app that runs only after the Android device has booted up (BOOT\_COMPLETED) and then plays a sound similar to your old system. Unfortunately I don't know a suitable app, but I assume programmable scripting apps like "Tasker" may allow you to create a script that plays a sound after the device has booted up.
> 1 votes

---
Tags: encryption, password, disk-encryption
---


# Question
Title: Is Android showing app ads in share menu now?
Android is showing an Adobe app in the sharing menu and "Open with" dialog as if it's installed but will install it when I click on it.

>

Is this a new perk of advertising with Google Play? Is Adobe paying money to place an ad right in Android?

# Answer
# Blame Microsoft not Google

This clearly is a violation of monetisation and ads policy as stated in the blog. See Google Play Content Policies
> 64 votes

---
Tags: applications, google-play-store, default-applications, ads, share-menu
---


# Question
Title: Samsung S7 speaker phone not working + echo in call
Phone: Samsung S7 SM-G930F Problems: 1) Person I am calling or that is calling me hears delayed playback of their own voice 2) When speakerphone is activated a very loud noise is heard from the other caller's speaker making it impossible for them to hear me speaking

When I'm in a call (cellular service) and I activate speaker phone the other person can't hear me (I can hear the other person perfectly fine when on speaker phone). When I call (via regular cellular service) the people I call often report 'hearing an echo' in other words 'hearing themselves talk' , I have already changed providers which did not help. The 'echo' is always there from beginning till the end of the call from what I've heard.

I have a Samsung s7 SM-G930F. Previously had android 8.0 installed (which was the OS that came with the phone originally. I recently installed a different ROM (Lineage OS 16) but this had no effect on the speaker phone problems.

I tried starting the phone in safe mode as suggested in this video: https://www.youtube.com/watch?v=Z6qcYwyTl-w But this didn't have any effect on the problem (same 'echo' still there). Suggesting it might be a hardware problem (assuming what's being said in the video is correct)

The following post suggests another possible cause: "Apparently there is some kind of rubber band around the microphone that keeps the sound in the same place" (source: https://us.community.samsung.com/t5/Galaxy-S-Phones/S7-Other-side-hear-echo-on-phone-call/m-p/119530#M7152) . I think this might also explain the 2nd problem (loud noise on other caller's side when speaker phone is activated). Does this seam probable to you?

Voice recordings work fine. The 'echo' doesn't appear to be present for all people, I'm told it has approx 1.5 seconds delay (the other caller hears their voice back with approx 1.5seconds delay).

When I start a call in whatsapp and talk to the other person they say they have no echo and can hear me just fine, if I activate speaker phone I can hear them properly but they say they have the echo again and there is a lot of background noise coming from their phone (sounds like 'some sort of electrical interference'), the 'echo' gets played back louder on their phone when I activate speaker phone, so loud that they cannot hear me talk. When I turn speaker phone off on whatsapp and continue talking the other caller says the echo persists for some time (maybe 8 seconds) after which they hear a 'tick' sound and the echo disappears (also the 'electrical interference' background noise disappears immediately as soon as I turn the speaker phone off).

It happens regardless of how many 'bars' of connection I have.

Could it be a broken microphone? Could it be an issue with my antenna/connection? What tests could I perform to track down the cause of the issue.

i have tried with and without the case (I thought the case might have a negative effect since the s7's speaker and mic are right next to each other)

Would love to hear your input Thank you very much for any suggestions!

# Answer
> 2 votes
I got exactly the same problem with my Phone(Oneplus 5). I've tried a lot of things software side but nothing helped. Due to my work, my phone was exposed to flour and I got flour in every opening of my phone, therefore also my charging plug didn't work perfectly. So I replaced the charging plug and with it the bottom microphone. Afterward all worked perfectly again.

So I guess your microphone is broken too.

Hope my answer helps.

---
Tags: samsung, samsung-galaxy-s7, microphone, speakerphone, echo
---


# Question
Title: How can I make the keypad appear during a phone call?
I recently noticed that, during a phone call, the dial "keypad" does not appear. This is particularly a problem when retrieving voicemail, because without the keypad, I can't give the command to play messages, delete, etc.

I am running Android 8.1.0 on a Nexus 6P device. The built-in Phone app is version 42.0.28425632.

I access voicemail using the built-in Phone app. When dialing phone calls, the keypad appears, and I can dial the target number with no problem. During the call, there is a screen with icons labelled: **Mute**, **Keypad**, **Speaker**, **Add call**, and **Hold**. The **Keypad** icon is highlighted with a grey circle, but there is no keypad visible. If I tap the **Keypad** icon, the highlighting disappears, and no keypad appears. If I tap the **Keypad** icon again, the highlighting reappears, and still no keypad appears.

How can I repair my settings or my phone app so that the dialing keypad appears during calls?

# Answer
> 2 votes
This seems to be a known bug in the Phone app. It is tracked as issue 145767690 on the Android issue tracker. It is reported as broken on Phone App versions 42.0.281997267, and 42.0.284275632, but fixed on Phone App version 42.0.285321512 released on 13. December, 2019.

On 25. December, 2019, the Android team replied to this issue:

> We have tested the issue on version Android 8.1.0 and App version 42.0.285321512 using devices Nexus 6P & Nexus 5X but we are unable to reproduce the issue.

I am the question asker, and I was experiencing this problem. Uninstalling the latest Phone app reverted to the factory Phone app. This worked around the problem for me. Installing the latest Phone app from the Google Store on 29. December, 2019 gave me version 42.0.285321512. This app no longer has the problem. It displays a keypad during the call.

# Answer
> 2 votes
This is a known bug. See Google Dialer bug breaks the dialpad during calls. That’s a problem

You would need to wait for a fix or from app settings, roll back the updates to the app

---
Tags: calls, phone-app
---


# Question
Title: How to make packages from f-droid to be treated as from a "known source" (if I have root)?
I usually get packages from http://f-droid.org/ repository through their package browser (because then I have a guarantee that I use free (= libre) software); and they are signed with their key.

I use CyanogenMod 10; and I have root access.

I don't like allowing packages from "unknown sources" for this.

Can I set up the system so that f-droid counts as a known source, and packages from all other unknown sources are not allowed to be installed by default as before.

Perhaps, something can be patches in the CyanogenMod distro to add f-droid's key as a key for a "known source" of packages.

# Answer
Almost every F-Droid app is signed with a different key, though all keys are in the same key store. In order for the switch to be bypassed, F-Droid client would have to be installed as a system app and made to work safely as such. Some code has been supplied for this to work, but it hasn't been integrated yet.
> 4 votes

# Answer
According to this changelog the upcoming f-droid version 0.71 should support this.

Another mention of this is in: https://github.com/WhisperSystems/TextSecure/issues/127#issuecomment-51065857
> 4 votes

# Answer
there is f-droid privilege extension

https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/

with it you should be able to install apps without having to enable "unknown source".

there are two ways to install. one using sideload. another using adb root. i will explain both below.

if done correctly fdroid with the privilege extension should even survive a reset to factory settings. it is a part of the system then.

---

preparations for both install methods

* download the f-droid privilege extension from f-droid website to your pc.

https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/

to download you need to scroll down then download the latest zip. the filename should be something like this: `org.fdroid.fdroid.privileged.ota_2110.zip`
* install adb on your pc and enable "usb debugging" on your device. search the internet for how to do that.

adb is a command line tool so open a terminal. then navigate to the directory where the privileged extension zip file is located.
* connect the device to your pc using an usb cable.
* verify that the device is recognized using the command `adb devices`.

it should show something like this:

```
$ adb devices
List of devices attached
<some number> device

```

if it says `unauthorized` or anything else you need to debug your connection. search the internet for how to do that.

---

the sideload method

for this you need a custom recovery which allows sideload installed on your device.

if you have lineageos installed you typically already have a suitable custom recovery. otherwise download and install twrp (https://twrp.me/).

1. connect your device to pc with usb cable. verify device is listed under

```
 adb devices

```
2. boot your device to sideload

```
 adb reboot sideload

```

OR: boot your device to recovery

```
 adb reboot recovery

```

then on your device in recovery set the device to sideload. in the lineageos recovery this is called "apply update" then "apply from ADB".
3. install privilege extension by sideload

```
 adb sideload org.fdroid.fdroid.privileged.ota_2110.zip

```
4. reboot device back to android.

```
 adb reboot

```

OR: click on reboot in the recovery menu

check if privilege extension is enabled. see below for how to do that.

more information:

---

the adb root method

for this you also need "rooted debugging" enabled on your device (alongside "usb debugging").

it seems "rooted debugging" is only available if you have a custom rom like lineageos installed.

unzip the downloaded privilege extension.

now run the following adb commands one by one

```
adb root
adb remount
adb push F-DroidPrivilegedExtension.apk /system/priv-app/
adb push permissions_org.fdroid.fdroid.privileged.xml /system/etc/permissions/
adb push F-Droid.apk /system/app/
adb push 80-fdroid.sh /system/addon.d/
adb reboot

```

verify that there are no error messages after each step. except `adb remount` which seems to be unnecessary on recent lineageos versions. but no harm done (as far as i understand) so continue anyway.

after reboot check if privilege extension is enabled.

more information:

---

how to check if the privilege extension is enabled

1. open f-droid
2. go to settings
3. scroll all the way down
4. enable expert mode (will open more settings to the bottom)
5. scroll all the way down again
6. if you see a green checkmark beside "privileged extension" then it is enabled.

"privileged extension" is the very last option in the settings page. if you have scrolled all the way to the bottom and the last option is not "privileged extension" then the privileged extension is not enabled. also probably not correctly installed.

---

notes:

i have installed many fdroid with privilege extensions on many lineageos on many devices. often there were hiccups along the way and it does not work for reasons that i do not understand.

most of the time i managed to get it working after some searching on the internet and some tinkering. sometimes it seems just dumb luck getting the right command combination by coincidence to get it to work.

sometimes it just does not work. sorry that i cannot help you further then.

---
> 2 votes

---
Tags: cyanogenmod, root-access, security, apk, f-droid
---


# Question
Title: How to flash stock ROM using TWRP on Tecno Spark K7, leaving TWRP intact
What are the right steps of `flashing stock ROM using TWRP` **(`Tecno Spark K7, Android 7.0 Nougat, TWRP v3.0.2`)**, and **still have `TWRP Recovery` on the phone, after the process**. I already have the phone backed up and have the stock ROM as a zip file.

# Answer
you need a linux machine for converting sparse image into raw partition image

```
sudo apt-get install android-tools-fsutils android-tools-adb android-tools-fastboot
simg2img system.img system.ext4

```

connect phone in twrp

```
adb push system.ext4 /dev/block/bootdevice/by-name/system

```

if file smaller than \< 4 GiB you can rename to system.emmc.win, copy to sdcard and restore from twrp directly, or manually restore from built-in terminal

```
cat /external_sd/system.emmc.win > /dev/block/bootdevice/by-name/system

```

repeat this for vendor/odm (if exist). boot.img is already in raw format and can be renamed into boot.emmc.win directly

your data and internal storage is maybe encrypted, if you want to backup you need to adb pull /dev/block/dm-0 or /dev/block/bootdevice/by-name/userdata + /dev/block/bootdevice/by-name/metadata
or
make twrp backup and adb pull -p -a /sdcard
> 0 votes

---
Tags: rom-flashing, twrp, 7.0-nougat, stock-rom, mediatek
---


# Question
Title: Captions on with every video even if I switch it of
Ever since youtube last update captions with every video auto on, eventhough I switch it of in my settings. On a different noteI find the captions very irritating because the captions are realy bad not sync different of what the people say in the video and captions to slow. That is way I do not want any captions in my videos.

# Answer
> 1 votes
I u installed all the YouTube updates in the app store and now it seems to work OK, no more irritating captions.

---
Tags: youtube
---


# Question
Title: How can you display a Unicode character on Android that otherwise appears as ☒?
I want to display the character ⮚ on my phone. However, whenever I open any app containing this character, it is displayed as ☒. I am aware that this is due to the font limitations of Android. Is there any way to resolve this?

# Answer
> 0 votes
As of now there is no way to install fonts globally for all applications. I would advice you to write to app developer.

Also this character should be displayed correctly in your web browser.

In conclusion best way is to approach your application developer by following a feedback channel or writing a review if no feedback or support channel is provided.

Apps like WPS Office support this

---
Tags: fonts, special-chars
---


# Question
Title: How do I create fast backup of camera photos to cloud storage
One of my friends have taken some photos which were deleted by some elements by forcibly taking their mobile device and deleting them.

So I searched for ways (including app searches) for fast backup newly captured photo by his camera to prevent this problem in future.

I need to find a way of doing this backup efficiently and automatically. Please suggest ways of doing that

# Answer
You can try this app. It can instantly upload taken photos to Google Drive or Dropbox. There is option in settings to upload using cellular data.
> 1 votes

# Answer
I use pcloud, a cloud storage app. It has an automatic upload feature that uploads every photo or screenshot as soon as it is taken, even via mobile data.

Free version of the app gives you 5 GB cloud storage. I am not affiliated with the app but a happy user of paid version.

Alternatively, you can use Folder sync to create folder pairs to sync with practically any cloud service of your choice (see app description for supported clouds). But to make it upload automatically you may need to automate the process or you can upload on schedule. I use folder sync to schedule my device folders with Pcloud and Google Drive.
> 0 votes

# Answer
I use official google photos app. It also provides free storage as well as also shows suggestions based on artificial intelligence for gifs, colleges, and colorpop etc.

**Update depending on comments**

I would like to clarify that photos app does not immediately upload photos but it processes all uploads in background.
> 0 votes

---
Tags: applications, google-backup, cloud
---


# Question
Title: Looking for help choosing the correct stock recovery.img file for my phone
I have a Moto G5 XT1676 with Android 7.0 stock firmware.

I rooted the phone with Magisk and installed TWRP but I never backed up my recovery.img partition. Now I want to flash a stock recovery partition so I can apply an ota update and in case I want to sell on the phone I want to be able to take twrp off and unroot. I don't want to flash an entire firmware.. Can someone help me in choosing the correct stock recovery.img for my phone?

**Here are details of the firmware currently on my phone:**

* Baseband version: M8937\_22.29.02.56.01R CEDRIC\_EMEADSDS\_CUST
* Kernel Version: 3.18.31-perf-g4a0c859 Wed May 2 06:29:31 CDT 2018
* Build Number: NPPS25.137-93-12
* Blur Version: Blur\_Version.25.321.18.cedric.retail.en.US RETGB

**Here are the details of another stock firmware I downloaded.**

* SW Display Build ID: NPP25.137-93
* SW Version: cedric-user 7.0 NPP25.137-93 12 release-keysM8937\_22.29.02.56R
* Build Date: Wed Nov 22 03:19:24 CST 2017
* Blur Version: Blur\_Version.25.281.12.cedric.retail.en.US

You see the two firmware are almost identical but I don't have enough experience to know if it would be safe to take the recovery.img out of the second one and use it in the first?

I tried booting into bootloader then..

```
# fastboot boot recovery.img

```

... to test the recovery .img file from another firmware but I got a picture of an Android lying down with red above him and his lid open and the words "No Command". I think that # fastboot boot is disabled on Android OS these days.

Any help much appreciated !!

Flex

# Answer
> 2 votes
The stock recovery booted perfectly fine. On Pixel, Moto , Nokia and several other devices, you will be presented with **No Command** screen. You need to follow the following combinations to proceed to recovery from there:

**At no command screen:**

1. Press and hold Power key.
2. Press and release Volume Up key.
3. Release the power key.

You will be in the stock recovery. If that works, you can flash the image to your recovery partition.

---
Tags: recovery-mode, 7.0-nougat, partitions, device-firmware
---


# Question
Title: How can I search for a specific string in an email thread in Microsoft Outlook for Android?
I have opened an email thread (aka conversation) in Microsoft Outlook for Android. I would like to search a string (e.g., word or phrase).

How can I search for a specific word in an email thread in Microsoft Outlook for Android?

# Answer
Unfortunately, it is not possible as of today with Outlook version 4.0.90.

You can always open the mailbox in your web browser and use the Find in Page functionality.
> 2 votes

---
Tags: email, search, outlook
---


# Question
Title: How to perform a hot reboot using the terminal emulator?
How do I perform a hot reboot on my device using the Terminal Emulator? I do not have `busybox` installed, but my phone is rooted.

EDIT: I am looking for a solution to perform a hot reboot(see Quick Question - Hot Reboot - Android) using the terminal emulator/shell.

# Answer
> 2 votes
if device is rooted you can kill the gui process from root shell, it will restart immediately. terminal app and all subprocesses are killed too, but adb shell processes will survive. all current mounts remain intact (even manual mounts) device is not fully rebooting

```
killall system_server

```

for devices with property `init.userspace_reboot.is_supported` enabled (Android 10+)

```
svc power reboot userspace

```

or

```
adb reboot userspace

```

# Answer
> 6 votes
While the other answer correctly states a way to force a (very) soft reboot, I'd like to add some in-depth details (which may not make sense to everyone :).

## WHAT IS HOT / WARM REBOOT?

In order to answer your question we need to define what a hot (or warm) reboot is on an Android device. Terms cold (or hard) boot and warm (or soft) boot are more associated with PCs, particularly Windows. For mobile phones or embedded devices it's difficult to draw a clear line between cold and warm boot. In case of **cold reboot**, usually power is cut to CPUs, and also possibly to RAM and even to whole motherboard. **Soft reboot** only kills and starts the processes, while retaining power to hardware components. Power management is part of open-source ACPI/UEFI/BIOS standard on PCs while on phones PMIC firmware is usually used with SoCs.

## HOW REBOOT WORKS ON ANDROID?

On (re)boot SoC firmware loads bootloaders in memory which then load executable binaries and start processes (actual OS). From my answer to What is the fastest way to shutdown un-rooted Android phone?: Android is based on **Linux kernel** \- the very first executable of operating system which is run during boot process. Kernel initializes necessary hardware and prepares a basic environment before executing **`init`** \- the very first userspace process we can see. It's `init` which then starts and takes care of all services and processes.

A ***civilized* way** to do reboot or shutdown is to let all processes terminate themselves saving any pending work, un-mount filesystems and then ask the kernel to reverse the boot process. `init` can handle this on modern OSes or you can do manually through `/proc/sysrq-trigger` interface. Or we can ask kernel to perform a quick reboot killing everything. However this may cause data loss, particularly due to filesystem corruption.

A ***brutal* way** is the long press of power button (handled by PMIC) which is a cold reboot (or shutdown) in true sense because the power to CPUs (and RAM) is suddenly cut without waiting for userspace processes and kernel to terminate gracefully.

## DOES ANDROID PERFORM COLD REBOOT?

On Android phones (and on other systems as well) a normal reboot is not completely cold as power is not cut at least to RAM because it holds an area where kernel panic logs are stored which can be accessed on next boot (refer to `ramoops` used for `last_kmsg` or `pstore`). See some more hints in **bootloader** **boot reason** **specification**. Similarly some other memory regions allocated to SoC components and signed firmware which are isolated from application processor (AP on which main OS runs) may also not be erased. They include Baseband Processor (modem), Digital Signal Processor (DSP), WiFi / BT module etc.

However a normal reboot isn't a warm reboot either. During reboot kernel kills itself and hands over the control to bootloader(s) which may boot device in different possible modes (**fastboot**/bootloader, **recovery** or **normal boot**). The low level details are vendor and hardware specific; if a device performs a complete power-on reset (PoR) or if the hardware is not reset at all. Which components are powered down during different types of reboots depends on the interaction between kernel, bootloader, SoC, PMIC, watchdog hardware etc.

## HOW TO DO A HOT REBOOT?

Linux kernel also supports another form of warm reboot: **`kexec`**. Kernel can terminate userspace processes and itself, executing a new kernel which then may start new userspace environment without doing hardware reset, POST and re-initialization by BIOS. See kexec-reboot for instance. However the new kernel has to consider that the hardware devices aren't reset, so they won't be in *sane state*. This approach is theoretically possible on Android too i.e. kernel re-executes itself with proper commandline and then starts `init`. But it requires some device-specific changes to kernel and ROM. See an example use case of `kexecboot`.

Stock Android doesn't provide soft reboot functionality but some custom ROMs implement this feature by triggering **restart** **method of `activity` service**. This kills `zygote` and its associated processes including `wificond`, `netd`, `mediaserver`, `cameraserver`, `audioserver` and some vendor daemons. However `init` itself and other core daemons like `ueventd`, `vold`, `installd`, `surfaceflinger`, `logd`, `servicemanager`, `healthd` and a long list of vendor daemons aren't restarted.

`ActivityManagerService.restart` requires `android.permission.SET_ACTIVITY_WATCHER` and calls `ActivityManagerService.shutdown` which requires `android.permission.SHUTDOWN`. Both permissions have Protection Level `signature`, so third party apps can't have them. `adb shell` also doesn't have the `SHUTDOWN` permission, so ***root is required***.

On Android 9 code for `restart` method is `179`, so to initiate a soft reboot:

```
~# service call activity 179

```

Or you can ask `init` to restart `zygote` and dependent services (SELinux won't let the property be set, so root is required):

```
~# setprop ctl.restart zygote

```

It's also possible to restart more `init` services from comamndline, or change `init` code to kill and start all userspace processes instead of calling kernel on reboot. It depends on your actual purpose of *hot reboot*.

---
Tags: terminal, soft-reboot
---


title: Phone stuck in ADB sideload

text:
# Question
Title: Phone stuck in ADB sideload
I recently try to reset my android phone by power off, power on and volume up button.

There're several option but once I push volume down once and volume up once, it stuck with alarm sign and android logo. Below the logo said

> Now send the package you want to apply to the device with `adb sideload <filename>.zip`...'

What should I do to fix this?

# Answer
if you can't take out the battery of your device and if longpressing whatever does not solve it

1. install adb on pc.
2. connect device with usb cable to pc
3. enter following command on pc

```
adb sideload /dev/null

```

the device will complain that file is not valid but it will come out of the sideloading state
> 2 votes

# Answer
Long press Power & volumn UP button for 10 second should solve it.
> 0 votes

---
Tags: adb, side-loading
---


# Question
Title: When should I run a consistency check on my removable MicroSD card?
I own an Android device with a removable MicroSD card. The card uses either FAT32 or ExFAT technology. These are "non-journaling filesystem" technologies, so the data on the cards can become corrupted in certain cases.

Perhaps I should run a consistency check (e.g. `fsck` / Chkdsk / ScanDisk) every so often.

A) How often should I run a consistency check on my MicroSD card?

B) Also, if my device sometimes freezes and I must power it off using the power button, must I run a consistency check every time?

# Answer
> 4 votes
Usually you don't need to run consistency checks on filesystems manually. `vold` runs filesystem check (`fsck.exfat` or `fsck_msdos`) everytime before mounting a supported filesystem (including `exFAT` and `FAT[N]`) on secondary external storage.

---
Tags: external-sd, storage, file-system, maintenance, exfat
---


# Question
Title: Check and fix SD card errors within Android itself?
Sometimes my SD card gets "corrupted" and this leads to many read/write errors. Usually, connecting the SD card to the windows 7 and selecting the "Error Checking" *(Right click the drive \> Tools \> Error Checking)* option finds the corruption and fixes it.

How do I check SD cards for drive errors and fix the same **from within the android itself**?

I'd also like to mention that I'm on rooted froyo with busybox installed.

# Answer
> 18 votes
You can fix this with the help of root and a terminal emulator (e.g. Android Terminal Emulator (or, alternatively, using `adb shell`). The binary to do the job is called `fsck`, and usually located in either `/system/xbin` or `/system/bin`. Sometimes you need a special variant of it, which might e.g. be called `fsck.exfat` or the like. So first let's make sure we find the right binary:

```
cd /system/xbin
ls fsc*

```

If not found, repeat with `/system/bin`. I will assume here it was found in the first place, and is simply called `fsck` (adjust the following correspondingly if that's not the case).

As `fsck` comes from the "Linux core", we can consult its man page for the syntax. Though there might be some options not working on Android, the most basic ones should. See the linked man page for details (or run a Linux VM and use `man fsck` in case that page disappears) -- I will stick to the basics here:

First we need to find the device your SD card is bound to. If it's mounted, the `mount` command will assist us:

```
mount

```

That's it, basically: Check the output and see where your SD card sits. Usually this is something using `vold`, but it's different between devices. Output may include something like `/dev/block/vold/179:17 on /mnt/storage/sdcard` -- in that case, the first part of my quote is our device. In order to repair the "drive", you need to unmount it first. This can be done via the settings menu, or, as we're just in the terminal, by issuing

```
umount /dev/block/vold/179:17

```

Now we can go for the repair job. Basic syntax is:

```
fsck [options] [-t fstype] <filesystem> [fsoptions]

```

So we first try the simplest approach and hope `fsck` figures out everything itself:

```
fsck -C -r /dev/block/vold/179:17

```

Which basically means: Show progress (-C), and always ask the user to repair (-r) any errors on `/dev/block/vold/179:17`. If this does not work out, check with the linked man page for further options.

# Answer
> 5 votes
While other answers are correct (at least partially), just to add some extra notes. On recent Android releases you don't need to run filesystem check manually as `vold` handles this automatically. See When should I run a consistency check on my removable MicroSD card?

If you want to do this manually, you need a rooted device because it's not possible to access block devices on un-rooted devices. Also you need to un-mount the filesystem before checking for errors. Since Android 6 external SD card is mounted at `/mnt/media_rw/[UUID]` and then emulated on `/mnt/runtime/[VIEW]/[UUID]`. A *VIEW* is then bind-mounted to `/storage/[UUID]`. See details in How to save files to external SD card?.

After un-mounting SD card fully, run respective `fsck.*` binary on the block device. Usually `init` enumerates SD card block device as `/dev/block/mmcblk1p*` (`p*` denotes partition number, usually it's only `1`) while `vold` creates another device node in `/dev/block/vold/[MAJOR:MINOR]`. You need to find the correct block device (may also check by `mount | grep /mnt/media_rw` before un-mounting filesystem).

For FAT\[N\] family of filesystems you can use `fsck_msdos` (or `fsck.fat`), and `fsck.exfat` for exFAT. If these aren't built with your ROM (exFAT was closed source until recently, so there could be license issues), you can use external binaries. Or build from (dosfstools or exfat) source code.

To run filesystem check:

```
~# fsck.exfat /dev/block/mmcblk1p1

```

# Answer
> 2 votes
thank for this, it saves my day :)

```
root@android:/ # mount | grep -i sdcard
/dev/block/nandk /mnt/sdcard vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

root@android:/ # /system/bin/fsck_msdos -y /dev/block/nandk

```

# Answer
> 1 votes
I've found an app called AParted on the market that can "repair some damaged sdcard and scan for bad blocks" etc.

# Answer
> 0 votes
If I'm not mistaken you can force Android to fsck both the internal and external storage on reboot by doing the following depending on your ROM.

run terminal app and type

```
su
touch /forcefsck

```

Then reboot.

If your phone is not rooted, this will definitely fail.

Source: XDA Forums - \[Q\]How to fsck /data or /system?

---
Tags: file-system, external-sd
---


# Question
Title: wiped android OS accedentely in twrp in sm-j700h/ds
I was trying to do a factory reset from the twrp recovery, but wiped system partition mistakely.. my device has no system now. i can only access the twrp recovery and download mode. However, i tried to install many firmwares using odin but odin gave me a red Failed every single time. help me plz. model j7(2015) or (sm-j700h/ds) region Syria

# Answer
Have you tried marking also the **NAND ERASE** option in Odin? Although marking the nand erase option would wipe the whole phone including the twrp and everything...and then try reflashing by going into download mode on your phone and then to Odin, you'll see a green/blue mark on the ICOM or something like that. If you pass on flashing and it gets stuck on bootloop, don't panic, just restart the phone and boot into recovery mode and wipe/reset user data! That should do it c:

There's also another thing you can do, you can extract the .tar.md5 using this guide There you can find the system.img file and from there, you can flash the system.img using fastboot, needless to say that you must have your bootloader unlocked!

You could also try Samsung kies/smart switch, whichever suits you c:
> 2 votes

# Answer
thank you guys for your help really appreciate it .. I solved the problem first by installing a custom ROM using TWRP. the system worked then i discovered what i was doing wrong .. i was trying to flash a one-file stock OS .. which can only serve as an update a 4-files stock ROM also worked.
> 1 votes

---
Tags: twrp, device-firmware, odin
---


# Question
Title: SELinux permissive kernel - is it a security risk?
As in title. I am talking of Kernel, not ROM (plenty of questions dealing with ROM on this site).

I have a OnePlus 7 running stock Android 10 and prefer a custom kernel. Of late, OnePlus hasn't released source for kernel and this has played havoc with all custom kernels in OnePlus 7 and other variants. So, I want to flash a kernel that is independent of the changes One Plus makes.

Only problem is that it is **SELinux permissive** and therefore I want to understand the security risks before flashing it.

Edit:
As requested in comments (deleted) :

```
-# zcat /proc/config.gz | grep CONFIG_SECURITY_SELINUX
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
- # zcat  /proc/config.gz |grep CONFIG_DEFAULT_SECURITY_SELINUX
CONFIG_DEFAULT_SECURITY_SELINUX=y
-# mount | grep selinuxfs
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)

```

# Answer
> 4 votes
SELinux is a security framework which restricts (kernel and userspace) processes within their domains according to defined policy. So the ultimate goal is to load a working policy, label filesystems with proper contexts and set SELinux `enforcing`. It doesn't matter who does this; kernel or some userspace process, though the sooner the better. And `permissive` is an SELinux mode always ready to be switched to `enforcing` mode. However switching other way may or may not be allowed by the policy.

In other words, kernel being SELinux permissive by itself is not a risk, if the the ROM overrides that to make it Enforcing. What SELinux permissive kernel gives you is a flexibility to flash ROMs that demand SELinux permissive or for any other app that needs it. But it is **always advisable to keep the device in SELinux Enforcing state** (`getenforce` on Terminal Emulator will reveal).

Mostly ROM developers build kernel with `CONFIG_SECURITY_SELINUX_DEVELOP=y`. From kernel configuration:

> With this option enabled, the kernel will start in `permissive` mode (log everything, deny nothing) unless you specify `enforcing=1` on the kernel command line. You can interactively toggle the kernel between enforcing mode and permissive mode (if permitted by the policy) via `/selinux/enforce`.

Some vendors may disable the said configuration or may add `enforcing=1` boot parameter to kernel cmdline when building `boot.img`, so that SELinux is always enforcing even before the very first userspace process `init` is started. Going a step further ahead Samsung kernel sources are patched with options `SECURITY_SELINUX_ENFORCING` and `ALWAYS_ENFORCE`. Other extreme is that SELinux is disabled at all by building with `SECURITY_SELINUX_DISABLE=y` and writing to `/sys/fs/selinux/disable`, or by building with `SECURITY_SELINUX_BOOTPARAM=y` and passing `selinux=0` kernel parameter.

Starting kernel in permissive mode gives the ROM developer and end users freedom to set SELinux mode `permissive` or `enforcing` on boot (or even during running OS by writing to `/sys/fs/selinux/enforce`), and develop a policy according to the requirements. That's how `userdebug`/`eng` builds of ROMs are debugged. `init` can be forced to set SELinux `permissive` on boot by setting `androidboot.selinux=permissive` boot parameter.

OEMs switch to `user` builds when releasing stock ROMs once `sepolicy` is fully developed. `init` on `user` builds always sets SELinux `enforcing`, so it won't boot with SELinux `disabled`. Custom ROMs, however, usually remain `userdebug` which allow root access (`adb root` and `/system/xbib/su`) and other relaxations. Some more details can be found in What sepolicy context will allow any other context to access it?

So while `disabled` or `permissive` SELinux in kernel or ROM makes the device equally vulnerable, a `permissive` kernel is usually a good thing (at least for ROM developers and power users). Enforcing kernel is an overkill unless the user is glued to the stock ROM throughout life of a device. However if SELinux is `disabled` (e.g. built without `CONFIG_SECURITY_SELINUX=y`), stock ROM will get into bootloop.

* If kernel is built with `CONFIG_IKCONFIG`, `extract-ikconfig` shell script can be used to check build configuration without flashing to device. On running OS `zcat /proc/config.gz` can be used.
* ROM build type can be checked with `getprop ro.build.type`.
* Kernel commandline boot parameters can be checked by extracting `boot.img`. On running OS `cat /proc/cmdline` can be used.

---
Tags: security, kernel, selinux, oneplus-7
---


title: Difference Soft Reset/Hard Reset

text:
# Question
Title: Difference Soft Reset/Hard Reset
Just a quick question. I have been trying to figure out the difference between Soft Reset, Hard Reset, Factory reset. If anyone could please help me to clarify the differences, it would be greatly appreciated, thank you.

*A little bit of random information. So my phone was in my pocket, seems that it was reset (Turned off and instantly came back on) by the `power` button being held down for fifteen to twenty seconds, wondering if this is considered a Soft Reset, or Hard Reset, or if there really is a difference.*

# Answer
> 4 votes
* *Soft Reset* is simply powering your phone off and on by using `power` button - no data is lost
* *Hard Reset* is forcibly stopping the power to phone by removing the battery ( if the battery is user replaceable)- no data is lost

Both these are first level means of rectifying minor issues and are harmless

* *Factory Reset* is restoring the device to the state it was when you purchased it (with few exceptions) - **all** user data is lost. This is next level of troubleshooting or happens when you unlock bootloader. See also What is hard reset and what is factory reset?

What you describe is not any of the above. It is *sleep state or sleep mode* which your device goes into when it is inactive for long. This is a battery saving measure. One activates or wakes up the device by `power` button or `home` button ( if it was soft reset, it would have displayed start up logo and process)

**Edit:** OP clarified that start up logo appeared so it was actually a *soft reset* . Mobile likely got switched off accidentally

# Answer
> 0 votes
A hard reset is initiated from the hardware keys. (Volume, power, home, etc.) Whereas a soft reset is initiated from within the devices software. (Usually located in the Settings area of the device) Merely pressing the power button for 10 or so seconds to reboot the phone doesn't factory reset the device. It only reboots or restarts and doesn't erase user data. There seems to be confusion by a lot of folks on the differences of a hard reset vs a soft reset and a hard boot vs a soft boot.

---
Tags: factory-reset
---


# Question
Title: How can one reduce Microsoft Outlook's background mobile data usage?
How can one reduce Microsoft Outlook's background mobile data usage?

For example, today I wrote only one email (text only), received 5 text-only emails, and open 5 conversations (also text only), yet it used 16 MB of background mobile data:

# Answer
See Microsoft's offical website for the full details: https://answers.microsoft.com/en-us/msoffice/forum/all/outlook-data-hog/a88b5e3f-2982-4558-a190-1afa93044e1f

You can do a number of things to reduce background data usage:

1. Turn off mobile data when connected to Wifi. This may sound strange, but apparently Outlook sometimes still uses mobile data, even when connected to a stable Wifi network.
2. Turning off the "Sync" feature
3. If there is the feature, set a data limit on Outlook. This will prevent it from eating up your data when you arn't using it.
> 4 votes

---
Tags: outlook
---


# Question
Title: How to open Facebook app with page share link?
I am sharing a page in FB, when the link is opened in mobile it opens the particular page in browser and not in FB app. I want that link to open FB app with the page displayed in it.

# Answer
> 1 votes
1. Make sure you have installed the latest version of the fb app
2. Make sure fb app is capable of opening the link you are clicking on - may be check on your friends phone to see whether the link opens in the fb app
3. Go to application settings and clear defaults if any for the browser in which the link is opening

--- let me explain in detail the 3rd point when you click on the link that fb app as well as your browser or any other app could open, you may get a prompt to choose which app you want to use to open the link.

If you choose your browser and tick on remember choice button, the link will then always open in browser.

clearing defaults or uninstalling and installing fb app will help remove this issue.

---
Tags: applications, facebook
---


# Question
Title: Dial phone, screen blanks -> can't hang up
My Nokia 4.2 (Android One 9, security patch for December 5, 2019) is lately exhibiting a very weird behavior. If I dial a number, either using the keypad or from history or a contact, the screen blanks. I don't mean the autoblank when it's held to my face, I mean it goes black immediately. As a result, I can't hang up a call (or conference a third person, or anything).

If I tap power ... nothing happens. If I hold it to my face and remove it ... nothing. If I hold Power down, the phone doesn't turn off. When the other person hangs up, the screen turns back on. Sometimes if I press Power repeatedly I can get the screen on. Sometimes not.

Of course, I can plug in earbuds and use the earbud button to hang up, but for a quick call I hate having to do that.

Otherwise the phone mostly works OK. No other obviously incorrect behavior.

Odd. Any suggestions will be greatly appreciated.

# Answer
Please check if it happens in safe mode too:

* If the problem is *not* resolved, is next step.
* If it is resolved, it implies one of the installed apps is the culprit. First step could be to remove all apps having telephony related permissions and then check. Add apps one by one and check. Painful process, yes, or go nuclear and factory reset after backing up your data.
> 1 votes

---
Tags: phone-app, android-one
---


# Question
Title: How to receive Whatsapp notification without vibration?
I am using Sony Xperia X, Android 6.0.1.

I have only managed to turn off the vibration of single and group chat messages by selecting "Off" under Vibrate and "Silent" under Notification tone.

The phone will **still** vibrate if I choose off under vibrate, and other than silent options under notification tone.

However, now without vibration, there isn't notification either whenever someone sends me a message. I am trying to receive message notification without vibration.

Such a simple permutation and I can't believe that I am still having trouble doing it.... OMG

Just tried on my Windows phone, same situation. Have to switch off whatsapp notification **and** vibration. Switching off vibration alone won't stop the phone from vibrating.

# Answer
You can use Android's built-in permission framework `appops`. From `adb shell` execute command:

```
~$ appops set com.whatsapp VIBRATE deny

```
> 1 votes

# Answer
Setting `settings->notifications->vibrate` to "off" for both "Message Notifications" and "Group Notifications" works for me. (And yes, I still have a ringtone selected, and I hear that when a message arrives.) What version of WhatsApp are you using? Latest (as of 12 Aug 2016) is 2.16.207.
> 0 votes

---
Tags: whatsapp-messenger
---


# Question
Title: How to read ext4 filesystem without mounting on a non-rooted device?
I perfectly know it is not possible to mount an `ext4` partition from a USB key without root.

But in my case, I just need to read a password inside a `.txt` file (I don't have a PC right now and in the following weeks). **This doesn t requires mounting it**.

I know there's a Paragon plugin which allows acessing NTFS partitions without root inside Total Commander but it only works on exFAT and NTFS filesystems. But it proves it should be possible to do the same thing on `ext4` without root.

So how to access my password right now without being able to root my device?

# Answer
`ext4` can be explored without mounting, using `debugfs` tool. But natively there is no way to access raw filesystem without root access on Android devices. Partitions are enumerated as block devices by Linux kernel, and default permission set by Android's `init` on block devices is `0600` (can be overridden in `uevent.rc`) or `0660` in case of `vold`, owned by `0:0`. Also stock SELinux policy won't allow apps access files in `/dev`. So the block devices can't be read without root access.

Other way is to read a USB storage device in host mode through APIs. But Android's USB Host APIs provide only raw USB access, they don't have UMS filesystem code. However there are third party solutions like the one provided by Paragon, which includes *raw-USB operations to achieve block-level device access, and the appropriate filesystem logic*.

NTFS is a proprietary filesystem so it cannot have an open-source in-kernel Linux driver. Paragon develops drivers for filesystems including NTFS, exFAT (now open source) and HFS for Linux. They also develop exFAT/NTFS USB OTG host implementation for USB Mass Storage devices.

So what you are looking for is **an app with third party implementation of USB OTG host APIs for `ext4`** filesystem. Paragon provides `ext2/3/4` for Windows but no USB OTG solution is available for Android yet (probably because it's not of much use as `ext` filesystems are native to Linux/Android). However ExtFS support is part of Paragon's SDK for Android to be used by vendors and app developers. Also there's open-source Drive Mount (seems abandoned), which intends *“to support HFS+ and Linux filesystems, sometime”*.

As a side note, modded `vold` (such as `vold-posix`) is used on mostly custom ROMs which can mount `ext4` partition from secondary external storage (SD cards, USB sticks) on non-rooted devices as well.
> 2 votes

---
Tags: file-system, 9.0-pie, usb-host-mode, usb-mass-storage, ext4
---


# Question
Title: Is it possible to encrypt system partition with custom rom?
I have galaxy s9 and i wanted to have lineageos rom.

So i unlocked bootloader and wiped stock firmware of galaxy s9.And then i installed lineageos 15.1 with twrp 3.2.3-0

Then i encrypted phone. I was thinking that by encryption device in adition to data patition, system partion also being encrypted. now i found that just data partition will encrypt and system partition will not encrypt.

so is there any way to protect system partition? in other words is there any way to encrypt system partition?

sorry for poor english...

thanks

UPDATE :

sorry, It is possible that i am wrong or i don't understand what you mean but I found from link below Boot verification occures when stock rom is installed and and bootloader is locked. but in my case bootloader is unlocked and therefore verifying not occures.

So i think there is no official way to check integrity of system partition and i should do another things like start a daemon in init.rc for verifying system partition or etc.

Is it true ?

And i should say i put an third-party app in system/app in twrp after mounting system partition and after restart it worked successfully.

Android boot flow

# Answer
Android does not encrypt system partition as there is no confidential data on the `/system`. There are only standard ROM files which are already available in public domain.

The encryption should only apply to the userdata partition `/data` or SD Card (if mounted as internal storage). Moreover `/system` is mounted as read-only. So, nothing can be tampered there.
> 1 votes

---
Tags: security, encryption, lineageos
---


title: Still can't change Google Play country

text:
# Question
Title: Still can't change Google Play country
I've tried:

* updating my Google wallet (UK credit card & billing/home address).
* setting default home address.
* changing postal code on Gmail.
* forcing stop and clearing cache on Google Play app.
* clearing the browser cache (both on the phone and on the PC).
* using a GPS spoofer + setting localisation to GPS only.

I live in the UK, but I bought my new phone back home (in the Faroe Islands). This is my first Android device, so I'm new to the https://play.google.com.

The only thing I can think of that is causing it not to work, is the fact that I cannot purchase things in the Faroe Islands (in Google Play as well as https://play.google.com) Since all suggestions online say that I have to "buy" an app, then clear the cache, etc.

Any suggestions? My device is not rooted and I'm running Marshmallow.

# Answer
**Method 1 (Requires 2 Phones signed in with same google account):**

1. Phone 1:

* Open Google Play Store and Download HotSpot Shield or Zenmate. Once you have downloaded.
    * Clear cache and data of Google Play Store by going into Settings -\> Apps -\> Google Play Store.
    * Now open VPN app (Zenmate) and Change your location to UK and connect the VPN. Open Google Play Store and Accepts the terms.
    * Accept the terms.
    * Now Move out of Google Play Store.
    * Do not exit the app from the background.
2. Phone 2:

* Now perform the following steps on Phone 2.
    * Clear cache and data of Google Play Store on Android Phone.
    * Open Google Play Store. You don’t need VPN on this phone.
    * This time, accept the terms and rules. It will take you to UK’s Google Play Store.
3. Phone 1: Disconnect from VPN and Head back to Google Play Store.

**Method 2: (Same thing on a single phone, but you will need VPN everytime you use Play)**

1. Install the VPN app provided by your VPN provider on your Android device.
2. Choose a VPN server belonging to UK.
3. Establish a VPN connection.
4. On your Android device, go to Settings -\> Apps.
5. Under “Downloaded”, search for the Google Play Store app.
6. Click on it.
7. Press “Clear Data” and “Force Stop.”
8. Exit settings.
9. Relaunch the Google Play Store App.

*I have tried Method 2, it worked for me.* For both methods, you need a VPN which provides a UK server(free/paid depending on you).

**Set server locations where you want your Google Play location to be, most of the VPN's provide free access to US servers.**
> 6 votes

# Answer
I had a similar issue moving from Germany to the UK and spent over an hour on the phone with Google support.

In addition to what others already wrote above, I had to do two things:

* Cancel any Google subscriptions you have on your old profile (I had to cancel my Google Play Music Family Plan)
* Make sure you not only add a new country profile on pay.google.com, but also add a payment method from the new country

It takes between **24-48 hours** for the Google system to process the new profile and to authorize the new payment method.

Only after waiting that long could I do what the others described: cleared cache and storage of the Google Play app (under Apps & Permissions on Android 9) and the new profile finally appeared under Accounts. It is crucial that at this point you need to have an IP address locating you in the country of the new profile, so you might need to use a VPN.

If none of this helps, the support also recommended to sign out of the Google account on your phone and sign in again.
> 6 votes

# Answer
I had the same problem when I moved from the US to India a week back. Here are the steps I used to resolve this issue.

**Go to Google Payments and create a new profile for the UK**

* Go to https://payments.google.com, click on your current profile, and click on the edit option (symbol of a pen) available next to your listed country.
* Now you will get an option to add a new profile for a different country

**Go to Google Play Store and change the profile**

* Click on Settings and select the Country and Profiles option.
* Here you will be shown both the countries corresponding to your profiles which were created in Google Payments
* Select UK and start using Google Payments. Do remember that you can only change the country once every year.

I also had more than 20 dollars in my US profile, so I first spent the money on some useful apps to bring it below 10 dollars and then switched the profile. You need not do this if you don't have money in the old profile. Also, you don't need to buy anything from Google Store, just to change countries.
> 4 votes

# Answer
1. Go to Google Payments and create a new profile. Enter new country and other details. (you can go to Google Payments by clicking payment methods in the menu in the Play Store. Then choose more payment settings)
2. Force close Google Play Store and 2 other Google Play services in apps in your phone settings.
3. Open Google Play Store. Go to account. You'll find countries and profiles.
> 2 votes

# Answer
Google is making it easier, as reported today, to change the country to a different one. From Android Police on 2018/03/20:

> Now, Google appears to be taking one teeny tiny step toward making the switch easier for some people. If your Play Store country is set to country A (whether you lived there or, uhm, fooled Google into thinking you did because you made a purchase with a valid payment method and to a valid shipping address in that country), and the Play Store detects that you've moved to country B (likely based on your IP address), you'll get a new option in the Account settings: Country and profiles. There you'll see which country your Store account is on and an option to quickly switch to the new country - provided you have a valid payment method there.

There are some caveats to this:

> Keep in mind that this Country and profiles option won't be there for everyone and won't let you switch to any country you want. It appears to only show up when it detects a discrepancy between your setting and your IP address.
> 1 votes

# Answer
I had the same issue and the easy answer was that I had to change the country in my https://pay.google.com, that is where it was taking the wrong country from. After I changed the address associated with my payments, the change country option became available in the Google Play profile, and I could change from Hungary to Spain.
> 0 votes

# Answer
1. First, log in to the browser by the URL https://payments.google.com
2. Select the menu, create a new payment method, fill in details in the fields, save it, and log out of your Google account.
3. Open Google Play Store, go to the menu, account, and select your newly added country.
> 0 votes

---
Tags: google-play-store
---


# Question
Title: Firefox add-on is shown beside search box on desktop, but where is it on Android?
I installed Search by Image Firefox add-on. But I can't see the extension button that we see next to search box on desktop version.

Where do I find it?

# Answer
Firefox add-ons for Android by default do not appear next to the search box, unless the add-on has an option to show it there.

You need to tap the 3 dot () menu to reveal them. They could be separately listed as with this example or shown under the add-ons (blue circle with arrow)

.

(Click to enlarge)
> 3 votes

---
Tags: firefox-for-android, browser-add-ons
---


title: Undo Factory Reset on oneplus

text:
# Question
Title: Undo Factory Reset on oneplus
My Kid has been playing with my phone while it was on lock screen, my kid did not have the access code but somehow don't ask my how he somehow managed to factory reset my onePlus 6T.

I googled and found a few commercial programs all promising to solve the issue I tried one gihasoft, but when I try to connect my oneplus to my macbook it fails with "ftp or mtp must be enabled", and I cant find those settings.

Is there anything I can do to restore my device? I'm also quite shocked to learn that it can be factory reset that easy.

# Answer
> 1 votes
Many Android phones can be booted into a recovery mode and factory reset from there. In the case of the 6T you power it off then hold down volume up at the same time as pressing the power button. That boots it into recovery mode, and from there the phone can be reset by selecting the appropriate option. Your child must have managed this without meaning to.

There isn't any way of retrieving the data from the phone. OnePlus or the FBI might be able to do it but there's no way for you or I to do it. However if you go back through the setup and choose the option to restore your data from Google you will get back anything that has been backed up to the cloud.

Reading the data from a factory reset phone would be a serious security flaw. It would mean anyone who stole your phone could reset it to wipe your phone lock then read your data off the phone.

---
Tags: factory-reset, data-recovery
---


# Question
Title: Call settings will pop-up when I open a pdf
So dear clever IT friends here is the thing. I am helping a nice old grandma. She has a Huawei tablet, android in it. The silly device asked when she opened a pdf file "which program would you like to use to open it". She is a nice 80 years old granny and thought she has to go with settings. So she went for it. Now when you try open any pdf file the "call settings will" pop-up instead the pdf file itself. Any idea how I can find the path to add adobe to pdf files?

# Answer
> 0 votes
**Easier solution:**

Hi, the easiest solution is to uninstall and re-install the PDF viewer app from that tablet. Android starts prompting how to open that file as soon as it notices that there are new apps which can handle that file type.

Since you mentioned Adobe Reader, please uninstall it and then install it again from the Play Store. The prompt to select which app to open the PDF with will return. There you can set Adobe as the default to avoid problems in the future.

**Appropriate solution:**

I am keeping this as a second choice because the Android version is unknown and different OEMs can have a slightly different settings page and slightly different names for each setting item. Still, here we go:

1. Open Settings app.
2. Open *Apps and Notifications* (Or Apps, or something similar which conveys the same meaning).
3. Tap on *All Apps* (Can also be *See all apps* or not exist at all, just choose the option which takes you to the full list of apps)
4. Scroll down and locate the *Settings* app. Tap on it.
5. Scroll and select *Advanced \> Open by Default*.
6. Finally tap on the *Clear all defaults* button.

This will remove the default handler for PDF files and Android should once again start offering the choice.

---
Tags: pdf
---


# Question
Title: How to open links directly in Firefox full browser?
In some apps (Google News, Read - Simple RSS Reader) when I tap on a link, it won't directly open in Firefox but in a simplistic viewer, supposedly also by Firefox. From there I only have two choices, close the viewer (which brings me back into the app) or open the actual Firefox browser. The problem is that all plugins are disabled in this viewer, so I always need two taps to open a link from those apps. How can I disable this viewer?

I have Firefox 68.3.0 installed, but the problem has existed for a long time.

# Answer
Some app developers prefer to keep user within the app as much as possible, even when visiting external links. **WebView** embeds external web content seamlessly in an app activity so that it looks a part of it. However large contents like complete webpages which cannot fit inside app layout require a minimal browser to show them. Some apps have their own **in-app browsers**. A relatively recent addition is the ability of standalone browsers (including Chrome and Firefox) to show **Custom Tabs** inside other apps the same way an in-app browser looks.

When you tap a link, app may fire an explicit `intent.action.VIEW` to web browser or an implicit intent with URL as data. In latter case if there are more than one apps which can handle the given scheme in URL (e.g. `https://`) and a default app isn't selected already, system activity resolver (`com.android.internal.app.ResolverActivity`) shows **Open With** dialogue (with help from package manager which shows last selected app on top (see more details in this answer):

Then an explicit intent is forwarded to user selected app. So here if you select a browser (or other app) which doesn't provide Custom Tabs functionality, full browser is launched. But if the intent is a `CustomTabsIntent` (with EXTRAs) and the selected app (e.g. browser) supports Custom Tabs, the URL is opened within the calling app. Browser may start a `CustomTabsService` in background to receive intents with `ACTION_CUSTOM_TABS_CONNECTION`:

```
~$ dumpsys package | grep CustomTabsService
      android.support.customtabs.action.CustomTabsService:
        b5a09c8 org.mozilla.firefox/org.mozilla.gecko.customtabs.GeckoCustomTabsService

```

Firefox, at least, provides an option in settings to disable Custom Tabs:

Similarly some apps can provide a configuration option to open links externally, disabling in-app browser and/or custom tabs. Or you can customize the custom tabs behavior using third party apps like Lynket \- an open source project (I have no affiliation). Theoretically the same approach can be used to disable custom tabs by selecting such app when *"Open with"* dialog is shown.
> 2 votes

---
Tags: firefox-for-android, hyperlinks, browser-tabs
---


# Question
Title: Is there a way to change the system date/time settings to a non-Gregorian calendar, e.g. Hijri, Jewish?
Is there a way to change the internal Android system calendar to a completely different one?

# Answer
> 4 votes
**No** \- Individual Apps have to implement and support the different calendars.

Internally the Android System kernel really only knows about UNIX Timestamp. If you change the date/time manually without any network, you'll be changing that value.

It is up to the Android Framework or third party developers to support the various calendars.

From the beginning of Android there has been the Gregorian Calendar class and only with Android 7.0 (Android API 24) and later have additional calendars like Islamic and Chinese been available within the Android Framework. You can see the other calendars available to developers in the Internationalization Base Calendar Class

Regardless, Android developers would have to add in their own code to support different calendars and related issues with the complexity of date/time math.

So sadly you'll have to check each app that you use to see if it has the internationalization capabilities you want.

If you wanted to change the screen lock/status bar/notification shade calendar information, that would probably be a Custom ROM which would expose the Calendar type to use in those fields.

---
Tags: calendar
---


title: Keep playlist always in shuffle

text:
# Question
Title: Keep playlist always in shuffle
I am using the default android music player and I tend to always play playlists in shuffle mode. I find it unintuitive though that I cannot set a playlist to play in shuffle by default, I need to manually select shuffle each time. Is there a setting that I have overlooked or otherwise how can I do this? Happy to use another music player but I have tried many of the popular ones and they appear to have the same issue.

# Answer
I found one solution to this, will leave this in case someone has a better one. Basically by adding the full music widget to the homepage you can easily toggle the global shuffle setting and play a playlist from the same place. This doesn't let you set it per playlist but since you don't need to keep pressing shuffle each time you play it works similarly. Closest I have found so far.
> 0 votes

---
Tags: music-player
---


# Question
Title: How to erase unsued space so that dumping userdata partition creates a sparse file of small size?
When I create a `gzip` image of `userdata` partition (`/dev/block/mmcblk0p29`) it creates huge 6.8GB image, previously it was 350MB.

Is it possible through command-line to erase or wipe or delete space on `userdata` partition? I want to keep small compact compressed `gzip` or shadow images of clean unrooted and rooted partition on various dates and times.

I tried the following commands but nothing worked for me:

1. `fastboot erase userdata`
2. `rm -r /data/*.*`
3. `rm -r /sdcard/*.*`

Still image is 6.8GB.

4. `dd if=/dev/zero if=/dev/block/platform/7824900.sdhci/by-name/userdata bs=8192`
5. `dd if=/dev/urandom of=/dev/block/platform/7824900.sdhci/by-name/userdata bs=8192`

`/dev/zero` and `/dev/urandom` not found in device.

6. `newfs`
7. iShredder 3 app
8. Secure Eraser app
9. Andro Shredder or Disk Sanitizer

But how will I format in unrooted while working in the Android userdata partition?

10. Any `adb shell` command to clear, format or zero fill

# Answer
I guess your real purpose of this question is not what the headline suggests - secure erase your data - but instead you want to have a full backup of userdata including `/data/media` (downvote if I am wrong).

You have some options, most require additional binaries which you can copy to `/cache` partition or permanently integrate into your twrp `/sbin`:

* e2image (thx @IrfanLatif)
* make twrp backup of /data to internal storage and just `adb pull -a /sdcard` afterwards, which you can zip without worry about file permissions
* just create tar.gz instead of img.gz with gnu tar (with `--selinux --xattrs -p` flags)
* create empty disk image and copy all (`mke2fs` \+ `busybox cp -ac`) then compress img with `gz` (requires much disk space and underlying non-fat32 file system type)
* permanent tweak for twrp

(I will improve this answer when I have time)
> 1 votes

---
Tags: rooting, backup, file-system, shell, partitions
---


title: Open Google Docs in Browser

text:
# Question
Title: Open Google Docs in Browser
I'm using Samsung Dex on a Note 9 and would like to open Google Docs in Chrome (or any other browser) instead of the Google Docs app.

Otherwise I can't use certain plug-ins like reference managers.

I tried uninstalling docs, tried different browsers, tried to change the default action for Google docs links and tried to activate the desktop mode where possible but I still couldn't access the desktop mode of Google Docs that I would see on Windows. I'd be grateful for any help.

# Answer
> 1 votes
**You can use this for most Google apps not just Google Docs**

* Install Firefox
* Install Google Shortcut add-on. Tap the 3 dots () menu to reveal the side bar →Add-ons→Google Shortcut. Tap to open →options. From the left pane tap Google Docs and it will appear on the right pane.

(Click to enlarge screen shots )

* Open a new tab and from 3 dots menu locate *App Launcher* (see screen shot).

* Tap on App Launcher to reveal Google Docs icon. Tap on that to see your docs and open them!

---
Tags: samsung-dex, google-docs
---


title: How to make Gcam work on POCO F1

text:
# Question
Title: How to make Gcam work on POCO F1
I have tried many different APK's available online on my POCO F1, but none seems working fine. Can someone provide me the best GCam links for POCO F1?

# Answer
> 0 votes
The best resource for all Gcam links for POCO F1 is available under XDA forums which are listed under https://www.celsoazevedo.com

Please make sure you read and follow the instructions properly before downloading and installing it on your android device.

When you choose the APK to download, make sure your Android OS version is compatible with the APK version to be installed.

---
Tags: xiaomi-pocophone-f1
---


# Question
Title: Destroyed (boot/recovery).img after rebooting the device
I use Realme 3 pro device with SD710 running android 9.0 with ColorOs UI, and i'm trying to root my device with Magisk module. First i followed the instructions at link to unlock bootloader,then followed this link to install TWRP recovery for flashing Magisk to root my device, but after that the device cannot boot-up and i have this message on screen : i tried these solutions to overpass this message :

* Disable verity-check using ADB with command `./fastboot - disabled-verity - vbmeta flash-verification-enabled vbmeta.img` but i get error `fastboot: usage: unknown command -` .
* Disable verity-check by flashing a zip from this link.
* Try to patch stock boot.img by using Magisk manger followed the instructions link.

noticed: Secure boot status still `yes` in fastboot mode, and the device only boot-up iff after flashing the stock `boot.img` and stock `recovert.img` but with no root. So i think the problem caused by secure boot, how to solve it? and if there is another one what could it be?

Thanks for advance.

# Answer
Install the stock recovery first through fastboot. Then install twrp recovery again through fastboot. Then install the zip file of the stock rom. It worked for me. Get the stock recovery and stock rom from https://forum.xda-developers.com/realme-3-pro/how-to/guide-to-stock-rom-stock-recovery-t3940604
> 1 votes

---
Tags: rooting, twrp, boot, 9.0-pie, magisk
---


# Question
Title: Packet forwarding between USB Tethering and Wifi on Android
I have Toshiba **notebook** with embedded wifi adapter 2.4Ghz, **desktop** without embedded wifi adapter and Samsung Galaxy **smartphone** with **Mobile HotSpot** feature also on 2.4Ghz. Smartphone is connected to Internet through mobile operator. I need provide internet access for notebook and desktop through smartphone and combine them in network, so I will be able to ping notebook from desktop and vice versa.

I have bought TP-Link Archer T1U usb wifi adapter for my desktop and found that it supports only 5Ghz bandwidth. Yeah.. shit happens. But also I have old **rooted** Samsung Galaxy SM-T211 **tablet** with **USB Tethering** feature. So I switch on Mobile HotSpot on smartphone and connect notebook to smartphone through wifi. Then I connect tablet to smartphone also through wifi. Finally I switch on USB Tethering feature on tablet and connect desktop to it through usb cable. Network schema is shown below.  All devices have internet access. Seems good, except **I can't ping desktop(192.168.42.56) from notebook(192.168.43.24)**.

*Forgot to mention, I use ArchLinux on both desktop and notebook.*

# Answer
> 0 votes
I have found the solution.

First, I add routing for 192.168.52.0/24 net via 192.168.53.224(tablet) on notebook:

```
$ sudo ip route add 192.168.42.0/24 via 192.168.43.224 dev wlp5s0

```

Second, flush all the chains in ip table on tablet through Android Terminal Emulator. Tablet is rooted, so it is not a big problem:

```
$ su
# iptables -F

```

That is all. Now notebook can ping desktop and vice versa.

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


# Question
Title: Can I use my smartphone as a WiFi network adapter?
I have this PC that doesn't support wiFi and I have to use usb tethering. But I want to see if I can project my phone's WiFi onto the computer, so it can see all the available wireless networks, whilst its still connected to USB.

I don't know how much difference this would be considering, even if I projected my wiFi on to a computer, so it can see available networks (just like a usb wireless adapter, you see these days - except using a phone) but still very much connected to a USB. So I'm not sure what the difference between this and USB/WiFi tethering, but I'd imagine it would be faster.

Edit: I actually want to be able to connect to a wiFi and see other available connections, using my phone and USB. This is to compensate for the fact that my computer doesn't support wiFi and hardware require for it.

USB network adaptors are a very good example, of what I'm trying to want to do, except with a phone.

# Answer
> 1 votes
I have asked similar question. I couldn't get access to PC connected via USB (USB Tethering) from PC connected via WiFi (Mobile HotSpot). Solution was add routing for USB Tethering net on second PC.

```
$ sudo ip route add 192.168.42.0/24 via 192.168.43.224 dev wlp5s0

```

Here 192.168.42.0/24 is USB Tethering net, 192.168.43.224 is IP of Mobile HotSpot, wlp5s0 is WiFi interface of PC (Linux). (In my question I had two Android devices, so maybe this step is optional, I haven't checked).

Second, you should flush all the chains in ip table on Android device, e.g through Android Terminal Emulator. Assumed that device is rooted:

```
$ su
# iptables -F

```

# Answer
> 0 votes
If you want to see all available networks on the PC over your phone, I can think only one solution. Phone on screen. Connect your phone to PC, and all the function will be available on your PC desktop screen. Any function can be used by mouse. Application Phone on Screen is official LG's software, but you can search on Google Play similar apps.

**EDIT 2#** Small tutorial on

"**How to use Android device as Network adapter**".

*This is alternative way, not the direct solution!*

Small note, I have tested this on LG Flex device, and it works, plus the software is called "Phone on Screen" and it's LG's software for the same purpose as it says.

1. Download "On screen Phone" from this link or from LG's official page and install it.
2. Since this software is already installed on LG android devices (I think only newer) there is no need to download it.
3. Connect your device to your PC. And select *tethering mode*.
4. Start "LG On Screen Phone" software who you downloaded it from internet. (By this I mean start the PC software not the actual app on android device)
5. Connect your device with cable to your PC
6. Follow the wizard who will guide you easy trough the configuration part.
7. After you have been connected to your device you'll screen the screen and controls of your device on the PC screen.
8. Now enjoy your WiFi on your Phone and your PC.

The proof of my test is this image:

**One note!** There are possibilities that there would pop up some error while running configuration. The error is result of selecting tethering mode over *Lg software mode*, and when this happens just click "Next" a couple of times just so it could reconnect again to your device.

**P.S** There is a feature to connect Phone and PC with Bluetooth, if someone has installed Bluetooth adapter on PC, please try and comment the result, I'll add it to this small tutorial.

---
Tags: wi-fi, internet
---


# Question
Title: "Significant Motion sensor" same as accelerometer?
I am trying to understand better the "Significant Motion" sensor:

I know that I have accelerometer. Does it mean that the device also supports "Significant Motion sensor"? According to https://source.android.com/devices/sensors/sensor-types.html#significant\_motion it is the same, but I'm not sure.

Is there a utility/apk to check its validity ?

Thank you, Ran

# Answer
The significant motion sensor is a virtual sensor using the physical accelerometer. From android.com:

> A significant motion detector triggers when the detecting a “significant motion”: a motion that might lead to a change in the user location.

This means the significant motion sensor will only provide data if a significant motion is detected by the system (e.g. walking). The accelerometer continuously returns the accelerations for each axis.

To check out those sensors you can install one of many sensor apps. I usually use cpu-z.
> 4 votes

# Answer
Significant Motion can be implemented by underlying physical sensor: Accelerometer. But it should be low power, which means that it should be implemented in sensor hub, and not AP.

A watch/phone have an Accelerometer sensor, but may not have an Significant Motion sensor.
> 0 votes

---
Tags: sensors, hardware-acceleration
---