From 0c5fdb6080d4ac320d8004bacb89a26ec630fc58 Mon Sep 17 00:00:00 2001 From: Ta-wei Yen Date: Wed, 6 Jan 2016 11:09:25 -0800 Subject: Allow google dialer code to be compiled against M and N SDKs + Class SdkSelectionUtils to provides information of the SDK the app is build against. Specifically, information that change when the TARGET_N_SDK build flag is set in the makefile. This is not related to the targetSdkVersion value in AndroidManifest.xml. Bug:26330692 Change-Id: Ie9e7d734964b5da930d33f69650643bfd2c1e178 --- src-N/com/android/dialer/SdkSelectionUtils.java | 35 ++++++++++++++++++++++ .../com/android/dialer/SdkSelectionUtils.java | 35 ++++++++++++++++++++++ .../com/android/dialer/SdkSelectionUtilsTest.java | 35 ++++++++++++++++++++++ .../com/android/dialer/SdkSelectionUtilsTest.java | 35 ++++++++++++++++++++++ 4 files changed, 140 insertions(+) create mode 100644 src-N/com/android/dialer/SdkSelectionUtils.java create mode 100644 src-pre-N/com/android/dialer/SdkSelectionUtils.java create mode 100644 tests/src-N/com/android/dialer/SdkSelectionUtilsTest.java create mode 100644 tests/src-pre-N/com/android/dialer/SdkSelectionUtilsTest.java diff --git a/src-N/com/android/dialer/SdkSelectionUtils.java b/src-N/com/android/dialer/SdkSelectionUtils.java new file mode 100644 index 000000000..ae7a63174 --- /dev/null +++ b/src-N/com/android/dialer/SdkSelectionUtils.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2015 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.dialer; + +/** + * Provides information for the SDK the app is built against. + * Specifically, information that change when the TARGET_N_SDK build flag is set in the makefile. + * This is not related to the targetSdkVersion value in AndroidManifest.xml. + * + * Usage case will be branching test code in src/, instead of swapping between src-N and src-pre-N. + */ +public class SdkSelectionUtils { + + /** + * Whether the app is build against N SDK. + * + * Since Build.VERSION.SDK_INT remains 23 on N SDK for now, this is currently the only way to + * check if we are building with N SDK or other. + */ + public static final boolean TARGET_N_SDK = true; +} diff --git a/src-pre-N/com/android/dialer/SdkSelectionUtils.java b/src-pre-N/com/android/dialer/SdkSelectionUtils.java new file mode 100644 index 000000000..7e36b332c --- /dev/null +++ b/src-pre-N/com/android/dialer/SdkSelectionUtils.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2015 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.dialer; + +/** + * Provides information for the SDK the app is built against. + * Specifically, information that change when the TARGET_N_SDK build flag is set in the makefile. + * This is not related to the targetSdkVersion value in AndroidManifest.xml. + * + * Usage case will be branching test code in src/, instead of using src-N/ and src-pre-N/ + */ +public class SdkSelectionUtils { + + /** + * Whether the app is build against N SDK. + * + * Since Build.VERSION.SDK_INT remains 23 on N SDK for now, this is currently the only way to + * check if we are building with N SDK or other. + */ + public static final boolean TARGET_N_SDK = false; +} diff --git a/tests/src-N/com/android/dialer/SdkSelectionUtilsTest.java b/tests/src-N/com/android/dialer/SdkSelectionUtilsTest.java new file mode 100644 index 000000000..2950ea08f --- /dev/null +++ b/tests/src-N/com/android/dialer/SdkSelectionUtilsTest.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2015 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.dialer; + +import android.test.AndroidTestCase; +import android.test.suitebuilder.annotation.SmallTest; + +// @formatter:off +/** + * Run test with + * adb shell am instrument -e class com.android.dialer.SdkSelectionUtilsTest -w com.google.android.dialer.tests/android.test.InstrumentationTestRunner + */ +// @formatter:on +@SmallTest +public class SdkSelectionUtilsTest extends AndroidTestCase { + + public void testTargetNSdk_True() { + assertTrue(SdkSelectionUtils.TARGET_N_SDK); + } +} \ No newline at end of file diff --git a/tests/src-pre-N/com/android/dialer/SdkSelectionUtilsTest.java b/tests/src-pre-N/com/android/dialer/SdkSelectionUtilsTest.java new file mode 100644 index 000000000..595f1ccaf --- /dev/null +++ b/tests/src-pre-N/com/android/dialer/SdkSelectionUtilsTest.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2015 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.dialer; + +import android.test.AndroidTestCase; +import android.test.suitebuilder.annotation.SmallTest; + +// @formatter:off +/** + * Run test with + * adb shell am instrument -e class com.android.dialer.SdkSelectionUtilsTest -w com.google.android.dialer.tests/android.test.InstrumentationTestRunner + */ +// @formatter:on +@SmallTest +public class SdkSelectionUtilsTest extends AndroidTestCase { + + public void testTargetNSdk_False() { + assertFalse(SdkSelectionUtils.TARGET_N_SDK); + } +} \ No newline at end of file -- cgit v1.2.3