diff options
Diffstat (limited to 'core')
51 files changed, 324 insertions, 434 deletions
diff --git a/core/java/android/preference/DialogPreference.java b/core/java/android/preference/DialogPreference.java index 73427d2..c59ed18 100644 --- a/core/java/android/preference/DialogPreference.java +++ b/core/java/android/preference/DialogPreference.java @@ -321,8 +321,7 @@ public abstract class DialogPreference extends Preference implements */ private void requestInputMethod(Dialog dialog) { Window window = dialog.getWindow(); - window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE | - WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); + window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } /** diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java index 07e71f9..85a3bbb 100644 --- a/core/java/android/text/Html.java +++ b/core/java/android/text/Html.java @@ -449,11 +449,11 @@ class HtmlToSpannedConverter implements ContentHandler { handleP(mSpannableStringBuilder); } else if (tag.equalsIgnoreCase("div")) { handleP(mSpannableStringBuilder); - } else if (tag.equalsIgnoreCase("em")) { + } else if (tag.equalsIgnoreCase("strong")) { start(mSpannableStringBuilder, new Bold()); } else if (tag.equalsIgnoreCase("b")) { start(mSpannableStringBuilder, new Bold()); - } else if (tag.equalsIgnoreCase("strong")) { + } else if (tag.equalsIgnoreCase("em")) { start(mSpannableStringBuilder, new Italic()); } else if (tag.equalsIgnoreCase("cite")) { start(mSpannableStringBuilder, new Italic()); diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java index 83ef6ce..b8b54f4 100644 --- a/core/java/android/text/TextUtils.java +++ b/core/java/android/text/TextUtils.java @@ -31,9 +31,11 @@ import android.text.style.QuoteSpan; import android.text.style.RelativeSizeSpan; import android.text.style.ReplacementSpan; import android.text.style.ScaleXSpan; +import android.text.style.SpellCheckSpan; import android.text.style.StrikethroughSpan; import android.text.style.StyleSpan; import android.text.style.SubscriptSpan; +import android.text.style.SuggestionRangeSpan; import android.text.style.SuggestionSpan; import android.text.style.SuperscriptSpan; import android.text.style.TextAppearanceSpan; @@ -579,6 +581,10 @@ public class TextUtils { public static final int ANNOTATION = 18; /** @hide */ public static final int SUGGESTION_SPAN = 19; + /** @hide */ + public static final int SPELL_CHECK_SPAN = 20; + /** @hide */ + public static final int SUGGESTION_RANGE_SPAN = 21; /** * Flatten a CharSequence and whatever styles can be copied across processes @@ -734,6 +740,14 @@ public class TextUtils { readSpan(p, sp, new SuggestionSpan(p)); break; + case SPELL_CHECK_SPAN: + readSpan(p, sp, new SpellCheckSpan(p)); + break; + + case SUGGESTION_RANGE_SPAN: + readSpan(p, sp, new SuggestionRangeSpan()); + break; + default: throw new RuntimeException("bogus span encoding " + kind); } diff --git a/core/java/android/text/style/SpellCheckSpan.java b/core/java/android/text/style/SpellCheckSpan.java index 9b23177..caaae99 100644 --- a/core/java/android/text/style/SpellCheckSpan.java +++ b/core/java/android/text/style/SpellCheckSpan.java @@ -16,6 +16,10 @@ package android.text.style; +import android.os.Parcel; +import android.text.ParcelableSpan; +import android.text.TextUtils; + /** * A SpellCheckSpan is an internal data structure created by the TextView's SpellChecker to * annotate portions of the text that are about to or currently being spell checked. They are @@ -23,7 +27,7 @@ package android.text.style; * * @hide */ -public class SpellCheckSpan { +public class SpellCheckSpan implements ParcelableSpan { private boolean mSpellCheckInProgress; @@ -31,6 +35,10 @@ public class SpellCheckSpan { mSpellCheckInProgress = false; } + public SpellCheckSpan(Parcel src) { + mSpellCheckInProgress = (src.readInt() != 0); + } + public void setSpellCheckInProgress() { mSpellCheckInProgress = true; } @@ -38,4 +46,19 @@ public class SpellCheckSpan { public boolean isSpellCheckInProgress() { return mSpellCheckInProgress; } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(mSpellCheckInProgress ? 1 : 0); + } + + @Override + public int getSpanTypeId() { + return TextUtils.SPELL_CHECK_SPAN; + } } diff --git a/core/java/android/text/style/SuggestionRangeSpan.java b/core/java/android/text/style/SuggestionRangeSpan.java new file mode 100644 index 0000000..fc91697 --- /dev/null +++ b/core/java/android/text/style/SuggestionRangeSpan.java @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2011 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. + */ + +package android.text.style; + +import android.graphics.Color; +import android.os.Parcel; +import android.text.ParcelableSpan; +import android.text.TextPaint; +import android.text.TextUtils; + +/** + * A SuggestionRangeSpan is used to show which part of an EditText is affected by a suggestion + * popup window. + * + * @hide + */ +public class SuggestionRangeSpan extends CharacterStyle implements ParcelableSpan { + @Override + public void updateDrawState(TextPaint tp) { + tp.setColor(Color.GREEN); + } + + public SuggestionRangeSpan() { /* Nothing to do*/ } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { /* Nothing to do*/ } + + @Override + public int getSpanTypeId() { + return TextUtils.SUGGESTION_RANGE_SPAN; + } +} diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 6238b72..2aa481c 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -4004,9 +4004,12 @@ public class WebView extends AbsoluteLayout // state. // If mNativeClass is 0, we should not reach here, so we do not // need to check it again. - nativeRecordButtons(hasFocus() && hasWindowFocus(), - mTouchMode == TOUCH_SHORTPRESS_START_MODE - || mTrackballDown || mGotCenterDown, false); + if (mDrawCursorRing && drawRings) { + // Only update if we are actually going to use the result + nativeRecordButtons(hasFocus() && hasWindowFocus(), + mTouchMode == TOUCH_SHORTPRESS_START_MODE + || mTrackballDown || mGotCenterDown, false); + } drawCoreAndCursorRing(canvas, mBackgroundColor, mDrawCursorRing && drawRings); } @@ -4075,7 +4078,8 @@ public class WebView extends AbsoluteLayout boolean drawJavaRings = !mTouchHighlightRegion.isEmpty() && (mTouchMode == TOUCH_INIT_MODE || mTouchMode == TOUCH_SHORTPRESS_START_MODE - || mTouchMode == TOUCH_SHORTPRESS_MODE); + || mTouchMode == TOUCH_SHORTPRESS_MODE + || mTouchMode == TOUCH_DONE_MODE); boolean drawNativeRings = !drawJavaRings; if (USE_WEBKIT_RINGS) { drawNativeRings = !drawJavaRings && !isInTouchMode(); diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 86f061a..80cbbfb 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -1574,8 +1574,17 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te ss.inActionMode = mChoiceMode == CHOICE_MODE_MULTIPLE_MODAL && mChoiceActionMode != null; - ss.checkState = mCheckStates; - ss.checkIdState = mCheckedIdStates; + if (mCheckStates != null) { + ss.checkState = mCheckStates.clone(); + } + if (mCheckedIdStates != null) { + final LongSparseArray<Boolean> idState = new LongSparseArray<Boolean>(); + final int count = mCheckedIdStates.size(); + for (int i = 0; i < count; i++) { + idState.put(mCheckedIdStates.keyAt(i), mCheckedIdStates.valueAt(i)); + } + ss.checkIdState = idState; + } ss.checkedItemCount = mCheckedItemCount; return ss; diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java index 4143383..4fcb358 100644 --- a/core/java/android/widget/Switch.java +++ b/core/java/android/widget/Switch.java @@ -41,9 +41,15 @@ import com.android.internal.R; /** * A Switch is a two-state toggle switch widget that can select between two * options. The user may drag the "thumb" back and forth to choose the selected option, - * or simply tap to toggle as if it were a checkbox. + * or simply tap to toggle as if it were a checkbox. The {@link #setText(CharSequence) text} + * property controls the text displayed in the label for the switch, whereas the + * {@link #setTextOff(CharSequence) off} and {@link #setTextOn(CharSequence) on} text + * controls the text on the thumb. Similarly, the + * {@link #setTextAppearance(android.content.Context, int) textAppearance} and the related + * setTypeface() methods control the typeface and style of label text, whereas the + * {@link #setSwitchTextAppearance(android.content.Context, int) switchTextAppearance} and + * the related seSwitchTypeface() methods control that of the thumb. * - * @hide */ public class Switch extends CompoundButton { private static final int TOUCH_MODE_IDLE = 0; @@ -132,8 +138,8 @@ public class Switch extends CompoundButton { TypedArray a = context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.Switch, defStyle, 0); - mThumbDrawable = a.getDrawable(com.android.internal.R.styleable.Switch_switchThumb); - mTrackDrawable = a.getDrawable(com.android.internal.R.styleable.Switch_switchTrack); + mThumbDrawable = a.getDrawable(com.android.internal.R.styleable.Switch_thumb); + mTrackDrawable = a.getDrawable(com.android.internal.R.styleable.Switch_track); mTextOn = a.getText(com.android.internal.R.styleable.Switch_textOn); mTextOff = a.getText(com.android.internal.R.styleable.Switch_textOff); mThumbTextPadding = a.getDimensionPixelSize( @@ -146,7 +152,7 @@ public class Switch extends CompoundButton { int appearance = a.getResourceId( com.android.internal.R.styleable.Switch_switchTextAppearance, 0); if (appearance != 0) { - setSwitchTextAppearance(appearance); + setSwitchTextAppearance(context, appearance); } a.recycle(); @@ -162,9 +168,9 @@ public class Switch extends CompoundButton { * Sets the switch text color, size, style, hint color, and highlight color * from the specified TextAppearance resource. */ - public void setSwitchTextAppearance(int resid) { + public void setSwitchTextAppearance(Context context, int resid) { TypedArray appearance = - getContext().obtainStyledAttributes(resid, + context.obtainStyledAttributes(resid, com.android.internal.R.styleable.TextAppearance); ColorStateList colors; @@ -174,6 +180,9 @@ public class Switch extends CompoundButton { TextAppearance_textColor); if (colors != null) { mTextColors = colors; + } else { + // If no color set in TextAppearance, default to the view's textColor + mTextColors = getTextColors(); } ts = appearance.getDimensionPixelSize(com.android.internal.R.styleable. @@ -244,7 +253,7 @@ public class Switch extends CompoundButton { } /** - * Sets the typeface and style in which the text should be displayed on the switch. + * Sets the typeface in which the text should be displayed on the switch. * Note that not all Typeface families actually have bold and italic * variants, so you may need to use * {@link #setSwitchTypeface(Typeface, int)} to get the appearance @@ -263,18 +272,14 @@ public class Switch extends CompoundButton { } /** - * Returns the text for when the button is in the checked state. - * - * @return The text. + * Returns the text displayed when the button is in the checked state. */ public CharSequence getTextOn() { return mTextOn; } /** - * Sets the text for when the button is in the checked state. - * - * @param textOn The text. + * Sets the text displayed when the button is in the checked state. */ public void setTextOn(CharSequence textOn) { mTextOn = textOn; @@ -282,18 +287,14 @@ public class Switch extends CompoundButton { } /** - * Returns the text for when the button is not in the checked state. - * - * @return The text. + * Returns the text displayed when the button is not in the checked state. */ public CharSequence getTextOff() { return mTextOff; } /** - * Sets the text for when the button is not in the checked state. - * - * @param textOff The text. + * Sets the text displayed when the button is not in the checked state. */ public void setTextOff(CharSequence textOff) { mTextOff = textOff; @@ -582,8 +583,11 @@ public class Switch extends CompoundButton { mThumbDrawable.setBounds(thumbLeft, switchTop, thumbRight, switchBottom); mThumbDrawable.draw(canvas); - mTextPaint.setColor(mTextColors.getColorForState(getDrawableState(), - mTextColors.getDefaultColor())); + // mTextColors should not be null, but just in case + if (mTextColors != null) { + mTextPaint.setColor(mTextColors.getColorForState(getDrawableState(), + mTextColors.getDefaultColor())); + } mTextPaint.drawableState = getDrawableState(); Layout switchText = getTargetCheckedState() ? mOnLayout : mOffLayout; diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index c021c48..e9662ae 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -84,10 +84,10 @@ import android.text.method.WordIterator; import android.text.style.ClickableSpan; import android.text.style.ParagraphStyle; import android.text.style.SpellCheckSpan; +import android.text.style.SuggestionRangeSpan; import android.text.style.SuggestionSpan; import android.text.style.TextAppearanceSpan; import android.text.style.URLSpan; -import android.text.style.UnderlineSpan; import android.text.style.UpdateAppearance; import android.text.util.Linkify; import android.util.AttributeSet; @@ -2894,7 +2894,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener sp.removeSpan(cw); } - // hideControllers would do it, but it gets called after this method on rotation sp.removeSpan(mSuggestionRangeSpan); ss.text = sp; @@ -5099,10 +5098,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { - boolean areSuggestionsShown = areSuggestionsShown(); boolean isInSelectionMode = mSelectionActionMode != null; - if (areSuggestionsShown || isInSelectionMode) { + if (isInSelectionMode) { if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) { KeyEvent.DispatcherState state = getKeyDispatcherState(); if (state != null) { @@ -5115,10 +5113,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener state.handleUpEvent(event); } if (event.isTracking() && !event.isCanceled()) { - if (areSuggestionsShown) { - hideSuggestions(); - return true; - } if (isInSelectionMode) { stopSelectionActionMode(); return true; @@ -5282,10 +5276,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // Has to be done on key down (and not on key up) to correctly be intercepted. case KeyEvent.KEYCODE_BACK: - if (areSuggestionsShown()) { - hideSuggestions(); - return -1; - } if (mSelectionActionMode != null) { stopSelectionActionMode(); return -1; @@ -7950,9 +7940,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } hideControllers(); - - removeSpans(0, mText.length(), SuggestionSpan.class); - removeSpans(0, mText.length(), SpellCheckSpan.class); } startStopMarquee(hasWindowFocus); @@ -9196,11 +9183,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } - private static class SuggestionRangeSpan extends UnderlineSpan { - // TODO themable, would be nice to make it a child class of TextAppearanceSpan, but - // there is no way to have underline and TextAppearanceSpan. - } - private class SuggestionsPopupWindow extends PinnedPopupWindow implements OnClickListener { private static final int MAX_NUMBER_SUGGESTIONS = SuggestionSpan.SUGGESTIONS_MAX_SIZE; private static final int NO_SUGGESTIONS = -1; @@ -9208,13 +9190,42 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private WordIterator mSuggestionWordIterator; private TextAppearanceSpan[] mHighlightSpans = new TextAppearanceSpan [(int) (AVERAGE_HIGHLIGHTS_PER_SUGGESTION * MAX_NUMBER_SUGGESTIONS)]; + private boolean mCursorWasVisibleBeforeSuggestions; + + private class CustomPopupWindow extends PopupWindow { + public CustomPopupWindow(Context context, int defStyle) { + super(context, null, defStyle); + } + + @Override + public void dismiss() { + super.dismiss(); + + if ((mText instanceof Editable) && mSuggestionRangeSpan != null) { + ((Editable) mText).removeSpan(mSuggestionRangeSpan); + } + + setCursorVisible(mCursorWasVisibleBeforeSuggestions); + if (hasInsertionController()) { + getInsertionController().show(); + } + } + } + + public SuggestionsPopupWindow() { + for (int i = 0; i < mHighlightSpans.length; i++) { + mHighlightSpans[i] = new TextAppearanceSpan(mContext, + android.R.style.TextAppearance_SuggestionHighlight); + } + mCursorWasVisibleBeforeSuggestions = mCursorVisible; + } @Override protected void createPopupWindow() { - mPopupWindow = new PopupWindow(TextView.this.mContext, null, + mPopupWindow = new CustomPopupWindow(TextView.this.mContext, com.android.internal.R.attr.textSuggestionsWindowStyle); mPopupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); - mPopupWindow.setOutsideTouchable(true); + mPopupWindow.setFocusable(true); mPopupWindow.setClippingEnabled(false); } @@ -9288,6 +9299,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener if (!(mText instanceof Editable)) return; if (updateSuggestions()) { + mCursorWasVisibleBeforeSuggestions = mCursorVisible; + setCursorVisible(false); super.show(); } } @@ -9312,9 +9325,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override public void hide() { super.hide(); - if ((mText instanceof Editable) && mSuggestionRangeSpan != null) { - ((Editable) mText).removeSpan(mSuggestionRangeSpan); - } } private boolean updateSuggestions() { @@ -9553,7 +9563,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener final int spanEnd = suggestionInfo.spanEnd; if (spanStart != NO_SUGGESTIONS) { // SuggestionSpans are removed by replace: save them before - Editable editable = ((Editable) mText); + Editable editable = (Editable) mText; SuggestionSpan[] suggestionSpans = editable.getSpans(spanStart, spanEnd, SuggestionSpan.class); final int length = suggestionSpans.length; @@ -9572,7 +9582,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener final String suggestion = textView.getText().subSequence( suggestionStart, suggestionEnd).toString(); final String originalText = mText.subSequence(spanStart, spanEnd).toString(); - ((Editable) mText).replace(spanStart, spanEnd, suggestion); + editable.replace(spanStart, spanEnd, suggestion); // A replacement on a misspelled text removes the misspelled flag. // TODO restore the flag if the misspelled word is selected back? @@ -9624,12 +9634,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mSuggestionsPopupWindow.show(); } - void hideSuggestions() { - if (mSuggestionsPopupWindow != null) { - mSuggestionsPopupWindow.hide(); - } - } - boolean areSuggestionsShown() { return mSuggestionsPopupWindow != null && mSuggestionsPopupWindow.isShowing(); } @@ -10579,7 +10583,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mEndHandle.setActionPopupWindow(mStartHandle.getActionPopupWindow()); hideInsertionPointCursorController(); - hideSuggestions(); } public void hide() { @@ -10691,7 +10694,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private void hideControllers() { hideInsertionPointCursorController(); stopSelectionActionMode(); - hideSuggestions(); } /** diff --git a/core/java/com/android/internal/widget/AbsActionBarView.java b/core/java/com/android/internal/widget/AbsActionBarView.java index ccbce3e..df2f717 100644 --- a/core/java/com/android/internal/widget/AbsActionBarView.java +++ b/core/java/com/android/internal/widget/AbsActionBarView.java @@ -56,6 +56,16 @@ public abstract class AbsActionBarView extends ViewGroup { mSplitView = splitView; } + /** + * @return Current visibility or if animating, the visibility being animated to. + */ + public int getAnimatedVisibility() { + if (mVisibilityAnim != null) { + return mVisAnimListener.mFinalVisibility; + } + return getVisibility(); + } + public void animateToVisibility(int visibility) { if (mVisibilityAnim != null) { mVisibilityAnim.cancel(); @@ -179,7 +189,7 @@ public abstract class AbsActionBarView extends ViewGroup { protected class VisibilityAnimListener implements Animator.AnimatorListener { private boolean mCanceled = false; - private int mFinalVisibility; + int mFinalVisibility; public VisibilityAnimListener withFinalVisibility(int visibility) { mFinalVisibility = visibility; @@ -199,6 +209,9 @@ public abstract class AbsActionBarView extends ViewGroup { mVisibilityAnim = null; setVisibility(mFinalVisibility); + if (mSplitView != null && mMenuView != null) { + mMenuView.setVisibility(mFinalVisibility); + } } @Override diff --git a/core/java/com/android/internal/widget/ActionBarContextView.java b/core/java/com/android/internal/widget/ActionBarContextView.java index 45d38ae..4fccc32 100644 --- a/core/java/com/android/internal/widget/ActionBarContextView.java +++ b/core/java/com/android/internal/widget/ActionBarContextView.java @@ -33,6 +33,7 @@ import android.util.AttributeSet; import android.view.ActionMode; import android.view.LayoutInflater; import android.view.View; +import android.view.ViewGroup; import android.view.animation.DecelerateInterpolator; import android.widget.LinearLayout; import android.widget.TextView; @@ -270,14 +271,14 @@ public class ActionBarContextView extends AbsActionBarView implements AnimatorLi } @Override - protected LayoutParams generateDefaultLayoutParams() { + protected ViewGroup.LayoutParams generateDefaultLayoutParams() { // Used by custom views if they don't supply layout params. Everything else // added to an ActionBarContextView should have them already. return new MarginLayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); } @Override - public LayoutParams generateLayoutParams(AttributeSet attrs) { + public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) { return new MarginLayoutParams(getContext(), attrs); } @@ -321,7 +322,7 @@ public class ActionBarContextView extends AbsActionBarView implements AnimatorLi } if (mCustomView != null) { - LayoutParams lp = mCustomView.getLayoutParams(); + ViewGroup.LayoutParams lp = mCustomView.getLayoutParams(); final int customWidthMode = lp.width != LayoutParams.WRAP_CONTENT ? MeasureSpec.EXACTLY : MeasureSpec.AT_MOST; final int customWidth = lp.width >= 0 ? diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index a0f6259..ff26d50 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -401,6 +401,7 @@ public class ActionBarView extends AbsActionBarView { if (oldParent != null && oldParent != mSplitView) { oldParent.removeView(menuView); } + menuView.setVisibility(getAnimatedVisibility()); mSplitView.addView(menuView, layoutParams); } else { // We'll add this later if we missed it this time. @@ -683,7 +684,7 @@ public class ActionBarView extends AbsActionBarView { } @Override - protected LayoutParams generateDefaultLayoutParams() { + protected ViewGroup.LayoutParams generateDefaultLayoutParams() { // Used by custom nav views if they don't supply layout params. Everything else // added to an ActionBarView should have them already. return new ActionBar.LayoutParams(DEFAULT_CUSTOM_GRAVITY); @@ -810,7 +811,7 @@ public class ActionBarView extends AbsActionBarView { HomeView homeLayout = mExpandedActionView != null ? mExpandedHomeLayout : mHomeLayout; if (homeLayout.getVisibility() != GONE) { - final LayoutParams lp = homeLayout.getLayoutParams(); + final ViewGroup.LayoutParams lp = homeLayout.getLayoutParams(); int homeWidthSpec; if (lp.width < 0) { homeWidthSpec = MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST); @@ -881,7 +882,7 @@ public class ActionBarView extends AbsActionBarView { } if (customView != null) { - final LayoutParams lp = generateLayoutParams(customView.getLayoutParams()); + final ViewGroup.LayoutParams lp = generateLayoutParams(customView.getLayoutParams()); final ActionBar.LayoutParams ablp = lp instanceof ActionBar.LayoutParams ? (ActionBar.LayoutParams) lp : null; @@ -1017,7 +1018,7 @@ public class ActionBarView extends AbsActionBarView { customView = mCustomNavView; } if (customView != null) { - LayoutParams lp = customView.getLayoutParams(); + ViewGroup.LayoutParams lp = customView.getLayoutParams(); final ActionBar.LayoutParams ablp = lp instanceof ActionBar.LayoutParams ? (ActionBar.LayoutParams) lp : null; @@ -1095,12 +1096,12 @@ public class ActionBarView extends AbsActionBarView { } @Override - public LayoutParams generateLayoutParams(AttributeSet attrs) { + public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) { return new ActionBar.LayoutParams(getContext(), attrs); } @Override - public LayoutParams generateLayoutParams(LayoutParams lp) { + public ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams lp) { if (lp == null) { lp = generateDefaultLayoutParams(); } diff --git a/core/res/res/anim-sw600dp/activity_close_enter.xml b/core/res/res/anim-sw600dp/activity_close_enter.xml deleted file mode 100644 index c17786f..0000000 --- a/core/res/res/anim-sw600dp/activity_close_enter.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> -</set>
\ No newline at end of file diff --git a/core/res/res/anim-sw600dp/activity_close_exit.xml b/core/res/res/anim-sw600dp/activity_close_exit.xml deleted file mode 100644 index ba33640..0000000 --- a/core/res/res/anim-sw600dp/activity_close_exit.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:shareInterpolator="false" - android:zAdjustment="top"> - <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:interpolator="@interpolator/accelerate_decelerate" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.0" android:toXScale="1.1" - android:fromYScale="1.0" android:toYScale="1.1" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_decelerate" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> -</set>
\ No newline at end of file diff --git a/core/res/res/anim-sw600dp/activity_open_enter.xml b/core/res/res/anim-sw600dp/activity_open_enter.xml deleted file mode 100644 index c4b5ed7..0000000 --- a/core/res/res/anim-sw600dp/activity_open_enter.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:shareInterpolator="false" - android:zAdjustment="top"> - <alpha android:fromAlpha="0.0" android:toAlpha="1.0" - android:interpolator="@interpolator/accelerate_decelerate" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.1" android:toXScale="1.0" - android:fromYScale="1.1" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_decelerate" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> -</set>
\ No newline at end of file diff --git a/core/res/res/anim-sw600dp/activity_open_exit.xml b/core/res/res/anim-sw600dp/activity_open_exit.xml deleted file mode 100644 index b386b8b..0000000 --- a/core/res/res/anim-sw600dp/activity_open_exit.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:fillEnabled="true" android:fillBefore="false" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> -</set>
\ No newline at end of file diff --git a/core/res/res/anim-sw600dp/wallpaper_close_enter.xml b/core/res/res/anim-sw600dp/wallpaper_close_enter.xml deleted file mode 100644 index b65ecf4..0000000 --- a/core/res/res/anim-sw600dp/wallpaper_close_enter.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="true" android:shareInterpolator="false" - android:zAdjustment="top"> - - <alpha android:fromAlpha="0.0" android:toAlpha="1.0" - android:interpolator="@interpolator/decelerate_cubic" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> - - <scale android:fromXScale="2.0" android:toXScale="1.0" - android:fromYScale="0.1" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/decelerate_quint" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> - -</set>
\ No newline at end of file diff --git a/core/res/res/anim-sw600dp/wallpaper_close_exit.xml b/core/res/res/anim-sw600dp/wallpaper_close_exit.xml deleted file mode 100644 index fabfacc..0000000 --- a/core/res/res/anim-sw600dp/wallpaper_close_exit.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="false" android:shareInterpolator="false" - android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:interpolator="@interpolator/decelerate_cubic" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> -</set>
\ No newline at end of file diff --git a/core/res/res/anim-sw600dp/wallpaper_open_enter.xml b/core/res/res/anim-sw600dp/wallpaper_open_enter.xml deleted file mode 100644 index 96bdf42..0000000 --- a/core/res/res/anim-sw600dp/wallpaper_open_enter.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="false" android:shareInterpolator="false" - android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:interpolator="@interpolator/accelerate_cubic" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> -</set>
\ No newline at end of file diff --git a/core/res/res/anim-sw600dp/wallpaper_open_exit.xml b/core/res/res/anim-sw600dp/wallpaper_open_exit.xml deleted file mode 100644 index d7bcc5c..0000000 --- a/core/res/res/anim-sw600dp/wallpaper_open_exit.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="true" android:shareInterpolator="false" - android:zAdjustment="top"> - - - <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:interpolator="@interpolator/accelerate_cubic" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> - - - <scale android:fromXScale="1.0" android:toXScale="2.0" - android:fromYScale="1.0" android:toYScale="0.1" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_quint" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime" /> - -</set>
\ No newline at end of file diff --git a/core/res/res/anim/activity_close_enter.xml b/core/res/res/anim/activity_close_enter.xml index c17786f..c759a83 100644 --- a/core/res/res/anim/activity_close_enter.xml +++ b/core/res/res/anim/activity_close_enter.xml @@ -21,4 +21,11 @@ <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:duration="@android:integer/config_shortAnimTime"/> + <scale android:fromXScale=".95" android:toXScale="1.0" + android:fromYScale=".95" android:toYScale="1.0" + android:pivotX="50%p" android:pivotY="50%p" + android:interpolator="@interpolator/accelerate_quint" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:duration="@android:integer/config_shortAnimTime"/> + </set>
\ No newline at end of file diff --git a/core/res/res/anim/activity_close_exit.xml b/core/res/res/anim/activity_close_exit.xml index e560a41..384810f 100644 --- a/core/res/res/anim/activity_close_exit.xml +++ b/core/res/res/anim/activity_close_exit.xml @@ -18,16 +18,15 @@ --> <set xmlns:android="http://schemas.android.com/apk/res/android" - android:shareInterpolator="false" - android:zAdjustment="top"> + android:shareInterpolator="false" android:zAdjustment="top"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:interpolator="@interpolator/accelerate_decelerate" + android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.0" android:toXScale="1.15" - android:fromYScale="1.0" android:toYScale="1.15" + <scale android:fromXScale="1.0" android:toXScale="1.1" + android:fromYScale="1.0" android:toYScale="1.1" android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_decelerate" + android:interpolator="@interpolator/decelerate_quint" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:duration="@android:integer/config_shortAnimTime"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/activity_open_enter.xml b/core/res/res/anim/activity_open_enter.xml index 55fcc0d..744153d 100644 --- a/core/res/res/anim/activity_open_enter.xml +++ b/core/res/res/anim/activity_open_enter.xml @@ -21,14 +21,14 @@ android:shareInterpolator="false" android:zAdjustment="top"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" - android:interpolator="@interpolator/accelerate_decelerate" + android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="false" android:fillAfter="false" android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.15" android:toXScale="1.0" - android:fromYScale="1.15" android:toYScale="1.0" + <scale android:fromXScale="1.1" android:toXScale="1.0" + android:fromYScale="1.1" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_decelerate" + android:interpolator="@interpolator/decelerate_quint" android:fillEnabled="true" android:fillBefore="false" android:fillAfter="false" android:duration="@android:integer/config_shortAnimTime"/> diff --git a/core/res/res/anim/activity_open_exit.xml b/core/res/res/anim/activity_open_exit.xml index b386b8b..58e8816 100644 --- a/core/res/res/anim/activity_open_exit.xml +++ b/core/res/res/anim/activity_open_exit.xml @@ -21,4 +21,12 @@ <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="false" android:fillAfter="false" android:duration="@android:integer/config_shortAnimTime"/> + <scale android:fromXScale="1.0" android:toXScale=".95" + android:fromYScale="1.0" android:toYScale=".95" + android:pivotX="50%p" android:pivotY="50%p" + android:interpolator="@interpolator/decelerate_quint" + android:fillEnabled="true" + android:fillBefore="false" android:fillAfter="false" + android:duration="@android:integer/config_shortAnimTime"/> + </set>
\ No newline at end of file diff --git a/core/res/res/anim/lock_screen_behind_enter.xml b/core/res/res/anim/lock_screen_behind_enter.xml index 232096c..4f58be4 100644 --- a/core/res/res/anim/lock_screen_behind_enter.xml +++ b/core/res/res/anim/lock_screen_behind_enter.xml @@ -19,10 +19,18 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:detachWallpaper="true" android:shareInterpolator="false"> + <scale + android:fromXScale="0.95" android:toXScale="1.0" + android:fromYScale="0.95" android:toYScale="1.0" + android:pivotX="50%p" android:pivotY="50%p" + android:fillEnabled="true" android:fillBefore="true" + android:interpolator="@interpolator/decelerate_cubic" + android:startOffset="@android:integer/config_shortAnimTime" + android:duration="@android:integer/config_shortAnimTime" /> <alpha - android:fromAlpha="0" android:toAlpha="1.0" + android:fromAlpha="0.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:interpolator="@interpolator/decelerate_quad" android:startOffset="@android:integer/config_shortAnimTime" - android:duration="300"/> + android:duration="@android:integer/config_shortAnimTime"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/lock_screen_exit.xml b/core/res/res/anim/lock_screen_exit.xml index c4b6fcb..a186126 100644 --- a/core/res/res/anim/lock_screen_exit.xml +++ b/core/res/res/anim/lock_screen_exit.xml @@ -19,16 +19,18 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" - android:shareInterpolator="false" - android:zAdjustment="top"> - <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:interpolator="@interpolator/accelerate_decelerate" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.0" android:toXScale="1.15" - android:fromYScale="1.0" android:toYScale="1.15" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_decelerate" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> + android:zAdjustment="top" + android:shareInterpolator="false"> + <scale + android:fromXScale="1.0" android:toXScale="1.15" + android:fromYScale="1.0" android:toYScale="1.15" + android:pivotX="50%p" android:pivotY="50%p" + android:fillEnabled="true" android:fillAfter="true" + android:interpolator="@interpolator/accelerate_quint" + android:duration="@android:integer/config_shortAnimTime" /> + <alpha + android:fromAlpha="1.0" android:toAlpha="0" + android:fillEnabled="true" android:fillAfter="true" + android:interpolator="@interpolator/accelerate_quad" + android:duration="@android:integer/config_shortAnimTime"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_close_enter.xml b/core/res/res/anim/wallpaper_close_enter.xml index 1cbe3ec..1ca5c0c 100644 --- a/core/res/res/anim/wallpaper_close_enter.xml +++ b/core/res/res/anim/wallpaper_close_enter.xml @@ -18,35 +18,17 @@ --> <set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="true" android:shareInterpolator="false" - android:zAdjustment="top"> - - <alpha android:fromAlpha="0.0" android:toAlpha="0.5" - android:interpolator="@interpolator/accelerate_cubic" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="false" - android:duration="140"/> - <alpha android:fromAlpha="0.5" android:toAlpha="1.0" - android:interpolator="@interpolator/decelerate_cubic" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:startOffset="140" - android:duration="140"/> - - <scale android:fromXScale="2.0" android:toXScale="1.5" - android:fromYScale="0.01" android:toYScale="0.495" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_quint" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="false" - android:duration="140"/> - <scale android:fromXScale="1.5" android:toXScale="1.0" - android:fromYScale="0.495" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/decelerate_quint" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:startOffset="140" - android:duration="140"/> - + android:shareInterpolator="false" android:zAdjustment="top"> + <scale android:fromXScale="1.2" android:toXScale="1.0" + android:fromYScale=".8" android:toYScale="1.0" + android:pivotX="50%p" android:pivotY="50%p" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:interpolator="@interpolator/decelerate_quint" + android:startOffset="300" + android:duration="240" /> + <alpha android:fromAlpha="0" android:toAlpha="1.0" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:interpolator="@interpolator/decelerate_quad" + android:startOffset="300" + android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_close_exit.xml b/core/res/res/anim/wallpaper_close_exit.xml index ebeae6e..7e0e05f 100644 --- a/core/res/res/anim/wallpaper_close_exit.xml +++ b/core/res/res/anim/wallpaper_close_exit.xml @@ -18,11 +18,15 @@ --> <set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="false" android:shareInterpolator="false" - android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" + android:detachWallpaper="true" android:shareInterpolator="false" android:zAdjustment="normal"> + <alpha android:fromAlpha="1.0" android:toAlpha="0" + android:fillEnabled="true" android:fillAfter="true" android:interpolator="@interpolator/decelerate_cubic" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="true" - android:duration="280"/> -</set> + android:duration="200"/> + <scale android:fromXScale="1.0" android:toXScale="0.95" + android:fromYScale="1.0" android:toYScale="0.95" + android:pivotX="50%p" android:pivotY="50%p" + android:fillEnabled="true" android:fillAfter="true" + android:interpolator="@interpolator/decelerate_quint" + android:duration="300" /> +</set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_open_enter.xml b/core/res/res/anim/wallpaper_open_enter.xml index 411ecd6..6fdbd40 100644 --- a/core/res/res/anim/wallpaper_open_enter.xml +++ b/core/res/res/anim/wallpaper_open_enter.xml @@ -18,11 +18,17 @@ --> <set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="false" android:shareInterpolator="false" - android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:interpolator="@interpolator/accelerate_cubic" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="true" - android:duration="280"/> -</set> + android:detachWallpaper="true" android:shareInterpolator="false" android:zAdjustment="normal"> + <scale android:fromXScale="0.95" android:toXScale="1.0" + android:fromYScale="0.95" android:toYScale="1.0" + android:pivotX="50%p" android:pivotY="50%p" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:interpolator="@interpolator/decelerate_quint" + android:startOffset="200" + android:duration="300" /> + <alpha android:fromAlpha="0" android:toAlpha="1.0" + android:interpolator="@interpolator/decelerate_cubic" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:startOffset="200" + android:duration="300"/> +</set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_open_exit.xml b/core/res/res/anim/wallpaper_open_exit.xml index f9e0996..075831b 100644 --- a/core/res/res/anim/wallpaper_open_exit.xml +++ b/core/res/res/anim/wallpaper_open_exit.xml @@ -18,35 +18,16 @@ --> <set xmlns:android="http://schemas.android.com/apk/res/android" - android:detachWallpaper="true" android:shareInterpolator="false" - android:zAdjustment="top"> - - - <alpha android:fromAlpha="1.0" android:toAlpha="0.5" + android:shareInterpolator="false" android:zAdjustment="top"> + <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:interpolator="@interpolator/accelerate_cubic" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="false" - android:duration="140"/> - <alpha android:fromAlpha="0.5" android:toAlpha="0.0" - android:interpolator="@interpolator/decelerate_cubic" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:startOffset="140" android:duration="140"/> - - - <scale android:fromXScale="1.0" android:toXScale="1.5" - android:fromYScale="1.0" android:toYScale="0.495" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:duration="200" /> + <scale android:fromXScale="1.0" android:toXScale="1.2" + android:fromYScale="1.0" android:toYScale="0.8" android:pivotX="50%p" android:pivotY="50%p" android:interpolator="@interpolator/accelerate_quint" - android:fillEnabled="true" - android:fillBefore="true" android:fillAfter="false" - android:duration="140" /> - <scale android:fromXScale="1.5" android:toXScale="2.0" - android:fromYScale="0.495" android:toYScale="0.0" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/decelerate_quint" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:startOffset="140" android:duration="140" /> + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:duration="200" /> </set>
\ No newline at end of file diff --git a/core/res/res/drawable-hdpi/menu_hardkey_panel_holo_dark.9.png b/core/res/res/drawable-hdpi/menu_hardkey_panel_holo_dark.9.png Binary files differnew file mode 100644 index 0000000..53871a0 --- /dev/null +++ b/core/res/res/drawable-hdpi/menu_hardkey_panel_holo_dark.9.png diff --git a/core/res/res/drawable-hdpi/menu_hardkey_panel_holo_light.9.png b/core/res/res/drawable-hdpi/menu_hardkey_panel_holo_light.9.png Binary files differnew file mode 100644 index 0000000..e3a0313 --- /dev/null +++ b/core/res/res/drawable-hdpi/menu_hardkey_panel_holo_light.9.png diff --git a/core/res/res/drawable-hdpi/text_select_handle_left.png b/core/res/res/drawable-hdpi/text_select_handle_left.png Binary files differindex 82cb640..e980857 100644 --- a/core/res/res/drawable-hdpi/text_select_handle_left.png +++ b/core/res/res/drawable-hdpi/text_select_handle_left.png diff --git a/core/res/res/drawable-hdpi/text_select_handle_middle.png b/core/res/res/drawable-hdpi/text_select_handle_middle.png Binary files differindex a2a909a..603f497 100644 --- a/core/res/res/drawable-hdpi/text_select_handle_middle.png +++ b/core/res/res/drawable-hdpi/text_select_handle_middle.png diff --git a/core/res/res/drawable-hdpi/text_select_handle_right.png b/core/res/res/drawable-hdpi/text_select_handle_right.png Binary files differindex 31f1c03..a5efe30 100644 --- a/core/res/res/drawable-hdpi/text_select_handle_right.png +++ b/core/res/res/drawable-hdpi/text_select_handle_right.png diff --git a/core/res/res/drawable-mdpi/menu_hardkey_panel_holo_dark.9.png b/core/res/res/drawable-mdpi/menu_hardkey_panel_holo_dark.9.png Binary files differnew file mode 100644 index 0000000..9d80b77 --- /dev/null +++ b/core/res/res/drawable-mdpi/menu_hardkey_panel_holo_dark.9.png diff --git a/core/res/res/drawable-mdpi/menu_hardkey_panel_holo_light.9.png b/core/res/res/drawable-mdpi/menu_hardkey_panel_holo_light.9.png Binary files differnew file mode 100644 index 0000000..efa4325 --- /dev/null +++ b/core/res/res/drawable-mdpi/menu_hardkey_panel_holo_light.9.png diff --git a/core/res/res/drawable-mdpi/text_select_handle_left.png b/core/res/res/drawable-mdpi/text_select_handle_left.png Binary files differindex d2cb710..0c3a0cc 100644 --- a/core/res/res/drawable-mdpi/text_select_handle_left.png +++ b/core/res/res/drawable-mdpi/text_select_handle_left.png diff --git a/core/res/res/drawable-mdpi/text_select_handle_middle.png b/core/res/res/drawable-mdpi/text_select_handle_middle.png Binary files differindex db70e5a..f488bdd 100644 --- a/core/res/res/drawable-mdpi/text_select_handle_middle.png +++ b/core/res/res/drawable-mdpi/text_select_handle_middle.png diff --git a/core/res/res/drawable-mdpi/text_select_handle_right.png b/core/res/res/drawable-mdpi/text_select_handle_right.png Binary files differindex be3d6ea..d3880c6 100644 --- a/core/res/res/drawable-mdpi/text_select_handle_right.png +++ b/core/res/res/drawable-mdpi/text_select_handle_right.png diff --git a/core/res/res/drawable-xhdpi/menu_hardkey_panel_holo_dark.9.png b/core/res/res/drawable-xhdpi/menu_hardkey_panel_holo_dark.9.png Binary files differnew file mode 100644 index 0000000..521e2d9 --- /dev/null +++ b/core/res/res/drawable-xhdpi/menu_hardkey_panel_holo_dark.9.png diff --git a/core/res/res/drawable-xhdpi/menu_hardkey_panel_holo_light.9.png b/core/res/res/drawable-xhdpi/menu_hardkey_panel_holo_light.9.png Binary files differnew file mode 100644 index 0000000..92e117d --- /dev/null +++ b/core/res/res/drawable-xhdpi/menu_hardkey_panel_holo_light.9.png diff --git a/core/res/res/drawable-xhdpi/text_select_handle_left.png b/core/res/res/drawable-xhdpi/text_select_handle_left.png Binary files differindex 6a10560..5fcbc52 100644 --- a/core/res/res/drawable-xhdpi/text_select_handle_left.png +++ b/core/res/res/drawable-xhdpi/text_select_handle_left.png diff --git a/core/res/res/drawable-xhdpi/text_select_handle_middle.png b/core/res/res/drawable-xhdpi/text_select_handle_middle.png Binary files differindex 71aaa85..05c2ca7 100644 --- a/core/res/res/drawable-xhdpi/text_select_handle_middle.png +++ b/core/res/res/drawable-xhdpi/text_select_handle_middle.png diff --git a/core/res/res/drawable-xhdpi/text_select_handle_right.png b/core/res/res/drawable-xhdpi/text_select_handle_right.png Binary files differindex 5339adc..ebf97c4 100644 --- a/core/res/res/drawable-xhdpi/text_select_handle_right.png +++ b/core/res/res/drawable-xhdpi/text_select_handle_right.png diff --git a/core/res/res/values/arrays.xml b/core/res/res/values/arrays.xml index 04e510b..57e9bbf 100644 --- a/core/res/res/values/arrays.xml +++ b/core/res/res/values/arrays.xml @@ -163,6 +163,8 @@ <item>@drawable/list_selector_holo_light</item> <item>@drawable/menu_background</item> <item>@drawable/menu_background_fill_parent_width</item> + <item>@drawable/menu_hardkey_panel_holo_dark</item> + <item>@drawable/menu_hardkey_panel_holo_light</item> <item>@drawable/menu_submenu_background</item> <item>@drawable/menu_selector</item> <item>@drawable/overscroll_edge</item> diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 93cbde5..dae9f70 100755 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -5318,9 +5318,9 @@ <declare-styleable name="Switch"> <!-- Drawable to use as the "thumb" that switches back and forth. --> - <attr name="switchThumb" format="reference" /> + <attr name="thumb" /> <!-- Drawable to use as the "track" that the switch thumb slides within. --> - <attr name="switchTrack" format="reference" /> + <attr name="track" format="reference" /> <!-- Text to use when the switch is in the checked/"on" state. --> <attr name="textOn" /> <!-- Text to use when the switch is in the unchecked/"off" state. --> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index b9d05fd..fcd3bba 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -1713,6 +1713,11 @@ <public type="attr" name="switchTextOn" /> <public type="attr" name="switchTextOff" /> <public type="attr" name="switchPreferenceStyle" /> + <public type="attr" name="switchTextAppearance" /> + <public type="attr" name="track" /> + <public type="attr" name="switchMinWidth" /> + <public type="attr" name="switchPadding" /> + <public type="attr" name="thumbTextPadding" /> <public type="attr" name="textSuggestionsWindowStyle" /> <public type="attr" name="textEditSuggestionItemLayout" /> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index a3e460e..8e0f300 100755 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1789,7 +1789,7 @@ <!-- When the lock screen is showing and the phone plugged in, and the battery is not fully charged, show the current charge %. --> - <string name="lockscreen_plugged_in">Charging (<xliff:g id="number">%d</xliff:g><xliff:g id="percent">%%</xliff:g>)</string> + <string name="lockscreen_plugged_in">Charging, <xliff:g id="number">%d</xliff:g><xliff:g id="percent">%%</xliff:g></string> <!-- When the lock screen is showing, the phone is plugged in and the battery is fully charged, say that it is charged. --> <string name="lockscreen_charged">Charged.</string> diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index 5a76ed4..052a040 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -725,6 +725,11 @@ please see styles_device_defaults.xml. <item name="android:quickContactWindowSize">modeLarge</item> </style> + <style name="Widget.CompoundButton.Switch"> + <item name="android:textOn">@android:string/capital_on</item> + <item name="android:textOff">@android:string/capital_off</item> + </style> + <!-- Text Appearances --> <eat-comment /> @@ -885,11 +890,9 @@ please see styles_device_defaults.xml. <item name="android:textSize">30sp</item> </style> - <!-- @hide --> <style name="TextAppearance.SuggestionHighlight"> <item name="android:textSize">18sp</item> <item name="android:textColor">@android:color/suggestion_highlight_text</item> - <item name="android:textStyle">bold</item> </style> <!-- Preference Styles --> @@ -1919,8 +1922,8 @@ please see styles_device_defaults.xml. </style> <style name="Widget.Holo.CompoundButton.Switch"> - <item name="android:switchTrack">@android:drawable/switch_track_holo_dark</item> - <item name="android:switchThumb">@android:drawable/switch_inner_holo_dark</item> + <item name="android:track">@android:drawable/switch_track_holo_dark</item> + <item name="android:thumb">@android:drawable/switch_inner_holo_dark</item> <item name="android:switchTextAppearance">@android:style/TextAppearance.Holo.Widget.Switch</item> <item name="android:textOn">@android:string/capital_on</item> <item name="android:textOff">@android:string/capital_off</item> @@ -2293,6 +2296,17 @@ please see styles_device_defaults.xml. <item name="android:itemPadding">8dip</item> </style> + <style name="Widget.Holo.Light.CompoundButton.Switch" parent="Widget.CompoundButton.Switch"> + <item name="android:track">@android:drawable/switch_track_holo_light</item> + <item name="android:thumb">@android:drawable/switch_inner_holo_light</item> + <item name="android:switchTextAppearance">@android:style/TextAppearance.Holo.Widget.Switch</item> + <item name="android:textOn">@android:string/capital_on</item> + <item name="android:textOff">@android:string/capital_off</item> + <item name="android:thumbTextPadding">12dip</item> + <item name="android:switchMinWidth">96dip</item> + <item name="android:switchPadding">16dip</item> + </style> + <!-- Animation Styles --> <style name="Animation.Holo" parent="Animation"> diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index 903fc04..f434ce8 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -980,7 +980,7 @@ please see themes_device_defaults.xml. <item name="toastFrameBackground">@android:drawable/toast_frame_holo</item> <!-- Panel attributes --> - <item name="panelBackground">@android:drawable/menu_dropdown_panel_holo_dark</item> + <item name="panelBackground">@android:drawable/menu_hardkey_panel_holo_dark</item> <item name="panelFullBackground">@android:drawable/menu_background_fill_parent_width</item> <!-- These three attributes do not seems to be used by the framework. Declared public though --> <item name="panelColorBackground">#000</item> @@ -1215,6 +1215,7 @@ please see themes_device_defaults.xml. <item name="buttonStyleInset">@android:style/Widget.Holo.Light.Button.Inset</item> <item name="buttonStyleToggle">@android:style/Widget.Holo.Light.Button.Toggle</item> + <item name="switchStyle">@android:style/Widget.Holo.Light.CompoundButton.Switch</item> <item name="selectableItemBackground">@android:drawable/item_background_holo_light</item> <item name="borderlessButtonStyle">@android:style/Widget.Holo.Light.Button.Borderless</item> @@ -1283,7 +1284,7 @@ please see themes_device_defaults.xml. <item name="toastFrameBackground">@android:drawable/toast_frame_holo</item> <!-- Panel attributes --> - <item name="panelBackground">@android:drawable/menu_dropdown_panel_holo_light</item> + <item name="panelBackground">@android:drawable/menu_hardkey_panel_holo_light</item> <item name="panelFullBackground">@android:drawable/menu_background_fill_parent_width</item> <!-- These three attributes do not seems to be used by the framework. Declared public though --> <item name="panelColorBackground">#000</item> |