From d80ee0201141613b1bb12b8e64b4efbe885fda0d Mon Sep 17 00:00:00 2001 From: Roman Nurik Date: Fri, 10 Aug 2012 14:48:22 -0700 Subject: [PATCH] Retroactively add EffectiveNavigation and TabCompat sample code. This sample code was launched with the Implementing Effective Navigation and Creating Backward-Compatible UIs training classes, but the source was never added to AOSP. This retroactively adds the source, unmodified. Change-Id: If6face5a0548107f7fd273e466b1ced2790f4f3a --- .../EffectiveNavigation/AndroidManifest.xml | 38 ++++ .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 4398 bytes .../res/drawable-ldpi/ic_launcher.png | Bin 0 -> 2203 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 2911 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 5857 bytes .../res/layout/activity_collection_demo.xml | 35 +++ .../res/layout/activity_main.xml | 20 ++ .../res/layout/fragment_collection_object.xml | 23 ++ .../res/layout/fragment_section_dummy.xml | 23 ++ .../res/layout/fragment_section_launchpad.xml | 39 ++++ .../res/values/strings.xml | 24 +++ .../CollectionDemoActivity.java | 148 +++++++++++++ .../effectivenavigation/MainActivity.java | 204 ++++++++++++++++++ .../training/TabCompat/AndroidManifest.xml | 32 +++ .../res/drawable-hdpi-v11/ic_tab_photos.png | Bin 0 -> 3094 bytes .../res/drawable-hdpi-v11/ic_tab_videos.png | Bin 0 -> 2929 bytes .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 3948 bytes .../drawable-hdpi/ic_tab_photos_selected.png | Bin 0 -> 2135 bytes .../ic_tab_photos_unselected.png | Bin 0 -> 1519 bytes .../drawable-hdpi/ic_tab_videos_selected.png | Bin 0 -> 1333 bytes .../ic_tab_videos_unselected.png | Bin 0 -> 676 bytes .../res/drawable-mdpi-v11/ic_tab_photos.png | Bin 0 -> 3034 bytes .../res/drawable-mdpi-v11/ic_tab_videos.png | Bin 0 -> 2897 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 3620 bytes .../drawable-mdpi/ic_tab_photos_selected.png | Bin 0 -> 1421 bytes .../ic_tab_photos_unselected.png | Bin 0 -> 1035 bytes .../drawable-mdpi/ic_tab_videos_selected.png | Bin 0 -> 824 bytes .../ic_tab_videos_unselected.png | Bin 0 -> 513 bytes .../res/drawable-xhdpi-v11/ic_tab_photos.png | Bin 0 -> 3189 bytes .../res/drawable-xhdpi-v11/ic_tab_videos.png | Bin 0 -> 2970 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 4213 bytes .../drawable-xhdpi/ic_tab_photos_selected.png | Bin 0 -> 3339 bytes .../ic_tab_photos_unselected.png | Bin 0 -> 2234 bytes .../drawable-xhdpi/ic_tab_videos_selected.png | Bin 0 -> 1758 bytes .../ic_tab_videos_unselected.png | Bin 0 -> 853 bytes .../TabCompat/res/drawable/ic_tab_photos.xml | 22 ++ .../TabCompat/res/drawable/ic_tab_videos.xml | 22 ++ .../TabCompat/res/layout-v11/main.xml | 21 ++ .../training/TabCompat/res/layout/main.xml | 40 ++++ .../training/TabCompat/res/values/strings.xml | 22 ++ .../android/tabcompat/MainActivity.java | 129 +++++++++++ .../android/tabcompat/lib/CompatTab.java | 52 +++++ .../tabcompat/lib/CompatTabEclair.java | 84 ++++++++ .../tabcompat/lib/CompatTabHoneycomb.java | 116 ++++++++++ .../tabcompat/lib/CompatTabListener.java | 42 ++++ .../tabcompat/lib/TabCompatActivity.java | 63 ++++++ .../android/tabcompat/lib/TabHelper.java | 80 +++++++ .../tabcompat/lib/TabHelperEclair.java | 156 ++++++++++++++ .../tabcompat/lib/TabHelperHoneycomb.java | 82 +++++++ 49 files changed, 1517 insertions(+) create mode 100755 samples/training/EffectiveNavigation/AndroidManifest.xml create mode 100644 samples/training/EffectiveNavigation/res/drawable-hdpi/ic_launcher.png create mode 100644 samples/training/EffectiveNavigation/res/drawable-ldpi/ic_launcher.png create mode 100644 samples/training/EffectiveNavigation/res/drawable-mdpi/ic_launcher.png create mode 100644 samples/training/EffectiveNavigation/res/drawable-xhdpi/ic_launcher.png create mode 100755 samples/training/EffectiveNavigation/res/layout/activity_collection_demo.xml create mode 100755 samples/training/EffectiveNavigation/res/layout/activity_main.xml create mode 100644 samples/training/EffectiveNavigation/res/layout/fragment_collection_object.xml create mode 100644 samples/training/EffectiveNavigation/res/layout/fragment_section_dummy.xml create mode 100644 samples/training/EffectiveNavigation/res/layout/fragment_section_launchpad.xml create mode 100755 samples/training/EffectiveNavigation/res/values/strings.xml create mode 100755 samples/training/EffectiveNavigation/src/com/example/android/effectivenavigation/CollectionDemoActivity.java create mode 100755 samples/training/EffectiveNavigation/src/com/example/android/effectivenavigation/MainActivity.java create mode 100644 samples/training/TabCompat/AndroidManifest.xml create mode 100644 samples/training/TabCompat/res/drawable-hdpi-v11/ic_tab_photos.png create mode 100644 samples/training/TabCompat/res/drawable-hdpi-v11/ic_tab_videos.png create mode 100644 samples/training/TabCompat/res/drawable-hdpi/ic_launcher.png create mode 100755 samples/training/TabCompat/res/drawable-hdpi/ic_tab_photos_selected.png create mode 100755 samples/training/TabCompat/res/drawable-hdpi/ic_tab_photos_unselected.png create mode 100755 samples/training/TabCompat/res/drawable-hdpi/ic_tab_videos_selected.png create mode 100755 samples/training/TabCompat/res/drawable-hdpi/ic_tab_videos_unselected.png create mode 100644 samples/training/TabCompat/res/drawable-mdpi-v11/ic_tab_photos.png create mode 100644 samples/training/TabCompat/res/drawable-mdpi-v11/ic_tab_videos.png create mode 100644 samples/training/TabCompat/res/drawable-mdpi/ic_launcher.png create mode 100755 samples/training/TabCompat/res/drawable-mdpi/ic_tab_photos_selected.png create mode 100755 samples/training/TabCompat/res/drawable-mdpi/ic_tab_photos_unselected.png create mode 100755 samples/training/TabCompat/res/drawable-mdpi/ic_tab_videos_selected.png create mode 100755 samples/training/TabCompat/res/drawable-mdpi/ic_tab_videos_unselected.png create mode 100644 samples/training/TabCompat/res/drawable-xhdpi-v11/ic_tab_photos.png create mode 100644 samples/training/TabCompat/res/drawable-xhdpi-v11/ic_tab_videos.png create mode 100644 samples/training/TabCompat/res/drawable-xhdpi/ic_launcher.png create mode 100755 samples/training/TabCompat/res/drawable-xhdpi/ic_tab_photos_selected.png create mode 100755 samples/training/TabCompat/res/drawable-xhdpi/ic_tab_photos_unselected.png create mode 100755 samples/training/TabCompat/res/drawable-xhdpi/ic_tab_videos_selected.png create mode 100755 samples/training/TabCompat/res/drawable-xhdpi/ic_tab_videos_unselected.png create mode 100755 samples/training/TabCompat/res/drawable/ic_tab_photos.xml create mode 100755 samples/training/TabCompat/res/drawable/ic_tab_videos.xml create mode 100644 samples/training/TabCompat/res/layout-v11/main.xml create mode 100644 samples/training/TabCompat/res/layout/main.xml create mode 100644 samples/training/TabCompat/res/values/strings.xml create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/MainActivity.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/CompatTab.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/CompatTabEclair.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/CompatTabHoneycomb.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/CompatTabListener.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/TabCompatActivity.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/TabHelper.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/TabHelperEclair.java create mode 100644 samples/training/TabCompat/src/com/example/android/tabcompat/lib/TabHelperHoneycomb.java diff --git a/samples/training/EffectiveNavigation/AndroidManifest.xml b/samples/training/EffectiveNavigation/AndroidManifest.xml new file mode 100755 index 000000000..b1e4e11f3 --- /dev/null +++ b/samples/training/EffectiveNavigation/AndroidManifest.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/samples/training/EffectiveNavigation/res/drawable-hdpi/ic_launcher.png b/samples/training/EffectiveNavigation/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d2dae4c4875e80261289206890c174a275c7e36e GIT binary patch literal 4398 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 literal 0 HcmV?d00001 diff --git a/samples/training/EffectiveNavigation/res/drawable-mdpi/ic_launcher.png b/samples/training/EffectiveNavigation/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..66253457d3863f4acc297bfe85a71d1c72f8941d GIT binary patch literal 2911 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 + + + + + + + diff --git a/samples/training/EffectiveNavigation/res/layout/activity_main.xml b/samples/training/EffectiveNavigation/res/layout/activity_main.xml new file mode 100755 index 000000000..339b592d5 --- /dev/null +++ b/samples/training/EffectiveNavigation/res/layout/activity_main.xml @@ -0,0 +1,20 @@ + + + diff --git a/samples/training/EffectiveNavigation/res/layout/fragment_collection_object.xml b/samples/training/EffectiveNavigation/res/layout/fragment_collection_object.xml new file mode 100644 index 000000000..945bf066b --- /dev/null +++ b/samples/training/EffectiveNavigation/res/layout/fragment_collection_object.xml @@ -0,0 +1,23 @@ + + + diff --git a/samples/training/EffectiveNavigation/res/layout/fragment_section_dummy.xml b/samples/training/EffectiveNavigation/res/layout/fragment_section_dummy.xml new file mode 100644 index 000000000..1c678859e --- /dev/null +++ b/samples/training/EffectiveNavigation/res/layout/fragment_section_dummy.xml @@ -0,0 +1,23 @@ + + + diff --git a/samples/training/EffectiveNavigation/res/layout/fragment_section_launchpad.xml b/samples/training/EffectiveNavigation/res/layout/fragment_section_launchpad.xml new file mode 100644 index 000000000..186b2f2a9 --- /dev/null +++ b/samples/training/EffectiveNavigation/res/layout/fragment_section_launchpad.xml @@ -0,0 +1,39 @@ + + + + + + +