title: Android WIFI connected without internet

text:
# Question
Title: Android WIFI connected without internet
I have Galaxy s20 with android 11. I am connecting at work to WIFI which require to login using a browser. After that unless admin do not change the password mobile connecting automatically without any problems.

After several hours(2-3 usually) of smooth working connection I start having a problem - like connected without internet, or it become very very slow that browser will not load any page.

Here is what I did so far

1. checked other users and no one has this problem which means router and internet is OK.
2. switch off and on WIFI several times no succuseed.
3. turned off/on the the mobile no succeed
4. Forget WIFI which worked first time only- then forget stopped working and it keep connecting again without asking for password.
5. I have search on the internet and tried all possible solution nothing works. Any one have idea how to solve this problem.

# Answer
you must visit the url of captive portal manually by typing in address bar of your browser
> 0 votes

---
Tags: wi-fi
---


# Question
Title: How to change my "channels & interests" on an Android phone?
I have an Android phone and get some news based on my "channels & interests" when I swipe from the main Home Screen to the left. How can I add a new topic to these "channels & interests"?

I found this site which does not really help. In *Step 2: Choose what updates you get* it does not explain how to **add** a new topic. I only can view some list I can choose from.

Is there any way to really implicitly, directly and clearly add a new topic to that list?

# Answer
Unfortunately, it isn't possible as mentioned in Google forums (incidentally, three days ago). A workaround was also suggested

> .... there is **no manual way so no way to write in an actual topic to that channel & interest area**. If you look up machine learning or AI enough it might then start to show in that area. Something else I would recommend you do is anytime you find a card in Google Discover that you would want to go back to at some point, click on the heart symbol which means like and then you can find it at https://www.google.com/search/contributions/reactions

(Emphasis supplied)
> 0 votes

---
Tags: google, google-discover
---


# Question
Title: IBM website zoomed in too far in various browsers
*Android 11; Samsung Galaxy A20 (SM-S205G)*

---

I've had a long-standing problem on my Android phone with *IBM Community forum websites*.

Forum postings like this one are zoomed in too far. I can't read the text on either side of the page (portrait or landscape).

I have the same problem in all browsers that I've tried. I've tried pinching out the screen to zoom out, but that doesn't do anything. It stays at the same zoom level.

My uneducated guess would be that the page isn't handling responsive design properly. I've reported the problem to IBM. But they don't seem to be interested in fixing it.

I don't have this problem with any other websites on my Android phone. For example, there are even other IBM forums that don't have this problem. But unfortunately, I don't use those specific forums.

---

I've had some luck solving the issue on a different device: Safari/iPad (7th gen; 17.7.1).

In Safari, there is an option where I can zoom out at a set percentage (85%).

That works well. There's a tiny bit of cutoff at the righthand side. But I can live with that.

---

**Question:**

To compensate for the problem with the IBM website on my phone, is there a way for me to change the zoom level in an Android browser app? (just like I did with Safari?)

So far, I haven't found a setting like that in Samsung Internet, Firefox, or Chrome. I'm open to installing a different browser on my phone if needed.

# Answer
Since you are open to trying other browsers, install Opera and open the site in it. Next, tap on the symbol with letter A (circled in screen shot below) and the content is rendered legibly in *Reader Mode*

If you are comfortable viewing in desktop mode, that also works.

Edit: If you want to use Chrome and are fine with Safari like experience, from Settings → Accessibility → Text scaling adjust the slider to increase/decrease font size and view the site in *desktop mode*. The last word of every sentence is clipped though.
> 1 votes

---
Tags: chrome-for-android, browser, firefox-for-android, zooming, samsung-internet-browser
---


title: Reset individual app settings

text:
# Question
Title: Reset individual app settings
Something happened on my HTC Tattoo (V1.6) that caused lots of apps to crash on start-up. I think it may have been due to their settings getting corrupted somehow, but I don't know what caused that.

I've been able to get some working again by uninstalling them and then installing them again. Obviously, I lost any set-up by doing this.

Is it possible to reset the settings for a given app? I don't even know where they are stored. Is it in an `.xxx` type file as on Linux? It would be useful to know where they are so I can back them up in future.

Update August 2011: Now it's happening again. Google apps failed first, but then Facebook and last.fm stopped working. Tried clearing data/cache with no improvement. Can't re-install some apps as they are no longer available for 1.6. I do intend to try upgrading when I get time.

# Answer
> 3 votes
As Al says, Settings \> Applications \> Manage Applications, go to app and press Clear cache seems to do the trick.

# Answer
> 0 votes
To reset an application's settings, go to `Settings > Apps` and select the desired application. Then use the buttons on that page to clear the data and the cache.

If the application's settings were synced to a Google account, a Google bug could potentially set them back to the previous settings. If this happens, just delete the data and cache again.

---
Tags: applications, settings, crashes
---


# Question
Title: What does "Device connected - Updated usage information for some apps" mean on Play Store?
I would like to know what this means inside the Google Play Store:

> Updated usage information for some apps.

The following screenshot shows on Google - My Activity at different times.

> > Google Play Store
> >
> > **Device connected**
> > Updated usage information for some apps
> >
> > **Details**
> > \[September 24, 2019 @6:05am\]
> > Google Play Store
> > \[LGE LG-K373 \]

What does this mean?

# Answer
> 1 votes
You probably share usage and diagnostics information of that device with Google. In this particular instance, It means that Google Play Store was connected to its server and as stated "Updated usage information of some apps". The information can be when last you used the apps, how long, etc.

# Answer
> 0 votes
If you are asking for yourself and no one uses your phone, then Reddy's answer has the idea. But if you're asking because you saw this on a partner's activity, which is legal if they give you permission to use the phone, then I've been there, and here is possibility number 2. It is when the individual reads their account to the device. Why would they do that? I'll explain.

If you are trying to communicate with people or sites and you don't want someone to know but have to make it look like you aren't hiding anything and you don't want to leave anything behind by accident. Then you can't pause your activity in Google, that may give it away. You don't want to go through your activity feed and miss something you need to remove. So you remove your account after backing it up, and I add an account you do the activity with. Different email, social accounts, contacts. Everything. Then when you're done, you sync the second account and remove it. Add the first account back and restore the backup to the original form. Or a hybrid of said process. Now I think every time you add an account to your phone, said account would get a "device connected update app usage" log in Google activity feed.

Or if you use a browser like DuckDuckGo, you could anonymously log in to Play Store and use the app in the browser. Then when you uninstall an app with the Play Store or app section of settings, your device message would show.

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


title: Boot a phone with a broken power button

text:
# Question
Title: Boot a phone with a broken power button
I'm hoping if there are any ways on how should I boot my phone. I've researched multiple ways on booting your phone thru adb but my computer fails to recognize it although I have Samsung Drivers Installed. USB Debugging mode is on since I'm using ADB to install my apps. My phone is Samsung Galaxy Grand Prime Plus.

# Answer
Press the Home button and Volume Down button while plugging in the charger. It should enter Downloading/Recovery mode. Then press the Volume Down button. Your device will power on.
> 0 votes

---
Tags: boot
---


# Question
Title: Problem with downloading files to SD card
I have a problem with downloading to my SD card and I tried using different browsers: chrome, brave, firefox but couldn't find a satisfactory solution. Basically on Chrome I set the download location to SD card and the path is "sdcard/../../Android/data/org.android.chrome/Downloads'. This is the only choice under SD card so I select that. But when I download any file, chrome displays "download error" in the notification bar, but the file has been downloaded to the above path. The only way to open the file is to use a file manager and navigate to that directory which is a hassle if I have to do that each time.

I tried the same with firefox beta and about:config settings following instructions floating around on google. But Firefox completely ignores the folder path and always downloads to the internal storage.

I don't mind saving to that weird path but the download manager I have (Files by Google) does not recognize it as a downloads folder and so the file does not show up in my Downloaded files list, so it's kind of annoying.

I have a MIUI 12.0.4 phone running on Android 10.

Does anyone else have experience with this sort of bug and if so is there a solution for that? (Alternative brower, other settings, a way to map that folder to Downloads in file manager, anything is welcome)

# Answer
> 0 votes
I'm having the same issue on my Vivo v21e. But I found the solution. You can use 1DM downloader (available on play store) as an external download manager but you have to use Firefox to make it work. Just go to the Firefox settings and turn on external download manager after downloading 1DM and it'll fix the problem..

---
Tags: sd-card, chrome-for-android
---


# Question
Title: Cannot install Google USB driver because it won't accept the driver
I tried

https://developer.android.com/studio/run/win-usb

I also tried

https://droidusb.com/download-lana-download/adb/

but that seems to be the same thing

and the google page tells me to go to device manager and "other devices", I turned USB debugging on and that helped as then it showed under Other Devices.

It says MTP

So I went to settings..developer tools..usb configuration, and I switched it from MTP to PTP but it still sees MTP in device manager.

Is there some option I should be choosing that I haven't chosen yet?

# Answer
> 1 votes
On Android 11, when you connect your device to your PC, assuming that USB debugging is already enabled, you will get a notification where it says what USB connection type is currently active. Tap on the notification. A menu should open where you can pick a USB connection type (MTP, PTP etc.). Pick "*No file transfer*" and try installing the Google USB Driver again. Use the Device Manager, find your Android device, right-click, update drivers, select my own and select the folder where the Google USB Driver for Windows is located.

---
Tags: adb, usb-drivers
---


# Question
Title: What's the difference in contents of `/odm` and `/vendor` directories?
I have a little idea about the `/odm` but no idea of `/vendor` dir. Can someone please explain in the best way possible? I looked up on Google and it didn't help.
What I'm really confused is with whether OEM's make changes to the files underlying these directories or is it the Android's source.

Reference:

> > From /system, init launches and starts mounting all the other partitions, such as /vendor, /oem, and /odm

# Answer
***odm*** contains all specific device librarues such as sensor HAL, etc. But ***vendor*** contains SoC specific libraries. This is because for android 9 and higher the idea is having a general/same image for all devices and using *product*, *vendor* and *oem* for every device.
> 1 votes

# Answer
You could obtain this informacion in Source Android Documentation

* ***ODM*** -\> This partition contains original design manufacturer (ODM) customizations to system-on-chip (SoC) vendor board-support packages (BSPs). Such customizations enable ODMs to replace or customize SoC components, and implement kernel modules for board-specific components, daemons, and ODM-specific features on hardware abstraction layers (HALs). This partition is optional; typically, it's used to contain customizations so that devices can use a single vendor image for multiple hardware SKUs
* ***Vendor*** -\> This partition contains any binary that isn't distributable to AOSP. If the device doesn't contain proprietary information, you can omit this partition.
> 0 votes

