From 2f04883ff880966d63d1aa4a1c7b05e497cfcc58 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 16 Jun 2011 13:31:57 -0700 Subject: SDK only: integrate new sample code, deprecating along the way. The new support library features and sample code for switching between fragments using a TabHost now eliminates the utility of the TabActivity class, so deprecate it. This also means there is no longer any use in ActivityGroup or LocalActivityManager. Yay. Also fix up things so the new support API demos are included in the documentation. Change-Id: I4f073b82787f32560ba1fa5b6a23746ecc8aecdc --- Android.mk | 6 +++++- api/current.xml | 6 +++--- core/java/android/app/ActionBar.java | 6 ++++++ core/java/android/app/ActivityGroup.java | 5 +++++ core/java/android/app/LocalActivityManager.java | 7 ++++++- core/java/android/app/TabActivity.java | 28 ++++++++++++++++++++++++- docs/html/resources/resources-data.js | 20 ++++++++++++++++++ 7 files changed, 72 insertions(+), 6 deletions(-) diff --git a/Android.mk b/Android.mk index 24c0dc4..21307eb 100644 --- a/Android.mk +++ b/Android.mk @@ -390,8 +390,12 @@ web_docs_sample_code_flags := \ resources/samples/AccessibilityService "Accessibility Service" \ -samplecode $(sample_dir)/AccelerometerPlay \ resources/samples/AccelerometerPlay "Accelerometer Play" \ - -samplecode $(sample_dir)/ApiDemos \ + -samplecode $(sample_dir)/ApiDemos \ resources/samples/ApiDemos "API Demos" \ + -samplecode $(sample_dir)/Support4Demos \ + resources/samples/Support4Demos "API 4+ Support Demos" \ + -samplecode $(sample_dir)/Support13Demos \ + resources/samples/Support13Demos "API 13+ Support Demos" \ -samplecode $(sample_dir)/BackupRestore \ resources/samples/BackupRestore "Backup and Restore" \ -samplecode $(sample_dir)/BluetoothChat \ diff --git a/api/current.xml b/api/current.xml index def9281..8a924ab 100644 --- a/api/current.xml +++ b/api/current.xml @@ -25290,7 +25290,7 @@ abstract="false" static="false" final="false" - deprecated="not deprecated" + deprecated="deprecated" visibility="public" > Very often tabs will be used to switch between {@link Fragment} + * objects. Here is a typical implementation of such tabs:

+ * + * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentTabs.java + * complete} + * * @return A new Tab * * @see #addTab(Tab) diff --git a/core/java/android/app/ActivityGroup.java b/core/java/android/app/ActivityGroup.java index f1216f9..9444113 100644 --- a/core/java/android/app/ActivityGroup.java +++ b/core/java/android/app/ActivityGroup.java @@ -23,8 +23,13 @@ import android.os.Bundle; import android.util.Log; /** + * @deprecated Use the new {@link Fragment} and {@link FragmentManager} APIs + * instead; these are also + * available on older platforms through the Android compatibility package. + * * A screen that contains and runs multiple embedded activities. */ +@Deprecated public class ActivityGroup extends Activity { private static final String TAG = "ActivityGroup"; private static final String STATES_KEY = "android:states"; diff --git a/core/java/android/app/LocalActivityManager.java b/core/java/android/app/LocalActivityManager.java index c958e1b..0a6b804 100644 --- a/core/java/android/app/LocalActivityManager.java +++ b/core/java/android/app/LocalActivityManager.java @@ -28,12 +28,17 @@ import java.util.HashMap; import java.util.Map; /** - * Helper class for managing multiple running embedded activities in the same + * @deprecated Use the new {@link Fragment} and {@link FragmentManager} APIs + * instead; these are also + * available on older platforms through the Android compatibility package. + * + *

Helper class for managing multiple running embedded activities in the same * process. This class is not normally used directly, but rather created for * you as part of the {@link android.app.ActivityGroup} implementation. * * @see ActivityGroup */ +@Deprecated public class LocalActivityManager { private static final String TAG = "LocalActivityManager"; private static final boolean localLOGV = false; diff --git a/core/java/android/app/TabActivity.java b/core/java/android/app/TabActivity.java index 033fa0c..0fd0c2c 100644 --- a/core/java/android/app/TabActivity.java +++ b/core/java/android/app/TabActivity.java @@ -23,8 +23,34 @@ import android.widget.TabWidget; import android.widget.TextView; /** - * An activity that contains and runs multiple embedded activities or views. + * @deprecated New applications should use Fragments instead of this class; + * to continue to run on older devices, you can use the v4 support library + * which provides a version of the Fragment API that is compatible down to + * {@link android.os.Build.VERSION_CODES#DONUT}. + * + *

For apps developing against {@link android.os.Build.VERSION_CODES#HONEYCOMB} + * or later, tabs are typically presented in the UI using the new + * {@link ActionBar#newTab() ActionBar.newTab()} and + * related APIs for placing tabs within their action bar area.

+ * + *

A replacement for TabActivity can also be implemented by directly using + * TabHost. You will need to define a layout that correctly uses a TabHost + * with a TabWidget as well as an area in which to display your tab content. + * A typical example would be:

+ * + * {@sample development/samples/Support4Demos/res/layout/fragment_tabs.xml complete} + * + *

The implementation needs to take over responsibility for switching + * the shown content when the user switches between tabs. + * + * {@sample development/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentTabs.java + * complete} + * + *

Also see the + * Fragment Tabs Pager sample for an example of using the support library's ViewPager to + * allow the user to swipe the content to switch between tabs.

*/ +@Deprecated public class TabActivity extends ActivityGroup { private TabHost mTabHost; private String mDefaultTab = null; diff --git a/docs/html/resources/resources-data.js b/docs/html/resources/resources-data.js index eeb62ed..683b062 100644 --- a/docs/html/resources/resources-data.js +++ b/docs/html/resources/resources-data.js @@ -407,6 +407,26 @@ var ANDROID_RESOURCES = [ } }, { + tags: ['sample', 'layout', 'ui', 'fragment', 'loader', 'new'], + path: 'samples/Support4Demos/index.html', + title: { + en: 'API 4+ Support Demos' + }, + description: { + en: 'A variety of small applications that demonstrate the use of the helper classes in the Android API 4+ Support Library (classes which work down to API level 4 or version 1.6 of the platform).' + } + }, + { + tags: ['sample', 'layout', 'ui', 'new'], + path: 'samples/Support13Demos/index.html', + title: { + en: 'API 13+ Support Demos' + }, + description: { + en: 'A variety of small applications that demonstrate the use of the helper classes in the Android API 13+ Support Library (classes which work down to API level 13 or version 3.2 of the platform).' + } + }, + { tags: ['sample', 'data', 'newfeature', 'accountsync'], path: 'samples/BackupRestore/index.html', title: { -- cgit v1.1