diff options
| -rw-r--r-- | packages/SettingsLib/tests/robotests/config/robolectric.properties | 5 | ||||
| -rw-r--r-- | packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowXmlUtils.java | 43 | 
2 files changed, 47 insertions, 1 deletions
diff --git a/packages/SettingsLib/tests/robotests/config/robolectric.properties b/packages/SettingsLib/tests/robotests/config/robolectric.properties index 34a2a1a28ada..6b5b8e59472b 100644 --- a/packages/SettingsLib/tests/robotests/config/robolectric.properties +++ b/packages/SettingsLib/tests/robotests/config/robolectric.properties @@ -1,2 +1,5 @@  manifest=frameworks/base/packages/SettingsLib/tests/robotests/AndroidManifest.xml -sdk=NEWEST_SDK
\ No newline at end of file +sdk=NEWEST_SDK + +shadows=\ +   com.android.settingslib.testutils.shadow.ShadowXmlUtils
\ No newline at end of file diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowXmlUtils.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowXmlUtils.java new file mode 100644 index 000000000000..3455765ce24c --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowXmlUtils.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + *      http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.testutils.shadow; + +import static org.robolectric.shadow.api.Shadow.directlyOn; + +import com.android.internal.util.XmlUtils; + +import org.robolectric.Robolectric; +import org.robolectric.annotation.Implementation; +import org.robolectric.annotation.Implements; +import org.robolectric.util.ReflectionHelpers; + +@Implements(XmlUtils.class) +public class ShadowXmlUtils { + +    @Implementation +    public static final int convertValueToInt(CharSequence charSeq, int defaultValue) { +        final Class<?> xmlUtilsClass = ReflectionHelpers.loadClass( +                Robolectric.class.getClassLoader(), "com.android.internal.util.XmlUtils"); +        try { +            return directlyOn(xmlUtilsClass, "convertValueToInt", +                    ReflectionHelpers.ClassParameter.from(CharSequence.class, charSeq), +                    ReflectionHelpers.ClassParameter.from(int.class, new Integer(defaultValue))); +        } catch (NumberFormatException e) { +            return defaultValue; +        } +    } +}
\ No newline at end of file  |