---
Tags: partitions, aosp, manufacturers
---


# Question
Title: Side-effects (unexpected/unwanted) of changing the "default" SD card
In have a Huawei phone that came with 32GB. If I add a new bigger SD card what are the implications?
I mean would my installed applications be affected/disappear? Would any configuration any app change/break? Or does it affect only files saved? Not sure if that affects or how the internal storage

# Answer
adoptable-storage won't work for Android 7.0-8.1 with FBE encryption, therefore nothing will happen to apps.

portable storage allows you to remove MicroSD Card off the device and read data from PC card reader without data loss. If however for some reason windows is not able to detect file system, do **not** format MicroSD Card if windows ask for it. Instead read MicroSD Card from linux.

If you insert MicroSD Card back into device files will be available as before
> 1 votes

---
Tags: internal-storage, external-sd, sd-card, insufficient-memory, huawei
---


# Question
Title: Moving Chrome saved passwords to Brave browser
Is it possible in any way to replicate Chrome passwords to other Chromium-based browsers such as Brave? I have a rooted device. I tried copying the "Login Data" file from the Chrome data folder to the Brave data directory. But Brave didn't pick it. And there is no option to import CSV passwords in Brave browser.

The desktop version of the Brave browser has an option to import CSV passwords, and I did that, but there is no option to sync passwords between the desktop version and the Android browser.

# Answer
Reading Brave support page it seems that you need to

1. install brave on your desktop machine
2. Import your chrome profile https://support.brave.com/hc/en-us/articles/360019782291-How-do-I-import-or-export-browsing-data-
3. Sync your android phone with brave installed on your desktop. https://support.brave.com/hc/en-us/articles/360021218111-How-do-I-set-up-Sync-
> 2 votes

# Answer
So far, not yet. The Brave Dev team said it's on the roadmap, there are several overlapping issues (with sync, bookmarks, general browser data and specific password import/sync) but there has been no feedback from the Devs on an implementation timeline. Very frustrating. Brave is a great browser and has lots of potential, but if it's to compete with the other browsers it has to include basic features that users expect. Password sync, or at least import and export on mobile/laptop/desktop, is one of them. Payment, Address and other browser data would actually make it comparable to other browsers...
> 1 votes

---
Tags: sync, chrome-for-android, password, brave-browser
---


# Question
Title: Mi mover - why not transfer apps completely?
I've recently proceeded with setting up new Xiaomi device and used Mi Mover to try to copy from older Xiaomi device. The app said "copying apps, some apps it cannot copy but e.g. Telegram, WhatsApp were ticked as to be copied". After completion app asked to rate it.

I wanted to check results before rating and only media from WhatsApp, telegram were copied. Why can't app of phone manufacturer take care of installing apps on new phone and transfer all user data? I guess Xiaomi can provide its' app with root privileges etc. I have not been able to find answer via googling.

# Answer
From MI Mover review

> **APPS THAT CAN BE TRANSFERRED USING MI MOVER**
>
> > The Mi Mover can transfer system apps and third party apps these apps are mostly from Xiaomi and games that doesn’t need personal data.

> **APPS THAT CAN NOT BE TRANSFERRED USING MI MOVER**
>
> > However, Mi Mover **cannot transfer apps that have personal data**. For example Facebook, Shopee, and Lazada. These apps contains our personal data and Mi Mover doesn’t have a **permission** to transfer these apps’ system settings and data.

(Emphasis supplied)

An app can't be granted root privileges unless the device is rooted (See Can you grant superuser privileges to an application?)

Even on rooted devices, you may need extra tricks to transfer WhatsApp data whereas other apps data can be backed up and restored.

From app developer of SwiftBackup

> Media part is for the app's media directory at `[InternalStorage/Android/media/[package_name]/`.

> Very few apps use this directory. On Android 11+, WhatsApp uses this directory to store all its media that was previously stored at `InternalStorage/WhatsApp/ folder` on Android 10 and below.
> 2 votes

---
Tags: file-transfer, xiaomi
---


title: Google Chrome fails to update

text:
# Question
Title: Google Chrome fails to update
I'm on Android 10.
When I open google chrome its menu is replaced with a red icon.
On clicking it there's a red menu item "Update Google Chrome" or so.
On invoking that action I get to a new screen (I think from google play store) which says "Try again". On the bottom it suggests to play "Hot Balloon" in the meanwhile.
I tried this for weeks and it was always the same.
I tried rebooting but it didn't help.
I tried updating from within the Play Store app. There was an Update button but when I clicked it it just said "something went wrong".
I checked if there's enough storage. Both internal storage and SD card have \>3 GB left.

# Answer
> 1 votes
Found the solution here:
https://customeruseinfo.com/solved-google-chrome-and-system-webview-isnt-getting-up-to-date/ \> Clear Google Play Store Cache and Storage

Settings \> Apps and Notifications \> Google Play Store \> Storage & Cache \> Clear storage
Then confirm and try updating again -\> works

---
Tags: google-play-store, updates, chrome-for-android
---


title: How to stop screen from lighting up?

text:
# Question
Title: How to stop screen from lighting up?
Just received a new Motorola E6 phone. It's running Android 9.0. Any time the phone is bumped, moved, or there is any kind of vibration the screen lights up. How can I stop it from doing this?

Internet search suggests I should find a "Sneak Peek" option under Settings - Displays, however, this phone does NOT have "Sneak Peek" or anything similar there. It also does not have an Ambient Display setting.

# Answer
> 2 votes
It was due to a Motorola specific feature *Peek Display*. Disabling that fixed the issue. Tools → Moto → Peek Display (thanks to OP for correct path - Source)

On some other models disabling Moto Display may help.

---
Tags: screen, 9.0-pie
---


# Question
Title: Stuck on fastboot with broken power button
Phone isn't recognized by a USB cable even after installing the official drivers. So `fastboot reboot` wouldn't work. Power button is broken, so the phone is stuck on the fastboot screen. What can I do to reboot the phone to normal??

# Answer
You can try running "fastboot continue" while connected to a PC.
> 0 votes

---
Tags: fastboot, power-on, oneplus-3
---


# Question
Title: Deleted thumbnail file but no space was freed
I'm using Sony Xperia Z3 and used File Commander to browse and found that I kept running out of space because of a 4GB thumbnail/preview file/folder that grows rather quickly.

I tried deleting the folder, but after deleting the folder, I saw that no space was freed and it was still there. So I tried moving the folder to my SD card which resulted in 4GB of space taken up on my SD card and no space freed.

I don't think I can find the thumbnail preview folder anymore, but I think new files are building up because I'm running out of space again.

Does anyone know what's going on?.

# Answer
The `.thumbnails` folder has a file of the format `.thumbdata4*` whose size is shown to be really big usually. But in reality, it's not a big file and it's size is shown as such is because it's not a normal file.

It's a sparse file and its real size can be seen using `du` command from a terminal emulator. `ls` shows the file size from it's metadata like most tools do and it'll be a big number.

On my phone, it looks like this:

```
/storage/emulated/0/DCIM/.thumbnails $ du -h .thumbdata4--1967290299
172K    .thumbdata4--1967290299

/storage/emulated/0/DCIM/.thumbnails $ ls -alh .thumbdata4--1967290299
-rw-rw---- 1 root sdcard_rw 11G 2020-07-30 19:18 .thumbdata4--1967290299

```

So it's actually a small file, and you don't have to worry about it's size.

See the size difference. `ls` shows size to be 11GB while `du` shows it to be only 172KB.
> 3 votes

# Answer
Thumbnail folder is automatically created by android. It helps android to open pictures from gallery in a faster way. Even if you delete the folder, android keeps on recreating it.

Although there is a work around it. You can create a text file and save it with extension .thumbnail. Now replace .thumbnail folder with .thumbnail file.
> 0 votes

# Answer
It should be a comment but It seems I have enough reputation yet.

I have no knowledge how the space is taken, but `echo -en > .thumbnailsX-xxx` (\*Anyone trying this should do it at your own risk. \*) DOES set the size to zero and total free partition space LOOKS increased, while simply deleting files can't.

An educated guess would be these files are located somewhere else in the filesystem tree and linked here but that is just a guess.

I came here looking for a way to locate the the deleted files and empty them, if my guess were true. If not true(say sparse file), I would be grateful if anyone can explain in detail.
> 0 votes

---
Tags: storage, insufficient-memory, files, delete, thumbnails
---


title: No tab preview on Chrome

text:
# Question
Title: No tab preview on Chrome
I have Blu studio 5.0 on Android 4.1. When I open the tab viewer in Chrome, all I get is a list of open tabs and no preview of them. Does anyone know why?

I have this problem on the beta and regular version.

# Answer
> 1 votes
You've (accidentally) enabled **Accessibility Tab Switcher**.

From AndroidPolice,

> Chrome Beta for Android has an experimental "Accessibility Tab Switcher" flag that'll allow you to switch tabs in a compact, pleasing interface, also enabling you to bring back closed tabs with a handy "undo" button.

You can find the setting on `chrome://flags/#enable-accessibility-tab-switcher`

# Answer
> 1 votes
An update to Andrew's answer that worked for me: the accessibility tab switcher is not an experimental feature anymore, you can find it under "Configuration\>Accessibility", as "simplified view for open tabs".

# Answer
> -1 votes
Try going into settings -\> Application Manager -\> Chrome -\> Force Stop -\> Clear data (Warning this will clear your saved passwords so take a note of them!) -\> Clear cache. I hope this works for you it did for me. If this doesn't work try installing another browser such as firefox.

---
Tags: chrome-for-android
---


title: Flash ROM of Samsung Tab A6 (SM-T585)

text:
# Question
Title: Flash ROM of Samsung Tab A6 (SM-T585)
I have Samsung Tab A6 (SM-T585) running Android 8.0 Oreo. It has a Knox application which limits a lot of features on my device. I need to get rid of it, flash a new ROM, and get everything back to normal.

I've already tried to go to "Download mode" by pressing (VOL Down + Power + Home) but it just boots normally (download mode is disabled somehow)

I've also searched for ADB solutions, but no luck yet.

How to flash ROM on Samsung Tab A6?

# Answer
If download mode is disabled flash update.zip from recovery mode
> 0 votes

---
Tags: samsung, rom-flashing, 8.0-oreo
---


# Question
Title: Bootloader wont unlock on Google Pixel 2 (G011A)
I'm trying to root my Google Pixel 2 but I can't get the bootloader unlocked.

