Implement ContextImpl.getSystemService(Context.CAPTIONING_SERVICE)
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java
index 430131b..460df14 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowApplicationTest.java
@@ -31,6 +31,7 @@
import android.os.IBinder;
import android.os.UserManager;
import android.print.PrintManager;
+import android.view.accessibility.CaptioningManager;
import android.telephony.SubscriptionManager;
import android.view.Gravity;
import android.view.accessibility.AccessibilityManager;
@@ -107,6 +108,7 @@
@Config(minSdk = KITKAT)
public void shouldProvideServicesIntroducedInKitKat() throws Exception {
checkSystemService(Context.PRINT_SERVICE, PrintManager.class);
+ checkSystemService(Context.CAPTIONING_SERVICE, CaptioningManager.class);
}
@Test
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowContextImpl.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowContextImpl.java
index 38daef3..02c6fb1 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowContextImpl.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowContextImpl.java
@@ -98,6 +98,7 @@
if (getApiLevel() >= KITKAT) {
SYSTEM_SERVICE_MAP.put(Context.PRINT_SERVICE, "android.print.PrintManager");
SYSTEM_SERVICE_MAP.put(Context.APP_OPS_SERVICE, "android.app.AppOpsManager");
+ SYSTEM_SERVICE_MAP.put(Context.CAPTIONING_SERVICE, "android.view.accessibility.CaptioningManager");
}
if (getApiLevel() >= LOLLIPOP) {
SYSTEM_SERVICE_MAP.put(Context.JOB_SCHEDULER_SERVICE, "android.app.JobSchedulerImpl");
@@ -194,6 +195,9 @@
service =
ReflectionHelpers.callConstructor(
clazz, ClassParameter.from(Context.class, RuntimeEnvironment.application));
+ } else if (getApiLevel() >= KITKAT && serviceClassName.equals("android.view.accessibility.CaptioningManager")) {
+ service = ReflectionHelpers.callConstructor(clazz,
+ ClassParameter.from(Context.class, RuntimeEnvironment.application));
} else {
service = newInstanceOf(clazz);
}