Merge "Offset bounds by card top padding to align lockscreen/launcher smartspaces." into tm-dev
This commit is contained in:
@@ -134,6 +134,12 @@ public interface BcSmartspaceDataPlugin extends Plugin {
|
|||||||
* Get the index of the currently selected page.
|
* Get the index of the currently selected page.
|
||||||
*/
|
*/
|
||||||
int getSelectedPage();
|
int getSelectedPage();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the top padding value from the currently visible card, or 0 if there is no current
|
||||||
|
* card.
|
||||||
|
*/
|
||||||
|
int getCurrentCardTopPadding();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Interface for launching Intents, which can differ on the lockscreen */
|
/** Interface for launching Intents, which can differ on the lockscreen */
|
||||||
|
|||||||
@@ -409,7 +409,19 @@ class KeyguardUnlockAnimationController @Inject constructor(
|
|||||||
if (willUnlockWithSmartspaceTransition) {
|
if (willUnlockWithSmartspaceTransition) {
|
||||||
lockscreenSmartspaceBounds = Rect().apply {
|
lockscreenSmartspaceBounds = Rect().apply {
|
||||||
lockscreenSmartspace!!.getBoundsOnScreen(this)
|
lockscreenSmartspace!!.getBoundsOnScreen(this)
|
||||||
|
|
||||||
|
// The smartspace container on the lockscreen has left and top padding to align it
|
||||||
|
// with other lockscreen content. This padding is inside the bounds on screen, so
|
||||||
|
// add it to those bounds so that the padding-less launcher smartspace is properly
|
||||||
|
// aligned.
|
||||||
offset(lockscreenSmartspace!!.paddingLeft, lockscreenSmartspace!!.paddingTop)
|
offset(lockscreenSmartspace!!.paddingLeft, lockscreenSmartspace!!.paddingTop)
|
||||||
|
|
||||||
|
// Also offset by the current card's top padding, if it has any. This allows us to
|
||||||
|
// align the tops of the lockscreen/launcher smartspace cards. Some cards, such as
|
||||||
|
// the three-line date/weather/alarm card, only have three lines on lockscreen but
|
||||||
|
// two on launcher.
|
||||||
|
offset(0, (lockscreenSmartspace
|
||||||
|
as? BcSmartspaceDataPlugin.SmartspaceView)?.currentCardTopPadding ?: 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -151,6 +151,8 @@ class DreamSmartspaceControllerTest : SysuiTestCase() {
|
|||||||
override fun setMediaTarget(target: SmartspaceTarget?) {}
|
override fun setMediaTarget(target: SmartspaceTarget?) {}
|
||||||
|
|
||||||
override fun getSelectedPage(): Int { return 0; }
|
override fun getSelectedPage(): Int { return 0; }
|
||||||
|
|
||||||
|
override fun getCurrentCardTopPadding(): Int { return 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -603,6 +603,10 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() {
|
|||||||
override fun getSelectedPage(): Int {
|
override fun getSelectedPage(): Int {
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getCurrentCardTopPadding(): Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user