The phone is a renewed and unlocked international version, model number G011A.

From the bootloader screen, and connected to the computer, this is the result from the following commands:

```
fastboot flashing unlock

```

> FAILED (remote: 'Flashing Unlock is not allowed') fastboot: error: Command failed

```
fastboot flashing unlock_critical

```

> FAILED (remote: 'unknown command') fastboot: error: Command failed

It is communicating with the device:

```
fastboot devices

```

> {{device serial number}} fastboot

and unlocking the bootloader seems to be enabled on the phone

```
fastboot flashing get_unlock_ability

```

> (bootloader) get\_unlock\_ability: 1
> OKAY \[ 0.000s\]
> Finished. Total Time: 0.000s

I've tried using a Windows 10 laptop and an Ubuntu laptop, both with the same results. I read that USB ports/cables can be problematic, so I've tried all the USB ports on both laptops using two different cables with the same result.

On the phone itself, developer options are enabled, USB debugging is enabled, and OEM unlocking is enabled. Curiously, OEM unlocking becomes grayed out and disabled after enough failed attempts, but I've been fixing this with a factory reset.

The Android version is 11, build RP1A.201005.004A1

What am I missing here? Why wont this bootloader unlock? Thanks!

# Answer
> 2 votes
I just wish I could find someone who figured out a work around. From what I have read Google has intentionally blocked the change of bootloader lock. https://support.google.com/pixelphone/thread/14920605/google-refurbished-pixel-2-is-always-defective-bootloader-unlock?hl=en

---
Tags: rooting, bootloader, bootloader-lock
---


title: Gatekeeper timeout. TWRP vs Lockscreen

text:
# Question
Title: Gatekeeper timeout. TWRP vs Lockscreen
I have a locked phone (forgotten PIN). Currently, it seems, brute forcing PINs is the only option. Due to many incorrect attempts, the gatekeeper timeout or cooldown period is stuck at 480 seconds now.

The question is: ***Does this timeout period apply to TWRP too, i.e., would I have to brute force with 480s as the interval period, OR, is 10s the default for TWRP?***

# Answer
In android 8+ devices that, screen lock authentication and File Based Encryption (FBE) are controlled by hardware-backed secure environment called **Trusted Execution Environment (TEE)**. Google Pixel and high-end Samsung devices have discrete TEE chip onboard. Mid-range Qualcomm Snapdragon and Samsung Exynos devices also come with integrated TEE chip with at least EAL 4+ (Evaluation Assurance Level) certification.

TEE has a component called **Gatekeeper** that handles screen lock authentication which is cryptographically bound to FBE. Gatekeeper enforces authentication timeout regardless of how and who is attempting authentication. TEE consumes 100ms to verify the lock code. After 5th and 10th incorrect authentication attempt, there is a timeout of 30 seconds. Every successive attempt up to the 30th gets the same timeout. Between 30th and 140th attempts, the timeout grows exponentially from 32 seconds to 17 hours 4 minutes. After 140 attempts the timeout for each incorrect attempt is 1 day. A brute force attack against a 4 digit PIN would take around 27 years to complete.

It's still recommended to use 6-8 digit PIN because people keep weak 4 digit PINs. TEE firmware is proprietary although sample implementation of TEE firmware is open-sourced by Google and as a security design Google's implementation of Gatekeeper does enforce exponential timeout. But there can be some devices whose Gatekeeper's implementation is either faulty or unpatched just like there are **Factory Reset Protection** (FRP) bypasses available for some devices until they are patched. FRP is also backed by TEE. You have to test timeout for your device but note that even if you manage to bypass it for your device, it's not a generic method and will not work at all on other devices.

Some OEMs also feature automatic factory reset after certain number of incorrect attempts which is most likely an opt-in feature. If you happen to have this feature enabled, you will lose your data with no possible way to recover it.
> 2 votes

---
Tags: security, twrp, locked-out
---


# Question
Title: Why does my Android 10 phone needs to be called multiple times before rining?
My Nokia 7.2 Android 10 phone has the following strange problem that is 100% reproducible:

1. Sits there doing nothing for 10 or 20 minutes.
2. Receives a phone call but does not ring.
3. Receives another phone call soon without ringing.
4. Receives another phone call soon without ringing.
5. Receives another phone call and rings finally. It will continue to ring if a phone call is received soon.

Again, the above can be reproduced reliably. Could anyone offer a tip on how to fix this?

# Answer
I've had that issue with my older phone (a Samsung) at my home office and my new phone (a Pixel 5a) seems to have the same problem.

I think that in my case it is because the phone is not accepting WiFi calls automatically and I have a bad connection to the cell tower (I'm in a canyon so the antenna is just not properly positioned).

The one way I've found to *fix* this (At least temporarily) is to make a call to my landline and hang up. That will wake up the *call over WiFi* feature and then it works well.

---

As mentioned in a comment under the question, the other reason might be the "Do No Disturb" feature. That was not my issue, though.
> 0 votes

# Answer
**This is caused by the "Do Not Disturb" mode and its "allows repeat callers" feature.**

The "Do Not Disturb" mode can prevent interruptions from all phone calls, though some contacts can be whitelisted, and may also allow repeat callers to interrupt the user.

The setting can be accessed from Settings - Sound & vibration - Do Not Disturb - People - Calls - Allow repeat callers.

> **Allow repeat callers**
>
> If the same person calls a second time within a 15-minute period

To prevent the first (few) call suppression, turn off the Do Not Disturb mode.
> 0 votes

---
Tags: calls
---


# Question
Title: Why do text input methods generally omit an undo function?
I'm reading through my keyboard's resource documentation (I use MessagEase normally), and I see that they state:

> Please note the Android does not provide any **Undo**.

However, I know this isn't actually true — at least, not in any apparent manner — because when using a **physical keyboard** `Ctrl`+`Z` invokes `undo` just fine, and doesn't require any additional/external applications, i.e., works natively via generic PNP (I've used telnet, BT, and RF varieties, all of which work). And yet, mysteriously enough, the function seems to be omitted *intentionally* (disclaimer: I have no evidence to support this conjecture).

In fact, MessagEase has extended input functionalities that include form field controls and ASCII character controls, and yet inputting `Ctrl`+`Z` results in a `notdef` glyph output in the exact same form field.

Why is this the case?

EDIT: Please note that I am referring to connecting a physical keyboard to an Android device, I am *not* comparing PC vs Android UX.

# Answer
> 6 votes
This question can get better answers from developers than the end user community.

Android framework does have a class named `UndoManager` *"for managing and interacting with the global undo state for a document or application. This class supports both undo and redo..."*. And Android's `EditText` view (which extends `TextView`, and is commonly used in apps to get text input from the user) does support ***Undo*** and ***Redo*** operations since Android 6 at least. In fact a ROM developer can show these options in long press context menu for every app, as we see ***Copy***, ***Paste*** and ***Select All***, which are displayed by default. But Undo / Redo always work if the virtual or physical keyboard can send `CTRL-Z` and `CTRL-SHIFT-Z` key events.

I extended `CTRL-` events support in AnySoftKeyboard for non-terminal apps. So anyone can. Why they don't is purely a matter of choice. There's no technical limitation.

---
Tags: keyboard, external-keyboard, input-methods, keyboard-shortcuts, special-chars
---


# Question
Title: How which custom android OS stock rom version (7-12) virtually pre load/check/test have adoptable storage format sd card as internal storage option
question which custom android OS stock rom version (6,7.1,8.1,9.1.10,11,12.1) and how to virtually (VM) pre load pre check test have adoptable storage format sd card as internal storage option

the mobile device i want to load custom rom is lyf water 7 as it have android 5.1.1 lolipop but it dont have option to move app to sd card either its locked ot not suitable or compatible for rom device but same company other models with android 5.1.1 have option to move app to sd card following custom roms is available for the same device i want to know which android version will have format external sd as internalal or move aap to sd option enable for my device

https://www.getdroidtips.com/custom-rom-lyf-water-7/

1. Android 10 Q stable
2. Android 9 Pie.
3. Android 8.1 OREO
4. Android 7.1 Nougat
5. Android 11
6. android 12.1 CyanogenMod

https://forum.xda-developers.com/t/cm\_12-1-stable-ls-5504-\_lyf\_water-7.3595710/

I had shared the link of the modified custom roms not from manufacturer vendor but from xda or 3rd party sites don't know it authentic safe or chances to brick the mobile...how can I pre check pre test the custom rom before installing either it have adoptable storage (formatting micro sd card as internal) through pre loading running testing checking custom rom virtually in som virtual machine (VM) type apps so that phone device don't get hardware or software bricked too.

i want to root and install custom rom on my mobile and want to purchase new android mobile ( samsung m21 m31) i am searching that which android supports formatting external sd card as internal and have option to move apps to sd card or auto install apps to sd card kindly suggest the android OS version compatible for adaptable storage

# Answer
> 1 votes
Generally it's hard to answer because it depends on encryption type and vendor. For example adoptable-storage is not compatible with Android 7.0 - 8.1 with (FBE) file-based encryption. Some devices support adoptable-storage but GUI lacks functionality - intentionally on vendors decision. Some of that limitations can bypassed from cmd line, but you might end up with successfully adopted storage and unmoveable apps

---
Tags: internal-storage, custom-roms, app2sd, adoptable-storage
---


# Question
Title: Modifications of vendor image on Android 10 - alternative idea
Further to my earlier question here and according to the "Mounting Partitions Early" article, I'm looking the correct way to implement my new idea:

1. Skipping the mounting in the startup of vendor in fstab - Its easy to erase the record in fstab related to /vendor partition
2. Doing alternative mount from provided custom vendor image - It's require to know where to inject the mount command

Anyone have an idea ? Thanks,

# Answer
> 0 votes
Just create Magisk module and place your `.ko` kernel modules in

```
/data/adb/modules/my-first-module/system/vendor/lib/modules/example.ko

```

and create script
`/data/adb/modules/my-first-module/service.sh`

```
#!/system/bin/sh
insmod /vendor/lib/modules/example.ko

```

No need to modify `/vendor` partition

---
Tags: fastboot, boot, file-system, mount, kernel
---


title: How to register Smartmi

text:
# Question
Title: How to register Smartmi
Bought an air-purifier which can be monitored/controlled by Smartmi app.

To use this app one have to enter a ***Verification code***.

The app, nor the support page, say anything about what this verification code is, so it is likely one think this has something to do with google verification when searching the web.

Where to get the code?

# Answer
> 1 votes
When filling in the form one enters e-mail address. The app sends a verification code to that e-mail address – without any notice, or submitting the form. Not sure if one *have to* press the *“Apply verification”* button (which is after the input) for the e-mail to be sent, but it does not hurt. It also might work differently if one use a mail-account linked to the phone. (As in apply might auto-fill, but I do not know).

In my case I had to press that “button”/label for it to send a new verification that worked. I also had some lag on the first almost dozen e-mails which made me going down a rabbit hole.

After verification one have to enter WiFi password and also have Bluetooth turned on.

Would have to figure out why it need both WiFi and Bluetooth but that is another matter.

---
Tags: applications, authentication
---


# Question
Title: How does the Android emulator emulate the RAM?
How does the Google Android emulator emulate the RAM?

Does it use the physical RAM of the host or use secondary memory like the hard disk?

# Answer
Android Virtual Devices are emulated using QEMU hypervisor which use physical memory. As any process, the allocated memory pages can be unmapped and swapped to disk or other storage by the host system.

For more information: An overview of memory management in QEMU for Android.
> 13 votes

---
Tags: android-emulator, ram
---


title: Building Pixel 4a kernel

text:
# Question
Title: Building Pixel 4a kernel
I'm trying to build my custom sunfish kernel on pixel 4a, note that the system is unlocked and rooted via "Magisk", After building success (for test I didn't change anything on kernel source) I pulled the boot.img, unpacked it replace the zImage with my new kernel (Image.lz4), packed and pushed it back to the boot partition via fastboot. Finally reboot and the booting process stuck on "Google" logo. Do I missed something ? Thanks,

# Answer
> 0 votes
according to this link you forgot to append dtb. replace Image.lz4-dtb in the zip and flash from TWRP https://forum.xda-developers.com/t/kernel-sunfish-09-apr-holydragon-kernel-10-stable-11-stable.4155283

---
Tags: custom-roms, boot, android-10, kernel, google-pixel-4a
---


# Question
Title: Error with Amazon Fire Tablet 10 factory reset
So I've got an amazon fire tablet 10 and my younger brother was messing around with the settings and set the screen width to 100dpi as a prank and the phone's screen ended up turning black and he couldn't reverse it. I tried my luck with it but failed terribly while trying, I tried to use the fire toolbox to try factory reset it but that didn't seem to work well.

I then tried using the fire toolbox to try load the bootloader (even though I have little knowledge about it) and that option fell flat as well.

I usually use this tablet to test run projects that I found fascinating online but I can't do that anymore with this new-founded dilemma.

If anyone has experience resetting androids of any sort or more specifically amazon fire tablets, your inputs will be very much appreciated.

# Answer
> 0 votes
Screen resolution is stored in userdata, factory reset will fix it. changed settings does not apply to recovery mode, you can enter by pressing Volume Up + Power buttons.

Note: factory reset from recovery will activate (FRP) factory reset protection. google play account is still required to unlock FRP afterwards

---
Tags: factory-reset
---


# Question
Title: How To Send Text Message With BlueTooth Keyboard, Instead Of Starting New Line?
I'm not just talking about sending in Whatsapp. I'm talking about the native texting system for andriod phones. I have a MX Key, and for some odd reason. No matter what I do, I can't get "enter" to "send" a text message. Instead, it just starts a new line.

# Answer
Wow, this is 8 years old, and nothing has changed. Tech companies can be nasty sometimes. So here is the only 2 correct answers (Also thank you David Metcalfe):

https://android.stackexchange.com/questions/61818/how-can-i-use-enter-to-send-from-a-bluetooth-keyboard

1. The application may provide an option to use enter as send, but if it doesn't, then I think you can't do much about this...
2. Press the TAB/right arrow key until the send button of the app is selected. Then hit ENTER. That works for me. Often, the TAB/right arrow key only needs to pressed once or twice before the send key can be activated using ENTER.
> 0 votes

---
Tags: keyboard, bluetooth, sms
---


# Question
Title: easy (command line) way to transfer a folder of photos from Android phone to Linux Debian desktop
I have a RedMi note 7 phone model M1901F7G, running Android 9PKQ1.180904.001; I don't want to root my new phone (it is a gift from my wife, and I don't want risking bricking it).

