diff options
| author | 2021-09-28 10:06:27 +0000 | |
|---|---|---|
| committer | 2021-09-28 10:06:27 +0000 | |
| commit | b85da640d13ced31165c543e686bb47027bff54f (patch) | |
| tree | f3570f3e0b68c1d7fe33d97c8f5a492fb117edc4 | |
| parent | 3dce047981dfd35b1d3301c1f79f90685208d239 (diff) | |
| parent | 10b13e85058e06f6390da298fd06daa0135de7e9 (diff) | |
Merge "Rename shouldUseDefaultUnfoldTransition attribute and update docs" into sc-v2-dev
| -rw-r--r-- | core/api/current.txt | 4 | ||||
| -rw-r--r-- | core/java/android/app/WallpaperInfo.java | 34 | ||||
| -rw-r--r-- | core/res/res/values/attrs.xml | 16 | ||||
| -rw-r--r-- | core/res/res/values/public.xml | 2 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/util/WallpaperController.kt | 6 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/util/WallpaperControllerTest.kt | 7 |
6 files changed, 37 insertions, 32 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 4df648cb7009..ac55b345b6cd 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -1298,7 +1298,7 @@ package android { field public static final int shortcutLongLabel = 16844074; // 0x101052a field public static final int shortcutShortLabel = 16844073; // 0x1010529 field public static final int shouldDisableView = 16843246; // 0x10101ee - field public static final int shouldUseDefaultUnfoldTransition; + field public static final int shouldUseDefaultDeviceStateChangeTransition; field public static final int showAsAction = 16843481; // 0x10102d9 field public static final int showDefault = 16843258; // 0x10101fa field public static final int showDividers = 16843561; // 0x1010329 @@ -6927,7 +6927,7 @@ package android.app { method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager); method public CharSequence loadLabel(android.content.pm.PackageManager); method public android.graphics.drawable.Drawable loadThumbnail(android.content.pm.PackageManager); - method public boolean shouldUseDefaultUnfoldTransition(); + method public boolean shouldUseDefaultDeviceStateChangeTransition(); method public boolean supportsMultipleDisplays(); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.WallpaperInfo> CREATOR; diff --git a/core/java/android/app/WallpaperInfo.java b/core/java/android/app/WallpaperInfo.java index 4dff4e0e84d6..c552cb62749b 100644 --- a/core/java/android/app/WallpaperInfo.java +++ b/core/java/android/app/WallpaperInfo.java @@ -81,7 +81,7 @@ public final class WallpaperInfo implements Parcelable { final int mContextDescriptionResource; final boolean mShowMetadataInPreview; final boolean mSupportsAmbientMode; - final boolean mShouldUseDefaultUnfoldTransition; + final boolean mShouldUseDefaultDeviceStateChangeTransition; final String mSettingsSliceUri; final boolean mSupportMultipleDisplays; @@ -146,9 +146,9 @@ public final class WallpaperInfo implements Parcelable { mSupportsAmbientMode = sa.getBoolean( com.android.internal.R.styleable.Wallpaper_supportsAmbientMode, false); - mShouldUseDefaultUnfoldTransition = sa.getBoolean( - com.android.internal.R.styleable.Wallpaper_shouldUseDefaultUnfoldTransition, - true); + mShouldUseDefaultDeviceStateChangeTransition = sa.getBoolean( + com.android.internal.R.styleable + .Wallpaper_shouldUseDefaultDeviceStateChangeTransition, true); mSettingsSliceUri = sa.getString( com.android.internal.R.styleable.Wallpaper_settingsSliceUri); mSupportMultipleDisplays = sa.getBoolean( @@ -175,7 +175,7 @@ public final class WallpaperInfo implements Parcelable { mSupportsAmbientMode = source.readInt() != 0; mSettingsSliceUri = source.readString(); mSupportMultipleDisplays = source.readInt() != 0; - mShouldUseDefaultUnfoldTransition = source.readInt() != 0; + mShouldUseDefaultDeviceStateChangeTransition = source.readInt() != 0; mService = ResolveInfo.CREATOR.createFromParcel(source); } @@ -399,23 +399,25 @@ public final class WallpaperInfo implements Parcelable { } /** - * Returns whether this wallpaper should receive default zooming updates when unfolding. - * If set to false the wallpaper will not receive zoom events when folding or unfolding - * a foldable device, so it can implement its own unfold transition. + * Returns whether this wallpaper should receive default zooming updates when the device + * changes its state (e.g. when folding or unfolding a foldable device). + * If set to false the wallpaper will not receive zoom events when changing the device state, + * so it can implement its own transition instead. * <p> * This corresponds to the value {@link - * android.R.styleable#Wallpaper_shouldUseDefaultUnfoldTransition} in the XML description - * of the wallpaper. + * android.R.styleable#Wallpaper_shouldUseDefaultDeviceStateChangeTransition} in the + * XML description of the wallpaper. * <p> * The default value is {@code true}. * - * @see android.R.styleable#Wallpaper_shouldUseDefaultUnfoldTransition - * @return {@code true} if wallpaper should receive default fold/unfold transition updates + * @see android.R.styleable#Wallpaper_shouldUseDefaultDeviceStateChangeTransition + * @return {@code true} if wallpaper should receive default device state change + * transition updates * - * @attr ref android.R.styleable#Wallpaper_shouldUseDefaultUnfoldTransition + * @attr ref android.R.styleable#Wallpaper_shouldUseDefaultDeviceStateChangeTransition */ - public boolean shouldUseDefaultUnfoldTransition() { - return mShouldUseDefaultUnfoldTransition; + public boolean shouldUseDefaultDeviceStateChangeTransition() { + return mShouldUseDefaultDeviceStateChangeTransition; } public void dump(Printer pw, String prefix) { @@ -448,7 +450,7 @@ public final class WallpaperInfo implements Parcelable { dest.writeInt(mSupportsAmbientMode ? 1 : 0); dest.writeString(mSettingsSliceUri); dest.writeInt(mSupportMultipleDisplays ? 1 : 0); - dest.writeInt(mShouldUseDefaultUnfoldTransition ? 1 : 0); + dest.writeInt(mShouldUseDefaultDeviceStateChangeTransition ? 1 : 0); mService.writeToParcel(dest, flags); } diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 0a6b02d499e5..53396407904a 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -8371,16 +8371,18 @@ @hide @SystemApi --> <attr name="supportsAmbientMode" format="boolean" /> - <!-- Indicates that this wallpaper service should receive zoom updates when unfolding. + <!-- Indicates that this wallpaper service should receive zoom transition updates when + changing the device state (e.g. when folding or unfolding a foldable device). When this value is set to true {@link android.service.wallpaper.WallpaperService.Engine} could receive zoom updates - when folding or unfolding a foldable device. Wallpapers receive zoom updates using + before or after changing the device state. Wallpapers receive zoom updates using {@link android.service.wallpaper.WallpaperService.Engine#onZoomChanged(float)} and - zoom rendering should be handled manually. Default value is true. - When set to false wallpapers can implement custom folding/unfolding behavior - by listening to {@link android.hardware.Sensor#TYPE_HINGE_ANGLE}. - Corresponds to {@link android.app.WallpaperInfo#shouldUseDefaultUnfoldTransition()} --> - <attr name="shouldUseDefaultUnfoldTransition" format="boolean" /> + zoom rendering should be handled manually. Zoom updates are delivered only when + {@link android.service.wallpaper.WallpaperService.Engine} is created and not destroyed. + Default value is true. + Corresponds to + {@link android.app.WallpaperInfo#shouldUseDefaultDeviceStateChangeTransition()} --> + <attr name="shouldUseDefaultDeviceStateChangeTransition" format="boolean" /> <!-- Uri that specifies a settings Slice for this wallpaper. --> <attr name="settingsSliceUri" format="string"/> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index 7d489049d112..e17daf09e4da 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -3221,7 +3221,7 @@ <eat-comment /> <staging-public-group type="attr" first-id="0x01ff0000"> - <public name="shouldUseDefaultUnfoldTransition" /> + <public name="shouldUseDefaultDeviceStateChangeTransition" /> </staging-public-group> <staging-public-group type="id" first-id="0x01fe0000"> diff --git a/packages/SystemUI/src/com/android/systemui/util/WallpaperController.kt b/packages/SystemUI/src/com/android/systemui/util/WallpaperController.kt index db2aca873d0c..a9810458fe90 100644 --- a/packages/SystemUI/src/com/android/systemui/util/WallpaperController.kt +++ b/packages/SystemUI/src/com/android/systemui/util/WallpaperController.kt @@ -40,8 +40,8 @@ class WallpaperController @Inject constructor(private val wallpaperManager: Wall this.wallpaperInfo = wallpaperInfo } - private val shouldUseDefaultUnfoldTransition: Boolean - get() = wallpaperInfo?.shouldUseDefaultUnfoldTransition() + private val shouldUseDefaultDeviceStateChangeTransition: Boolean + get() = wallpaperInfo?.shouldUseDefaultDeviceStateChangeTransition() ?: true fun setNotificationShadeZoom(zoomOut: Float) { @@ -50,7 +50,7 @@ class WallpaperController @Inject constructor(private val wallpaperManager: Wall } fun setUnfoldTransitionZoom(zoomOut: Float) { - if (shouldUseDefaultUnfoldTransition) { + if (shouldUseDefaultDeviceStateChangeTransition) { unfoldTransitionZoomOut = zoomOut updateZoom() } diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/WallpaperControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/util/WallpaperControllerTest.kt index 3cb19e3460dd..de86821c0535 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/util/WallpaperControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/util/WallpaperControllerTest.kt @@ -91,7 +91,7 @@ class WallpaperControllerTest : SysuiTestCase() { @Test fun setUnfoldTransitionZoom_defaultUnfoldTransitionIsDisabled_doesNotUpdateWallpaperZoom() { wallaperController.onWallpaperInfoUpdated(createWallpaperInfo( - useDefaultUnfoldTransition = false + useDefaultTransition = false )) wallaperController.setUnfoldTransitionZoom(0.5f) @@ -136,9 +136,10 @@ class WallpaperControllerTest : SysuiTestCase() { verify(wallpaperManager).setWallpaperZoomOut(any(), anyFloat()) } - private fun createWallpaperInfo(useDefaultUnfoldTransition: Boolean = true): WallpaperInfo { + private fun createWallpaperInfo(useDefaultTransition: Boolean = true): WallpaperInfo { val info = mock(WallpaperInfo::class.java) - whenever(info.shouldUseDefaultUnfoldTransition()).thenReturn(useDefaultUnfoldTransition) + whenever(info.shouldUseDefaultDeviceStateChangeTransition()) + .thenReturn(useDefaultTransition) return info } } |