Create tests to ensure notification delegation works!
Previously when attempting to write tests I had issues starting TestTrustedWebActivityService (a subclass of TrustedWebActivityService) that was in ../../chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/TestTrustedWebActivityService.java.
I think this was due to some strangeness with classes in different apks. Error:
java.lang.RuntimeException: Unable to instantiate service android.support.customtabs.trusted.TrustedWebActivityService:
java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.trusted.TrustedWebActivityService" on path: DexPathList[[
zip file "/system/framework/android.test.mock.jar",
zip file "/system/framework/org.apache.http.legacy.boot.jar",
zip file "/system/framework/android.test.runner.jar",
zip file "/data/app/org.chromium.chrome.tests-32eE3ouaLKR3ADOqH_EGCw==/base.apk"
],
nativeLibraryDirectories=[
/data/app/org.chromium.chrome.tests-32eE3ouaLKR3ADOqH_EGCw==/lib/arm64,
/system/lib64
]
]
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3479)
at android.app.ActivityThread.access$1200(ActivityThread.java:197)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1627)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6591)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.customtabs.trusted.TrustedWebActivityService" on path: DexPathList[[
zip file "/system/framework/android.test.mock.jar",
zip file "/system/framework/org.apache.http.legacy.boot.jar",
zip file "/system/framework/android.test.runner.jar",
zip file "/data/app/org.chromium.chrome.tests-32eE3ouaLKR3ADOqH_EGCw==/base.apk"
],
nativeLibraryDirectories=[
/data/app/org.chromium.chrome.tests-32eE3ouaLKR3ADOqH_EGCw==/lib/arm64,
/system/lib64
]
]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateServicAppComponentFactory.java:103)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3474)
Comment 1 by bugdroid1@chromium.org
, May 17 2018