OSDN Git Service

Merge change 8840 into donut
authorAndroid (Google) Code Review <android-gerrit@google.com>
Tue, 28 Jul 2009 20:11:13 +0000 (13:11 -0700)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Tue, 28 Jul 2009 20:11:13 +0000 (13:11 -0700)
* changes:
  Add padding to height of AutoCompleteTextView drop-down.

16 files changed:
api/current.xml
core/java/android/accessibilityservice/AccessibilityService.java
core/java/android/app/PendingIntent.java
core/java/android/content/Context.java
core/java/android/content/ContextWrapper.java
core/java/android/content/Intent.java
core/java/android/content/IntentSender.java
core/java/android/content/pm/ApplicationInfo.java
core/java/android/gesture/GestureLibrary.java
core/java/android/widget/RelativeLayout.java
core/res/AndroidManifest.xml
core/res/res/drawable/expander_ic_maximized.9.png
core/res/res/drawable/expander_ic_minimized.9.png
libs/surfaceflinger/SurfaceFlinger.cpp
libs/surfaceflinger/SurfaceFlinger.h
test-runner/android/test/mock/MockContext.java

index dd13db5..0428047 100644 (file)
  visibility="public"
 >
 </field>
-<field name="SHUTDOWN"
- type="java.lang.String"
- transient="false"
- volatile="false"
- value="&quot;android.permission.SHUTDOWN&quot;"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="SIGNAL_PERSISTENT_PROCESSES"
  type="java.lang.String"
  transient="false"
  visibility="public"
 >
 </field>
-<field name="STOP_APP_SWITCHES"
- type="java.lang.String"
- transient="false"
- volatile="false"
- value="&quot;android.permission.STOP_APP_SWITCHES&quot;"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="SUBSCRIBED_FEEDS_READ"
  type="java.lang.String"
  transient="false"
  visibility="public"
 >
 </field>
-<field name="BACKUP_SERVICE"
- type="java.lang.String"
- transient="false"
- volatile="false"
- value="&quot;backup&quot;"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="BIND_AUTO_CREATE"
  type="int"
  transient="false"
 <parameter name="mode" type="int">
 </parameter>
 </method>
-<method name="getSharedPrefsFile"
- return="java.io.File"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="name" type="java.lang.String">
-</parameter>
-</method>
 <method name="getSystemService"
  return="java.lang.Object"
  abstract="false"
 </parameter>
 </method>
 </interface>
-<interface name="IIntentReceiver"
- abstract="true"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<implements name="android.os.IInterface">
-</implements>
-<method name="performReceive"
- return="void"
- abstract="true"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="intent" type="android.content.Intent">
-</parameter>
-<parameter name="resultCode" type="int">
-</parameter>
-<parameter name="data" type="java.lang.String">
-</parameter>
-<parameter name="extras" type="android.os.Bundle">
-</parameter>
-<parameter name="ordered" type="boolean">
-</parameter>
-<exception name="RemoteException" type="android.os.RemoteException">
-</exception>
-</method>
-</interface>
-<interface name="IIntentSender"
- abstract="true"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<implements name="android.os.IInterface">
-</implements>
-<method name="send"
- return="int"
- abstract="true"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="code" type="int">
-</parameter>
-<parameter name="intent" type="android.content.Intent">
-</parameter>
-<parameter name="resolvedType" type="java.lang.String">
-</parameter>
-<parameter name="finishedReceiver" type="android.content.IIntentReceiver">
-</parameter>
-<exception name="RemoteException" type="android.os.RemoteException">
-</exception>
-</method>
-</interface>
 <class name="Intent"
  extends="java.lang.Object"
  abstract="false"
 >
 <implements name="android.os.Parcelable">
 </implements>
-<constructor name="IntentSender"
- type="android.content.IntentSender"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="protected"
->
-<parameter name="target" type="android.content.IIntentSender">
-</parameter>
-</constructor>
-<constructor name="IntentSender"
- type="android.content.IntentSender"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="protected"
->
-<parameter name="target" type="android.os.IBinder">
-</parameter>
-</constructor>
 <method name="describeContents"
  return="int"
  abstract="false"
 <parameter name="entryName" type="java.lang.String">
 </parameter>
 </method>
-<method name="getLearner"
- return="android.gesture.Learner"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="getOrientationStyle"
  return="int"
  abstract="false"
 >
 </field>
 </class>
-<class name="Learner"
- extends="java.lang.Object"
- abstract="true"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility=""
->
-</class>
 <class name="OrientedBoundingBox"
  extends="java.lang.Object"
  abstract="false"
 <parameter name="mode" type="int">
 </parameter>
 </method>
-<method name="getSharedPrefsFile"
- return="java.io.File"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="name" type="java.lang.String">
-</parameter>
-</method>
 <method name="getSystemService"
  return="java.lang.Object"
  abstract="false"