I am an expert Linux user (since 1993) and developer (e.g. of bismon), preferring command line things.

The album on the phone contains a `captchas` subdirectory.

The phone is USB plugged to my Debian/Sid AMD2970WX desktop (I have `sudo` access to it). Kernel 5.3. X399 chipset. MSI X399 GAMING PRO CARBON motherboard.

What is the detailed and quickest procedure to transfer the more than hundred JPEG files from the `captchas/` subdirectory on the phone to the `$HOME/Pictures/` subdirectory on the Debian desktop? I will do that occasionally (once a week perhaps), from home, using USB3 cable. But I want to avoid 500 clicks on phone or desktop.

I am able to transfer each individual photos (in about 5 clicks). I want to transfer a hundred of them.

I don't exactly understand the "USB debug mode". Please name free (as in beer) Android applications related that, or finger actions to enable it. I believe it is in the settings menu.

Of course I do like starting `gmtp` on Debian. I don't want an alternative to MTP. I just need to learn how to use it (and likewise for `adb`).

Bear in mind that I am not familiar with Android in practice, and that my sight is not very good (since I am 60 years old - had cataract surgery), and that I am not a native English speaker. But Unix commands, I could teach them even with moderate fever (since my first Unix was SunOS3.2 on Sun3/160 workstation at work around 1987, and I was given `root` and physical access to it). First Linux was Slackware, 0.99.12 kernel, around 1993 (on dozens of floppy disks, i486 motherboard). Getting X11 running at that time required kernel recompilation for the graphics card.

Take into account that (perhaps by mistake) I configured my phone in French. I cannot identify an `Settings` -\> `USB debug` or `Settings` -\> `Developper Debug` thing. Maybe I should by some app, but which one?

# Answer
> 1 votes
To pull a folder from the sd card, you can use adb tools using following commands in terminal:

```
cd $HOME/Pictures/
adb pull /sdcard/captchas/

```

It will pull all the files from `/sdcard/captchas/` to your Pictures directory.

# Answer
> 1 votes
I don't know your model of phone but for the new phone of my wife ( Samsung A70 ), the connexion was not possible any more through USB 2 and i find a new link with USB type C

----\>https://www.samsung.com/fr/mobile-accessories/micro-usb-connector-gn930/

I just mount/open the DCMI folder to find all the pictures.....

Hope this help ;O\>)

# Answer
> 0 votes
On my new Pixel 5a phone, the USB connection didn't work. So I looked for an FTP client (since my Linux box has an FTP server).

I made sure to forcibly assign an IP address to my phone so I could open the FTP port just for that one device.

I settle on using PowerFTP, but I don't have any recommendation (I did not test anything else, this one works, it's a bit like FileZilla, so easy enough).

The USB method was better (which worked on my old phone), but on my new phone, it's asking for some things that are not going to happen, so instead I use the FTP client.

I think Google prioritize their Google Drive. Maybe in an attempt to get you to go over your limit on start paying a monthly fee. On my end, I don't leave much on my Google Drive at all. Plus, the whole interface is killing me. The FTP is much more straight forward and I don't need the extra step of uploading to the Internet to download back to a local computer (what kind of madness is that?!) especially for large video files...

---
Tags: linux, redmi
---


title: Exporting contacts via adb

text:
# Question
Title: Exporting contacts via adb
I have a phone whose screen broke, but I'd like to export its contacts to `.vcf` so I can import them to another phone. I usually do this with the built-in import/export function in the Contacts app overflow menu, but without a screen it is inaccessible. Is it possible to do this via adb?

# Answer
> 6 votes
The contacts database can be queried using the ADB shell:

```
adb shell content query --uri content://com.android.contacts/data

```

The command will dump all the content of the database only if the `shell` have the permission `READ_CONTACTS`, else it will fail.

# Answer
> 0 votes
Yes and no. If your screen is working, you can use an OTG cable or a MicroUSB to USB adapter and plug a mouse into your phone. Works like a dream. If you have no visual display that is another matter.

1. You must have already enabled USB debugging.
2. You must have already connected the phone to your computer and verified it.
3. You must have already rooted your phone to access the contacts file.

*It's extremely difficult*

If you have done the above then you send the `adb pull` request to the correct location, and with that received file you will have to do a couple of things.

1. Find out the correct format for your phone's contacts DB.
2. Figure out the correct conversation script to convert to the new phone's DB format.
3. Send the converted file to the new phone.

---

**Easiest Solution**

Just make sure your contacts are backed up and linked to your Gmail email.

---
Tags: adb, contacts, broken-screen, data-transfer
---


# Question
Title: how can I randomize my MAC address every time my WiFi is turned on?
Given the increased prevalence of systems which track people's movements by their Mac addresses I'd like to obscure mine.

I have a rooted galaxy note 2 with busybox installed. I can change my MAC address like so:

```
busybox ifconfig wlan0 hw ether 11:22:33:44:55:66

```

however, if I disable and re-enable my wireless, or I reboot my phone, it gets forgotten. is there somewhere I can put a script so it will be run every time my wireless turns on?

# Answer
> 6 votes
How about Chainfire's tool Pry-Fi which was announced over at XDA?
It works great and it is available via the official Google play-store at:

Here’s a screenshot showing the tool in action…

# Answer
> 3 votes
You could do that using e.g. Tasker, the mighty automation tool:

* **Condition:** *Monitor Start* (i.e., Tasker was started; alternatively: *Device Boot*, i.e. boot process finished)
* **Task:** *Run Shell*, with your command as parameter

If you like it more fancy, you could even use *Variable Randomize* to generate a different MAC each time...

# Answer
> 2 votes
In addition to the other answer with Tasker ("You could do that using e.g. Tasker, the mighty automation tool:"), here a little Task (description export) with randomizing the MAC:

