My (not-so-great) experience with switching Android phones in 2025

In the beginning of February I switched from my old Samsung Galaxy A52 to a new Samsung Galaxy S25+, which was just released. One can find endless complaining online about how the S25 series isn’t worth it, which might be the case for someone coming from S24 series. However, I’m doing a 4-year leap from a mid-range phone that has become genuinely problematic:

  1. There’s a well-known issue with the A52’s plastic back panel coming off. This issue started to develop on my phone also in July 2024, but I alleviated it by getting a phone case (for the first time in my life).1
  2. The A52 got its last Android update (to 14) in January 2024.
  3. I’ve increasingly found it frustratingly sluggish.
  4. Its virtual proximity sensing is quite inaccurate: the screen often activates in the pocket and even triggers presses. In particular, such presses would often mess with media controls which are directly accessible from the lock screen (e.g. randomly seeking, skipping to next podcast).

Anyway, I digress. I used Samsung Smart Switch to transfer everything from the old phone to the new one. Unfortunately, everything does not get automatically transferred and I’m writing this post to document/complain/rant about everything that did not go smoothly. This wasn’t my first time switching Android phones by the way: in 2021 I went from a Samsung Galaxy S6 edge+ to the A52. Although I don’t recall that switch being as painful as this one, but I may have blocked out those memories or I simply wasn’t yet using many of the problematic apps at the time.

Before getting into the bad, I want to briefly touch on the good. I was particularly glad to see that all of my workout data in GymRun was smoothly automatically transferred. I prepared myself for something worse and had made explicit backups on my old phone, such that I could restore them on the new one. Luckily that didn’t turn out to be necessary.

But now to the bad…

Meta apps

WhatsApp

Transferring WhatsApp data, particularly chat history, between phones is notorious for being problematic and I was aware of that. Even Smart Switch has an explicit screen about it. So, on the old phone I made sure to have chat history backed up with a Google Drive account. But that didn’t prepare me for what was going to happen.

Following very reasonable advice online, I moved my SIM card to my new phone before ever starting it up, such that I could set it up with everything in place. After logging into WhatsApp with my phone number on the new phone, my chats were there, but all with empty history! Digging into the respective menus (Settings → Chats → Chat backup), I see that there isn’t any backup.

Naturally, I go back to WhatsApp on my old phone to check. Surprisingly, this turns into a whole fiasco, although I cannot recall the exact sequence of events and all the details. Basically, because I’ve already logged into WhatsApp on my new phone, the old one doesn’t let me into the app to even check the backup (or do any backup-related things) and wants to log in again. But at this point my SIM is in the new phone. Somehow the login still works, at least initially. I guess WhatsApp is fine with not re-verifying the phone number or even having the SIM?

Chat backup view

Anyway, here’s roughly what the Chat backup view looked like on the old phone:

TODO

I had pressed “Back up”, I had selected Google for backup storage, I had selected the Google account and authorized it. But that’s not enough! Given the default Frequency setting, I should’ve pressed “Back up” again after setting up Google storage for WhatsApp backups.

Perhaps I should’ve noticed the “Last Backup: Never” but I would argue that this view is weird and unintuitive. Following it top-down yields the following order of operations:

  1. It first describes backing up to Google for the purpose of switching phones. Great, that’s exactly what I want!
  2. Then there’s a big green button to supposedly do it. But at this point only a local backup would be made. (There’s no description of local backups anywhere, by the way.)
  3. Then I can choose and authorize a Google account.

In my opinion, the sensible design would be to have Google account selection before doing the backup because it’s necessary for the use case described at the top.

Furthermore, the backup status text above the “Back up” button is confusing. The “Last Backup” there seems to refer to the last Google backup. While “Local” seems to refer to the last local backup (again, unexplained).

Anyway, I pressed “Back up” again to have chat history backed up to Google for real this time.

Race condition

Now I want to restore the backup I just made on my new phone. Because I logged into WhatsApp on my old phone again, it logged the new phone out. Since I already got into the old phone, I think I triggered the login process on the new phone before I was done with all the backup stuff on the old one. And this seems to have caused a race condition.