index a3456c7..79bd6e7 100644 (file)
@@ -163,6 +163,10 @@ public abstract class AccessibilityService extends Service {
         }
     }
 
+    /**
+     * Implement to return the implementation of the internal accessibility
+     * service interface.  Subclasses should not override.
+     */
     @Override
     public final IBinder onBind(Intent intent) {
         return new IEventListenerWrapper(this);
index f9c38f9..f7479bc 100644 (file)
@@ -273,11 +273,6 @@ public final class PendingIntent implements Parcelable {
         return null;
     }
 
-    private class IntentSenderWrapper extends IntentSender {
-        protected IntentSenderWrapper(IIntentSender target) {
-            super(target);
-        }
-    }
     /**
      * Retrieve a IntentSender object that wraps the existing sender of the PendingIntent
      *
@@ -285,7 +280,7 @@ public final class PendingIntent implements Parcelable {
      *
      */
     public IntentSender getIntentSender() {
-        return new IntentSenderWrapper(mTarget);
+        return new IntentSender(mTarget);
     }
 
     /**
index 9e37ae4..25b5de3 100644 (file)
@@ -1283,7 +1283,8 @@ public abstract class Context {
      * Use with {@link #getSystemService} to retrieve an
      * {@blink android.backup.IBackupManager IBackupManager} for communicating
      * with the backup mechanism.
-     *
+     * @hide
+     * 
      * @see #getSystemService
      */
     public static final String BACKUP_SERVICE = "backup";
index 45a082a..15612ce 100644 (file)
@@ -135,6 +135,7 @@ public class ContextWrapper extends Context {
         return mBase.getPackageCodePath();
     }
 
+    /** @hide */
     @Override
     public File getSharedPrefsFile(String name) {
         return mBase.getSharedPrefsFile(name);
index a5f298c..29ec71e 100644 (file)
@@ -2390,7 +2390,7 @@ public class Intent implements Parcelable {
     /**
      * Create an intent from a URI.  This URI may encode the action,
      * category, and other intent fields, if it was returned by
-     * {@link #toUri}..  If the Intent was not generate by toUri(), its data
+     * {@link #toUri}.  If the Intent was not generate by toUri(), its data
      * will be the entire URI and its action will be ACTION_VIEW.
      *
      * <p>The URI given here must not be relative -- that is, it must include
index 4da49d9..0e4d984 100644 (file)
@@ -52,6 +52,9 @@ import android.util.AndroidException;
  * categories, and components, and same flags), it will receive a IntentSender
  * representing the same token if that is still valid.
  *
+ * <p>Instances of this class can not be made directly, but rather must be
+ * created from an existing {@link android.app.PendingIntent} with
+ * {@link android.app.PendingIntent#getIntentSender() PendingIntent.getIntentSender()}.
  */
 public class IntentSender implements Parcelable {
     private final IIntentSender mTarget;
@@ -245,11 +248,13 @@ public class IntentSender implements Parcelable {
         return b != null ? new IntentSender(b) : null;
     }
 
-    protected IntentSender(IIntentSender target) {
+    /** @hide */
+    public IntentSender(IIntentSender target) {
         mTarget = target;
     }
 
-    protected IntentSender(IBinder target) {
+    /** @hide */
+    public IntentSender(IBinder target) {
         mTarget = IIntentSender.Stub.asInterface(target);
     }
 }
index 9ca11cd..0a42a6f 100644 (file)
@@ -131,8 +131,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
     public static final int FLAG_UPDATED_SYSTEM_APP = 1<<7;
     
     /**
-     * Value for {@link #flags}: this is set of the application has set
-     * its android:targetSdkVersion to something >= the current SDK version.
+     * Value for {@link #flags}: this is set of the application has specified
+     * {@link android.R.styleable#AndroidManifestApplication_testOnly
+     * android:testOnly} to be true.
      */
     public static final int FLAG_TEST_ONLY = 1<<8;
 
index a29c2c8..ec2e78c 100644 (file)
@@ -35,6 +35,7 @@ public abstract class GestureLibrary {
         return false;
     }
 
+    /** @hide */
     public Learner getLearner() {
         return mStore.getLearner();
     }
index 24c0e2a..e19a93d 100644 (file)
@@ -432,7 +432,7 @@ public class RelativeLayout extends ViewGroup {
             width = resolveSize(width, widthMeasureSpec);
 
             if (offsetHorizontalAxis) {
-                    for (int i = 0; i < count; i++) {
+                for (int i = 0; i < count; i++) {
                     View child = getChildAt(i);
                     if (child.getVisibility() != GONE) {
                         LayoutParams params = (LayoutParams) child.getLayoutParams();
@@ -486,10 +486,14 @@ public class RelativeLayout extends ViewGroup {
                     View child = getChildAt(i);
                     if (child.getVisibility() != GONE && child != ignore) {
                         LayoutParams params = (LayoutParams) child.getLayoutParams();
-                        params.mLeft += horizontalOffset;
-                        params.mRight += horizontalOffset;
-                        params.mTop += verticalOffset;
-                        params.mBottom += verticalOffset;
+                        if (horizontalGravity) {
+                            params.mLeft += horizontalOffset;
+                            params.mRight += horizontalOffset;
+                        }
+                        if (verticalGravity) {
+                            params.mTop += verticalOffset;
+                            params.mBottom += verticalOffset;
+                        }
                     }
                 }
             }
index e16db61..4558660 100644 (file)
         android:protectionLevel="signature" />
 
     <!-- Allows an application to call the activity manager shutdown() API
-         to put the higher-level system there into a shutdown state. -->
+         to put the higher-level system there into a shutdown state.
+         @hide -->
     <permission android:name="android.permission.SHUTDOWN"
         android:label="@string/permlab_shutdown"
         android:description="@string/permdesc_shutdown"
     <!-- Allows an application to tell the activity manager to temporarily
          stop application switches, putting it into a special mode that
          prevents applications from immediately switching away from some
-         critical UI such as the home screen. -->
+         critical UI such as the home screen.
+         @hide -->
     <permission android:name="android.permission.STOP_APP_SWITCHES"
         android:label="@string/permlab_stopAppSwitches"
         android:description="@string/permdesc_stopAppSwitches"
index 778255a..465cabd 100644 (file)
Binary files a/core/res/res/drawable/expander_ic_maximized.9.png and b/core/res/res/drawable/expander_ic_maximized.9.png differ
index 5235c18..9967ecb 100644 (file)
Binary files a/core/res/res/drawable/expander_ic_minimized.9.png and b/core/res/res/drawable/expander_ic_minimized.9.png differ
index fb25663..97dfecc 100644 (file)
@@ -691,9 +691,14 @@ void SurfaceFlinger::handleTransaction(uint32_t transactionFlags)
 
         // some layers might have been removed, so
         // we need to update the regions they're exposing.
-        size_t c = mRemovedLayers.size();
+        const SortedVector<LayerBase*>& removedLayers(mRemovedLayers);
+        size_t c = removedLayers.size();
         if (c) {
             mVisibleRegionsDirty = true;
+            while (c--) {
+                mDirtyRegionRemovedLayer.orSelf(
+                        removedLayers[c]->visibleRegionScreen);
+            }
         }
 
         const LayerVector& currentLayers = mCurrentState.layersSortedByZ;
@@ -733,17 +738,15 @@ void SurfaceFlinger::computeVisibleRegions(
         layer->validateVisibility(planeTransform);
 
         // start with the whole surface at its current location
-        const Layer::State& s = layer->drawingState();
-        const Rect bounds(layer->visibleBounds());
+        const Layer::State& s(layer->drawingState());
 
         // handle hidden surfaces by setting the visible region to empty
         Region opaqueRegion;
         Region visibleRegion;
         Region coveredRegion;
-        if (UNLIKELY((s.flags & ISurfaceComposer::eLayerHidden) || !s.alpha)) {
-            visibleRegion.clear();
-        } else {
+        if (LIKELY(!(s.flags & ISurfaceComposer::eLayerHidden) && s.alpha)) {
             const bool translucent = layer->needsBlending();
+            const Rect bounds(layer->visibleBounds());
             visibleRegion.set(bounds);
             coveredRegion = visibleRegion;
 
@@ -790,12 +793,16 @@ void SurfaceFlinger::computeVisibleRegions(
         layer->setVisibleRegion(visibleRegion);
         layer->setCoveredRegion(coveredRegion);
 
-        // If a secure layer is partially visible, lockdown the screen!
+        // If a secure layer is partially visible, lock-down the screen!
         if (layer->isSecure() && !visibleRegion.isEmpty()) {
             secureFrameBuffer = true;
         }
     }
 
+    // invalidate the areas where a layer was removed
+    dirtyRegion.orSelf(mDirtyRegionRemovedLayer);
+    mDirtyRegionRemovedLayer.clear();
+
     mSecureFrameBuffer = secureFrameBuffer;
     opaqueRegion = aboveOpaqueLayers;
 }
index 15913f2..0d63e1d 100644 (file)
@@ -351,6 +351,7 @@ private:
                 // Can only accessed from the main thread, these members
                 // don't need synchronization
                 Region                      mDirtyRegion;
+                Region                      mDirtyRegionRemovedLayer;
                 Region                      mInvalidRegion;
                 Region                      mWormholeRegion;
                 Client*                     mLastScheduledBroadcast;
index b83a44d..9fb1e61 100644 (file)
@@ -110,6 +110,7 @@ public class MockContext extends Context {
         throw new UnsupportedOperationException();
     }
 
+    /** @hide */
     @Override
     public File getSharedPrefsFile(String name) {
         throw new UnsupportedOperationException();