diff options
author | Karthik Mahesh <karthikmahesh@google.com> | 2023-12-12 18:46:31 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-12-12 18:46:31 +0000 |
commit | e3d48a194c38110d01eb43da2239fe10b021e89e (patch) | |
tree | 61b8f28ea2f62269186895d6495c6b8258242cc9 | |
parent | 28ad54cc55276009fed066a597a2ab1d78fee89a (diff) | |
parent | 0ee3c006afa9cb4dc2136c79da830c54a3c3e77c (diff) | |
download | OnDevicePersonalization-e3d48a194c38110d01eb43da2239fe10b021e89e.tar.gz |
Merge "Create WebView in the main thread." into udc-mainline-prod am: 0ee3c006af
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/OnDevicePersonalization/+/25575427
Change-Id: I469100ab179cdbb0737abc542ddd6850795e4df9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
3 files changed, 9 insertions, 23 deletions
diff --git a/src/com/android/ondevicepersonalization/services/OnDevicePersonalizationExecutors.java b/src/com/android/ondevicepersonalization/services/OnDevicePersonalizationExecutors.java index 3d03f785..42be5c41 100644 --- a/src/com/android/ondevicepersonalization/services/OnDevicePersonalizationExecutors.java +++ b/src/com/android/ondevicepersonalization/services/OnDevicePersonalizationExecutors.java @@ -18,7 +18,7 @@ package com.android.ondevicepersonalization.services; import android.annotation.NonNull; import android.os.Handler; -import android.os.HandlerThread; +import android.os.Looper; import android.os.Process; import android.os.StrictMode; import android.os.StrictMode.ThreadPolicy; @@ -59,9 +59,7 @@ public final class OnDevicePersonalizationExecutors { createThreadFactory("SCH Thread", Process.THREAD_PRIORITY_BACKGROUND, Optional.of(getIoThreadPolicy())))); - private static final HandlerThread sHandlerThread = createHandlerThread(); - - private static final Handler sHandler = new Handler(sHandlerThread.getLooper()); + private static final Handler sHandlerForMainThread = new Handler(Looper.getMainLooper()); private OnDevicePersonalizationExecutors() { } @@ -101,10 +99,10 @@ public final class OnDevicePersonalizationExecutors { } /** - * Returns a Handler that can post messages to a HandlerThread. + * Returns a Handler for the main thread. */ - public static Handler getHandler() { - return sHandler; + public static Handler getHandlerForMainThread() { + return sHandlerForMainThread; } private static ThreadFactory createThreadFactory( @@ -144,10 +142,4 @@ public final class OnDevicePersonalizationExecutors { .penaltyLog() .build(); } - - private static HandlerThread createHandlerThread() { - HandlerThread handlerThread = new HandlerThread("DisplayThread"); - handlerThread.start(); - return handlerThread; - } } diff --git a/src/com/android/ondevicepersonalization/services/display/DisplayHelper.java b/src/com/android/ondevicepersonalization/services/display/DisplayHelper.java index 90a00847..2a8a50de 100644 --- a/src/com/android/ondevicepersonalization/services/display/DisplayHelper.java +++ b/src/com/android/ondevicepersonalization/services/display/DisplayHelper.java @@ -118,7 +118,7 @@ public class DisplayHelper { SettableFuture<SurfacePackage> result = SettableFuture.create(); try { sLogger.d(TAG + ": displayHtml"); - OnDevicePersonalizationExecutors.getHandler().post(() -> { + OnDevicePersonalizationExecutors.getHandlerForMainThread().post(() -> { createWebView(html, logRecord, queryId, servicePackageName, hostToken, displayId, width, height, result); }); diff --git a/tests/servicetests/src/com/android/ondevicepersonalization/services/display/OdpWebViewClientTests.java b/tests/servicetests/src/com/android/ondevicepersonalization/services/display/OdpWebViewClientTests.java index 0834c938..11ee7e55 100644 --- a/tests/servicetests/src/com/android/ondevicepersonalization/services/display/OdpWebViewClientTests.java +++ b/tests/servicetests/src/com/android/ondevicepersonalization/services/display/OdpWebViewClientTests.java @@ -91,7 +91,7 @@ public class OdpWebViewClientTests { mDao.insertQuery(mTestQuery); CountDownLatch latch = new CountDownLatch(1); - OnDevicePersonalizationExecutors.getHandler().postAtFrontOfQueue(() -> { + OnDevicePersonalizationExecutors.getHandlerForMainThread().postAtFrontOfQueue(() -> { mWebView = new OdpWebView(mContext); latch.countDown(); }); @@ -156,14 +156,8 @@ public class OdpWebViewClientTests { CountDownLatch latch = new CountDownLatch(1); AtomicBoolean result = new AtomicBoolean(false); - OnDevicePersonalizationExecutors.getHandler().postAtFrontOfQueue(() -> { - WebViewClient webViewClient = getWebViewClient(); - result.set(webViewClient.shouldOverrideUrlLoading(mWebView, webResourceRequest)); - latch.countDown(); - }); - latch.await(); - - assertTrue(result.get()); + WebViewClient webViewClient = getWebViewClient(); + assertTrue(webViewClient.shouldOverrideUrlLoading(mWebView, webResourceRequest)); assertEquals(landingPage, mOpenedUrl); assertEquals(1, mDbHelper.getReadableDatabase().query(EventsContract.EventsEntry.TABLE_NAME, null, |