The new phone was in the middle of the login process: my phone number was already entered (probably just autofilled from before) and I pressed some button to continue. And then it just got stuck “Initializing…“:

  • Killing WhatsApp didn’t help: it opened right back up in the middle of “Initializing…”.
  • Deleting WhatsApp data didn’t help either: the “Clear data” button in Android’s settings for WhatsApp just took me back to WhatsApp, which was “Initializing…”. I expected to see the usual warning about causing loss of data and unexpected behavior before agreeing, but somehow WhatsApp does something I had never seen before. I guess it tried to send me into WhatsApp itself to do some data clearing, but that didn’t go to the right screen because it was “Initializing…”.

Not sure if I did anything more or just waited enough, but sometime later opening WhatsApp again, it had given up on “Initializing…” and allowed me to do the login from scratch. This time without a race condition, the login worked instantly.

Transfer chats

But what still didn’t work was restoring the backup. It didn’t happen automatically: maybe because I hadn’t gone into WhatsApp settings on the new phone to authorize it for Google Drive? (Although it’s impossible to get into those settings without logging in first, which would be a cyclic dependency.) Surprisingly, I couldn’t do it manually either: there’s no “Restore” button! So however it’s supposed to work, it didn’t and I went through all the Google storage backup trouble for nothing.

What I ended up doing is using the “Transfer chats” feature instead: it does the transfer without Google via some local wireless connection. And that actually worked! (Although it took surprisingly long given how few messages of chat history I even have on WhatsApp.)

No excuses

To be honest, I could’ve moved on fine without having my WhatsApp chat history. I don’t really use WhatsApp and have two small (dead) chats. However, I wanted to do the transfer purely by principle: it’s 2025 and it’s supposed to be possible.

Not just possible, it’s not supposed to be this hard. The fact that WhatsApp is end-to-end encrypted and thus doesn’t store chat history on servers but only client devices is no excuse for the process being so painful. Signal is very similar to WhatsApp (login by phone number, end-to-end encrypted chats, only local chat history), but its transfer process was very smooth. It’s unbelievable that in 2025 Meta cannot get this right.

Google apps

Google Maps Timeline

Google Maps has had the Timeline feature, constantly tracking location for later viewing, for a long time. Recently, it was changed to no longer store location history on Google servers, but only on the phone itself. Thus, to not lose all that location data (almost a decade of it in my case), it needs to be manually transferred when switching phones.

Conveniently, Google Maps offers a way to (automatically) backup that on Google servers2 and I that already set up. Restoring that backup on the new phone wasn’t as easy as it should’ve been:

  1. On the new phone the “Your Timeline” button just wasn’t there. After some time it just appeared.
  2. Once it appeared, I could select “Import” for the backup from my old phone. It instantly said the backup was imported, but no old location data was actually present in the Timeline! Again, some time later trying again, it actually imported the data. So, manually check that the import worked! Some people on Samsung Community forums have reported similar issues with the Timeline on the S25 series, but it’s weird that Google Maps would have a bug that only appears on S25 phones: there shouldn’t be anything specific to these models.

Google Calendar

At least some (if not all) Google Calendar settings failed to transfer:

  1. The “Start of the week” day went back to Sunday from my chosen Monday.
  2. The selection of which calendars are synced to and shown on the phone.

Gboard

I’ve grown accustomed to Google’s Gboard over Samsung’s default keyboard. Annoyingly, nothing about the keyboard was transferred:

  1. The default keyboard changed to Samsung’s.
  2. All the languages and layouts in Gboard reset to one default one.
  3. All personal dictionaries were empty one the new phone.
  4. Probably all other Gboard settings went to default as well.

Google accounts

I have two Google accounts set up on my phone: a personal one and a work one. As expected, the personal one was transferred fully automatically, no login even needed if I remember correctly. Oddly enough, the work one did not get transferred at all.

Authentication apps

Microsoft Authenticator

I use Microsoft Authenticator for 2FA of my work account. Turns out, transferring Microsoft Authenticator data to a new phone, which can only be done via cloud backup, requires a personal Microsoft account. Andy Wegner has written a blog post about this very issue: Moving MS Authenticator to a new phone without a personal account. The only alternative seems to be manually re-adding all the accounts on the new phone…

Lucky for me, since I only use this app for my work account, there were only two accounts to re-add. However, the personal account restriction is arbitrary and unnecessary: my workplace already pays Microsoft (probably exorbitant amounts of) money to store emails and OneDrive files in regulatorily-compliant ways. Surely, forcing users to use personal accounts for work-related authentication is not acceptable for organization security and data-compliance.

Smart-ID

Smart-ID is a digital identification and signing service used in Estonia. It offers a convenient alternative to the same features provided by the national ID card without requiring a computer with an ID card reader, while having equivalent legal binding in almost all cases.3

