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

Commit 36f31f99 authored by Dorin Drimus's avatar Dorin Drimus
Browse files

Update deviceId for ContentProviders

Bug: 440868383
Test: manual with go/dhu
Test: atest DeviceAssociationTest
Flag: EXEMPT BUGFIX
Change-Id: I2b816723ca1625a50cf0f4d10cecfb63c6bfe005
parent ff2ccbae
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -195,6 +195,7 @@ import android.system.ErrnoException;
import android.telephony.TelephonyFrameworkInitializer;
import android.util.AndroidRuntimeException;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.DisplayMetrics;
import android.util.EventLog;
import android.util.Log;
@@ -295,6 +296,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TimeZone;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
@@ -7132,8 +7134,8 @@ public final class ActivityThread extends ClientTransactionHandler
            return;
        }
        mLastReportedDeviceId = deviceId;
        ArrayList<Context> nonUIContexts = new ArrayList<>();
        // Update Application and Service contexts with implicit device association.
        final Set<Context> nonUIContexts = new ArraySet<>();
        // Update non UI contexts with implicit device association.
        // UI Contexts are able to derived their device Id association from the display.
        synchronized (mResourcesManager) {
            final int numApps = mAllApplications.size();
@@ -7149,6 +7151,13 @@ public final class ActivityThread extends ClientTransactionHandler
                }
            }
        }
        synchronized (mProviderMap) {
            final int numContentProviders = mLocalProviders.size();
            for (int i = 0; i < numContentProviders; i++) {
                nonUIContexts.add(mLocalProviders.valueAt(i).mLocalProvider.getContext());
            }
        }

        for (Context context : nonUIContexts) {
            try {
                context.updateDeviceId(deviceId);