Merge "[User Switcher] dismiss dialog appropriately." into tm-qpr-dev
This commit is contained in:
@@ -204,6 +204,15 @@ public class UserDetailView extends PseudoGridView {
|
|||||||
Trace.endSection();
|
Trace.endSection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUserListItemClicked(@NonNull UserRecord record,
|
||||||
|
@Nullable UserSwitchDialogController.DialogShower dialogShower) {
|
||||||
|
if (dialogShower != null) {
|
||||||
|
mDialogShower.dismiss();
|
||||||
|
}
|
||||||
|
super.onUserListItemClicked(record, dialogShower);
|
||||||
|
}
|
||||||
|
|
||||||
public void linkToViewGroup(ViewGroup viewGroup) {
|
public void linkToViewGroup(ViewGroup viewGroup) {
|
||||||
PseudoGridView.ViewGroupAdapterBridge.link(viewGroup, this);
|
PseudoGridView.ViewGroupAdapterBridge.link(viewGroup, this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ protected constructor(
|
|||||||
* animation to and from the parent dialog.
|
* animation to and from the parent dialog.
|
||||||
*/
|
*/
|
||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
fun onUserListItemClicked(
|
open fun onUserListItemClicked(
|
||||||
record: UserRecord,
|
record: UserRecord,
|
||||||
dialogShower: DialogShower? = null,
|
dialogShower: DialogShower? = null,
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import com.android.systemui.R
|
|||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.classifier.FalsingManagerFake
|
import com.android.systemui.classifier.FalsingManagerFake
|
||||||
import com.android.systemui.qs.QSUserSwitcherEvent
|
import com.android.systemui.qs.QSUserSwitcherEvent
|
||||||
|
import com.android.systemui.qs.user.UserSwitchDialogController
|
||||||
import com.android.systemui.statusbar.policy.UserSwitcherController
|
import com.android.systemui.statusbar.policy.UserSwitcherController
|
||||||
import com.android.systemui.user.data.source.UserRecord
|
import com.android.systemui.user.data.source.UserRecord
|
||||||
import org.junit.Assert.assertEquals
|
import org.junit.Assert.assertEquals
|
||||||
@@ -41,20 +42,27 @@ import org.mockito.ArgumentMatchers.any
|
|||||||
import org.mockito.ArgumentMatchers.anyBoolean
|
import org.mockito.ArgumentMatchers.anyBoolean
|
||||||
import org.mockito.ArgumentMatchers.anyInt
|
import org.mockito.ArgumentMatchers.anyInt
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
import org.mockito.Mockito.verify
|
|
||||||
import org.mockito.Mockito.`when`
|
import org.mockito.Mockito.`when`
|
||||||
|
import org.mockito.Mockito.mock
|
||||||
|
import org.mockito.Mockito.verify
|
||||||
import org.mockito.MockitoAnnotations
|
import org.mockito.MockitoAnnotations
|
||||||
|
|
||||||
@RunWith(AndroidTestingRunner::class)
|
@RunWith(AndroidTestingRunner::class)
|
||||||
@SmallTest
|
@SmallTest
|
||||||
class UserDetailViewAdapterTest : SysuiTestCase() {
|
class UserDetailViewAdapterTest : SysuiTestCase() {
|
||||||
|
|
||||||
@Mock private lateinit var mUserSwitcherController: UserSwitcherController
|
@Mock
|
||||||
@Mock private lateinit var mParent: ViewGroup
|
private lateinit var mUserSwitcherController: UserSwitcherController
|
||||||
@Mock private lateinit var mUserDetailItemView: UserDetailItemView
|
@Mock
|
||||||
@Mock private lateinit var mOtherView: View
|
private lateinit var mParent: ViewGroup
|
||||||
@Mock private lateinit var mInflatedUserDetailItemView: UserDetailItemView
|
@Mock
|
||||||
@Mock private lateinit var mLayoutInflater: LayoutInflater
|
private lateinit var mUserDetailItemView: UserDetailItemView
|
||||||
|
@Mock
|
||||||
|
private lateinit var mOtherView: View
|
||||||
|
@Mock
|
||||||
|
private lateinit var mInflatedUserDetailItemView: UserDetailItemView
|
||||||
|
@Mock
|
||||||
|
private lateinit var mLayoutInflater: LayoutInflater
|
||||||
private var falsingManagerFake: FalsingManagerFake = FalsingManagerFake()
|
private var falsingManagerFake: FalsingManagerFake = FalsingManagerFake()
|
||||||
private lateinit var adapter: UserDetailView.Adapter
|
private lateinit var adapter: UserDetailView.Adapter
|
||||||
private lateinit var uiEventLogger: UiEventLoggerFake
|
private lateinit var uiEventLogger: UiEventLoggerFake
|
||||||
@@ -69,8 +77,10 @@ class UserDetailViewAdapterTest : SysuiTestCase() {
|
|||||||
`when`(mLayoutInflater.inflate(anyInt(), any(ViewGroup::class.java), anyBoolean()))
|
`when`(mLayoutInflater.inflate(anyInt(), any(ViewGroup::class.java), anyBoolean()))
|
||||||
.thenReturn(mInflatedUserDetailItemView)
|
.thenReturn(mInflatedUserDetailItemView)
|
||||||
`when`(mParent.context).thenReturn(mContext)
|
`when`(mParent.context).thenReturn(mContext)
|
||||||
adapter = UserDetailView.Adapter(mContext, mUserSwitcherController, uiEventLogger,
|
adapter = UserDetailView.Adapter(
|
||||||
falsingManagerFake)
|
mContext, mUserSwitcherController, uiEventLogger,
|
||||||
|
falsingManagerFake
|
||||||
|
)
|
||||||
mPicture = UserIcons.convertToBitmap(mContext.getDrawable(R.drawable.ic_avatar_user))
|
mPicture = UserIcons.convertToBitmap(mContext.getDrawable(R.drawable.ic_avatar_user))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,6 +155,15 @@ class UserDetailViewAdapterTest : SysuiTestCase() {
|
|||||||
assertNull(adapter.users.find { it.isManageUsers })
|
assertNull(adapter.users.find { it.isManageUsers })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun clickDismissDialog() {
|
||||||
|
val shower: UserSwitchDialogController.DialogShower =
|
||||||
|
mock(UserSwitchDialogController.DialogShower::class.java)
|
||||||
|
adapter.injectDialogShower(shower)
|
||||||
|
adapter.onUserListItemClicked(createUserRecord(current = true, guest = false), shower)
|
||||||
|
verify(shower).dismiss()
|
||||||
|
}
|
||||||
|
|
||||||
private fun createUserRecord(current: Boolean, guest: Boolean) =
|
private fun createUserRecord(current: Boolean, guest: Boolean) =
|
||||||
UserRecord(
|
UserRecord(
|
||||||
UserInfo(0 /* id */, "name", 0 /* flags */),
|
UserInfo(0 /* id */, "name", 0 /* flags */),
|
||||||
|
|||||||
Reference in New Issue
Block a user