summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nick Chameyev <nickchameyev@google.com> 2021-09-28 10:06:27 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-09-28 10:06:27 +0000
commitb85da640d13ced31165c543e686bb47027bff54f (patch)
treef3570f3e0b68c1d7fe33d97c8f5a492fb117edc4
parent3dce047981dfd35b1d3301c1f79f90685208d239 (diff)
parent10b13e85058e06f6390da298fd06daa0135de7e9 (diff)
Merge "Rename shouldUseDefaultUnfoldTransition attribute and update docs" into sc-v2-dev
-rw-r--r--core/api/current.txt4
-rw-r--r--core/java/android/app/WallpaperInfo.java34
-rw-r--r--core/res/res/values/attrs.xml16
-rw-r--r--core/res/res/values/public.xml2
-rw-r--r--packages/SystemUI/src/com/android/systemui/util/WallpaperController.kt6
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/util/WallpaperControllerTest.kt7
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
}
}