Merge "Argh forget to include my final part of the change." into honeycomb
diff --git a/api/current.xml b/api/current.xml
index b7d7b3a..0122b83 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -53808,6 +53808,17 @@
visibility="public"
>
</field>
+<field name="EXTRA_LOCAL_ONLY"
+ type="java.lang.String"
+ transient="false"
+ volatile="false"
+ value=""android.intent.extra.LOCAL_ONLY""
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
<field name="EXTRA_PHONE_NUMBER"
type="java.lang.String"
transient="false"
diff --git a/core/java/android/accounts/GrantCredentialsPermissionActivity.java b/core/java/android/accounts/GrantCredentialsPermissionActivity.java
index 83e4fd9..89eee6d 100644
--- a/core/java/android/accounts/GrantCredentialsPermissionActivity.java
+++ b/core/java/android/accounts/GrantCredentialsPermissionActivity.java
@@ -51,9 +51,9 @@
private final AccountManagerService accountManagerService = AccountManagerService.getSingleton();
protected void onCreate(Bundle savedInstanceState) {
- requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.grant_credentials_permission);
+ setTitle(R.string.grant_permissions_header_text);
mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
diff --git a/core/java/android/bluetooth/BluetoothHeadset.java b/core/java/android/bluetooth/BluetoothHeadset.java
index 2959fc0..a7e4518 100644
--- a/core/java/android/bluetooth/BluetoothHeadset.java
+++ b/core/java/android/bluetooth/BluetoothHeadset.java
@@ -626,18 +626,21 @@
}
/**
- * Initiates a Virtual Voice Call to the handsfree device (if connected).
- * Allows the handsfree device to be used for routing non-cellular call audio
+ * Initiates a SCO channel connection with the headset (if connected).
+ * Also initiates a virtual voice call for Handsfree devices as many devices
+ * do not accept SCO audio without a call.
+ * This API allows the handsfree device to be used for routing non-cellular
+ * call audio.
*
* @param device Remote Bluetooth Device
* @return true if successful, false if there was some error.
* @hide
*/
- public boolean startVirtualVoiceCall(BluetoothDevice device) {
- if (DBG) log("startVirtualVoiceCall()");
+ public boolean startScoUsingVirtualVoiceCall(BluetoothDevice device) {
+ if (DBG) log("startScoUsingVirtualVoiceCall()");
if (mService != null && isEnabled() && isValidDevice(device)) {
try {
- return mService.startVirtualVoiceCall(device);
+ return mService.startScoUsingVirtualVoiceCall(device);
} catch (RemoteException e) {
Log.e(TAG, e.toString());
}
@@ -649,17 +652,18 @@
}
/**
- * Terminates an ongoing Virtual Voice Call to the handsfree device (if connected).
+ * Terminates an ongoing SCO connection and the associated virtual
+ * call.
*
* @param device Remote Bluetooth Device
* @return true if successful, false if there was some error.
* @hide
*/
- public boolean stopVirtualVoiceCall(BluetoothDevice device) {
- if (DBG) log("stopVirtualVoiceCall()");
+ public boolean stopScoUsingVirtualVoiceCall(BluetoothDevice device) {
+ if (DBG) log("stopScoUsingVirtualVoiceCall()");
if (mService != null && isEnabled() && isValidDevice(device)) {
try {
- return mService.stopVirtualVoiceCall(device);
+ return mService.stopScoUsingVirtualVoiceCall(device);
} catch (RemoteException e) {
Log.e(TAG, e.toString());
}
diff --git a/core/java/android/bluetooth/IBluetoothHeadset.aidl b/core/java/android/bluetooth/IBluetoothHeadset.aidl
index 3c6cf77..41f63b2 100644
--- a/core/java/android/bluetooth/IBluetoothHeadset.aidl
+++ b/core/java/android/bluetooth/IBluetoothHeadset.aidl
@@ -48,8 +48,8 @@
boolean setAudioState(in BluetoothDevice device, int state);
int getAudioState(in BluetoothDevice device);
- boolean startVirtualVoiceCall(in BluetoothDevice device);
- boolean stopVirtualVoiceCall(in BluetoothDevice device);
+ boolean startScoUsingVirtualVoiceCall(in BluetoothDevice device);
+ boolean stopScoUsingVirtualVoiceCall(in BluetoothDevice device);
void sendAtCommand(in BluetoothDevice device, String urc);
}
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index ca5ff24..6e3663e 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -859,11 +859,19 @@
* only pick from data that can be represented as a stream. This is
* accomplished by requiring the {@link #CATEGORY_OPENABLE} in the Intent.
* <p>
+ * Callers can optionally specify {@link #EXTRA_LOCAL_ONLY} to request that
+ * the launched content chooser only return results representing data that
+ * is locally available on the device. For example, if this extra is set
+ * to true then an image picker should not show any pictures that are available
+ * from a remote server but not already on the local device (thus requiring
+ * they be downloaded when opened).
+ * <p>
* Input: {@link #getType} is the desired MIME type to retrieve. Note
* that no URI is supplied in the intent, as there are no constraints on
* where the returned data originally comes from. You may also include the
* {@link #CATEGORY_OPENABLE} if you can only accept data that can be
- * opened as a stream.
+ * opened as a stream. You may use {@link #EXTRA_LOCAL_ONLY} to limit content
+ * selection to local data.
* <p>
* Output: The URI of the item that was picked. This must be a content:
* URI so that any receiver can access it.
@@ -2397,6 +2405,18 @@
public static final String EXTRA_CLIENT_INTENT =
"android.intent.extra.client_intent";
+ /**
+ * Used to indicate that a {@link #ACTION_GET_CONTENT} intent should only return
+ * data that is on the local device. This is a boolean extra; the default
+ * is false. If true, an implementation of ACTION_GET_CONTENT should only allow
+ * the user to select media that is already on the device, not requiring it
+ * be downloaded from a remote service when opened. Another way to look
+ * at it is that such content should generally have a "_data" column to the
+ * path of the content on local external storage.
+ */
+ public static final String EXTRA_LOCAL_ONLY =
+ "android.intent.extra.LOCAL_ONLY";
+
// ---------------------------------------------------------------------
// ---------------------------------------------------------------------
// Intent flags (see mFlags variable).
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
index 52b0643..44887ed 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -546,7 +546,8 @@
sizeChanged = true;
mCurHeight = h;
}
-
+
+ mSurfaceHolder.setSurfaceFrameSize(w, h);
mSurfaceHolder.mSurfaceLock.unlock();
if (!mSurfaceHolder.mSurface.isValid()) {
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java
index b6aa03a..403f20e 100644
--- a/core/java/android/text/DynamicLayout.java
+++ b/core/java/android/text/DynamicLayout.java
@@ -341,55 +341,47 @@
}
}
- private void dump(boolean show) {
- int n = getLineCount();
-
- for (int i = 0; i < n; i++) {
- System.out.print("line " + i + ": " + getLineStart(i) + " to " + getLineEnd(i) + " ");
-
- if (show) {
- System.out.print(getText().subSequence(getLineStart(i),
- getLineEnd(i)));
- }
-
- System.out.println("");
- }
-
- System.out.println("");
- }
-
+ @Override
public int getLineCount() {
return mInts.size() - 1;
}
+ @Override
public int getLineTop(int line) {
return mInts.getValue(line, TOP);
}
+ @Override
public int getLineDescent(int line) {
return mInts.getValue(line, DESCENT);
}
+ @Override
public int getLineStart(int line) {
return mInts.getValue(line, START) & START_MASK;
}
+ @Override
public boolean getLineContainsTab(int line) {
return (mInts.getValue(line, TAB) & TAB_MASK) != 0;
}
+ @Override
public int getParagraphDirection(int line) {
return mInts.getValue(line, DIR) >> DIR_SHIFT;
}
+ @Override
public final Directions getLineDirections(int line) {
return mObjects.getValue(line, 0);
}
+ @Override
public int getTopPadding() {
return mTopPadding;
}
+ @Override
public int getBottomPadding() {
return mBottomPadding;
}
@@ -403,11 +395,11 @@
implements TextWatcher, SpanWatcher
{
public ChangeWatcher(DynamicLayout layout) {
- mLayout = new WeakReference(layout);
+ mLayout = new WeakReference<DynamicLayout>(layout);
}
private void reflow(CharSequence s, int where, int before, int after) {
- DynamicLayout ml = (DynamicLayout) mLayout.get();
+ DynamicLayout ml = mLayout.get();
if (ml != null)
ml.reflow(s, where, before, after);
@@ -417,7 +409,6 @@
public void beforeTextChanged(CharSequence s,
int where, int before, int after) {
- ;
}
public void onTextChanged(CharSequence s,
@@ -426,7 +417,6 @@
}
public void afterTextChanged(Editable s) {
- ;
}
public void onSpanAdded(Spannable s, Object o, int start, int end) {
@@ -447,9 +437,10 @@
}
}
- private WeakReference mLayout;
+ private WeakReference<DynamicLayout> mLayout;
}
+ @Override
public int getEllipsisStart(int line) {
if (mEllipsizeAt == null) {
return 0;
@@ -458,6 +449,7 @@
return mInts.getValue(line, ELLIPSIS_START);
}
+ @Override
public int getEllipsisCount(int line) {
if (mEllipsizeAt == null) {
return 0;
@@ -494,7 +486,6 @@
private static final int COLUMNS_ELLIPSIZE = 5;
private static final int START_MASK = 0x1FFFFFFF;
- private static final int DIR_MASK = 0xC0000000;
private static final int DIR_SHIFT = 30;
private static final int TAB_MASK = 0x20000000;
diff --git a/core/java/android/text/method/LinkMovementMethod.java b/core/java/android/text/method/LinkMovementMethod.java
index 9e73371..aff233d 100644
--- a/core/java/android/text/method/LinkMovementMethod.java
+++ b/core/java/android/text/method/LinkMovementMethod.java
@@ -42,9 +42,9 @@
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
if (KeyEvent.metaStateHasNoModifiers(movementMetaState)) {
- if (event.getAction() == KeyEvent.ACTION_DOWN
- && event.getRepeatCount() == 0) {
- return action(CLICK, widget, buffer);
+ if (event.getAction() == KeyEvent.ACTION_DOWN &&
+ event.getRepeatCount() == 0 && action(CLICK, widget, buffer)) {
+ return true;
}
}
break;
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index 6451d47..8a95664 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -158,6 +158,7 @@
int mHeight = -1;
int mFormat = -1;
final Rect mSurfaceFrame = new Rect();
+ Rect mTmpDirty;
int mLastSurfaceWidth = -1, mLastSurfaceHeight = -1;
boolean mUpdateWindowNeeded;
boolean mReportDrawNeeded;
@@ -739,9 +740,16 @@
Canvas c = null;
if (!mDrawingStopped && mWindow != null) {
- Rect frame = dirty != null ? dirty : mSurfaceFrame;
+ if (dirty == null) {
+ if (mTmpDirty == null) {
+ mTmpDirty = new Rect();
+ }
+ mTmpDirty.set(mSurfaceFrame);
+ dirty = mTmpDirty;
+ }
+
try {
- c = mSurface.lockCanvas(frame);
+ c = mSurface.lockCanvas(dirty);
} catch (Exception e) {
Log.e(LOG_TAG, "Exception locking surface", e);
}
diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java
index edad494..0444496 100644
--- a/core/java/android/view/ViewConfiguration.java
+++ b/core/java/android/view/ViewConfiguration.java
@@ -167,7 +167,7 @@
/**
* Max distance to overfling for edge effects
*/
- private static final int OVERFLING_DISTANCE = 12;
+ private static final int OVERFLING_DISTANCE = 6;
private final int mEdgeSlop;
private final int mFadingEdgeLength;
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java
index 19d7811..ca19da2 100644
--- a/core/java/android/view/ViewRoot.java
+++ b/core/java/android/view/ViewRoot.java
@@ -893,7 +893,7 @@
}
}
- if (attachInfo.mRecomputeGlobalAttributes) {
+ if (attachInfo.mRecomputeGlobalAttributes && host.mAttachInfo != null) {
//Log.i(TAG, "Computing view hierarchy attributes!");
attachInfo.mRecomputeGlobalAttributes = false;
boolean oldScreenOn = attachInfo.mKeepScreenOn;
@@ -1082,6 +1082,7 @@
//mSurfaceHolder.mSurface.copyFrom(mSurface);
mSurfaceHolder.mSurface = mSurface;
}
+ mSurfaceHolder.setSurfaceFrameSize(mWidth, mHeight);
mSurfaceHolder.mSurfaceLock.unlock();
if (mSurface.isValid()) {
if (!hadSurface) {
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index b86366c..a37f12e 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -214,6 +214,8 @@
}
});
+ boolean focusable = true;
+
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SearchView, 0, 0);
setIconifiedByDefault(a.getBoolean(R.styleable.SearchView_iconifiedByDefault, true));
int maxWidth = a.getDimensionPixelSize(R.styleable.SearchView_maxWidth, -1);
@@ -226,6 +228,11 @@
}
a.recycle();
+ a = context.obtainStyledAttributes(attrs, R.styleable.View, 0, 0);
+ focusable = a.getBoolean(R.styleable.View_focusable, focusable);
+ a.recycle();
+ setFocusable(focusable);
+
// Save voice intent for later queries/launching
mVoiceWebSearchIntent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
mVoiceWebSearchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -259,10 +266,18 @@
/** @hide */
@Override
public boolean requestFocus(int direction, Rect previouslyFocusedRect) {
- if (mClearingFocus || isIconified()) return false;
- boolean result = mQueryTextView.requestFocus(direction, previouslyFocusedRect);
- if (result) updateViewsVisibility(mIconifiedByDefault);
- return result;
+ // Don't accept focus if in the middle of clearing focus
+ if (mClearingFocus) return false;
+ // Check if SearchView is focusable.
+ if (!isFocusable()) return false;
+ // If it is not iconified, then give the focus to the text field
+ if (!isIconified()) {
+ boolean result = mQueryTextView.requestFocus(direction, previouslyFocusedRect);
+ if (result) updateViewsVisibility(false);
+ return result;
+ } else {
+ return super.requestFocus(direction, previouslyFocusedRect);
+ }
}
/** @hide */
@@ -527,7 +542,6 @@
updateCloseButton();
updateVoiceButton(!hasText);
updateSubmitArea();
- requestLayout();
}
private boolean hasVoiceSearch() {
@@ -580,7 +594,7 @@
private void setImeVisibility(boolean visible) {
InputMethodManager imm = (InputMethodManager)
- getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+ getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
// We made sure the IME was displayed, so also make sure it is closed
// when we go away.
@@ -903,8 +917,8 @@
}
private void onSearchClicked() {
- mQueryTextView.requestFocus();
updateViewsVisibility(false);
+ mQueryTextView.requestFocus();
setImeVisibility(true);
if (mOnSearchClickListener != null) {
mOnSearchClickListener.onClick(this);
diff --git a/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java b/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java
index 78688ee..595c634 100644
--- a/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java
+++ b/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java
@@ -88,9 +88,13 @@
class WallpaperObserver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
+ if (DEBUG) {
+ Log.d(TAG, "onReceive");
+ }
+
synchronized (mLock) {
updateWallpaperLocked();
- drawFrameLocked(true, false);
+ drawFrameLocked();
}
// Assume we are the only one using the wallpaper in this
@@ -101,6 +105,10 @@
@Override
public void onCreate(SurfaceHolder surfaceHolder) {
+ if (DEBUG) {
+ Log.d(TAG, "onCreate");
+ }
+
super.onCreate(surfaceHolder);
IntentFilter filter = new IntentFilter(Intent.ACTION_WALLPAPER_CHANGED);
mReceiver = new WallpaperObserver();
@@ -120,9 +128,18 @@
@Override
public void onVisibilityChanged(boolean visible) {
+ if (DEBUG) {
+ Log.d(TAG, "onVisibilityChanged: visible=" + visible);
+ }
+
synchronized (mLock) {
- mVisible = visible;
- drawFrameLocked(false, false);
+ if (mVisible != visible) {
+ if (DEBUG) {
+ Log.d(TAG, "Visibility changed to visible=" + visible);
+ }
+ mVisible = visible;
+ drawFrameLocked();
+ }
}
}
@@ -135,6 +152,12 @@
public void onOffsetsChanged(float xOffset, float yOffset,
float xOffsetStep, float yOffsetStep,
int xPixels, int yPixels) {
+ if (DEBUG) {
+ Log.d(TAG, "onOffsetsChanged: xOffset=" + xOffset + ", yOffset=" + yOffset
+ + ", xOffsetStep=" + xOffsetStep + ", yOffsetStep=" + yOffsetStep
+ + ", xPixels=" + xPixels + ", yPixels=" + yPixels);
+ }
+
synchronized (mLock) {
if (mXOffset != xOffset || mYOffset != yOffset) {
if (DEBUG) {
@@ -142,36 +165,27 @@
}
mXOffset = xOffset;
mYOffset = yOffset;
- drawFrameLocked(false, true);
- } else {
- drawFrameLocked(false, false);
+ mOffsetsChanged = true;
}
+ drawFrameLocked();
}
}
@Override
public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ if (DEBUG) {
+ Log.d(TAG, "onSurfaceChanged: width=" + width + ", height=" + height);
+ }
+
super.onSurfaceChanged(holder, format, width, height);
-
+
synchronized (mLock) {
- drawFrameLocked(true, false);
+ mRedrawNeeded = true;
+ drawFrameLocked();
}
}
- @Override
- public void onSurfaceCreated(SurfaceHolder holder) {
- super.onSurfaceCreated(holder);
- }
-
- @Override
- public void onSurfaceDestroyed(SurfaceHolder holder) {
- super.onSurfaceDestroyed(holder);
- }
-
- void drawFrameLocked(boolean redrawNeeded, boolean offsetsChanged) {
- mRedrawNeeded |= redrawNeeded;
- mOffsetsChanged |= offsetsChanged;
-
+ void drawFrameLocked() {
if (!mVisible) {
if (DEBUG) {
Log.d(TAG, "Suppressed drawFrame since wallpaper is not visible.");
diff --git a/core/java/com/android/internal/view/BaseSurfaceHolder.java b/core/java/com/android/internal/view/BaseSurfaceHolder.java
index 1e97cd6..f9f94be 100644
--- a/core/java/com/android/internal/view/BaseSurfaceHolder.java
+++ b/core/java/com/android/internal/view/BaseSurfaceHolder.java
@@ -49,6 +49,7 @@
int mType = -1;
final Rect mSurfaceFrame = new Rect();
+ Rect mTmpDirty;
public abstract void onUpdateSurface();
public abstract void onRelayoutContainer();
@@ -171,9 +172,16 @@
Canvas c = null;
if (onAllowLockCanvas()) {
- Rect frame = dirty != null ? dirty : mSurfaceFrame;
+ if (dirty == null) {
+ if (mTmpDirty == null) {
+ mTmpDirty = new Rect();
+ }
+ mTmpDirty.set(mSurfaceFrame);
+ dirty = mTmpDirty;
+ }
+
try {
- c = mSurface.lockCanvas(frame);
+ c = mSurface.lockCanvas(dirty);
} catch (Exception e) {
Log.e(TAG, "Exception locking surface", e);
}
@@ -215,4 +223,11 @@
public Rect getSurfaceFrame() {
return mSurfaceFrame;
}
+
+ public void setSurfaceFrameSize(int width, int height) {
+ mSurfaceFrame.top = 0;
+ mSurfaceFrame.left = 0;
+ mSurfaceFrame.right = width;
+ mSurfaceFrame.bottom = height;
+ }
};
diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
index b93fac4..1f93eac 100644
--- a/core/java/com/android/internal/view/menu/MenuPopupHelper.java
+++ b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
@@ -19,6 +19,7 @@
import com.android.internal.view.menu.MenuBuilder.MenuAdapter;
import android.content.Context;
+import android.os.Handler;
import android.util.DisplayMetrics;
import android.view.KeyEvent;
import android.view.MenuItem;
@@ -46,6 +47,8 @@
private boolean mOverflowOnly;
private ViewTreeObserver mTreeObserver;
+ private final Handler mHandler = new Handler();
+
public MenuPopupHelper(Context context, MenuBuilder menu) {
this(context, menu, null, false);
}
@@ -137,8 +140,14 @@
} else {
item = mMenu.getVisibleItems().get(position);
}
- mMenu.performItemAction(item, 0);
dismiss();
+
+ final MenuItem performItem = item;
+ mHandler.post(new Runnable() {
+ public void run() {
+ mMenu.performItemAction(performItem, 0);
+ }
+ });
}
public boolean onKey(View v, int keyCode, KeyEvent event) {
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 25d3aca..bd0cd35 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1348,7 +1348,8 @@
<activity android:name="android.accounts.GrantCredentialsPermissionActivity"
android:excludeFromRecents="true"
- android:exported="true">
+ android:exported="true"
+ android:theme="@android:style/Theme.Holo.DialogWhenLarge">
</activity>
<activity android:name="android.content.SyncActivityTooManyDeletes"
diff --git a/core/res/res/drawable-hdpi/cab_background_opaque_holo_dark.9.png b/core/res/res/drawable-hdpi/cab_background_dark.9.png
similarity index 100%
rename from core/res/res/drawable-hdpi/cab_background_opaque_holo_dark.9.png
rename to core/res/res/drawable-hdpi/cab_background_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/cab_background_opaque_holo_light.9.png b/core/res/res/drawable-hdpi/cab_background_light.9.png
similarity index 100%
rename from core/res/res/drawable-hdpi/cab_background_opaque_holo_light.9.png
rename to core/res/res/drawable-hdpi/cab_background_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/cab_background_opaque_holo_dark.9.png b/core/res/res/drawable-mdpi/cab_background_dark.9.png
similarity index 100%
rename from core/res/res/drawable-mdpi/cab_background_opaque_holo_dark.9.png
rename to core/res/res/drawable-mdpi/cab_background_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/cab_background_opaque_holo_light.9.png b/core/res/res/drawable-mdpi/cab_background_light.9.png
similarity index 100%
rename from core/res/res/drawable-mdpi/cab_background_opaque_holo_light.9.png
rename to core/res/res/drawable-mdpi/cab_background_light.9.png
Binary files differ
diff --git a/core/res/res/drawable/action_bar_context_background.xml b/core/res/res/drawable/action_bar_context_background.xml
deleted file mode 100644
index 8789898..0000000
--- a/core/res/res/drawable/action_bar_context_background.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 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.
--->
-
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
- <gradient
- android:startColor="#ff000000"
- android:centerColor="#ffd1d2d4"
- android:endColor="#ff85878a"
- android:angle="270" />
-</shape>
diff --git a/core/res/res/layout/action_menu_item_layout.xml b/core/res/res/layout/action_menu_item_layout.xml
index e001894..4477df7 100644
--- a/core/res/res/layout/action_menu_item_layout.xml
+++ b/core/res/res/layout/action_menu_item_layout.xml
@@ -42,6 +42,7 @@
android:visibility="gone"
android:textAppearance="?attr/textAppearanceMedium"
style="?attr/buttonStyleSmall"
+ android:textColor="?attr/textColorPrimary"
android:background="@null"
android:paddingLeft="4dip"
android:paddingRight="4dip" />
diff --git a/core/res/res/layout/grant_credentials_permission.xml b/core/res/res/layout/grant_credentials_permission.xml
index 0ffe8de..8b18454 100644
--- a/core/res/res/layout/grant_credentials_permission.xml
+++ b/core/res/res/layout/grant_credentials_permission.xml
@@ -21,24 +21,10 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <!-- The header -->
- <TextView
- android:id="@+id/header_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textColor="@color/white"
- android:textStyle="bold"
- android:text="@string/grant_permissions_header_text"
- android:shadowColor="@color/shadow"
- android:shadowRadius="2"
- android:singleLine="true"
- android:background="@drawable/title_bar_medium"
- android:gravity="left|center_vertical"
- android:paddingLeft="19dip"
- android:ellipsize="marquee" />
+ android:layout_height="match_parent"
+ android:divider="?android:attr/dividerHorizontal"
+ android:showDividers="middle"
+ android:dividerPadding="16dip" >
<!-- The list of packages that correspond to the requesting UID
and the account/authtokenType that is being requested -->
@@ -137,25 +123,24 @@
<LinearLayout
android:id="@+id/buttons"
android:layout_width="match_parent"
- android:layout_height="52dip"
- android:background="@drawable/bottom_bar"
- android:paddingTop="4dip"
- android:paddingLeft="2dip"
- android:paddingRight="2dip">
+ android:layout_height="54dip"
+ style="?android:attr/buttonBarStyle">
<Button
android:id="@+id/allow_button"
android:text="@string/allow"
android:layout_width="0dip"
android:layout_height="wrap_content"
- android:layout_weight="2" />
+ android:layout_weight="2"
+ style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/deny_button"
android:text="@string/deny"
android:layout_width="0dip"
android:layout_height="wrap_content"
- android:layout_weight="2" />
+ android:layout_weight="2"
+ style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
</LinearLayout>
diff --git a/core/res/res/layout/search_bar.xml b/core/res/res/layout/search_bar.xml
index ccc6326..9cf08ea 100644
--- a/core/res/res/layout/search_bar.xml
+++ b/core/res/res/layout/search_bar.xml
@@ -25,7 +25,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:focusable="true"
- android:background="@drawable/cab_background_opaque_holo_light"
+ android:background="@drawable/cab_background_light"
android:descendantFocusability="afterDescendants">
<RelativeLayout
diff --git a/core/res/res/layout/search_view.xml b/core/res/res/layout/search_view.xml
index 0a7cd3c..c41c2de 100644
--- a/core/res/res/layout/search_view.xml
+++ b/core/res/res/layout/search_view.xml
@@ -105,6 +105,7 @@
android:layout_gravity="center_vertical"
android:background="?android:attr/selectableItemBackground"
android:src="?android:attr/searchViewCloseIcon"
+ android:focusable="true"
/>
</LinearLayout>
@@ -127,6 +128,7 @@
android:background="?android:attr/selectableItemBackground"
android:src="?android:attr/searchViewGoIcon"
android:visibility="gone"
+ android:focusable="true"
/>
<ImageView
@@ -139,6 +141,7 @@
android:src="?android:attr/searchViewVoiceIcon"
android:background="?android:attr/selectableItemBackground"
android:visibility="gone"
+ android:focusable="true"
/>
</LinearLayout>
</LinearLayout>
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index 1a6f404..ff9ef59 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -56,8 +56,8 @@
<color name="hint_foreground_light">#808080</color>
<color name="highlight_background">#cc475925</color>
<color name="highlight_background_inverse">#ccd2e461</color>
- <color name="highlighted_text_dark">#cc475925</color>
- <color name="highlighted_text_light">#ccd2e461</color>
+ <color name="highlighted_text_dark">#9983CC39</color>
+ <color name="highlighted_text_light">#9983CC39</color>
<color name="link_text_dark">#5c5cff</color>
<color name="link_text_light">#0000ee</color>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 36dec8e..25a43e0 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -1065,19 +1065,20 @@
</style>
<style name="TextAppearance.Widget.ActionBar.Title"
- parent="@android:style/TextAppearance.Medium.Inverse">
+ parent="@android:style/TextAppearance.Medium">
</style>
<style name="TextAppearance.Widget.ActionBar.Subtitle"
- parent="@android:style/TextAppearance.Small.Inverse">
+ parent="@android:style/TextAppearance.Small">
</style>
<style name="TextAppearance.Widget.ActionMode.Title"
- parent="@android:style/TextAppearance.Medium.Inverse">
+ parent="@android:style/TextAppearance.Medium">
</style>
<style name="TextAppearance.Widget.ActionMode.Subtitle"
- parent="@android:style/TextAppearance.Small.Inverse">
+ parent="@android:style/TextAppearance.Small">
+ <item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="Widget.ActionButton">
@@ -1266,11 +1267,9 @@
</style>
<style name="TextAppearance.Holo.Widget.ActionMode.Title" parent="TextAppearance.Widget.ActionMode.Title">
- <item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<style name="TextAppearance.Holo.Widget.ActionMode.Subtitle" parent="TextAppearance.Widget.ActionMode.Subtitle">
- <item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="TextAppearance.Holo.Widget.Switch" parent="TextAppearance.Holo.Small">
@@ -1369,11 +1368,9 @@
</style>
<style name="TextAppearance.Holo.Light.Widget.ActionMode.Title" parent="TextAppearance.Widget.ActionMode.Title">
- <item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<style name="TextAppearance.Holo.Light.Widget.ActionMode.Subtitle" parent="TextAppearance.Widget.ActionMode.Subtitle">
- <item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<style name="TextAppearance.Holo.Light.WindowTitle">
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 1f9085e..03eca1c 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -255,7 +255,7 @@
<item name="actionDropDownStyle">@android:style/Widget.Spinner.DropDown</item>
<item name="actionButtonStyle">@android:style/Widget.ActionButton</item>
<item name="actionOverflowButtonStyle">@android:style/Widget.ActionButton.Overflow</item>
- <item name="actionModeBackground">@android:drawable/action_bar_context_background</item>
+ <item name="actionModeBackground">@android:drawable/cab_background_dark</item>
<item name="actionModeCloseDrawable">@android:drawable/ic_menu_close_clear_cancel</item>
<item name="actionModeCutDrawable">@android:drawable/ic_menu_cut_dark</item>
<item name="actionModeCopyDrawable">@android:drawable/ic_menu_copy_dark</item>
@@ -378,6 +378,8 @@
<item name="actionModeCutDrawable">@android:drawable/ic_menu_cut_light</item>
<item name="actionModeCopyDrawable">@android:drawable/ic_menu_copy_light</item>
<item name="actionModePasteDrawable">@android:drawable/ic_menu_paste_light</item>
+ <item name="actionModeBackground">@android:drawable/cab_background_light</item>
+
<!-- SearchView attributes -->
<item name="searchDropdownBackground">@android:drawable/search_dropdown_light</item>
<item name="searchViewCloseIcon">@android:drawable/ic_clear_holo_light</item>
diff --git a/data/keyboards/qwerty.idc b/data/keyboards/qwerty.idc
index 129b0bc..4cf0b84 100644
--- a/data/keyboards/qwerty.idc
+++ b/data/keyboards/qwerty.idc
@@ -21,3 +21,5 @@
keyboard.orientationAware = 1
keyboard.builtIn = 1
+cursor.mode = navigation
+cursor.orientationAware = 1
diff --git a/data/keyboards/qwerty2.idc b/data/keyboards/qwerty2.idc
index 1a795c6..2e5a938 100644
--- a/data/keyboards/qwerty2.idc
+++ b/data/keyboards/qwerty2.idc
@@ -21,3 +21,5 @@
keyboard.orientationAware = 1
keyboard.builtIn = 1
+cursor.mode = navigation
+cursor.orientationAware = 1
diff --git a/docs/html/sdk/android-3.0.jd b/docs/html/sdk/android-3.0.jd
index 9ca6a04..2c8a7f0 100644
--- a/docs/html/sdk/android-3.0.jd
+++ b/docs/html/sdk/android-3.0.jd
@@ -72,7 +72,7 @@
states</li>
<li>By <a
href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">providing
-alternative resources</a>, you can mix and match fragments, based
+alternative layouts</a>, you can mix and match fragments, based
on the screen size and orientation</li>
<li>Fragments have direct access to their container activity and can contribute items to the
activity's Action Bar (discussed next)</li>
@@ -83,15 +83,15 @@
as finding fragments in the activity and popping fragments off the back stack to restore them
after they've been removed or hidden.</p>
-<p>To perform transactions, such as add or remove fragments, you must create a {@link
+<p>To perform a transaction, such as add or remove a fragment, you must create a {@link
android.app.FragmentTransaction}. You can then call methods such as {@link
android.app.FragmentTransaction#add add()} {@link android.app.FragmentTransaction#remove
-remove()}, {@link android.app.FragmentTransaction#replace replace()}. Once you've applied all
+remove()}, or {@link android.app.FragmentTransaction#replace replace()}. Once you've applied all
the changes you want to perform for the transaction, you must call {@link
-android.app.FragmentTransaction#commit commit()} and the system will apply the transaction to
+android.app.FragmentTransaction#commit commit()} and the system applies the fragment transaction to
the activity.</p>
-<p>For more information about using fragments in your application, read the <a
+<p>For more information about using fragments, read the <a
href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
@@ -99,38 +99,37 @@
<h3>Action Bar</h3>
-<p>The Action Bar is a replacement for the traditional title bar at the top of the activity
-window. It includes the application logo in the left corner and also replaces the previous Options
-Menu UI with a drop-down list for the menu items. Additionally, the Action Bar allows you
-to:</p></p>
+<p>The Action Bar is a replacement for the traditional title bar at the top of the activity window.
+It includes the application logo in the left corner and provides a new interface for items in the
+activity's Options Menu. Additionally, the Action Bar allows you to:</p>
<ul>
<li>Include select menu items directly in the Action Bar—as "action
-items"—for quick access to global actions.
+items"—for quick access to global user actions.
<p>In your XML declaration for the menu item, include the attribute, {@code
android:showAsAction} with a value of {@code "ifRoom"}. When there's enough room in the
-Action Bar, the menu item appears directly in the bar. Otherwise, it is placed in the
+Action Bar, the menu item appears directly in the bar. Otherwise, the item is placed in the
overflow menu, revealed by the icon on the right side of the Action Bar.</p></li>
- <li>Add interactive widgets ("action views"), such as a search box.
- <p>In your XML, include the attribute, {@code android:actionViewLayout} with a layout
-resource for the action view, or {@code android:actionViewClass} with the class name of the
+
+ <li>Add interactive widgets to the Action Bar—as "action views"—such as a search box.
+ <p>In the XML for the menu item that should behave as an action view, include the {@code
+android:actionViewLayout} attribute with a layout
+resource for the action view or {@code android:actionViewClass} with the class name of the
widget. Like action items, an action view appears only when there's room for it in the Action
Bar. If there's not enough room, it is placed in the overflow menu and behaves like a regular
menu item (for example, an item can provide a {@link android.widget.SearchView} as an action
-view, but when in the overflow menu, selecting the item will activate the search dialog).</p>
- <p></p></li>
+view, but when in the overflow menu, selecting the item activates the search dialog).</p></li>
+
<li>Add an action to the application logo when tapped and replace it with a custom logo
<p>The application logo is automatically assigned the {@code android.R.id.home} ID,
-which is delivered to your activity's {@link android.app.Activity#onOptionsItemSelected
+which the system deliveres to your activity's {@link android.app.Activity#onOptionsItemSelected
onOptionsItemSelected()} callback when tapped. Simply respond to this ID in your callback
method to perform an action such as go to your application's "home" activity.</p>
- <p>If your activity does not respond to the icon action, you should hide it by calling {@link
-android.app.ActionBar#setDisplayShowHomeEnabled setDisplayShowHomeEnabled(false)}.</p>
- <p>By default, this is true, so the icon will visually respond when pressed, even if you don't
-respond. Thus, you should remove the icon if you don't respond to it.</p></li>
+ <p>To replace the icon with a logo, </p></li>
+
<li>Add breadcrumbs for navigating backward through fragments</li>
<li>Add built in tabs and a drop-down list for navigation</li>
- <li>Customize the Action Bar themes and custom backgrounds</li>
+ <li>Customize the Action Bar themes and custom backgrounds</li>
</ul>
<p>The Action Bar is standard for all applications that set either the <a
@@ -139,9 +138,11 @@
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
android:targetSdkVersion}</a> to {@code "Honeycomb"}. (The "Honeycomb" API Level is provisional
and effective only while using the preview SDK—you must change it to the official API
-Level when the final SDK becomes available.)</p>
+Level when the final SDK becomes available—see <a
+href="{@docRoot}sdk/preview/start.html">Getting Started</a> for more information.)</p>
-<p>For more information, read the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action
+<p>For more information about the Action Bar, read the <a
+href="{@docRoot}guide/topics/ui/actionbar.html">Action
Bar</a> developer guide.</p>
@@ -159,10 +160,10 @@
<p>To start using the clipboard, get the global {@link android.content.ClipboardManager} object
by calling {@link android.content.Context#getSystemService getSystemService(CLIPBOARD_SERVICE)}.</p>
-<p>To create an item to attach to the clipboard, you need to create a new {@link
+<p>To create an item to attach to the clipboard ("copy"), you need to create a new {@link
android.content.ClipData} object, which holds one or more {@link android.content.ClipData.Item}
objects, each describing a single entity. To create a {@link android.content.ClipData} object with
-just one {@link android.content.ClipData.Item}, you can use one of the helper methods such as,
+just one {@link android.content.ClipData.Item}, you can use one of the helper methods, such as
{@link android.content.ClipData#newPlainText newPlainText()}, {@link
android.content.ClipData#newUri newUri()}, and {@link android.content.ClipData#newIntent
newIntent()}, which each return a {@link android.content.ClipData} object pre-loaded with the
@@ -186,7 +187,7 @@
<h3>Drag and drop</h3>
-<p>New APIs now facilitate the ability for your application to implement drag and drop
+<p>New APIs facilitate the ability for your application to implement drag and drop
functionality in the UI.</p>
<p>To begin dragging content in your activity, call {@link android.view.View#startDrag startDrag()}
@@ -196,13 +197,16 @@
the drag object with views that may receive the object.</p>
<p>To accept a drag object (receive the "drop") in a
-{@link android.view.View}, register the view with an {@link android.view.View.OnDragListener} by
+{@link android.view.View}, register the view with an {@link android.view.View.OnDragListener
+OnDragListener} by
calling {@link android.view.View#setOnDragListener setOnDragListener()}. When a drag event occurs on
the view, the system calls {@link android.view.View.OnDragListener#onDrag onDrag()} for the {@link
-android.view.View.OnDragListener}, which receives a {@link android.view.DragEvent} describing the
-type of event has occurred (such as "drag started", "drag ended", and "drop"). During a drag
-operation, there is a stream of drag events, so the system calls {@link
-android.view.View.OnDragListener#onDrag onDrag()} repeatedly on the view. The receiving view can
+android.view.View.OnDragListener OnDragListener}, which receives a {@link android.view.DragEvent}
+describing the
+type of event has occurred (such as "drag started", "drag ended", or "drop"). During a drag, the
+system repeatedly calls {@link
+android.view.View.OnDragListener#onDrag onDrag()} for the view underneath the drag, to
+deliver a stream of events. The receiving view can
inquire the event type delivered to {@link android.view.View#onDragEvent onDragEvent()} by calling
{@link android.view.DragEvent#getAction getAction()} on the {@link android.view.DragEvent}.</p>
@@ -217,16 +221,14 @@
<h3>App widgets</h3>
-<p>App widgets can now be more interactive with scrolling list views, grid views, view flippers, and
-a new 3D stack widget.</p>
-
-<p>Android 3.0 supports several new widget classes for app widgets, including: {@link
+<p>Android 3.0 supports several new widget classes for more interactive app widgets, including:
+{@link
android.widget.GridView}, {@link android.widget.ListView}, {@link android.widget.StackView}, {@link
android.widget.ViewFlipper}, and {@link android.widget.AdapterViewFlipper}.</p>
-<p>You can use the new {@link android.widget.RemoteViewsService} to populate the new remote
-collection views ({@link android.widget.GridView}, {@link android.widget.ListView}, and {@link
-android.widget.StackView}).</p>
+<p>You can also use the new {@link android.widget.RemoteViewsService} to populate
+collection views such as ({@link android.widget.GridView}, {@link android.widget.ListView}, and
+{@link android.widget.StackView}).</p>
<p>{@link android.appwidget.AppWidgetProviderInfo} also supports two new fields: {@link
android.appwidget.AppWidgetProviderInfo#autoAdvanceViewId} and {@link
@@ -234,11 +236,11 @@
android.appwidget.AppWidgetProviderInfo#autoAdvanceViewId} field lets you specify the view ID of the
app widget subview, which is auto-advanced by the app widget’s host. The
{@link android.appwidget.AppWidgetProviderInfo#previewImage} field specifies a preview of what the
-App Widget looks like and is shown to the user from the widget picker. If this field is not
+app widget looks like and is shown to the user from the widget picker. If this field is not
supplied, the app widget's icon is used for the preview.</p>
-<p>Android also provides a new widget preview tool (WidgetPreview), located in the SDK tools, to
-take a screenshot of your app widget, which you can use when specifying the {@link
+<p>Android also provides a new widget preview tool ({@code WidgetPreview}), located in the SDK
+tools, to take a screenshot of your app widget, which you can use when specifying the {@link
android.appwidget.AppWidgetProviderInfo#previewImage} field.</p>
@@ -249,12 +251,13 @@
<p>The {@link android.app.Notification} APIs have been extended to support more content-rich status
bar notifications, plus a new {@link android.app.Notification.Builder} class allows you to easily
-control the notification properties. New features include:</p>
+control the notification properties.</p>
+<p>New features include:</p>
<ul>
- <li>Support for a large icon in the notification. This is usually for
+ <li>Support for a large icon in the notification, using {@link
+android.app.Notification.Builder#setLargeIcon setLargeIcon()}. This is usually for
social applications to show the contact photo of the person who is the source of the
-notification or for media apps to show an album thumbnail. Set using {@link
-android.app.Notification.Builder#setLargeIcon setLargeIcon()}.</li>
+notification or for media apps to show an album thumbnail.</li>
<li>Support for custom layouts in the status bar ticker, using {@link
android.app.Notification.Builder#setTicker(CharSequence,RemoteViews) setTicker()}.</li>
<li>Support for custom notification layouts to include buttons with {@link
@@ -269,7 +272,7 @@
<p>New framework APIs facilitate asynchronous loading of data using the {@link
android.content.Loader} class. You can use it in combination with UI components such as views and
-fragments to dynamically load data from background threads. The {@link
+fragments to dynamically load data from worker threads. The {@link
android.content.CursorLoader} subclass is specially designed to help do so for data queried from
a {@link android.content.ContentResolver}.</p>
@@ -280,21 +283,25 @@
<h3>Bluetooth A2DP and headset APIs</h3>
<p>Android now includes APIs for applications to verify the state of connected Bluetooth A2DP and
-headset profile devices. You can initialize the respective {@link
-android.bluetooth.BluetoothProfile} by calling {@link
+headset profile devices. For example, applications can identify when a Bluetooth headset is
+connected for listening to music and notify the user as appropriate. Applications can also receive
+broadcasts for vendor specific AT commands and notify the user about the state of the connected
+device, such as when the connected device's battery is low.</p>
+
+<p>You can initialize the respective {@link android.bluetooth.BluetoothProfile} by calling {@link
android.bluetooth.BluetoothAdapter#getProfileProxy getProfileProxy()} with either the {@link
android.bluetooth.BluetoothProfile#A2DP} or {@link android.bluetooth.BluetoothProfile#HEADSET}
profile constant and a {@link android.bluetooth.BluetoothProfile.ServiceListener} to receive
-callbacks when the client is connected or disconnected.</p>
+callbacks when the Bluetooth client is connected or disconnected.</p>
<h3>Animation framework</h3>
-<p>An all new flexible animation framework allows you to animate the properties of any object
-(View, Drawable, Fragment, Object, anything). It allows you to define many aspects of an animation,
-such as:</p>
+<p>An all new flexible animation framework allows you to animate arbitrary properties of any object
+(View, Drawable, Fragment, Object, or anything else). It allows you to define many aspects of an
+animation, such as:</p>
<ul>
<li>Duration</li>
<li>Repeat amount and behavior</li>
@@ -308,7 +315,7 @@
the values for that given type, by implementing the {@link android.animation.TypeEvaluator}
interface.</p>
-<p>There are two animators that you can use to animate values of a property: {@link
+<p>There are two animators you can use to animate values of a property: {@link
android.animation.ValueAnimator} and {@link android.animation.ObjectAnimator}. The {@link
android.animation.ValueAnimator} computes the animation values, but is not aware of the specific
object or property that is animated as a result. It simply performs the calculations, and you must
@@ -320,13 +327,13 @@
time in order to animate it, then start the animation.</p>
<p>Additionally, the {@link android.animation.LayoutTransition} class enables automatic transition
-animations for changes you make to your activity layout. To enable transitions for a {@link
-android.view.ViewGroup}, create a {@link android.animation.LayoutTransition} object and set it on
+animations for changes you make to your activity layout. To enable transitions for part of the
+layout, create a {@link android.animation.LayoutTransition} object and set it on
any {@link android.view.ViewGroup} by calling {@link
android.view.ViewGroup#setLayoutTransition setLayoutTransition()}. This causes default
animations to run whenever items are added to or removed from the group. To specify custom
animations, call {@link android.animation.LayoutTransition#setAnimator setAnimator()} on the {@link
-android.animation.LayoutTransition} to provide a custom {@link android.animation.Animator},
+android.animation.LayoutTransition} and provide a custom {@link android.animation.Animator},
such as a {@link android.animation.ValueAnimator} or {@link android.animation.ObjectAnimator}
discussed above.</p>
@@ -397,14 +404,14 @@
<li><b>New holographic themes</b>
<p>The standard system widgets and overall look have been redesigned for use on larger screens
-such as tablets and incorporate the new holographic UI theme. These style changes are applied
+such as tablets and incorporate the new "holographic" UI theme. The system applies these styles
using the standard <a href="{@docRoot}guide/topics/ui/themes.html">style and theme</a> system.
-Any application that targets the Android 3.0 platform inherit the holographic theme by default.
+Any application that targets the Android 3.0 platform inherits the holographic theme by default.
However, if your application also applies its own styles, then it will override the holographic
-theme, unless you update your styles to inherit them.</p>
+theme, unless you update your styles to inherit the holographic theme.</p>
<p>To apply the holographic theme to individual activities or to inherit them in your own theme
-definitions, you can use one of several new {@link android.R.style#Theme_Holo Theme.Holo}
+definitions, use one of several new {@link android.R.style#Theme_Holo Theme.Holo}
themes.</p>
</li>
@@ -522,20 +529,40 @@
<ul>
- <li><b>Camcorder profiles</b>
-<p>New {@link android.media.CamcorderProfile#hasProfile hasProfile()} method and several video
-quality profiles, such as {@link android.media.CamcorderProfile#QUALITY_1080P}, {@link
-android.media.CamcorderProfile#QUALITY_720P}, {@link
-android.media.CamcorderProfile#QUALITY_CIF}, and more, to determine the camcorder quality
-profiles.</p></li>
-
- <li><b>Time lapse video mode</b>
+ <li><b>Time lapse video</b>
<p>Camcorder APIs now support the ability to record time lapse video. The {@link
android.media.MediaRecorder#setCaptureRate setCaptureRate()} sets the rate at which frames
should be captured.</p></li>
+ <li><b>Texture support for image streams</b>
+
+<p>New {@link android.graphics.SurfaceTexture} allows you to capture an image stream as an OpenGL ES
+texture. By calling {@link android.hardware.Camera#setPreviewTexture setPreviewTexture()} for your
+{@link android.hardware.Camera} instance, you can specify the {@link
+android.graphics.SurfaceTexture} upon which to draw video playback or preview frames from the
+camera.</p></li>
+
+ <li><b>HTTP Live streaming</b>
+
+<p>Applications can now pass an M3U playlist URL to the media framework to begin an HTTP Live
+streaming session. The media framework supports most of the HTTP Live streaming specification,
+including adaptive bit rate.</p></li>
+
+ <li><b>EXIF data</b>
+
+<p>The {@link android.media.ExifInterface} includes new fields for photo aperture, ISO, and exposure
+time.</p></li>
+
+ <li><b>Camcorder profiles</b>
+
+<p>New {@link android.media.CamcorderProfile#hasProfile hasProfile()} method and several video
+quality profiles (such as {@link android.media.CamcorderProfile#QUALITY_1080P}, {@link
+android.media.CamcorderProfile#QUALITY_720P}, {@link
+android.media.CamcorderProfile#QUALITY_CIF}, and others) allow you to determine camcorder
+quality options.</p></li>
+
<li><b>Digital media file transfer</b>
<p>The platform includes built-in support for Media/Picture Transfer Protocol (MTP/PTP) over USB,
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index e404b05..7312d75 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -721,7 +721,7 @@
if (mScoAudioState == SCO_STATE_ACTIVE_EXTERNAL) {
mBluetoothHeadset.stopVoiceRecognition(
mBluetoothHeadsetDevice);
- mBluetoothHeadset.stopVirtualVoiceCall(
+ mBluetoothHeadset.stopScoUsingVirtualVoiceCall(
mBluetoothHeadsetDevice);
} else {
clearAllScoClients(mCb, true);
@@ -808,7 +808,8 @@
checkScoAudioState();
if (mScoAudioState == SCO_STATE_ACTIVE_EXTERNAL) {
mBluetoothHeadset.stopVoiceRecognition(mBluetoothHeadsetDevice);
- mBluetoothHeadset.stopVirtualVoiceCall(mBluetoothHeadsetDevice);
+ mBluetoothHeadset.stopScoUsingVirtualVoiceCall(
+ mBluetoothHeadsetDevice);
} else {
clearAllScoClients(cb, true);
}
@@ -1296,10 +1297,10 @@
state == BluetoothHeadset.STATE_AUDIO_CONNECTED &&
mScoAudioState == SCO_STATE_INACTIVE) {
mScoAudioState = SCO_STATE_ACTIVE_INTERNAL;
- mBluetoothHeadset.startVirtualVoiceCall(mBluetoothHeadsetDevice);
+ mBluetoothHeadset.startScoUsingVirtualVoiceCall(mBluetoothHeadsetDevice);
} else if (state == BluetoothHeadset.STATE_AUDIO_DISCONNECTED &&
mScoAudioState == SCO_STATE_ACTIVE_INTERNAL){
- mBluetoothHeadset.stopVirtualVoiceCall(mBluetoothHeadsetDevice);
+ mBluetoothHeadset.stopScoUsingVirtualVoiceCall(mBluetoothHeadsetDevice);
}
}
}
diff --git a/media/java/android/media/videoeditor/MediaArtistNativeHelper.java b/media/java/android/media/videoeditor/MediaArtistNativeHelper.java
index 8156439..f078cf6 100755
--- a/media/java/android/media/videoeditor/MediaArtistNativeHelper.java
+++ b/media/java/android/media/videoeditor/MediaArtistNativeHelper.java
@@ -3021,7 +3021,7 @@
*/
public void doPreview(Surface surface, long fromMs, long toMs, boolean loop,
int callbackAfterFrameCount, PreviewProgressListener listener) {
- mPreviewProgress = 0;
+ mPreviewProgress = fromMs;
if (listener != null) {
mPreviewProgressListener = listener;
}
diff --git a/media/jni/mediaeditor/VideoBrowserMain.c b/media/jni/mediaeditor/VideoBrowserMain.c
index 0d40f56..f54a16e 100755
--- a/media/jni/mediaeditor/VideoBrowserMain.c
+++ b/media/jni/mediaeditor/VideoBrowserMain.c
@@ -522,7 +522,7 @@
if (M4WAR_VIDEORENDERER_NO_NEW_FRAME == err)
{
- err = M4NO_ERROR;
+ return err;
}
CHECK_ERR(videoBrowserPrepareFrame, err) ;
diff --git a/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png b/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png
index e74c22f..2c7a0d4 100644
--- a/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png
+++ b/packages/SystemUI/res/drawable-hdpi/battery_low_battery.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/button_frame_default.9.png b/packages/SystemUI/res/drawable-hdpi/button_frame_default.9.png
deleted file mode 100644
index d809b84..0000000
--- a/packages/SystemUI/res/drawable-hdpi/button_frame_default.9.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/button_frame_pressed.9.png b/packages/SystemUI/res/drawable-hdpi/button_frame_pressed.9.png
deleted file mode 100644
index 5cc007c..0000000
--- a/packages/SystemUI/res/drawable-hdpi/button_frame_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/signal_0.png b/packages/SystemUI/res/drawable-hdpi/signal_0.png
deleted file mode 100644
index 00e36c4..0000000
--- a/packages/SystemUI/res/drawable-hdpi/signal_0.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png
index 89daee1..2d3eb30 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png
index 96dc085..e8fbc9e 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png
index 1e4bbf5..18c77df 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x.png
index bdc8c27..818e292 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g.png
index d0d1345..95866b1 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e.png
index 4211b8c..016b30b 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g.png
index d5ece7a..ec672eb 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h.png
index 6687b40..27bab73 100755
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_1x.png
old mode 100755
new mode 100644
index ba24082..0e6849b
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_3g.png
old mode 100755
new mode 100644
index 5af2b05..a86a324
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_e.png
old mode 100755
new mode 100644
index 9909b09..24902d6
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_g.png
old mode 100755
new mode 100644
index 0e02b8d..4160a95
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_h.png
old mode 100755
new mode 100644
index f84ad32..d459ee3
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_connected_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_1x.png
old mode 100755
new mode 100644
index d80a8ce..7b64751
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_3g.png
old mode 100755
new mode 100644
index 31c976a..d82930c
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_e.png
index ae90cc8..8096846 100755
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_g.png
old mode 100755
new mode 100644
index a487f29..e94e146
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_h.png
old mode 100755
new mode 100644
index 816085b..8805a40
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_in_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_1x.png
old mode 100755
new mode 100644
index 0132019..07545d5
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_3g.png
old mode 100755
new mode 100644
index 3903545..7629cef
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_e.png
old mode 100755
new mode 100644
index ed099ff..28578c6
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_g.png
old mode 100755
new mode 100644
index c930e4c..d9f7a30
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_h.png
old mode 100755
new mode 100644
index 407a06c..505ccd4
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_inandout_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_1x.png
old mode 100755
new mode 100644
index 6141f72..783c2b6
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_3g.png
old mode 100755
new mode 100644
index d44a4cf..001eaea
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_e.png
old mode 100755
new mode 100644
index 54ebd9b..cbae7dc
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_g.png
old mode 100755
new mode 100644
index 2fe0bbf..11f3a5c
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_h.png
old mode 100755
new mode 100644
index e58e019..eb42294
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_fully_out_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x.png
index 00a29a4..66fb60e 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g.png
index 11ee0f2..07ea499 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e.png
index fc135fc..e39767a 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g.png
index 3d33a62..47c1fca 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h.png
index f36e1eb..ac80dce 100755
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x.png
index ef5dbf4..f88091b 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g.png
index dba9675..95bb3cd 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e.png
index 2e5d82e..0ef4701 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g.png
index 0985a09..31b926b 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h.png
index 7a32c43..ed02984 100755
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x.png
index b622556..0ee5b08 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g.png
index 04ec59e..cac7802 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e.png
index a47b982..df6e195 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g.png
index 9d90e71..4a2f867 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h.png
index 920f290..2b4628f 100755
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png
index 9003d67..150c9fc 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0.png
index 95ba181..1ef75d3 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0_fully.png
index 95ba181..1ef75d3 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1.png
index adf668d..a7dc07e 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1_fully.png
index adf668d..f1f4c4e 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2.png
index 7bf6b51..918a476 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2_fully.png
index 7bf6b51..6e34e66 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3.png
index 78738ac..5b2acc6 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_fully.png
index 78738ac..3664ab4 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4.png
index ac88143..f1ff548 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_fully.png
index ac88143..b4fa481 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png
index bdd37e1..5a741bb 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png
index 21c1c08..7ff375a 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png
index 1adc05a..03d2147 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_expand_default.png b/packages/SystemUI/res/drawable-hdpi/status_bar_expand_default.png
deleted file mode 100644
index 92fc7f8..0000000
--- a/packages/SystemUI/res/drawable-hdpi/status_bar_expand_default.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_expand_pressed.png b/packages/SystemUI/res/drawable-hdpi/status_bar_expand_pressed.png
deleted file mode 100644
index 77f09ac..0000000
--- a/packages/SystemUI/res/drawable-hdpi/status_bar_expand_pressed.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_veto_normal.png b/packages/SystemUI/res/drawable-hdpi/status_bar_veto_normal.png
deleted file mode 100644
index df532b8..0000000
--- a/packages/SystemUI/res/drawable-hdpi/status_bar_veto_normal.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_veto_pressed.png b/packages/SystemUI/res/drawable-hdpi/status_bar_veto_pressed.png
deleted file mode 100644
index 118c01b..0000000
--- a/packages/SystemUI/res/drawable-hdpi/status_bar_veto_pressed.png
+++ /dev/null
Binary files differ
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
index 6a1d199..88f30ed 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
@@ -116,7 +116,6 @@
private ViewGroup mContentParent;
SurfaceHolder.Callback2 mTakeSurfaceCallback;
- BaseSurfaceHolder mSurfaceHolder;
InputQueue.Callback mTakeInputQueueCallback;