Surprisingly, “transferring” a Smart-ID account from one device to another (Using your existing Smart-ID account to register a new account in FAQ) requires that

  1. you registered your previous active account in a bank office, with the help of a bank teller

That isn’t the case for me: I just registered for Smart-ID online on my own computer using an ID card.4 If there’s a reason for this weird restriction, then nowhere is that explained.5 The suggested alternative is just registering for a new Smart-ID account for the new phone on a computer, again using an ID card.

Samsung apps

Galaxy Watch

I had my Galaxy Watch 6 paired with my old phone. After Samsung Smart Switch, the watch suggested resetting itself before pairing with the new phone. It’s probably possible to skip the reset, however, some Reddit threads suggest doing so to unlock Galaxy Watch features that are (for no good reason) locked to Samsung S-series phones. For example, I couldn’t use my old A52 to access the Camera Controller on my watch, but the new S25+ would allow it.

Resetting the watch is supposed to be a seamless experience: its data is backed up6 and automatically restored after reset. It’s not perfect though, at least two things failed to back up/restore correctly:

  1. It restored the correct watch face, but not the complication customizations I had made.
  2. It did not restore the three favorite exercises on the Samsung Health Exercises tile.

Other apps

AntennaPod

When Google killed Google Podcasts (or more precisely, announced to), I switched to AntennaPod for all my podcasting needs. It’s decentralized and open source, so I could be reasonably confident that my data is not held hostage. Hence, it’s another one of those apps whose data needs manual transferring to a new phone. Luckily AntennaPod provides import/export of its internal database for my podcast subscriptions and listening statistics (very important), so I could get those across to my new phone without a problem. Unfortunately, not everything about AntennaPod gets transferred this way.

For one, its database does not include app settings (which I don’t understand) nor does it provide any alternative way to transfer them. The only way is a manual transfer: have two phones side-by-side and navigate through all settings menus in parallel, changing settings on the new phone to match the old one. Either the database should include app settings or they should be separately transferrable (e.g. via usual Google app settings backup).

The other thing which does not get transferred is downloaded podcast episodes. The argument seems to be that it’s too much data (easily gigabytes) to transfer via Google app backup (which has some size limit). However, there’s also no way to do it offline or manually! By default, it stores downloads in /Android/data/ which on modern Android is inaccessible by file browsers (without root).

/Android/data/

There is a workaround: Android’s own file chooser has access to those directories. Thus, there are apps whose sole purpose is to open that file chooser (as if it’s a file browser). With that, it’s possible to go into the right directory and see all the downloaded podcast audio files, organized into subdirectories. It seems to even be possible to copy an individual file out of there. Weirdly enough, directories cannot be copied: its copying is non-recursive and only creates an empty directory at the target. There is an option to compress files and directories, but that also works for individual files, while only an empty directory gets compressed. With dozens of downloads in different subdirectories, it would be tedious to copy them one by one.

There’s one more workaround described online: when Android’s file chooser is opened in split screen with itself, then one can move data by dragging it from one half of the split into the other. Well, I tried that, with catastrophic consequences. Perhaps it would’ve worked with individual files, but I dragged and dropped a directory containing all the podcast downloads, which ended up creating yet another empty directory. Because this moves (not copies), all the original files were actually deleted, even though they weren’t successfully created into the target directories.7

At this point I no longer had any downloads to transfer, so the only solution was redownloading them all on my new phone. Luckily all of them were still available, although there’s no guarantee (RSS feeds or individual episode files can easily disappear from the internet). A big reason to keep some (favorite) downloaded episodes is to safeguard against their disappearance. Therefore, AntennaPod should really provide a proper migration path. That is, just store downloads in a sensible accessible place where they can be manually transferred (or even automatically by Smart Switch, which automatically transfers all user-accessible files (outside /Android/data) regardless of apps) by default.

The redownloading isn’t entirely straightforward either: the transferred database contains the list of downloaded episodes and their paths (in the inaccessible directory). Thus, on the new phone, AntennaPod shows them as downloaded, and without a download button. Only when you go play the episode does it realize that the file is missing and a download button re-appears. Alternatively, you can delete the downloads in AntennaPod (although there’s nothing to actually delete), which then also allows redownloading. However, this is also very problematic: you have to remember what you had downloaded (or at least favorite those episodes just for this purpose).

