summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaurice Lam <yukl@google.com>2015-03-27 23:29:54 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-03-27 23:29:54 +0000
commit5e9b02ef72403231363d697dc0f71d398bac350d (patch)
tree7e97f66438293146bdbeef7893676f62240c058b
parent4c4303ff1ca811ce0e3eb8ce534c3dd0c8541370 (diff)
parent9f9367672191190f903955d09a4314d40869acc6 (diff)
downloadandroid_frameworks_opt_setupwizard-5e9b02ef72403231363d697dc0f71d398bac350d.tar.gz
android_frameworks_opt_setupwizard-5e9b02ef72403231363d697dc0f71d398bac350d.tar.bz2
android_frameworks_opt_setupwizard-5e9b02ef72403231363d697dc0f71d398bac350d.zip
am 9f936767: [SetupWizardLib] Eclair compat build
* commit '9f9367672191190f903955d09a4314d40869acc6': [SetupWizardLib] Eclair compat build
-rw-r--r--library/build.gradle14
-rw-r--r--library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_left_arrow_dark.png (renamed from library/ics/res/drawable-hdpi/suw_navbar_ic_left_arrow_dark.png)bin308 -> 308 bytes
-rw-r--r--library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_left_arrow_light.png (renamed from library/ics/res/drawable-hdpi/suw_navbar_ic_left_arrow_light.png)bin334 -> 334 bytes
-rw-r--r--library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_right_arrow_dark.png (renamed from library/ics/res/drawable-hdpi/suw_navbar_ic_right_arrow_dark.png)bin312 -> 312 bytes
-rw-r--r--library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_right_arrow_light.png (renamed from library/ics/res/drawable-hdpi/suw_navbar_ic_right_arrow_light.png)bin346 -> 346 bytes
-rw-r--r--library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_back_dark.xml (renamed from library/ics/res/drawable-ldrtl/suw_navbar_ic_back_dark.xml)0
-rw-r--r--library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_back_light.xml (renamed from library/ics/res/drawable-ldrtl/suw_navbar_ic_back_light.xml)0
-rw-r--r--library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_next_dark.xml (renamed from library/ics/res/drawable-ldrtl/suw_navbar_ic_next_dark.xml)0
-rw-r--r--library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_next_light.xml (renamed from library/ics/res/drawable-ldrtl/suw_navbar_ic_next_light.xml)0
-rw-r--r--library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_left_arrow_dark.png (renamed from library/ics/res/drawable-mdpi/suw_navbar_ic_left_arrow_dark.png)bin280 -> 280 bytes
-rw-r--r--library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_left_arrow_light.png (renamed from library/ics/res/drawable-mdpi/suw_navbar_ic_left_arrow_light.png)bin297 -> 297 bytes
-rw-r--r--library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_right_arrow_dark.png (renamed from library/ics/res/drawable-mdpi/suw_navbar_ic_right_arrow_dark.png)bin262 -> 262 bytes
-rw-r--r--library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_right_arrow_light.png (renamed from library/ics/res/drawable-mdpi/suw_navbar_ic_right_arrow_light.png)bin303 -> 303 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_left_arrow_dark.png (renamed from library/ics/res/drawable-xhdpi/suw_navbar_ic_left_arrow_dark.png)bin326 -> 326 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_left_arrow_light.png (renamed from library/ics/res/drawable-xhdpi/suw_navbar_ic_left_arrow_light.png)bin377 -> 377 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_right_arrow_dark.png (renamed from library/ics/res/drawable-xhdpi/suw_navbar_ic_right_arrow_dark.png)bin325 -> 325 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_right_arrow_light.png (renamed from library/ics/res/drawable-xhdpi/suw_navbar_ic_right_arrow_light.png)bin364 -> 364 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_dark.png (renamed from library/ics/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_dark.png)bin502 -> 502 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_light.png (renamed from library/ics/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_light.png)bin524 -> 524 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_dark.png (renamed from library/ics/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_dark.png)bin507 -> 507 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_light.png (renamed from library/ics/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_light.png)bin512 -> 512 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_dark.png (renamed from library/ics/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_dark.png)bin523 -> 523 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_light.png (renamed from library/ics/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_light.png)bin547 -> 547 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_dark.png (renamed from library/ics/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_dark.png)bin541 -> 541 bytes
-rw-r--r--library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_light.png (renamed from library/ics/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_light.png)bin540 -> 540 bytes
-rw-r--r--library/eclair-mr1/res/drawable/suw_card_bg_dark.xml (renamed from library/ics/res/drawable/suw_card_bg_dark.xml)0
-rw-r--r--library/eclair-mr1/res/drawable/suw_card_bg_light.xml (renamed from library/ics/res/drawable/suw_card_bg_light.xml)0
-rw-r--r--library/eclair-mr1/res/drawable/suw_navbar_btn_bg_dark.xml (renamed from library/ics/res/drawable/suw_navbar_btn_bg_dark.xml)0
-rw-r--r--library/eclair-mr1/res/drawable/suw_navbar_btn_bg_light.xml (renamed from library/ics/res/drawable/suw_navbar_btn_bg_light.xml)0
-rw-r--r--library/eclair-mr1/res/drawable/suw_navbar_ic_back_dark.xml (renamed from library/ics/res/drawable/suw_navbar_ic_back_dark.xml)0
-rw-r--r--library/eclair-mr1/res/drawable/suw_navbar_ic_back_light.xml (renamed from library/ics/res/drawable/suw_navbar_ic_back_light.xml)0
-rw-r--r--library/eclair-mr1/res/drawable/suw_navbar_ic_next_dark.xml (renamed from library/ics/res/drawable/suw_navbar_ic_next_dark.xml)0
-rw-r--r--library/eclair-mr1/res/drawable/suw_navbar_ic_next_light.xml (renamed from library/ics/res/drawable/suw_navbar_ic_next_light.xml)0
-rw-r--r--library/eclair-mr1/res/values/styles.xml (renamed from library/ics/res/values/styles.xml)6
-rw-r--r--library/main/res/layout/suw_navbar_view.xml5
-rw-r--r--library/main/res/values/styles.xml2
-rw-r--r--library/main/src/com/android/setupwizardlib/SetupWizardLayout.java23
-rw-r--r--library/main/src/com/android/setupwizardlib/SetupWizardListLayout.java12
-rw-r--r--library/main/src/com/android/setupwizardlib/view/Illustration.java23
-rw-r--r--library/main/src/com/android/setupwizardlib/view/NavigationBar.java29
-rw-r--r--library/main/src/com/android/setupwizardlib/view/StickyHeaderListView.java19
-rw-r--r--library/test/res/values/config.xml2
-rw-r--r--library/test/src/com/android/setupwizardlib/test/SetupWizardLayoutTests.java14
-rw-r--r--library/test/src/com/android/setupwizardlib/test/SystemBarHelperTest.java65
44 files changed, 149 insertions, 65 deletions
diff --git a/library/build.gradle b/library/build.gradle
index 7365a0c..ff5daa4 100644
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -26,6 +26,14 @@ android {
icsCompatCompile project(':support-appcompat-v7')
}
}
+
+ // Compatibility build that provides the L layout for SDK versions Eclair MR1+
+ eclairMr1Compat {
+ minSdkVersion 7
+ dependencies {
+ eclairMr1CompatCompile project(':support-appcompat-v7')
+ }
+ }
}
platform {
@@ -33,7 +41,11 @@ android {
}
icsCompat {
- res.srcDirs = ['ics/res']
+ res.srcDirs = ['eclair-mr1/res']
+ }
+
+ eclairMr1Compat {
+ res.srcDirs = ['eclair-mr1/res']
}
androidTest {
diff --git a/library/ics/res/drawable-hdpi/suw_navbar_ic_left_arrow_dark.png b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_left_arrow_dark.png
index 9ef990a..9ef990a 100644
--- a/library/ics/res/drawable-hdpi/suw_navbar_ic_left_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_left_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-hdpi/suw_navbar_ic_left_arrow_light.png b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_left_arrow_light.png
index 1364d5c..1364d5c 100644
--- a/library/ics/res/drawable-hdpi/suw_navbar_ic_left_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_left_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-hdpi/suw_navbar_ic_right_arrow_dark.png b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_right_arrow_dark.png
index 5df1343..5df1343 100644
--- a/library/ics/res/drawable-hdpi/suw_navbar_ic_right_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_right_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-hdpi/suw_navbar_ic_right_arrow_light.png b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_right_arrow_light.png
index ff7a66e..ff7a66e 100644
--- a/library/ics/res/drawable-hdpi/suw_navbar_ic_right_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-hdpi/suw_navbar_ic_right_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-ldrtl/suw_navbar_ic_back_dark.xml b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_back_dark.xml
index 8256fc6..8256fc6 100644
--- a/library/ics/res/drawable-ldrtl/suw_navbar_ic_back_dark.xml
+++ b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_back_dark.xml
diff --git a/library/ics/res/drawable-ldrtl/suw_navbar_ic_back_light.xml b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_back_light.xml
index 8fbd5fc..8fbd5fc 100644
--- a/library/ics/res/drawable-ldrtl/suw_navbar_ic_back_light.xml
+++ b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_back_light.xml
diff --git a/library/ics/res/drawable-ldrtl/suw_navbar_ic_next_dark.xml b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_next_dark.xml
index 0a825f3..0a825f3 100644
--- a/library/ics/res/drawable-ldrtl/suw_navbar_ic_next_dark.xml
+++ b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_next_dark.xml
diff --git a/library/ics/res/drawable-ldrtl/suw_navbar_ic_next_light.xml b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_next_light.xml
index 894398f..894398f 100644
--- a/library/ics/res/drawable-ldrtl/suw_navbar_ic_next_light.xml
+++ b/library/eclair-mr1/res/drawable-ldrtl/suw_navbar_ic_next_light.xml
diff --git a/library/ics/res/drawable-mdpi/suw_navbar_ic_left_arrow_dark.png b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_left_arrow_dark.png
index 284b1f0..284b1f0 100644
--- a/library/ics/res/drawable-mdpi/suw_navbar_ic_left_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_left_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-mdpi/suw_navbar_ic_left_arrow_light.png b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_left_arrow_light.png
index 0bd2a76..0bd2a76 100644
--- a/library/ics/res/drawable-mdpi/suw_navbar_ic_left_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_left_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-mdpi/suw_navbar_ic_right_arrow_dark.png b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_right_arrow_dark.png
index 5565575..5565575 100644
--- a/library/ics/res/drawable-mdpi/suw_navbar_ic_right_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_right_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-mdpi/suw_navbar_ic_right_arrow_light.png b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_right_arrow_light.png
index c367b7f..c367b7f 100644
--- a/library/ics/res/drawable-mdpi/suw_navbar_ic_right_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-mdpi/suw_navbar_ic_right_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-xhdpi/suw_navbar_ic_left_arrow_dark.png b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_left_arrow_dark.png
index 50c15b3..50c15b3 100644
--- a/library/ics/res/drawable-xhdpi/suw_navbar_ic_left_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_left_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-xhdpi/suw_navbar_ic_left_arrow_light.png b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_left_arrow_light.png
index 2fac071..2fac071 100644
--- a/library/ics/res/drawable-xhdpi/suw_navbar_ic_left_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_left_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-xhdpi/suw_navbar_ic_right_arrow_dark.png b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_right_arrow_dark.png
index 53a294d..53a294d 100644
--- a/library/ics/res/drawable-xhdpi/suw_navbar_ic_right_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_right_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-xhdpi/suw_navbar_ic_right_arrow_light.png b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_right_arrow_light.png
index c1a0765..c1a0765 100644
--- a/library/ics/res/drawable-xhdpi/suw_navbar_ic_right_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-xhdpi/suw_navbar_ic_right_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_dark.png b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_dark.png
index d0a219b..d0a219b 100644
--- a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_light.png b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_light.png
index ea343d0..ea343d0 100644
--- a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_left_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_dark.png b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_dark.png
index 1c017f4..1c017f4 100644
--- a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_light.png b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_light.png
index ae30d61..ae30d61 100644
--- a/library/ics/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-xxhdpi/suw_navbar_ic_right_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_dark.png b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_dark.png
index 038d2f8..038d2f8 100644
--- a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_light.png b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_light.png
index fcd2c64..fcd2c64 100644
--- a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_left_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_dark.png b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_dark.png
index b640ddc..b640ddc 100644
--- a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_dark.png
+++ b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_dark.png
Binary files differ
diff --git a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_light.png b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_light.png
index eacab40..eacab40 100644
--- a/library/ics/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_light.png
+++ b/library/eclair-mr1/res/drawable-xxxhdpi/suw_navbar_ic_right_arrow_light.png
Binary files differ
diff --git a/library/ics/res/drawable/suw_card_bg_dark.xml b/library/eclair-mr1/res/drawable/suw_card_bg_dark.xml
index e3d29d7..e3d29d7 100644
--- a/library/ics/res/drawable/suw_card_bg_dark.xml
+++ b/library/eclair-mr1/res/drawable/suw_card_bg_dark.xml
diff --git a/library/ics/res/drawable/suw_card_bg_light.xml b/library/eclair-mr1/res/drawable/suw_card_bg_light.xml
index b6d6233..b6d6233 100644
--- a/library/ics/res/drawable/suw_card_bg_light.xml
+++ b/library/eclair-mr1/res/drawable/suw_card_bg_light.xml
diff --git a/library/ics/res/drawable/suw_navbar_btn_bg_dark.xml b/library/eclair-mr1/res/drawable/suw_navbar_btn_bg_dark.xml
index 7f7f378..7f7f378 100644
--- a/library/ics/res/drawable/suw_navbar_btn_bg_dark.xml
+++ b/library/eclair-mr1/res/drawable/suw_navbar_btn_bg_dark.xml
diff --git a/library/ics/res/drawable/suw_navbar_btn_bg_light.xml b/library/eclair-mr1/res/drawable/suw_navbar_btn_bg_light.xml
index 15b567c..15b567c 100644
--- a/library/ics/res/drawable/suw_navbar_btn_bg_light.xml
+++ b/library/eclair-mr1/res/drawable/suw_navbar_btn_bg_light.xml
diff --git a/library/ics/res/drawable/suw_navbar_ic_back_dark.xml b/library/eclair-mr1/res/drawable/suw_navbar_ic_back_dark.xml
index 0a825f3..0a825f3 100644
--- a/library/ics/res/drawable/suw_navbar_ic_back_dark.xml
+++ b/library/eclair-mr1/res/drawable/suw_navbar_ic_back_dark.xml
diff --git a/library/ics/res/drawable/suw_navbar_ic_back_light.xml b/library/eclair-mr1/res/drawable/suw_navbar_ic_back_light.xml
index 894398f..894398f 100644
--- a/library/ics/res/drawable/suw_navbar_ic_back_light.xml
+++ b/library/eclair-mr1/res/drawable/suw_navbar_ic_back_light.xml
diff --git a/library/ics/res/drawable/suw_navbar_ic_next_dark.xml b/library/eclair-mr1/res/drawable/suw_navbar_ic_next_dark.xml
index 8256fc6..8256fc6 100644
--- a/library/ics/res/drawable/suw_navbar_ic_next_dark.xml
+++ b/library/eclair-mr1/res/drawable/suw_navbar_ic_next_dark.xml
diff --git a/library/ics/res/drawable/suw_navbar_ic_next_light.xml b/library/eclair-mr1/res/drawable/suw_navbar_ic_next_light.xml
index 8fbd5fc..8fbd5fc 100644
--- a/library/ics/res/drawable/suw_navbar_ic_next_light.xml
+++ b/library/eclair-mr1/res/drawable/suw_navbar_ic_next_light.xml
diff --git a/library/ics/res/values/styles.xml b/library/eclair-mr1/res/values/styles.xml
index 57be61a..cf0c2c2 100644
--- a/library/ics/res/values/styles.xml
+++ b/library/eclair-mr1/res/values/styles.xml
@@ -44,6 +44,8 @@
<!-- Content styles -->
<style name="SuwDescription">
+ <!-- Before Honeycomb, layout_gravity is needed for FrameLayout to apply the margins -->
+ <item name="android:layout_gravity">top</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">@dimen/suw_description_margin_bottom</item>
@@ -62,14 +64,14 @@
<!-- Navigation bar styles -->
- <style name="SuwNavBarButtonStyle" parent="@android:style/Widget.Holo.Button.Borderless">
+ <style name="SuwNavBarButtonStyle" parent="@android:style/Widget.Button">
<item name="android:background">?attr/suwNavBarButtonBackground</item>
<item name="android:drawablePadding">@dimen/suw_navbar_button_drawable_padding</item>
<item name="android:fontFamily" tools:ignore="NewApi">sans-serif</item>
<item name="android:minWidth">0dp</item>
<item name="android:paddingLeft">@dimen/suw_navbar_button_padding_sides</item>
<item name="android:paddingRight">@dimen/suw_navbar_button_padding_sides</item>
- <item name="android:textAllCaps">true</item>
+ <item name="android:textAllCaps" tools:ignore="NewApi">true</item>
<item name="android:textColor">?attr/suwNavBarTextColor</item>
<item name="android:textSize">@dimen/suw_navbar_text_size</item>
</style>
diff --git a/library/main/res/layout/suw_navbar_view.xml b/library/main/res/layout/suw_navbar_view.xml
index 50bfba8..c3af53d 100644
--- a/library/main/res/layout/suw_navbar_view.xml
+++ b/library/main/res/layout/suw_navbar_view.xml
@@ -26,10 +26,11 @@
android:drawableLeft="?attr/suwNavBarBackButton"
android:drawableStart="?attr/suwNavBarBackButton" />
- <Space
+ <View
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_weight="1" />
+ android:layout_weight="1"
+ android:visibility="invisible" />
<view class="com.android.setupwizardlib.view.NavigationBar$NavButton"
android:id="@+id/suw_navbar_next"
diff --git a/library/main/res/values/styles.xml b/library/main/res/values/styles.xml
index 70c444a..2cb12db 100644
--- a/library/main/res/values/styles.xml
+++ b/library/main/res/values/styles.xml
@@ -50,6 +50,8 @@
<!-- Header layout (for phones) -->
<style name="SuwHeaderTitle">
+ <!-- Before Honeycomb, layout_gravity is needed for FrameLayout to apply the margins -->
+ <item name="android:layout_gravity">top</item>
<item name="android:layout_marginBottom">@dimen/suw_header_title_margin_bottom</item>
<item name="android:layout_marginLeft">@dimen/suw_layout_margin_sides</item>
<item name="android:layout_marginRight">@dimen/suw_layout_margin_sides</item>
diff --git a/library/main/src/com/android/setupwizardlib/SetupWizardLayout.java b/library/main/src/com/android/setupwizardlib/SetupWizardLayout.java
index 0ba5e6d..55c5c84 100644
--- a/library/main/src/com/android/setupwizardlib/SetupWizardLayout.java
+++ b/library/main/src/com/android/setupwizardlib/SetupWizardLayout.java
@@ -17,6 +17,7 @@
package com.android.setupwizardlib;
import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Shader.TileMode;
@@ -49,24 +50,36 @@ public class SetupWizardLayout extends FrameLayout {
private ViewGroup mContainer;
public SetupWizardLayout(Context context) {
- this(context, 0);
+ super(context);
+ init(0, null, R.attr.suwLayoutTheme);
}
public SetupWizardLayout(Context context, int template) {
- this(context, template, null, 0);
+ super(context);
+ init(template, null, R.attr.suwLayoutTheme);
}
public SetupWizardLayout(Context context, AttributeSet attrs) {
- this(context, attrs, R.attr.suwLayoutTheme);
+ super(context, attrs);
+ init(0, attrs, R.attr.suwLayoutTheme);
}
+ @TargetApi(VERSION_CODES.HONEYCOMB)
public SetupWizardLayout(Context context, AttributeSet attrs, int defStyleAttr) {
- this(context, 0, attrs, defStyleAttr);
+ super(context, attrs, defStyleAttr);
+ init(0, attrs, defStyleAttr);
}
+ @TargetApi(VERSION_CODES.HONEYCOMB)
public SetupWizardLayout(Context context, int template, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- final TypedArray a = context.obtainStyledAttributes(attrs,
+ init(template, attrs, defStyleAttr);
+ }
+
+ // All the constructors delegate to this init method. The 3-argument constructor is not
+ // available in LinearLayout before v11, so call super with the exact same arguments.
+ private void init(int template, AttributeSet attrs, int defStyleAttr) {
+ final TypedArray a = getContext().obtainStyledAttributes(attrs,
R.styleable.SuwSetupWizardLayout, defStyleAttr, 0);
if (template == 0) {
template = a.getResourceId(R.styleable.SuwSetupWizardLayout_android_layout, 0);
diff --git a/library/main/src/com/android/setupwizardlib/SetupWizardListLayout.java b/library/main/src/com/android/setupwizardlib/SetupWizardListLayout.java
index 228ff12..7165f39 100644
--- a/library/main/src/com/android/setupwizardlib/SetupWizardListLayout.java
+++ b/library/main/src/com/android/setupwizardlib/SetupWizardListLayout.java
@@ -16,7 +16,9 @@
package com.android.setupwizardlib;
+import android.annotation.TargetApi;
import android.content.Context;
+import android.os.Build.VERSION_CODES;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
@@ -29,21 +31,23 @@ public class SetupWizardListLayout extends SetupWizardLayout {
private ListView mListView;
public SetupWizardListLayout(Context context) {
- this(context, 0);
+ super(context);
}
public SetupWizardListLayout(Context context, int template) {
- this(context, template, null, 0);
+ super(context, template);
}
public SetupWizardListLayout(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
+ super(context, attrs);
}
+ @TargetApi(VERSION_CODES.HONEYCOMB)
public SetupWizardListLayout(Context context, AttributeSet attrs, int defStyleAttr) {
- this(context, 0, attrs, defStyleAttr);
+ super(context, attrs, defStyleAttr);
}
+ @TargetApi(VERSION_CODES.HONEYCOMB)
public SetupWizardListLayout(Context context, int template, AttributeSet attrs,
int defStyleAttr) {
super(context, template, attrs, defStyleAttr);
diff --git a/library/main/src/com/android/setupwizardlib/view/Illustration.java b/library/main/src/com/android/setupwizardlib/view/Illustration.java
index 18c79b8..6f95ca9 100644
--- a/library/main/src/com/android/setupwizardlib/view/Illustration.java
+++ b/library/main/src/com/android/setupwizardlib/view/Illustration.java
@@ -16,6 +16,7 @@
package com.android.setupwizardlib.view;
+import android.annotation.TargetApi;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.res.TypedArray;
@@ -52,17 +53,26 @@ public class Illustration extends FrameLayout {
private float mAspectRatio = 0.0f;
public Illustration(Context context) {
- this(context, null);
+ super(context);
+ init(null, 0);
}
public Illustration(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
+ super(context, attrs);
+ init(attrs, 0);
}
+ @TargetApi(VERSION_CODES.HONEYCOMB)
public Illustration(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
+ init(attrs, defStyleAttr);
+ }
+
+ // All the constructors delegate to this init method. The 3-argument constructor is not
+ // available in FrameLayout before v11, so call super with the exact same arguments.
+ private void init(AttributeSet attrs, int defStyleAttr) {
if (attrs != null) {
- TypedArray a = context.obtainStyledAttributes(attrs,
+ TypedArray a = getContext().obtainStyledAttributes(attrs,
R.styleable.SuwIllustration, defStyleAttr, 0);
mAspectRatio = a.getFloat(R.styleable.SuwIllustration_suwAspectRatio, 0.0f);
a.recycle();
@@ -151,14 +161,14 @@ public class Illustration extends FrameLayout {
@Override
public void onDraw(Canvas canvas) {
- final int layoutDirection = getLayoutDirection();
if (mBackground != null) {
// Draw the background filling parts not covered by the illustration
canvas.save();
canvas.translate(0, mIllustrationBounds.height());
// Scale the background so its size matches the foreground
canvas.scale(mScale, mScale, 0, 0);
- if (shouldMirrorIllustration(layoutDirection)) {
+ if (VERSION.SDK_INT > VERSION_CODES.JELLY_BEAN_MR1 &&
+ shouldMirrorIllustration(getLayoutDirection())) {
// Flip the illustration for RTL layouts
canvas.scale(-1, 1);
canvas.translate(-mBackground.getBounds().width(), 0);
@@ -168,7 +178,8 @@ public class Illustration extends FrameLayout {
}
if (mIllustration != null) {
canvas.save();
- if (shouldMirrorIllustration(layoutDirection)) {
+ if (VERSION.SDK_INT > VERSION_CODES.JELLY_BEAN_MR1 &&
+ shouldMirrorIllustration(getLayoutDirection())) {
// Flip the illustration for RTL layouts
canvas.scale(-1, 1);
canvas.translate(-mIllustrationBounds.width(), 0);
diff --git a/library/main/src/com/android/setupwizardlib/view/NavigationBar.java b/library/main/src/com/android/setupwizardlib/view/NavigationBar.java
index fc99768..2228e69 100644
--- a/library/main/src/com/android/setupwizardlib/view/NavigationBar.java
+++ b/library/main/src/com/android/setupwizardlib/view/NavigationBar.java
@@ -16,9 +16,12 @@
package com.android.setupwizardlib.view;
+import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
+import android.graphics.drawable.Drawable;
+import android.os.Build.VERSION_CODES;
import android.util.AttributeSet;
import android.view.ContextThemeWrapper;
import android.view.View;
@@ -67,15 +70,24 @@ public class NavigationBar extends LinearLayout implements View.OnClickListener
private NavigationBarListener mListener;
public NavigationBar(Context context) {
- this(context, null);
+ super(getThemedContext(context));
+ init();
}
public NavigationBar(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
+ super(getThemedContext(context), attrs);
+ init();
}
+ @TargetApi(VERSION_CODES.HONEYCOMB)
public NavigationBar(Context context, AttributeSet attrs, int defStyleAttr) {
super(getThemedContext(context), attrs, defStyleAttr);
+ init();
+ }
+
+ // All the constructors delegate to this init method. The 3-argument constructor is not
+ // available in LinearLayout before v11, so call super with the exact same arguments.
+ private void init() {
View.inflate(getContext(), R.layout.suw_navbar_view, this);
mNextButton = (Button) findViewById(R.id.suw_navbar_next);
mBackButton = (Button) findViewById(R.id.suw_navbar_back);
@@ -111,7 +123,7 @@ public class NavigationBar extends LinearLayout implements View.OnClickListener
public static class NavButton extends Button {
public NavButton(Context context) {
- this(context, null);
+ super(context);
}
public NavButton(Context context, AttributeSet attrs) {
@@ -121,9 +133,14 @@ public class NavigationBar extends LinearLayout implements View.OnClickListener
@Override
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
- // The color of the button is #de000000 / #deffffff when enabled. When disabled, apply
- // additional 23% alpha, so the overall opacity is 20%.
- setAlpha(enabled ? 1.0f : 0.23f);
+ // The color of the button is #de000000 / #deffffff when enabled. When disabled, the
+ // alpha value = 0x3b/0xff * 0xde/0xff = 20%.
+ final int alpha = enabled ? 0xff : 0x3b;
+ getTextColors().withAlpha(alpha);
+ final Drawable[] compoundDrawables = getCompoundDrawables();
+ for (Drawable d : compoundDrawables) {
+ d.setAlpha(alpha);
+ }
}
}
diff --git a/library/main/src/com/android/setupwizardlib/view/StickyHeaderListView.java b/library/main/src/com/android/setupwizardlib/view/StickyHeaderListView.java
index 5cb8b28..01ea37f 100644
--- a/library/main/src/com/android/setupwizardlib/view/StickyHeaderListView.java
+++ b/library/main/src/com/android/setupwizardlib/view/StickyHeaderListView.java
@@ -55,25 +55,26 @@ public class StickyHeaderListView extends ListView {
private RectF mStickyRect = new RectF();
public StickyHeaderListView(Context context) {
- this(context, null);
+ super(context);
+ init(null, android.R.attr.listViewStyle);
}
public StickyHeaderListView(Context context, AttributeSet attrs) {
- this(context, attrs, android.R.attr.listViewStyle);
+ super(context, attrs);
+ init(attrs, android.R.attr.listViewStyle);
}
public StickyHeaderListView(Context context, AttributeSet attrs, int defStyleAttr) {
- this(context, attrs, defStyleAttr, 0);
+ super(context, attrs, defStyleAttr);
+ init(attrs, defStyleAttr);
}
- public StickyHeaderListView(Context context, AttributeSet attrs, int defStyleAttr,
- int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- final TypedArray a = context.obtainStyledAttributes(attrs,
- R.styleable.SuwStickyHeaderListView, defStyleAttr, defStyleRes);
+ private void init(AttributeSet attrs, int defStyleAttr) {
+ final TypedArray a = getContext().obtainStyledAttributes(attrs,
+ R.styleable.SuwStickyHeaderListView, defStyleAttr, 0);
int headerResId = a.getResourceId(R.styleable.SuwStickyHeaderListView_suwHeader, 0);
if (headerResId != 0) {
- LayoutInflater inflater = LayoutInflater.from(context);
+ LayoutInflater inflater = LayoutInflater.from(getContext());
View header = inflater.inflate(headerResId, this, false);
addHeaderView(header);
}
diff --git a/library/test/res/values/config.xml b/library/test/res/values/config.xml
index bda4f54..35425fc 100644
--- a/library/test/res/values/config.xml
+++ b/library/test/res/values/config.xml
@@ -20,4 +20,6 @@
<!-- Overlay the transition duration for testing partner overlays -->
<integer name="suwTransitionDuration">5000</integer>
+ <item type="id" name="test_view_id" />
+
</resources>
diff --git a/library/test/src/com/android/setupwizardlib/test/SetupWizardLayoutTests.java b/library/test/src/com/android/setupwizardlib/test/SetupWizardLayoutTests.java
index f5cd287..cce2f70 100644
--- a/library/test/src/com/android/setupwizardlib/test/SetupWizardLayoutTests.java
+++ b/library/test/src/com/android/setupwizardlib/test/SetupWizardLayoutTests.java
@@ -16,11 +16,9 @@
package com.android.setupwizardlib.test;
-import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
-import android.os.Build.VERSION_CODES;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import android.view.ContextThemeWrapper;
@@ -56,16 +54,14 @@ public class SetupWizardLayoutTests extends InstrumentationTestCase {
assertEquals("Header text should be \"Abracadabra\"", "Abracadabra", title.getText());
}
- @TargetApi(VERSION_CODES.JELLY_BEAN_MR1)
@SmallTest
public void testAddView() {
SetupWizardLayout layout = new SetupWizardLayout(mContext);
TextView tv = new TextView(mContext);
- int id = View.generateViewId();
- tv.setId(id);
+ tv.setId(R.id.test_view_id);
layout.addView(tv);
assertDefaultTemplateInflated(layout);
- View view = layout.findViewById(id);
+ View view = layout.findViewById(R.id.test_view_id);
assertSame("The view added should be the same text view", tv, view);
}
@@ -78,7 +74,6 @@ public class SetupWizardLayoutTests extends InstrumentationTestCase {
assertTrue("@id/test_content should be a TextView", content instanceof TextView);
}
- @TargetApi(VERSION_CODES.JELLY_BEAN_MR1)
@SmallTest
public void testCustomTemplate() {
SetupWizardLayout layout = new SetupWizardLayout(mContext, R.layout.test_template);
@@ -86,13 +81,12 @@ public class SetupWizardLayoutTests extends InstrumentationTestCase {
assertNotNull("@id/test_template_view should exist in template", templateView);
TextView tv = new TextView(mContext);
- int id = View.generateViewId();
- tv.setId(id);
+ tv.setId(R.id.test_view_id);
layout.addView(tv);
templateView = layout.findViewById(R.id.test_template_view);
assertNotNull("@id/test_template_view should exist in template", templateView);
- View contentView = layout.findViewById(id);
+ View contentView = layout.findViewById(R.id.test_view_id);
assertSame("The view added should be the same text view", tv, contentView);
// The following methods should be no-ops because the custom template doesn't contain the
diff --git a/library/test/src/com/android/setupwizardlib/test/SystemBarHelperTest.java b/library/test/src/com/android/setupwizardlib/test/SystemBarHelperTest.java
index c364984..98e3f73 100644
--- a/library/test/src/com/android/setupwizardlib/test/SystemBarHelperTest.java
+++ b/library/test/src/com/android/setupwizardlib/test/SystemBarHelperTest.java
@@ -21,6 +21,8 @@ import android.content.Context;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.net.Uri;
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -51,71 +53,94 @@ public class SystemBarHelperTest extends AndroidTestCase {
public void testAddVisibilityFlagView() {
final View view = createViewWithSystemUiVisibility(0x456);
SystemBarHelper.addVisibilityFlag(view, 0x1400);
- assertEquals("View visibility should be 0x1456", 0x1456, view.getSystemUiVisibility());
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ // Check that result is 0x1456, because 0x1400 | 0x456 = 0x1456.
+ assertEquals("View visibility should be 0x1456", 0x1456, view.getSystemUiVisibility());
+ }
}
@SmallTest
public void testRemoveVisibilityFlagView() {
final View view = createViewWithSystemUiVisibility(0x456);
SystemBarHelper.removeVisibilityFlag(view, 0x1400);
- assertEquals("View visibility should be 0x56", 0x56, view.getSystemUiVisibility());
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ // Check that result is 0x56, because 0x456 & ~0x1400 = 0x56.
+ assertEquals("View visibility should be 0x56", 0x56, view.getSystemUiVisibility());
+ }
}
@SmallTest
public void testAddVisibilityFlagWindow() {
final Window window = createWindowWithSystemUiVisibility(0x456);
SystemBarHelper.addVisibilityFlag(window, 0x1400);
- assertEquals("View visibility should be 0x1456", 0x1456,
- window.getAttributes().systemUiVisibility);
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ // Check that result is 0x1456 = 0x1400 | 0x456.
+ assertEquals("View visibility should be 0x1456", 0x1456,
+ window.getAttributes().systemUiVisibility);
+ }
}
@SmallTest
public void testRemoveVisibilityFlagWindow() {
final Window window = createWindowWithSystemUiVisibility(0x456);
SystemBarHelper.removeVisibilityFlag(window, 0x1400);
- assertEquals("View visibility should be 0x56", 0x56,
- window.getAttributes().systemUiVisibility);
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ // Check that result is 0x56 = 0x456 & ~0x1400.
+ assertEquals("View visibility should be 0x56", 0x56,
+ window.getAttributes().systemUiVisibility);
+ }
}
@SmallTest
public void testHideSystemBarsWindow() {
final Window window = createWindowWithSystemUiVisibility(0x456);
SystemBarHelper.hideSystemBars(window);
- assertEquals("DEFAULT_IMMERSIVE_FLAGS should be added to window's systemUiVisibility",
- DEFAULT_IMMERSIVE_FLAGS | 0x456,
- window.getAttributes().systemUiVisibility);
- assertEquals("DEFAULT_IMMERSIVE_FLAGS should be added to decorView's systemUiVisibility",
- DEFAULT_IMMERSIVE_FLAGS | 0x456,
- window.getDecorView().getSystemUiVisibility());
+ if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
+ assertEquals("DEFAULT_IMMERSIVE_FLAGS should be added to window's systemUiVisibility",
+ DEFAULT_IMMERSIVE_FLAGS | 0x456,
+ window.getAttributes().systemUiVisibility);
+ assertEquals(
+ "DEFAULT_IMMERSIVE_FLAGS should be added to decorView's systemUiVisibility",
+ DEFAULT_IMMERSIVE_FLAGS | 0x456,
+ window.getDecorView().getSystemUiVisibility());
+ }
}
@SmallTest
public void testSetBackButtonVisibleTrue() {
final Window window = createWindowWithSystemUiVisibility(0x456);
SystemBarHelper.setBackButtonVisible(window, true);
- assertEquals("View visibility should be 0x456", 0x456,
- window.getAttributes().systemUiVisibility);
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ assertEquals("View visibility should be 0x456", 0x456,
+ window.getAttributes().systemUiVisibility);
+ }
}
@SmallTest
public void testSetBackButtonVisibleFalse() {
final Window window = createWindowWithSystemUiVisibility(0x456);
SystemBarHelper.setBackButtonVisible(window, false);
- assertEquals("STATUS_BAR_DISABLE_BACK should be added to systemUiVisibility",
- 0x456 | STATUS_BAR_DISABLE_BACK, window.getAttributes().systemUiVisibility);
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ assertEquals("STATUS_BAR_DISABLE_BACK should be added to systemUiVisibility",
+ 0x456 | STATUS_BAR_DISABLE_BACK, window.getAttributes().systemUiVisibility);
+ }
}
private View createViewWithSystemUiVisibility(int vis) {
final View view = new View(getContext());
- view.setSystemUiVisibility(vis);
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ view.setSystemUiVisibility(vis);
+ }
return view;
}
private Window createWindowWithSystemUiVisibility(int vis) {
final Window window = new TestWindow(getContext(), createViewWithSystemUiVisibility(vis));
- WindowManager.LayoutParams attrs = window.getAttributes();
- attrs.systemUiVisibility = vis;
- window.setAttributes(attrs);
+ if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
+ WindowManager.LayoutParams attrs = window.getAttributes();
+ attrs.systemUiVisibility = vis;
+ window.setAttributes(attrs);
+ }
return window;
}