```
TestMacChanger (130)
    A1: Variable Set [ Name:%count To:0 Do Maths:On Append:Off ]
    <randomstart>
    A2: Variable Randomize [ Name:%random Min:0 Max:15 ]
    A3: Variable Convert [ Name:%random Function:Decimal to Hex Store Result In:%rhex ]
    A4: Test Variable [ Type:Length Data:%rhex Store Result In:%len ]
    A5: Variable Set [ Name:%rhex To:0%rhex Do Maths:Off Append:Off ] If [ %len eq 1 ]
    A6: Variable Convert [ Name:%rhex Function:To Upper Case Store Result In: ]
    A7: Variable Set [ Name:%mac To:%mac:%rhex Do Maths:Off Append:Off ] If [ %mac Set ]
    A8: Variable Set [ Name:%mac To:%rhex Do Maths:Off Append:Off ] If [ %mac !Set ]
    A9: Variable Add [ Name:%count Value:1 Wrap Around:0 ]
    <randomend>
    A10: Goto [ Type:Action Label Number:1 Label:randomstart ] If [ %count < 6 ]
    A11: Variable Set [ Name:%mac To:00:11:22:33:44:55 Do Maths:Off Append:Off ] If [ %mac !Set ]
    A12: Flash [ Text:%mac Long:On ]
    A13: Run Shell [ Command:su
busybox ifconfig wlan0 hw ether %mac Timeout (Seconds):0 Use Root:On Store Output In:%output Store Errors In:%error Store Result In: Continue Task After Error:On ]
    A14: Flash [ Text:%error Long:Off ] If [ %error Set ]

```

This is doing a loop for 6 random hex values to get a random mac as e.g. 01:4F:89:BA:3F:0C Then it is setting this random mac as own mac.

I can see the new mac with this command:

```
busybox iplink show wlan0

```

After a reboot the old mac is reset.

# Answer
> 1 votes
Use Chainfire's app called Pry-Wifi which does exactly that.

# Answer
> 1 votes
As things move forward, I've got a new phone (a Pixel 5a), which has such a built in option, but that's for Developers.

First I had to enable the developer feature (see here for original):

* Open Settings » About Phone
* Click on Build Number 7 times

Next, I went to the Developer feature (you can use the search feature if you have a slightly different phone):

* Open Settings » System » Advanced » Developer options
* Scroll down to "Wi-Fi-enhanced MAC randomization" and Enable

As you probably know, the default is to generate a random MAC address once per *network*, address that gets saved once and for all unless you change the above flag. So with the default, if you use different WiFi networks, it at least will use a different MAC for each connection point.

# Answer
> -2 votes
I feel like this could be done with a bash script or editing the init file to include the command you have here.

---
Tags: wi-fi, privacy, scripts
---


# Question
Title: Info on and removal of COVID contact tracing in Google Play Services
Has anybody had a closer look into this module what it really does? I want to know if the functionality will work if bluetooth is turned off. I guess a surefire method to test this would be to remove the SIM, disable all antennas and measure EM radiation (though I'm not sure if there's still cell tower communication with the SIM removed).

Even if the answer above is no: I don't want this software on my Phone.

* Is it possible to modify Google Play Services (GPS), remove contact tracing, and use GPS as usual after? This seems the best option but an update might then again overwrite it.
* Root and remove GPS. I have a OnePlus 7. Will everything keep working well except the Google apps of course?
* LineageOS maybe but I like OxygenOS a lot..
* Other options?

Much would be cleared up if we can see the code. Is this possible?

# Answer
> 4 votes
The Covid contact tracing in Google Play Services is an API. And according to he documentation this API is working opt-in. By default your device will not track anything. Also note that "contact" in this context means "a cryptographically random token generated by a different device that was within Bluetooth range at a certain time". No contact data like name is transmitted.

For "activating" this interface you need at least one of the Google certified Covid 19 tracing apps (there can be only one app per country and only public health agency is allowed to publish one).

And in such an app Google enforces that the user has a switch for enabling and disabling the tracking system.

~~However if you still not trust Play Services with integrated Covid tracking API you should switch to a Custom ROM + OpenGApps. Every device I have tested that uses this combination does not provide the COVID contact tracing API, even if the very latest version of Google Play Services is installed. Hence it seems like the tracing API is generally disabled for Custom ROMS using OpenGApps.~~ It is still unclear why on some devices with CustomROM and OpenGApps the COVID tracking API is available and on other devices this option does not show up even with latest OpenGApps installed.

You can verify on your own if your PlayService support Covid 19 tracking:

Open **Settings** -\> **Google** If the first entry in the services list shows you something about "Notifications on encountered Covid 19 infections" than the API is ready to use. If not then every Covid tracking app that wants to use this API will not work (the app will just show the error code 39501).

# Answer
> 3 votes
Google Play Services v20.15.15 seems to be the last version before covid tracing was added. Stock phone FW versions released before April 2020 should all have a lower version of Google Play Services - don't update past 20.15.15

# Answer
> 1 votes
Contact tracing is not the only way a user can be tracked and mass-scale user tracking has been in motion for a long time. Some examples:

One mitigating measure against Google Play Services' tracking is to root your device and use app like cn.wq.disableservice. With this you can have control over GMS and block single actions, like prevent GMS from updating itself. It's painful to understand all the things but it should be technically possible to block data transfers.

This however would not be sufficient. You are already being profile/tracked when you are using:

* proprietary software or services (such as Android OS as shipped by an OEM);
* various services such as cloud syncing of personal/private data;
* real-time text to speech translation -- your audio could be getting saved onto the cloud. You can see some of that data collected by Google here;
* maps with real-time live traffic data.

Some services/software, such as Google Play Store, even force this tracking by requiring the user to sign in to use the product. Furthermore, a staggering number of Android apps use some sort of analytics such as Firebase.