Non–Play-Store apps

Although Smart Switch transfers many things directly phone-to-phone, it doesn’t seem to do that with the installed apps themselves. Rather, the new phone just installs them from Google Play Store (and perhaps Galaxy Store). Any apps previously installed on the old phone which are not available from those stores are not installed on the new phone:

  1. A handful of Play Store apps have been removed from the store (for whatever reason). Their names and icons are transferred to the new phone and show up in the apps list but grayed out. Launching them just goes to a Play Store view saying “Item not found”.8
  2. Samsung has a group of apps collectively known as “Good Lock” which allow additional customization of their One UI. For some reason they are not available via the app stores in Estonia, but they can be installed via APKs found online.9
  3. Any other apps installed unofficially from APKs, like YouTube ReVanced.

Sure, Google and Samsung want people to only install apps from official sources to avoid malware, but not transferring others doesn’t help with that. I already installed them on my old phone and can just as well re-install them on the new phone, it’s just unnecessarily annoying. Arguably, it would be better to use APKs from the old phone which I know to be safe than forcing me to go online and download new APKs, risking new malware.

App logins

A general annoyance is that pretty much all apps are logged out of my accounts on the new phone, even though the same apps are automatically installed. It’s such a tedious process to log in to each one again manually.

Settings

Time

After the transfer, which I did late enough in the day, I noticed that the new phone used the 12-hour format for the clock. So for some reason the 24-hour clock format setting did not get transferred, which seems like an obvious one.

Home screen

Smart Switch does transfer home screen and apps screen layouts, although there was a catch. My old phone used 5×5 grid but the new one defaults to 5×6 and Smart Switch went to that default, instead of what I had before. At least in this direction it’s harmless because only an extra empty row appeared.

Although it transfers home screen widgets, their settings do not get transferred. In particular:

  1. For the AntennaPod widget I had configured which buttons it shows. For quite a while I thought the widget looked different because its slightly different size caused it to go with a different layout.
  2. For the GitHub widget I had chosen my one and only GitHub account to show. Thus, it only showed “Sign in” which took me to GitHub login (again), even though I had already logged into the GitHub app with the same account. Doing that login didn’t even set it to be shown on the widget. I had to manually choose it in the widget settings again.

Wi-Fi

The names and passwords (or whatever login details) of known Wi-Fi networks are transferred automatically, which is very convenient. However, eduroam did not work out of the box: all of its (enterprise) login details seemed to have been transferred and authentication to eduroam seemed successful, but I had no network access. If I recall correctly, Android reported that it could not obtain an IP address. Not sure what that was about, so I just ended up reconfiguring eduroam from scratch and succeeded. Perhaps eduroam didn’t like some transferred certificate or whatever suddenly being used with a different MAC address?

Data usage

Android records data usage both (and separately) for Wi-Fi and mobile data. These monthly statistics were not transferred from the old phone to the new one. Moreover, the related settings (mobile data warning, etc.) also were not. Although this didn’t pose a problem for me, it could be annoying for some people, especially when switching phones mid–billing-cycle.


  1. Luckily some were still available but not many. 

  2. So the whole thing just seems like privacy theater with the extra inconvenience of not being able to browse the Timeline via web browser anymore. 

  3. E-voting is the only exception that I can immediately think of. And even there, I’m not sure if the limitation is legal or technical. 

  4. At some point bank tellers were really pushing this for some reason (perhaps commission?), although anyone who could do online banking with an ID card could just register for Smart-ID on their own. And a grandma who doesn’t do online banking at all won’t have any use for Smart-ID either. 

  5. Perhaps Smart-ID is only legally binding if directly registered by a national ID card, not when indirectly registered by a previous Smart-ID account which was registered by a national ID card. This restriction then suggests that Smart-ID accounts registered in a bank are somehow legally “stronger”. 

  6. Backups from the watch onto the phone work reliably, but having those also backed up to Samsung Cloud requires the stars to really align: Why your Galaxy Watch hasn’t backed up to Samsung Cloud in ages. And the stupidest part is: there’s no way to do that manually. I believe this wasn’t the problem in my case though. 

  7. This means that at least some Android APIs implement a horrendously unsafe filesystem move operation which fails basic validation and atomicity requirements. This is Android itself, not any non-stock app! 

  8. So Flappy Bird phones still remain a thing. 

  9. Oddly enough, once installed from APK, Galaxy Store lists them as installed in some places.