diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/java/android/app/WallpaperManager.java | 41 | ||||
| -rw-r--r-- | core/java/android/app/admin/DevicePolicyManager.java | 6 | ||||
| -rw-r--r-- | core/java/android/os/Parcel.java | 6 | ||||
| -rw-r--r-- | core/java/android/os/PowerManager.java | 15 | ||||
| -rw-r--r-- | core/java/android/provider/Settings.java | 1 | ||||
| -rw-r--r-- | core/java/android/text/Layout.java | 6 | ||||
| -rw-r--r-- | core/java/android/text/StaticLayout.java | 2 | ||||
| -rw-r--r-- | core/java/android/text/TextUtils.java | 9 | ||||
| -rw-r--r-- | core/java/android/view/View.java | 4 | ||||
| -rw-r--r-- | core/java/android/view/WindowManager.java | 15 | ||||
| -rw-r--r-- | core/java/android/widget/ScrollBarDrawable.java | 33 | ||||
| -rw-r--r-- | core/res/res/layout/preference_dialog_edittext_material.xml | 44 | ||||
| -rw-r--r-- | core/res/res/values/styles_material.xml | 2 |
13 files changed, 166 insertions, 18 deletions
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index 8bfe6d3..90d84ee 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -994,6 +994,47 @@ public class WallpaperManager { } /** + * Clear the wallpaper. + * + * @hide + */ + @SystemApi + public void clearWallpaper() { + if (sGlobals.mService == null) { + Log.w(TAG, "WallpaperService not running"); + return; + } + try { + sGlobals.mService.clearWallpaper(); + } catch (RemoteException e) { + // Ignore + } + } + + /** + * Set the live wallpaper. + * + * This can only be called by packages with android.permission.SET_WALLPAPER_COMPONENT + * permission. + * + * @hide + */ + @SystemApi + public boolean setWallpaperComponent(ComponentName name) { + if (sGlobals.mService == null) { + Log.w(TAG, "WallpaperService not running"); + return false; + } + try { + sGlobals.mService.setWallpaperComponent(name); + return true; + } catch (RemoteException e) { + // Ignore + } + return false; + } + + /** * Set the position of the current wallpaper within any larger space, when * that wallpaper is visible behind the given window. The X and Y offsets * are floating point numbers ranging from 0 to 1, representing where the diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 1ed709b..cf06cb7 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -2933,9 +2933,9 @@ public class DevicePolicyManager { * * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param packageNames List of input method package names. - * @return true if setting the restriction succeeded. It will fail if there is - * one or more input method enabled, that are not in the list or user if the foreground - * user. + * @return true if setting the restriction succeeded. It will fail if there are + * one or more non-system input methods currently enabled that are not in + * the packageNames list. */ public boolean setPermittedInputMethods(ComponentName admin, List<String> packageNames) { if (mService != null) { diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index bedc695..3d5215b 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -276,7 +276,7 @@ public final class Parcel { private static native byte[] nativeMarshall(long nativePtr); private static native void nativeUnmarshall( - long nativePtr, byte[] data, int offest, int length); + long nativePtr, byte[] data, int offset, int length); private static native void nativeAppendFrom( long thisNativePtr, long otherNativePtr, int offset, int length); private static native boolean nativeHasFileDescriptors(long nativePtr); @@ -438,8 +438,8 @@ public final class Parcel { /** * Set the bytes in data to be the raw bytes of this Parcel. */ - public final void unmarshall(byte[] data, int offest, int length) { - nativeUnmarshall(mNativePtr, data, offest, length); + public final void unmarshall(byte[] data, int offset, int length) { + nativeUnmarshall(mNativePtr, data, offset, length); } public final void appendFrom(Parcel parcel, int offset, int length) { diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index 8307d9b..d52dd30 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -835,6 +835,21 @@ public final class PowerManager { } /** + * Turn off the device. + * + * @param confirm If true, shows a shutdown confirmation dialog. + * @param wait If true, this call waits for the shutdown to complete and does not return. + * + * @hide + */ + public void shutdown(boolean confirm, boolean wait) { + try { + mService.shutdown(confirm, wait); + } catch (RemoteException e) { + } + } + + /** * Intent that is broadcast when the state of {@link #isPowerSaveMode()} changes. * This broadcast is only sent to registered receivers. */ diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 838686a..92349338 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5101,6 +5101,7 @@ public final class Settings { * Whether Theater Mode is on. * {@hide} */ + @SystemApi public static final String THEATER_MODE_ON = "theater_mode_on"; /** diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java index 2b53c48..b84c3aa 100644 --- a/core/java/android/text/Layout.java +++ b/core/java/android/text/Layout.java @@ -1754,8 +1754,8 @@ public abstract class Layout { private char getEllipsisChar(TextUtils.TruncateAt method) { return (method == TextUtils.TruncateAt.END_SMALL) ? - ELLIPSIS_TWO_DOTS[0] : - ELLIPSIS_NORMAL[0]; + TextUtils.ELLIPSIS_TWO_DOTS[0] : + TextUtils.ELLIPSIS_NORMAL[0]; } private void ellipsize(int start, int end, int line, @@ -1952,6 +1952,4 @@ public abstract class Layout { /* package */ static final Directions DIRS_ALL_RIGHT_TO_LEFT = new Directions(new int[] { 0, RUN_LENGTH_MASK | RUN_RTL_FLAG }); - /* package */ static final char[] ELLIPSIS_NORMAL = { '\u2026' }; // this is "..." - /* package */ static final char[] ELLIPSIS_TWO_DOTS = { '\u2025' }; // this is ".." } diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java index 74b7b69..07505a9 100644 --- a/core/java/android/text/StaticLayout.java +++ b/core/java/android/text/StaticLayout.java @@ -652,7 +652,7 @@ public class StaticLayout extends Layout { float ellipsisWidth = paint.measureText( (where == TextUtils.TruncateAt.END_SMALL) ? - ELLIPSIS_TWO_DOTS : ELLIPSIS_NORMAL, 0, 1); + TextUtils.ELLIPSIS_TWO_DOTS : TextUtils.ELLIPSIS_NORMAL, 0, 1); int ellipsisStart = 0; int ellipsisCount = 0; int len = lineEnd - lineStart; diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java index 8a8c6d8..48bb5dd 100644 --- a/core/java/android/text/TextUtils.java +++ b/core/java/android/text/TextUtils.java @@ -63,9 +63,12 @@ import java.util.regex.Pattern; public class TextUtils { private static final String TAG = "TextUtils"; - private static final String ELLIPSIS = new String(Layout.ELLIPSIS_NORMAL); - private static final String ELLIPSIS_TWO_DOTS = new String(Layout.ELLIPSIS_TWO_DOTS); + /* package */ static final char[] ELLIPSIS_NORMAL = { '\u2026' }; // this is "..." + private static final String ELLIPSIS_STRING = new String(ELLIPSIS_NORMAL); + + /* package */ static final char[] ELLIPSIS_TWO_DOTS = { '\u2025' }; // this is ".." + private static final String ELLIPSIS_TWO_DOTS_STRING = new String(ELLIPSIS_TWO_DOTS); private TextUtils() { /* cannot be instantiated */ } @@ -1085,7 +1088,7 @@ public class TextUtils { EllipsizeCallback callback) { return ellipsize(text, paint, avail, where, preserveLength, callback, TextDirectionHeuristics.FIRSTSTRONG_LTR, - (where == TruncateAt.END_SMALL) ? ELLIPSIS_TWO_DOTS : ELLIPSIS); + (where == TruncateAt.END_SMALL) ? ELLIPSIS_TWO_DOTS_STRING : ELLIPSIS_STRING); } /** diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 6928b2c..e4a8978 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -12872,7 +12872,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Interpolator.Result.FREEZE_END) { cache.state = ScrollabilityCache.OFF; } else { - cache.scrollBar.setAlpha(Math.round(values[0])); + cache.scrollBar.mutate().setAlpha(Math.round(values[0])); } // This will make the scroll bars inval themselves after @@ -12882,7 +12882,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } else { // We're just on -- but we may have been fading before so // reset alpha - cache.scrollBar.setAlpha(255); + cache.scrollBar.mutate().setAlpha(255); } diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 094a8a1..84434f7 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -16,6 +16,7 @@ package android.view; +import android.annotation.SystemApi; import android.app.Presentation; import android.content.Context; import android.content.pm.ActivityInfo; @@ -1590,7 +1591,19 @@ public interface WindowManager extends ViewManager { public final CharSequence getTitle() { return mTitle; } - + + /** @hide */ + @SystemApi + public final void setUserActivityTimeout(long timeout) { + userActivityTimeout = timeout; + } + + /** @hide */ + @SystemApi + public final long getUserActivityTimeout() { + return userActivityTimeout; + } + public int describeContents() { return 0; } diff --git a/core/java/android/widget/ScrollBarDrawable.java b/core/java/android/widget/ScrollBarDrawable.java index 10e9ff4..8eff1aa 100644 --- a/core/java/android/widget/ScrollBarDrawable.java +++ b/core/java/android/widget/ScrollBarDrawable.java @@ -44,6 +44,7 @@ public class ScrollBarDrawable extends Drawable { private final Rect mTempBounds = new Rect(); private boolean mAlwaysDrawHorizontalTrack; private boolean mAlwaysDrawVerticalTrack; + private boolean mMutated; public ScrollBarDrawable() { } @@ -191,6 +192,9 @@ public class ScrollBarDrawable extends Drawable { public void setVerticalThumbDrawable(Drawable thumb) { if (thumb != null) { + if (mMutated) { + thumb.mutate(); + } thumb.setState(STATE_ENABLED); mVerticalThumb = thumb; } @@ -198,6 +202,9 @@ public class ScrollBarDrawable extends Drawable { public void setVerticalTrackDrawable(Drawable track) { if (track != null) { + if (mMutated) { + track.mutate(); + } track.setState(STATE_ENABLED); } mVerticalTrack = track; @@ -205,6 +212,9 @@ public class ScrollBarDrawable extends Drawable { public void setHorizontalThumbDrawable(Drawable thumb) { if (thumb != null) { + if (mMutated) { + thumb.mutate(); + } thumb.setState(STATE_ENABLED); mHorizontalThumb = thumb; } @@ -212,6 +222,9 @@ public class ScrollBarDrawable extends Drawable { public void setHorizontalTrackDrawable(Drawable track) { if (track != null) { + if (mMutated) { + track.mutate(); + } track.setState(STATE_ENABLED); } mHorizontalTrack = track; @@ -228,6 +241,26 @@ public class ScrollBarDrawable extends Drawable { } @Override + public ScrollBarDrawable mutate() { + if (!mMutated && super.mutate() == this) { + if (mVerticalTrack != null) { + mVerticalTrack.mutate(); + } + if (mVerticalThumb != null) { + mVerticalThumb.mutate(); + } + if (mHorizontalTrack != null) { + mHorizontalTrack.mutate(); + } + if (mHorizontalThumb != null) { + mHorizontalThumb.mutate(); + } + mMutated = true; + } + return this; + } + + @Override public void setAlpha(int alpha) { if (mVerticalTrack != null) { mVerticalTrack.setAlpha(alpha); diff --git a/core/res/res/layout/preference_dialog_edittext_material.xml b/core/res/res/layout/preference_dialog_edittext_material.xml new file mode 100644 index 0000000..df76f7f --- /dev/null +++ b/core/res/res/layout/preference_dialog_edittext_material.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2015 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. +--> + +<!-- Layout used as the dialog's content View for EditTextPreference. --> +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginTop="48dp" + android:layout_marginBottom="48dp" + android:overScrollMode="ifContentScrolls"> + + <LinearLayout + android:id="@+id/edittext_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="20dp" + android:orientation="vertical"> + + <TextView + android:id="@+id/message" + android:layout_marginBottom="48dp" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingStart="4dp" + android:paddingEnd="4dp" + android:textColor="?attr/textColorSecondary" + style="?attr/textAppearanceSmall" /> + + </LinearLayout> + +</ScrollView> diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml index 6220a1b..419beba 100644 --- a/core/res/res/values/styles_material.xml +++ b/core/res/res/values/styles_material.xml @@ -88,7 +88,7 @@ please see styles_device_defaults.xml. </style> <style name="Preference.Material.DialogPreference.EditTextPreference"> - <item name="dialogLayout">@layout/preference_dialog_edittext</item> + <item name="dialogLayout">@layout/preference_dialog_edittext_material</item> </style> <style name="Preference.Material.RingtonePreference"> |