# Answer
> 1 votes
Google Play Services introduced user-tracking capabilities in my Android device without my knowledge or consent. I consider this software a user-tracking software (read Google's Software is Malware from Free Software Foundation) which also offers services to third-party app developers to spy on their users. This sordid state of affairs led me to the following solution which disables Google Play Services software, other preinstalled softwares from Google, and their user-spying capabilities.

**Instructions in brief that you need to execute:**

1. Transfer all your phones contacts into the phone's SIM card.
2. Download the APK for alternative browser to Chrome to external sdcard.
3. Move all the files you want to keep from phone's internal card to the external card.
4. Factory reset your phone.
5. Wait for Factory reset.
6. Skip past Google credentials prompt.
7. Switch off app permissions.
8. Delete Google apps like YouTube and Chrome.
9. Disable and close Google Play Services, and mute error messages about its absence.
10. Install browser APK from sdcard.
11. Browse to an independent app store and download replacement apps.

## Details

1. Transfer all your phone's contacts into the phone's SIM card. Your phone is about to be wiped and your connection with Google is about to terminate. (There are working alternatives to everything Google offers, so you'll hardly notice it gone once you've did all this.)
2. Go to the website of Mozilla or Opera or whatever browser you like. Download the APK of the latest browser from their website. You're not going to install this APK yet. You are going to save this to your SDCARD and install it later. You will need this file and it's the only file you will need.

If you are unable to find the APK on the website you can consider a third-party app store such as APKPURE which is like Google Play Store, except that it's not from Google. See if you can find a decent browser APK as an alternative to Chrome (in my opinion, Google Chrome also tracks your location and reports your movements and contacts to unknown parties).
3. Go through your whole phone and copy across any files on the phone's internal card to the external sdcard. This can be a time consuming process depending upon how much data is stored in your phone. All the data from the phone's internal memory is about to be wiped in later instructions, so make sure you **copy everything important beforehand.**
4. Reset your phone. (Reset only the Internal memory if an option is available to you.) To do this you can go to Settings → System → Reset options, or you can just switch off the phone and switch it back on again whilst holding the Volume Up button.
5. Wait for Factory reset to complete and for your phone to boot to the device/phone setup screen.
6. Now that you've reached the First screen, please type in your Google credentials.

7. Swipe down from the Status bar and click the cog icon to open Settings. Go to Apps and Notifcations, then from there App permissions. Go through all of them and switch all of them to off state right away.
8. Go back to Apps and Notifications setting. If you see any app from Google just disable it, then force stop the app which is already running in the back ground. Get rid of everything preinstalled by Google before you even start using your new fresh phone, especially the Google Play Services which is essential for disabling **removing COVID-19 notification API**.

**Do note that** disabling Google Play Services (upon which insanely high number of third-party apps in Play Store depend upon) means you are going to get some error messages from third-party apps to show up. You can mute such messages because even though they mention that they need Google Play Services to function they actually don't in reality. The benefit to the user is that user-tracking services offered by Google Play Services to third-party apps installed in your phone would no longer be available to such installed apps anymore.

Speaking redundantly here, there would a few error messages that will appear immediately and may pop up occasionally over the course of the month until you have used all the apps you usually do in the course of a month, and until you have caught and dealt with all the error messages as they come up. This will include your phone's dialer app, text messages app, camera app, and basic functional apps. They will all work without Google Play Services

9. With caveat mentioned in step 8. in mind, go on, disable Google Play Services and force stop it, just like you did that with Chrome, YouTube, Photos, Drive, Gmail, etc. (You will still be able to access Drive and Gmail via your non-Chrome browser whose APK you downloaded earlier.)

Now deal with the error messages. If you click on the error message itself, it raises up the Google Play Services app, expecting you to click Enable. That's not what you want to do. Each error message starts off with the name of the app that generated the error message. Go to Settings → Apps\*not. → the actual app that generated the error messages, then click on Notifications. In there find a setting mentioning "Google Play Services notifications" or something to that effect. Switch off these notifications. If this notification toggle isn't there then there's the option of switching off the apps notifications generally.

There will be three or four of these errors to work through right off the bat. Other error messages might pop up later in the day as you use an app for the first time on your freshly factory reset device. Just disable the notification on the app itself. It's unlikely you'll see any error messages after the first hour. Maybe in the first 24 hours you'll have dealt with all of them. Maybe one will pop up in a week, maybe a week. You will find your phone and its apps (non Google) still functions perfectly without Google Play Services, and that the error messages are more like a mutable warning rather than some fatal crash.
10. Go to Files. Go to your external sdcard and find the APK file you downloaded earlier. Click on it and you'll be asked about installing from other sources. Files is not Google Play Store so, yes, you want to install from other sources - your sdcard will be the primary means of installing software. Click through everything that needs to be clicked to get the browser installed. Now that that's done, you cant start looking for an alternative to Google Play Store.
11. I use APKPure app store myself but there are a variety of websites which cater toward getting the APK of an app rather than installing from the fancy mechanisms as offered by the likes of Samsung or a Huawei app store. I think some of these stores-by-manufacturer might provide you with an APK store independent of the fact you don't have one of their phones. If you can download the APK from it, then it will work in Android. The one thing you need to suss out is whether your phone is 32 or 64 bit and whether is ARM or x86. If it's x86, sod this whole post and just install a touch screen version of Linux. It's easy and your options are as open as a desktop PC. With ARM there are a few versions of Linux you can install but it's beyond the scope of this text to install it. Have a search for "UserLAnd" (sic) if you want a better version of Linux on your phone than Android but it can get quite technical at the moment.

Most phones are ARM32, but try downloading APKX files. If they work on your phone, then that means you have an ARM64 chip in your phone.

You probably want APKs to use email. Search email apps in your choice of app store. In the app, you can fill out your Gmail address on the create account screen and most email clients will fill out the server details automatically. There's a Google help page about setting up your email client manually with correct SMTP, POP3, IMAP, etc., kind of stuff if the email app you chose doesn't do it for you. I used AqualMail which doesn't rely on Google Play to function. As an alternative to an app, you can use Gmail, Hotmail, Outlook, Yahoo, etc., directly through your browser.

That's the end of the tutorial.

---
Tags: google-play-store, updates, privacy, google-play-services
---


title: How can I enable last_kmsg?

text:
# Question
Title: How can I enable last_kmsg?
I'm trying to diagnose a random reboot on LineageOS 14. `last_kmsg` is not in `/proc`, nor it is in `/sys/fs/pstore/console-ramoops`.

**EDIT:**

```
~# mount | grep PSTORE
~# mkdir /mnt/pstore && mount pstore -t pstore /mnt/pstore && ls /mnt/pstore
mount: 'pstore'->'/mnt/pstore': No such device

```

# Answer
Back in 2012, `/proc/last_kmsg` () used to be a dump of kernel console messages, exported after reboots by Android's `ram_console` functionality (CONFIG\_ANDROID\_RAM\_CONSOLE), which used `persistent_ram` (CONFIG\_ANDROID\_PERSISTENT\_RAM) to handle a block of RAM that wasn't erased across reboots ().

`persistent_ram` was based on Linux upstream RAMOOPS code which logged **panic and oops** messages to RAM. RAMOOPS was deprecated in favor of PSTORE () (memory handling) and PSTORE\_RAM () (logging panics/oops to `pstore/dmesg-ramoops`). Later PSTORE\_CONSOLE support was added (, ) to log not only the panics/oops, but all kernel console messages to `pstore/console-ramoops-N` which can be read later by mounting `pstore` (). So the Android specific RAM\_CONSOLE (, ) and PERSISTENT\_RAM (10) were utterly removed.

Now `pstore` also offers logging userspace messages (PSTORE\_PMSG) (11) and other features (12). Plus it supports multiple backends for persistent storage if supported by hardware, though SoC's on Android devices only support RAM storage (`ramoops` driver, AFAIK).

So it's not possible to enable `last_kmsg` on an upstream kernel, instead `pstore` offers a more versatile functionality.

> mount: 'pstore'-\>'/mnt/pstore': No such device

It shows that your kernel isn't built with `pstore` support. All you need to do is use a kernel built with `CONFIG_PSTORE_CONSOLE` and optionally `CONFIG_PSTORE_RAM` (though buggy). Android's `init` by-default mounts `pstore` at `/sys/fs/pstore` (13) from where `dmesg-ramoops` (on panics/oops only) and `console-ramoops` can be read.

You can search forums for a custom ROM shipped with such kernel. Or if you have kernel source, you can build yourself on a Linux machine.

**NOTE:** Some new devices, like Samsung, still expose `/proc/last_kmsg` interface; I'm not sure whether they use original implementation or `pstore` at back end.

---

**FURTHER READING:** Reading kernel logs
> 12 votes

# Answer
I did eventually manage to set up some kind of chron job which wrote the log to a file every few seconds. I can't remember how sorry - it was more than two years ago.

The log didn't give me an answer, which I found puzzling. I wondered if the log was not being copied quick enough before the shutdown.

That might be an issue for some people, but I soon discovered the problem was very simple - the battery was faulty. This model (s5) has a removable battery, so I swapped it and the problem was gone. Do the simple things first.
> 0 votes

---
Tags: file-system, lineageos, kernel, logging, diagnostics
---


# Question
Title: Prefer 5GHz over 2.4Ghz without disabling 2.4Ghz
I have a DualBand WiFi router, and a DualBand WiFi repeater. Both use the same SSID, both have 2.4GHz and 5GHz bands enabled. But my Android devices mostly connect the 2.4GHz band – even if I stand next to the router or repeater, and thus the 5GHz signal is quite strong.

I want them to prefer the 5GHz band if available (and strong enough), but use the 2.4GHz otherwise.

* using different SSIDs for each band is not an option
* fixing the device to 5GHz is out of question, as then they'd never use 2.4GHz even it its the only one available. Furthermore, not all devices have that option (usually found in *Settings › WiFi › (tap the 3-dot overflow menu) › Advanced* if available).

Router as well as repeater have "band steering" enabled, so it doesn't look like there's something to force it from that end¹.

So is there anything that could be done on the Android devices? Most of them are rooted (and the one that's not is using 5GHz most of the time), Xposed is available as well if it helps. Modifying `wpa_supplicant` is acceptable though not the preferred way, as is using a 3rd party app².

So any suggestions?

---

¹ in case it's relevant: Fritz!Box 7390 and a Fritz repeater 1160
² which then preferably comes via F-Droid. Apps with Google dependencies (Firebase, Analytics, License check etc.) are not acceptable.

# Answer
You can take advantage of the experimental "prefer 5 GHz" feature from WiFi band – or Smart WiFi Selector, which offers that as well:

*WiFi Band* / *Smart WiFi Selector* (source: Google Play; click images for larger variants)

Unfortunately, *WiFi Band* comes with AdMob and Firebase, thus not fully meeting the requirements.

---

Disclaimer ahead!

I haven't really tested all these applications, so I'm not sure if they fall into the acceptable criteria (firebase, google dependencies etc) besides my device comes with this feature already:

*Acknowledgements: How to change from 5GHZ to 2.5GHZ frequency on Android N*

---

In terms of potential 3rd party apps, the closest I have come across is WIFi 5, which is dated , but offers such functionality. It specifies the signal level to switch to a 5Ghz access point and displays a notification showing the available bands.

*WiFi 5* was last update 2012, unlisted from Playstore in 12/2017, and thus is only available via ApkPure currently. Not sure whether to trust that site.
> 2 votes

# Answer
Increase beacon interval (at least double it) in your router settings for 2.4 GHz network and all your dual band devices will discover and, as a result, connect to 5 GHz network. 'Beacon interval' defines how often (in milliseconds) the beacon is broadcast by the router and used by clients to discover access points. It will have no negative impact on speed or stability, it only makes your 2.4 GHz access point discovered later than 5 GHz.
> 5 votes

---
Tags: wi-fi, settings
---


# Question
Title: I'm getting about 40Mbps transfer rater over WiFi (from phone to Linux). Is it that slow because of the SDCard on the phone?
I have a WiFi connection which, in the settings, says:

> Transmit link speed
> 866Mbps
>
> Receive link speed
> 780Mbps

I've installed PowerFTP on my phone and transferred a large video file (about 40 min.) from my Android (Pixel 5a) phone to my Linux computer. My network is a 1Gbps all around (switch, NICs, WiFi router) except for the WiFi transmission itself (obviously).

The transfer rate shown by PowerFTP is around 5Mb/s (or ~40Mbps).

Why is that transfer rate so low? Is there something else limiting the speed along the way?

---

Update:

My Network looks more or less like this:

```
+-------+        +-------------+        +--------+        +------+
|       |        |             |        |        |        |      |
| Phone |<::::::>| WiFi Router |<------>| Switch |<------>|  PC  |
|       |  WiFi  |             |  LAN   |        |  LAN   |      |
+-------+        +-------------+        +--------+        +------+
~700mbps         ~700Mbps  1Gbps          1Gbps            1Gbps

```

The LAN has a switch and that connection is local (as in 192.168.x.x).

There are other devices on the WiFi (3 phones, a laptop--which was off when I tested the above).

Of course, I can see some WiFi devices from my neighbors... so I understand there can be interference there.

# Answer
> 1 votes
that's limitation from PowerFTP. before buying ask support if pro version will increase speed (not sure about this)

---
Tags: wi-fi, file-transfer
---


# Question
Title: Is there any downside in indicating a wifi network as "unmetered"? (assume the wifi has no bandwidth restrictions or max data limit)
I use a wifi network that has no bandwidth restrictions or max data limit with I use the latest Venmo app on Android 10 with Samsung Galaxy S9. Android detected the wifi network as metered. Is there any downside if I indicate this wifi network as "unmetered" instead?

---

Android detected (mirror) the wifi network as metered:

# Answer
No, there isn't any downside and you should set it to unmetered. You certainly wouldn't like OTA updates or large downloads to be throttled or stopped by setting it as metered.

When to use **metered** Wi-Fi

> If your network has a data limit, you can set your Wi-Fi as metered. When your network is metered, you have more control over how much data your phone uses through downloads and other apps.
> 2 votes

---
Tags: wi-fi, android-11
---


# Question
Title: Can you restart the launcher apart from restarting the phone?
On my Galaxy S Android 2.2 , I just got the '*Activiate Starter took too long to respond . Force close ?*', which I did.

Now the home screen is black. **:)**

So I killed the starter program, so it seems. I should have looked at the message closer.

**Apart from turning off and restarting the phone, is it possible to restart the main program on a phone ?**

# Answer
> 3 votes
10 years later...

The first step is to find the name of your current launcher a.k.a. "Home app". Unless you switched away from the one provided by default, you probably don't know that. The default launcher can be different on every phone. Finding its name also depends on your Android version. Fortunately, there are plenty pages on the Internet explaining that for every Android version so I won't copy/paste them all here. With a recent Android 11, go to Settings -\> Apps -\> Advanced -\> Default Apps -\> Home App.

Once you found the precious name, go back to Apps and scroll down until you find it. Tap on it then "Force Stop", done!

If you still can't find your launcher in the list of Apps then click on the three dots and try "Show system (apps)"

# Answer
> 1 votes
You could probably start the application with the abd shell

in the shell type

```
am start [DETAILS]

```

the usage is

```
usage: am [start|broadcast|instrument]
       am start -D INTENT
       am broadcast INTENT
       am instrument [-r] [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>]
                [-w] <COMPONENT>

       INTENT is described with:
                [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
                [-c <CATEGORY> [-c <CATEGORY>] ...]
                [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
                [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
                [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
                [-n <COMPONENT>] [-f <FLAGS>] [<URI>]

```

Some examples can be seen on this page.

It would require you to know a few details about the launcher in question though. It may be worth reading this thread about am usage from the android-framework google group.

# Answer
> 1 votes
Pressing the home key on my Dell Streak prompts me to choose a launcher program if there isn't currently one running after it's crashed or re-installed.

# Answer
> 0 votes
Note that some Home launchers may have the option built into the user space for convenience. For example, I use Nova Launcher myself, and under the settings you can find this option:

---
Tags: 2.2-froyo, samsung-galaxy-s, reboot
---


# Question
Title: Keep WiFi running when screen is off and phone is locked (streaming with black screen, battery saving, newpipe, podcasts)
How do I keep my WiFi running when my phone's screen is off and locked?

Facts:

1. The biggest battery drain is my screen usage
2. WiFi uses your battery, but not nearly as badly as the screen
3. I use my phone to stream audio
4. I intentionally turn off my phone's screen to save my phone's battery
5. If I'm playing a local file that I previously downloaded, then I have no issues with the audio stopping when my screen is off.
6. If I'm streaming audio, then sometime after I turn off my phone's screen, the audio streaming stops (I guess after it locks and the the stream buffer is empty)
7. Immediately after I wake my screen, the audio stream resumes. Unlocking the phone is not necessary to resume the audio stream.

I assume, therefore, that my phone is disabling my WiFi sometime after my handset's screen is turned off.

I am running LineageOS 18 (Android 11).

How do I prevent my android device from disabling my WiFi when the screen is off?

# Answer
I know of no way to disable doze as the admin of the OS (Android) itself

(but please comment on this if there's some way to do it with Xposed or similar)

## From the app (developer) itself

The Google documentation on `MediaPlayer` specifically tell developers to use `WifiLock` to prevent wifi from being disabled if the app streams media

> If you are streaming media over the network and you are using Wi-Fi, you probably want to hold a WifiLock as well, which you must acquire and release manually.

source: https://developer.android.com/guide/topics/media/mediaplayer

The Google documentation on `WifiLock` can be found here:

## Battery Optimization

You can disalbe "Battery Optimization" on a per-app basis by going to your Android Settings -\> `Apps & notifications` -\> `Special app access` -\> `Battery optimization`.

From the drop-down at the top, choose `All apps`

Scroll-down to the app that you're having issues with. Click it, and choose `Don't optimize`

## Intermediary (eg network stack) apps

In my case I found that the issue was actually not the app itself, but an intermediary network app that wasn't doing the `WifiLock`. In my case it was the OpenVPN for Android app.

The solution was to open `OpenVPN for Android`, go to `Settings` and uncheck `Pause VPN connection after screen off`

Now my audio stream doesn't cut-off shortly after the screen locks.
> 1 votes

# Answer
To accomplish what you want, you can install the app Fake Standby. It is a free open-source application.

Fake Standby will turn off your screen while keeping apps running. This will allow you to listen to audio (podcasts, for example) without draining your battery so much.

I've used it many times, and it has worked well for me.
> 1 votes

# Answer
Head away to the battery section in Lineage OS settings and disable power manager.

If that doesn't work, something is wrong either with your vendor or the kernel.

*Also keep in mind that while asking device specific questions, it's highly recommended to include basic information such as your device model, vendor info (ie using stock vendor or not etc), state of boot image etc. If not everything, atleast provide the device model*
> 0 votes

---
Tags: wi-fi, streaming, standby, doze-mode, battery-saver
---


title: Manually create A/B partitions

text:
# Question
Title: Manually create A/B partitions
I have a Xiaomi Mi 6X which is the Chinese version of A2. There is a way to convert it into A2, but OTA updates won't work because 6X has only A partition. I'm not sure, but I've read, it is possible to create/delete partitions on an Android device.

So I want to create A/B partitions manually, but I have no idea how it looks like.

# Answer
Android uses GUID Partition Table (GPT) as its partitioning system which is possible to modify using tools like `parted` and `gdisk`. But there are a few constraints I can think of, other than the OTA problem you have already mentioned:

* Android devices with A/B partition scheme have many partitions in (`_a`/`_b`) pairs including `system`, `vendor`, `aboot`, `sbl` and `modem`. New partitions require space which obviously isn't available on flash memory (eMMC) and needs to be freed from your `userdata` partition. So you will get short on your `/sdcard` space.
* Since all the partitions to be created aren't adjacent to `userdata` partition (which is usually the last one), you may need to delete and create dozens of partitions. Exact details depend on the order of partitions in your partition table. So there are bright chances of bricking your device. :)
* Application bootloader (aboot) on A/B devices is different than on non-A/B devices. On A/B devices, there are two `boot` partitions and no `recovery` partition. So the process of making choice from where to boot the device is different than on non-A/B devices.
* Also the other functionality of `aboot` that depends on partition names such as `fastboot update` will also break. And since bootloaders are closed source, you can't modify it to be compatible with your new partition table (unless you are lucky as well as an expert at `hexedit`ing binaries).

So it seems practically impossible to convert a non-A/B device to A/B device.
> 5 votes

# Answer
Xiaomi A2 has the same hardware as Mi 6X and actually, Mi 6X is the Chinese version of A2. Why not fully flashing Mi 6X with A2 ROM, including GPT structures from the firmware? The problem will be fastboot itself, as you can't write on GPT there or change the name of the partitions as it brokes the existing fastboot in the current ABL (Android BootLoader), but it should work if ABL itself is changed to the one in A2.

You will need to use EDL mode to fully write A2 ROM on Mi 6X with A2's partition table, or at least write both GPT structure and ABL.elf with other bootloader partitions like XBL.elf and then use fastboot (which will be flashed from A2 so it must recognize and respond to the name of the partitions from A2) to flash the remaining partitions.

This should be possible only if both devices are typically the same in hardware and SoC firmware and there isn't Secure Boot eFuse provided by Qualcomm in the Mi 6X SoC, as this will prevent a modified or different ABL (Android BootLoader) from being loaded in the first place (even if the bootloader is unlocked) which will bring you again to EDL mode with boot error. So first, check if you have secure boot enabled or not by something like `fastboot oem SecureBoot GetFuseStatus` if your device supports this command, or by directly flashing different A2 ROM with its GPT structures and see what will happen.

You should also know that what you do is risky and you have a pretty high chance of bricking your phone, so do it at your own risk.
> 2 votes

# Answer
The a/b partitioning scheme doesn't eat into internal storage—on a Google pixel 1, the a/b scheme takes only 320MiB more than the a-only scheme. Source:Android Developers https://source.android.com/devices/tech/ota/ab/ab\_faqs
> 0 votes

---
Tags: partitions, device-firmware, ab-partition, mi-a2
---


# Question
Title: What is the easiest way to share photos in their original format?
My family in law has some wonderful pictures on their android phones. I'd like to use these in a printed photo album. Currently I only have the pictures at Whatsapp quality.

What would be the easiest way to exchange the original picture files?

# Answer
> 2 votes
This question could have many solutions. I personally prefer cloud services for a bunch of reasons (based on personal experience) :

* Easy sharing, all you need to do is just share a link to the folder to where the photos are stored.
* Content upload /download can be tuned with configurable permission rights. This is useful to prevent accidental deletions.
* No loss in quality - original quality can be retained.
* Depending upon your privacy concerns, you can go with suitable cloud services or even host your own cloud.
* Some cloud services even offer cloud to cloud backup, so one need not be tied to the same cloud service. This also doubles up as cloud backup.
* Easy download to PC where pictures can be edited, sorted, categorised published.
* No need to download the entire library just to view. One can view them in cloud itself but the experience may be constrained (options to view such as slide shows may not be available - I haven't researched this).
* Offers client services on Android, Windows and other operating systems besides web based services that can be accessed through any web browser.
* Arguably cost effective.

These are some reasons that come immediately to my mind, since I am heavily invested in similar activities, only difference being instead of photos, it is audio talks. I am no way related but the cloud service that meets our group needs best is Pcloud

---
Tags: google-photos, share-menu
---


# Question
Title: Make a phone call in one SIM and simultaneously browse with the other
I have a Samsung Galaxy S10e SM-G970F that I'd like to use for phone calls and simultaneously as an hotspot (WiFi tethering) to browse from my laptop.

The phone has 2 sim cards.

I'm unable to make a phone call in one sim and simultaneously browse with the other.

As soon as a phone call begins in SIM1, the data connection drops in SIM2.

I tried many different combinations settings of:

* VoLTE calls SIM 1/2
* Allow all SIMs to use data in calls
* Dual SIM always on

I also tried switching "Calls" and "Mobile data" between the 2 SIMs.

So far no luck. Please, do you have any tips to achieve what I need?

# Answer
> 3 votes
GSM Arena says your phone has SIMs in DSDS mode

To achieve what you want you need a phone with SIMs in DSDA mode

See What is the difference between dual sim active and dual sim stand-by?

So, sorry, you won't be able to achieve what you want with your phone.

---

For reference:

> **Dual SIM Dual Standby (DSDS)**: both SIMs can be used for idle-mode network connection, but when a radio connection is active the second connection is disabled. As in the passive case, the SIMs in a DSDS device share a single transceiver. Through time multiplexing two radio connections are maintained in idle mode. When in-call on one network it is no longer possible to maintain radio connection to the second network, hence that connection is unavailable for the duration of the call. Registration to the second network is maintained

> **Dual SIM Dual Active (DSDA)**: both SIMs can be used in both idle and connected modes. Each SIM has a dedicated transceiver, meaning that there are no interdependencies on idle or connected mode operation at the modem level. Note that in some DSDA devices the second transceiver may be 2G-only.

---
Tags: calls, data-connection, wifi-tethering, dual-sim
---


title: How to mute ads?

text:
# Question
Title: How to mute ads?
Even when the phone is on silent mode, some apps show audible video ads.

How can I mute such ads?

# Answer
> 3 votes
Video ads use Android media stream to play sound

Muting the phone media mutes ads as well

# Answer
> 0 votes
Get "Sound Assistant" or other apps that can manage sound settings "per app" (as it's for Samsung and I'm not sure it will be compatible with other brands).

Find Google Play Movies or whatever it's named in your language. Mute this app.

---
Tags: audio, video, ads, silent-mode, mute
---


# Question
Title: what are effects of factory reset while in rooted condition of mobile
Question : what are effects of factory reset while in rooted condition of mobile

In my lyf water 7 mobile device having 16gb internal memory and 2 gb ram and 64gb external sd card

I had first factory rest my mobile with and formatted my external sd card with no user apps or data installed then I decided to root it and before that want to take a backup

I had loaded twrp recovery (fastboot boot twrprecovery.img) in bootloader mode and took NANDROID backup of system boot cache userdata through twrp backup menu and through adb pull tool all partitions backup of mmcblk0 and system boot recovery userdata and all in other partitions in devices.

Then In twrp menu install menu I installed superuser .apk after installing succesfully I rebooted to android 5.1.1 rooted version

Through root checker i checked the rooting status ita good

Then I download link2sd plus modified parched .apk file which installed successfully and to open it asked to grant root permission for 15 minutes and disappeared and I tried to locate its icon in main menu or front wall but no success. I thought to uninstall but there is no mark in any settings\>apps installed or running list

I tried to find in root folders but it's hidden or disappears name there to

I m wooried it's not any virus malware or spyware apk file which asked executed or hidden .. I thought to factory reset to erase that hidden apk file of link2sd

My queries:-

1. How to find and erase that hidden apk file aftermarks or settings
2. Should I format or factory reset the mobile as su was installed or I should first unroot or clear su before factory reset will it erase that malware hidden aftermarks
3. If I don't not remove or unroot SU and factory reset the mobile then will after factory reset I have to re root or install SU again or it will be rooted or unrooted automatically after factory reset format withing rooting

# Answer
> 0 votes
1. you can find and uninstall hidden apps from official Link2SD app
2. to remove any malware just restore (full) TWRP backup from menu
3. Chainfire's SuperSU.zip resides in boot and userdata, re-rooting is required after userdata was formatted (aka factory reset) although device becomes not fully unrooted because modifications in boot survive

---
Tags: rooting, factory-reset, unrooting, supersu
---


title: Access image file from home screen

text:
# Question
Title: Access image file from home screen
I have Nexus 4 on Android 5.1.1, and I also have an image file with screenshot of my timetable. I'm trying to create a shortcut to it from the home screen.

I've tried 4 separate apps that claim to be able to do this, but all of them crashed.

Is there any way I can create this shortcut?

# Answer
So, I bought a new phone (Nexus 5x) and Shortcut Image now works for me.
> 1 votes

# Answer
Using Google Drive:

1. Upload the photo to Google Drive
2. Open the Drive app and open the photo
3. Open the triple dots menu in the top right
4. Scroll down
5. Select "Add to Home screen"

Optionally, set the photo in Drive to be available offline. (Thanks @nealmcb!)
> 11 votes

# Answer
If you have a Samsung device, go to Files and find the picture. Then long press to select it, click "More" on the bottom, then click "Add to home screen".
> 7 votes

# Answer
As commented above by Firelord, the launcher is important.

In Apex Launcher, if I add a widget for Gallery app, I can select a single image and the selected will be displayed as a 3x3 widget.
> 1 votes

# Answer
To add a shortcut of a picture to your home screen, there's no app needed on the Samsung Android:

Go to 'My Files' (not Gallery). Find the picture you want to add to your home screen. Long Press on that picture (a checkmark will appear over it). On the top right of your screen click on the 3 dots icon. Select "Add to Home Screen".

This method is similar to that listed in an earlier post, but some minor things have been changed in the OS to create this shortcut (probably due to a software update). This is current as of May 2021
> 1 votes

# Answer
For people who are searching to display all pictures from an images folder, there is also this app : Nice Simple Photo Widget
> 0 votes

---
Tags: images, home-screen-shortcuts, home-screen
---


# Question
Title: How to fix bootloop or decrypt /data in TWRP?
I am trying to **recover the data** from a default/factory **encrypted** Samsung Galaxy S7 Edge stuck in a **bootloop** (i.e.: restarting endlessly when booting the system). It is using the stock rom. Only the recovery (twrp) and download mode are working. I need to either fix the bootloop or decrypt at least the **data partition** in twrp (I know the lock pattern). **Note**: I know that the bootloop might be fixed by a factory reset, but that would result in data loss.

General info:

```
Model: SM-G935F
Codename: hero2lte
Android version: Stock 7.1.x (almost sure)
TWRP: 3.2.3-0

```

### Install

I followed the adb guide and the install guide (only up to and including the twrp install; LineageOS was not installed).

After installing **adb** and **heimdall** on the pc, this is what was done on the phone:

* Enter download mode
* `heimdall flash --RECOVERY twrp-3.2.3-0-hero2lte.img`
* Reboot into recovery

It kept saying it could not mount **/system** nor **/data**, but it **never asked** (and still doesn't) for the encryption password or anything. When trying to do a nandroid backup, Internal storage showed as 0 MB and it errored out.

Booting into the system worked without any issues.

Then, I tried installing (LineageOS') **su**, to be able to backup things properly using something like oandbackup or TitaniumBackup:

* Boot into recovery
* `adb push addonsu-15.1-arm64-signed.zip`
* Install -\> addonsu-15.1-arm64-signed.zip

I thought one of the following was going to happen:

1. The write would work, and su would be available
2. The write would work, and the stock rom would ignore it
3. The write would fail, nothing would happen

It showed some errors about the partitions again (up to this point, I thought only the **data** partition was encrypted, not the system one).

I tried Reboot -\> System, and what happened was:

4. The device was (and still is) stuck in a **bootloop**

So I tried using LineageOS' **su-removal**:

* Boot into recovery
* `adb push addonsu-remove-15.1-arm64-signed.zip`
* Install -\> addonsu-remove-15.1-arm64-signed.zip

Yet, nothing seems to have changed. TWRP onscreen log:

```
Could not mount /data and unable to find crypto footer.
Failed to mount '/data' (Invalid argument)
Updating partition details...
Failed to mount /data (Invaild argument)
...done
Unable to mount storage
Failed to mount /data (Invaild argument)
Full SELinux support is present.
Unable to mount /data/media/TWRP/.twrps
MTP Enabled

```

Looking at `/cache/recovery/log`, it does not show /system as empty:

```
/system | /dev/block/sda14 | Size: 4132MB Used: 3987MB Free: 145MB Backup Size: 3987MB
   Flags: Can_Be_Mounted Can_Be_Wiped Can_Be_Backed_Up Wipe_Available_in_GUI IsPresent Mount_Read_Only
   Primary_Block_Device: /dev/block/sda14
   Display_Name: System
   Storage_Name: System
   Backup_Path: /system
   Backup_Name: system
   Backup_Display_Name: System
   Storage_Path: /system
   Current_File_System: ext4
   Fstab_File_System: ext4
   Backup_Method: files

/data | /dev/block/sda18 | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
   Flags: Can_Be_Mounted Can_Be_Wiped Can_Be_Backed_Up Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent Can_Be_Encrypted Has_Data_Media Can_Encrypt_Backup Use_Userdata_Encryption Is_Storage Is_Settings_Storage
   Symlink_Path: /data/media
   Symlink_Mount_Point: /sdcard
   Primary_Block_Device: /dev/block/sda18
   Length: -20480
   Display_Name: Data
   Storage_Name: Internal Storage
   Backup_Path: /data
   Backup_Name: data
   Backup_Display_Name: Data
   Storage_Path: /data/media
   Current_File_System: ext4
   Fstab_File_System: ext4
   Backup_Method: files
   MTP_Storage_ID: 65537

```

But it shows nothing when trying to access it:

```
~ # ls -lah /system
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
drwxr-xr-x    2 root     root          40 Jan  1  1970 .
drwxrwxrwt   24 root     root         840 Sep 10 02:15 ..

```

Also in `/cache/recovery/log`:

```
I:Done processing fstab files
I:Setting up '/data' as data/media emulated storage.
I:Created '/sdcard' folder.
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda18', current file system: 'ext4'
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda18', current file system: 'ext4'
get_crypt_ftr_info crypto key location: 'footer'
Bad magic for real block device /dev/block/sda18
Could not mount /data and unable to find crypto footer.
I:Setting up '/data' as data/media emulated storage.
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
# ...

```

**Questions**:

* If it could not even mount the parition, how did it become soft bricked?
* Does "Install" write anything anywhere else (excluding log entries, etc)?
* Can it actually overwrite/damage the partition (or the block device directly) even when it cannot mount it?
* Is there a way to debug the bootloop
* How could the bootloop be fixed?

### Decrypt

So I tried decrypting the data partitions to see if I at least could access it from twrp, using these steps.

This is the pattern:

```
[_   1   6]
[2   7   5]
[3   4   _]

```

Which means the code twrp uses (from 1 to 9) should be this: 2478635. So I tried:

```
~ # twrp decrypt 2478635
Attempting to decrypt data partition via command line.
Failed to decrypt data.

```

I also tried using the "native" code (from 0 to 8), to no avail:

```
~ # twrp decrypt 1367524
Attempting to decrypt data partition via command line.
Failed to decrypt data.

```

Looking at the partitions:

```
~ # ls -l /dev/block/platform/155a0000.ufs/by-name/
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 BOOT -> /dev/block/sda5
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 BOTA0 -> /dev/block/sda1
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 BOTA1 -> /dev/block/sda2
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 CACHE -> /dev/block/sda15
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 CPEFS -> /dev/block/sdd1
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 CP_DEBUG -> /dev/block/sda17
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 DNT -> /dev/block/sda10
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 EFS -> /dev/block/sda3
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 HIDDEN -> /dev/block/sda16
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 OTA -> /dev/block/sda7
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 PARAM -> /dev/block/sda4
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 PERSDATA -> /dev/block/sda13
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 PERSISTENT -> /dev/block/sda11
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 RADIO -> /dev/block/sda8
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 RECOVERY -> /dev/block/sda6
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 STEADY -> /dev/block/sda12
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 SYSTEM -> /dev/block/sda14
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 TOMBSTONES -> /dev/block/sda9
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 USERDATA -> /dev/block/sda18

```

Shows that sda14 is the **system** partition and that sda18 is the **data** partition. So I managed to pull `/dev/block/sda14` and `/dev/block/sda18`:

```
adb pull /dev/block/sda14 sda14.img
# ...

adb pull /dev/block/sda18 sda18.img
/dev/block/sda18: 1 file pulled. 3.7 MB/s (26843545600 bytes in 6961.803s)

```

I verified that the SHA-1 hashes of the block device and the .img match, but I'm at a loss about how to decrypt them on the pc.

**Question**:

How could I decrypt them on Android/Linux/Windows?

---

**Note**: If this is too specific for this site, please comment where the appropriate forum would be. I know of the phone-specific xda, but that seems to be too generic. Any help is appreciated.

# Answer
> 2 votes
I had same problem and I'll write tips how i fixed this situation.

You can fix it by just dirty-flash any rom.

Flash any rom by using external storage or by adb sideload(Advanced -\> ADB Sideload -\> Run "adb sideload ROM-FILENAME.zip") You will see lock screen after reboot.After login,you can decrypt data in TWRP.

*If you see some error/crash after android bootup due to dirty-flash,install magisk and create backup by Migrate and restore it after clear data.*

---
Tags: rooting, boot-loop, twrp, encryption, unbricking
---