Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 3a3b2594 authored by Jan Altensen's avatar Jan Altensen
Browse files

Migration: Add a migration for dialer activity on upgrade from nougat to Q

* The Launchable activity for nougat Dialer was `com.android.dialer/com.android.dialer.DialtactsActivity` and `com.android.dialer/com.android.dialer.main.impl.MainActivity` and on Q.

* Not handling this causes the Dialer Icon to displace from its initial position before upgrading from nougat to Android Q.

Change-Id: I5d1f63056423a64413ba3aafd08f52bb84dddbec
parent 5396aed3
Loading
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ import com.google.gson.Gson;

import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -35,15 +36,23 @@ public class Migration {
        }

        if (Build.VERSION.SDK_INT > 28) {
            String oldComponent = "com.android.dialer/com.android.dialer.app.DialtactsActivity";
            String newComponent = "com.android.dialer/com.android.dialer.main.impl.MainActivity";
            String dialerComponent = LauncherDB.getDatabase(context).launcherDao().getComponentName("com.android.dialer");
            List<String> dialerComponentList = Arrays.asList(
                    "com.android.dialer/com.android.dialer.main.impl.MainActivity",
                    "com.android.dialer/com.android.dialer.app.DialtactsActivity",
                    "com.android.dialer/com.android.dialer.DialtactsActivity"
            );

            String currentComponent = dialerComponentList.get(0);
            String dialerComponent = LauncherDB
                    .getDatabase(context)
                    .launcherDao()
                    .getComponentName("com.android.dialer");

            if (dialerComponent != null && dialerComponent.equals(oldComponent)) {
            if (dialerComponent != null && dialerComponentList.contains(dialerComponent) 
                && !dialerComponent.equals(currentComponent)) {
                Log.d(TAG, "migrateSafely: Migrating dialer component!");
                DatabaseManager.getManager(context).migrateComponent(
                        oldComponent, newComponent
                );
                        dialerComponent, currentComponent);
            }
        }